spymaster 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2dc6e443f85c014e94aa6ea0317885865e040a18
4
+ data.tar.gz: a923d96544d87d9633059b593abf885a73358a36
5
+ SHA512:
6
+ metadata.gz: 497c8eeeac3f2469d7a43c70a252bc67afccb3b1de0db103201bf4f5d656f2a4b98a1d88bd01a4f0e801476cf48607209793187cb5468ef43369475ec5e614e8
7
+ data.tar.gz: f73f4480cc22282b79639b2233cb8591e6d6229082eb549eee3597e5ad5a0d14ec4587d528fa7171f3e4fb79a51af22f2e3e9ae7988cb9786773397bb691afb4
data/lib/spymaster.rb ADDED
@@ -0,0 +1,74 @@
1
+ require "spymaster/version"
2
+ require 'net/http'
3
+
4
+ module Spymaster
5
+ @@app_name = nil, @@app_version = nil, @@uri = 'http://localhost:3000/global/track'
6
+
7
+ # => Setup config settings
8
+ def self.setup(t_app_name = nil, t_app_version = nil, t_uri = 'http://localhost:3000/global/track')
9
+ @@app_name = t_app_name
10
+ @@app_version = t_app_version
11
+ @@uri = t_uri
12
+ puts("Init Spymaster success" + @@app_name + @@app_version)
13
+ end
14
+
15
+ # => Get app name
16
+ def self.app_name
17
+ return @@app_name
18
+ end
19
+
20
+ # => Get app version
21
+ def self.app_version
22
+ return @@app_version
23
+ end
24
+
25
+ # => Get uri
26
+ def self.uri
27
+ return @@uri
28
+ end
29
+
30
+ # => Send tracking
31
+ def self.track(params = {})
32
+ uri = URI(@@uri)
33
+ fields_hash_type = ['platform', 'device', 'browser', 'extras']
34
+ params.each do |field, value|
35
+ value_convert = (fields_hash_type.include? field.to_s) ? self.check_validate(field, value, Hash) : value
36
+ params[field] = value_convert
37
+ end
38
+ params = {
39
+ :app_name => @@app_name,
40
+ :app_version => @@app_version
41
+ }.merge(params)
42
+
43
+ uri.query = URI.encode_www_form(params)
44
+
45
+ res = Net::HTTP.get_response(uri)
46
+ if res.is_a?(Net::HTTPSuccess)
47
+ return {
48
+ :status => res.code,
49
+ :response => res.body
50
+ }
51
+ else
52
+ return {
53
+ :status => res.code
54
+ }
55
+ end
56
+ end
57
+
58
+ # => Check validate value
59
+ def self.check_validate(field, value, class_type)
60
+ return if value == nil
61
+ if (value.class == class_type)
62
+ puts("true")
63
+ return value.to_json
64
+ else
65
+ puts(self.alert_validate_fail(field))
66
+ return {}.to_json
67
+ end
68
+ end
69
+
70
+ # => Alert when invalidate
71
+ def self.alert_validate_fail(field = nil)
72
+ return "Invalidate param #{field}"
73
+ end
74
+ end
@@ -0,0 +1,3 @@
1
+ module Spymaster
2
+ VERSION = "1.0.0"
3
+ end
metadata ADDED
@@ -0,0 +1,74 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: spymaster
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - hoptq
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2015-09-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.10'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.10'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ description: Tracking system ruby lib
42
+ email:
43
+ - hoptq@topica.edu.vn
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files: []
47
+ files:
48
+ - lib/spymaster.rb
49
+ - lib/spymaster/version.rb
50
+ homepage: http://pedia.vn
51
+ licenses:
52
+ - MIT
53
+ metadata: {}
54
+ post_install_message:
55
+ rdoc_options: []
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ requirements: []
69
+ rubyforge_project:
70
+ rubygems_version: 2.4.8
71
+ signing_key:
72
+ specification_version: 4
73
+ summary: Tracking system
74
+ test_files: []