analytics-ruby 2.1.0 → 2.2.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 +4 -4
- data/History.md +5 -0
- data/RELEASING.md +10 -0
- data/analytics-ruby.gemspec +1 -0
- data/bin/analytics +152 -0
- data/lib/segment/analytics/version.rb +1 -1
- metadata +23 -24
- data/Gemfile.lock +0 -53
- data/analytics-ruby-2.0.13.gem +0 -0
- data/analytics-ruby-2.1.0.gem +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce7b91326f0324154c09c6483f35d90f4e435dd1
|
4
|
+
data.tar.gz: 91bb84d9d8a6424bae727ee270d3d559e6324694
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 38623225b9b78a9dae01fc725311b569b3d460a4aa815233e4d8e548cab35855f8d6e27e1fa6dc0f106c38e2269f0d2459edf9abc7ac96579c3b0545bee29bd1
|
7
|
+
data.tar.gz: b9cf18ff84576b8b42b998ff3ea409fbbc56fee80c732e760475c5cc4b996baaf444788cf5e819221c2637f36f7cf265134c3bdb0f0673018bd5e6659376257e
|
data/History.md
CHANGED
data/RELEASING.md
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
Releasing
|
2
|
+
=========
|
3
|
+
|
4
|
+
1. Verify everything works with `make test build`.
|
5
|
+
2. Bump version in [`version.rb`](https://github.com/segmentio/analytics-ruby/blob/master/lib/segment/analytics/version.rb).
|
6
|
+
3. Update [`History.md`](https://github.com/segmentio/analytics-ruby/blob/master/History.md).
|
7
|
+
4. Commit and tag `git commit -am "Release {version}" && git tag -a {version} -m "Version {version}"`.
|
8
|
+
5. Build the gem with the tagged version `make build`.
|
9
|
+
6. Upload to RubyGems with `gem push analytics-ruby-{version}.gem`.
|
10
|
+
7. Upload to Github with `git push -u origin master && git push --tags`.
|
data/analytics-ruby.gemspec
CHANGED
@@ -5,6 +5,7 @@ Gem::Specification.new do |spec|
|
|
5
5
|
spec.version = Segment::Analytics::VERSION
|
6
6
|
spec.files = Dir.glob('**/*')
|
7
7
|
spec.require_paths = ['lib']
|
8
|
+
spec.bindir = 'bin'
|
8
9
|
spec.summary = 'Segment.io analytics library'
|
9
10
|
spec.description = 'The Segment.io ruby analytics library'
|
10
11
|
spec.authors = ['Segment.io']
|
data/bin/analytics
ADDED
@@ -0,0 +1,152 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'segment/analytics'
|
4
|
+
require 'rubygems'
|
5
|
+
require 'commander/import'
|
6
|
+
require 'time'
|
7
|
+
require 'json'
|
8
|
+
|
9
|
+
program :name, 'simulator.rb'
|
10
|
+
program :version, '0.0.1'
|
11
|
+
program :description, 'scripting simulator'
|
12
|
+
|
13
|
+
# use an env var for write key, instead of a flag
|
14
|
+
Analytics = Segment::Analytics.new({
|
15
|
+
write_key: ENV['SEGMENT_WRITE_KEY'],
|
16
|
+
on_error: Proc.new { |status, msg| print msg }
|
17
|
+
})
|
18
|
+
|
19
|
+
def toObject(str)
|
20
|
+
return JSON.parse(str)
|
21
|
+
end
|
22
|
+
|
23
|
+
# high level
|
24
|
+
# analytics <method> [options]
|
25
|
+
# SEGMENT_WRITE_KEY=<write_key> ./analytics.rb <method> [options]
|
26
|
+
# SEGMENT_WRITE_KEY=<write_key> ./analytics.rb track --event testing --user 1234 --anonymous 567 --properties '{"hello": "goodbye"}' --context '{"slow":"poke"}'
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
# track
|
31
|
+
command :track do |c|
|
32
|
+
c.description = 'track a user event'
|
33
|
+
c.option '--user <id>', String, 'the user id to send the event as'
|
34
|
+
c.option '--event <event>', String, 'the event name to send with the event'
|
35
|
+
c.option '--anonymous <id>', String, 'the anonymous user id to send the event as'
|
36
|
+
c.option '--properties <data>', 'the event properties to send (JSON-encoded)'
|
37
|
+
c.option '--context <data>', 'additional context for the event (JSON-encoded)'
|
38
|
+
|
39
|
+
c.action do |args, options|
|
40
|
+
Analytics.track({
|
41
|
+
user_id: options.user,
|
42
|
+
event: options.event,
|
43
|
+
anonymous_id: options.anonymous,
|
44
|
+
properties: toObject(options.properties),
|
45
|
+
context: toObject(options.context)
|
46
|
+
})
|
47
|
+
Analytics.flush
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
# page
|
53
|
+
command :page do |c|
|
54
|
+
c.description = 'track a page view'
|
55
|
+
c.option '--user <id>', String, 'the user id to send the event as'
|
56
|
+
c.option '--anonymous <id>', String, 'the anonymous user id to send the event as'
|
57
|
+
c.option '--name <name>', String, 'the page name'
|
58
|
+
c.option '--properties <data>', 'the event properties to send (JSON-encoded)'
|
59
|
+
c.option '--context <data>', 'additional context for the event (JSON-encoded)'
|
60
|
+
c.option '--category <category>', 'the category of the page'
|
61
|
+
c.action do |args, options|
|
62
|
+
Analytics.page({
|
63
|
+
user_id: options.user,
|
64
|
+
anonymous_id: options.anonymous,
|
65
|
+
name: options.name,
|
66
|
+
properties: toObject(options.properties),
|
67
|
+
context: toObject(options.context),
|
68
|
+
category: options.category
|
69
|
+
})
|
70
|
+
Analytics.flush
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
74
|
+
|
75
|
+
# identify
|
76
|
+
command :identify do |c|
|
77
|
+
c.description = 'identify a user'
|
78
|
+
c.option '--user <id>', String, 'the user id to send the event as'
|
79
|
+
c.option '--anonymous <id>', String, 'the anonymous user id to send the event as'
|
80
|
+
c.option '--traits <data>', String, 'the user traits to send (JSON-encoded)'
|
81
|
+
c.option '--context <data>', 'additional context for the event (JSON-encoded)'
|
82
|
+
c.action do |args, options|
|
83
|
+
Analytics.identify({
|
84
|
+
user_id: options.user,
|
85
|
+
anonymous_id: options.anonymous,
|
86
|
+
traits: toObject(options.traits),
|
87
|
+
context: toObject(options.context)
|
88
|
+
})
|
89
|
+
Analytics.flush
|
90
|
+
end
|
91
|
+
|
92
|
+
end
|
93
|
+
|
94
|
+
# screen
|
95
|
+
command :screen do |c|
|
96
|
+
c.description = 'track a screen view'
|
97
|
+
c.option '--user <id>', String, 'the user id to send the event as'
|
98
|
+
c.option '--anonymous <id>', String, 'the anonymous user id to send the event as'
|
99
|
+
c.option '--name <name>', String, 'the screen name'
|
100
|
+
c.option '--properties <data>', String, 'the event properties to send (JSON-encoded)'
|
101
|
+
c.option '--context <data>', 'additional context for the event (JSON-encoded)'
|
102
|
+
c.action do |args, options|
|
103
|
+
Analytics.identify({
|
104
|
+
user_id: options.user,
|
105
|
+
anonymous_id: options.anonymous,
|
106
|
+
name: option.name,
|
107
|
+
traits: toObject(options.traits),
|
108
|
+
properties: toObject(option.properties),
|
109
|
+
context: toObject(options.context)
|
110
|
+
})
|
111
|
+
Analytics.flush
|
112
|
+
end
|
113
|
+
|
114
|
+
end
|
115
|
+
|
116
|
+
|
117
|
+
# group
|
118
|
+
command :group do |c|
|
119
|
+
c.description = 'identify a group of users'
|
120
|
+
c.option '--user <id>', String, 'the user id to send the event as'
|
121
|
+
c.option '--anonymous <id>', String, 'the anonymous user id to send the event as'
|
122
|
+
c.option '--group <id>', String, 'the group id to associate this user with'
|
123
|
+
c.option '--traits <data>', String, 'attributes about the group (JSON-encoded)'
|
124
|
+
c.option '--context <data>', 'additional context for the event (JSON-encoded)'
|
125
|
+
c.action do |args, options|
|
126
|
+
Analytics.group({
|
127
|
+
user_id: options.user,
|
128
|
+
anonymous_id: options.anonymous,
|
129
|
+
group_id: options.group,
|
130
|
+
traits: toObject(options.traits),
|
131
|
+
context: toObject(options.context)
|
132
|
+
})
|
133
|
+
Analytics.flush
|
134
|
+
end
|
135
|
+
|
136
|
+
end
|
137
|
+
|
138
|
+
# alias
|
139
|
+
command :alias do |c|
|
140
|
+
c.description = 'remap a user to a new id'
|
141
|
+
c.option '--user <id>', String, 'the user id to send the event as'
|
142
|
+
c.option '--previous <id>', String, 'the previous user id (to add the alias for)'
|
143
|
+
c.action do |args, options|
|
144
|
+
Analytics.alias({
|
145
|
+
user_id: options.user,
|
146
|
+
previous_id: options.previous
|
147
|
+
})
|
148
|
+
Analytics.flush
|
149
|
+
end
|
150
|
+
|
151
|
+
end
|
152
|
+
|
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: analytics-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Segment.io
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '10.3'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '10.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: wrong
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - ~>
|
31
|
+
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0.0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '2.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '2.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
@@ -70,20 +70,20 @@ dependencies:
|
|
70
70
|
name: activesupport
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: 3.0.0
|
76
|
-
- - <
|
76
|
+
- - "<"
|
77
77
|
- !ruby/object:Gem::Version
|
78
78
|
version: 4.0.0
|
79
79
|
type: :development
|
80
80
|
prerelease: false
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
82
82
|
requirements:
|
83
|
-
- -
|
83
|
+
- - ">="
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
version: 3.0.0
|
86
|
-
- - <
|
86
|
+
- - "<"
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: 4.0.0
|
89
89
|
description: The Segment.io ruby analytics library
|
@@ -92,12 +92,16 @@ executables: []
|
|
92
92
|
extensions: []
|
93
93
|
extra_rdoc_files: []
|
94
94
|
files:
|
95
|
-
- analytics-ruby-2.0.13.gem
|
96
|
-
- analytics-ruby-2.1.0.gem
|
97
|
-
- analytics-ruby.gemspec
|
98
95
|
- Gemfile
|
99
|
-
- Gemfile.lock
|
100
96
|
- History.md
|
97
|
+
- Makefile
|
98
|
+
- README.md
|
99
|
+
- RELEASING.md
|
100
|
+
- Rakefile
|
101
|
+
- analytics-ruby.gemspec
|
102
|
+
- bin/analytics
|
103
|
+
- lib/segment.rb
|
104
|
+
- lib/segment/analytics.rb
|
101
105
|
- lib/segment/analytics/client.rb
|
102
106
|
- lib/segment/analytics/defaults.rb
|
103
107
|
- lib/segment/analytics/logging.rb
|
@@ -106,11 +110,6 @@ files:
|
|
106
110
|
- lib/segment/analytics/utils.rb
|
107
111
|
- lib/segment/analytics/version.rb
|
108
112
|
- lib/segment/analytics/worker.rb
|
109
|
-
- lib/segment/analytics.rb
|
110
|
-
- lib/segment.rb
|
111
|
-
- Makefile
|
112
|
-
- Rakefile
|
113
|
-
- README.md
|
114
113
|
- spec/segment/analytics/client_spec.rb
|
115
114
|
- spec/segment/analytics/request_spec.rb
|
116
115
|
- spec/segment/analytics/response_spec.rb
|
@@ -127,17 +126,17 @@ require_paths:
|
|
127
126
|
- lib
|
128
127
|
required_ruby_version: !ruby/object:Gem::Requirement
|
129
128
|
requirements:
|
130
|
-
- -
|
129
|
+
- - ">="
|
131
130
|
- !ruby/object:Gem::Version
|
132
131
|
version: '0'
|
133
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
133
|
requirements:
|
135
|
-
- -
|
134
|
+
- - ">="
|
136
135
|
- !ruby/object:Gem::Version
|
137
136
|
version: '0'
|
138
137
|
requirements: []
|
139
138
|
rubyforge_project:
|
140
|
-
rubygems_version: 2.
|
139
|
+
rubygems_version: 2.2.2
|
141
140
|
signing_key:
|
142
141
|
specification_version: 4
|
143
142
|
summary: Segment.io analytics library
|
data/Gemfile.lock
DELETED
@@ -1,53 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
analytics-ruby (2.0.13)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: http://rubygems.org/
|
8
|
-
specs:
|
9
|
-
activesupport (3.2.22)
|
10
|
-
i18n (~> 0.6, >= 0.6.4)
|
11
|
-
multi_json (~> 1.0)
|
12
|
-
diff-lcs (1.2.5)
|
13
|
-
i18n (0.7.0)
|
14
|
-
multi_json (1.11.2)
|
15
|
-
predicated (0.2.6)
|
16
|
-
rake (10.4.2)
|
17
|
-
rspec (2.99.0)
|
18
|
-
rspec-core (~> 2.99.0)
|
19
|
-
rspec-expectations (~> 2.99.0)
|
20
|
-
rspec-mocks (~> 2.99.0)
|
21
|
-
rspec-core (2.99.2)
|
22
|
-
rspec-expectations (2.99.2)
|
23
|
-
diff-lcs (>= 1.1.3, < 2.0)
|
24
|
-
rspec-mocks (2.99.4)
|
25
|
-
ruby2ruby (2.2.0)
|
26
|
-
ruby_parser (~> 3.1)
|
27
|
-
sexp_processor (~> 4.0)
|
28
|
-
ruby_parser (3.7.2)
|
29
|
-
sexp_processor (~> 4.1)
|
30
|
-
sexp_processor (4.6.0)
|
31
|
-
thread_safe (0.3.5)
|
32
|
-
tzinfo (1.2.1)
|
33
|
-
thread_safe (~> 0.1)
|
34
|
-
wrong (0.7.1)
|
35
|
-
diff-lcs (~> 1.2.5)
|
36
|
-
predicated (~> 0.2.6)
|
37
|
-
ruby2ruby (>= 2.0.1)
|
38
|
-
ruby_parser (>= 3.0.1)
|
39
|
-
sexp_processor (>= 4.0)
|
40
|
-
|
41
|
-
PLATFORMS
|
42
|
-
ruby
|
43
|
-
|
44
|
-
DEPENDENCIES
|
45
|
-
activesupport (>= 3.0.0, < 4.0.0)
|
46
|
-
analytics-ruby!
|
47
|
-
rake (~> 10.3)
|
48
|
-
rspec (~> 2.0)
|
49
|
-
tzinfo (= 1.2.1)
|
50
|
-
wrong (~> 0.0)
|
51
|
-
|
52
|
-
BUNDLED WITH
|
53
|
-
1.11.2
|
data/analytics-ruby-2.0.13.gem
DELETED
Binary file
|
data/analytics-ruby-2.1.0.gem
DELETED
Binary file
|