amplitude-api 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a9ac7cdd479dd7fc5397ab04697d01c1a018db1d
4
- data.tar.gz: 07d0b31956d6c0d5fabf80460733bc2501dd29b8
3
+ metadata.gz: 233332597b10167395db959e0066e1f8b2adf1ad
4
+ data.tar.gz: 574f6162547e34a3e2003abf0410146064de2279
5
5
  SHA512:
6
- metadata.gz: e5ba9200d8fc3415f8a6ee3d0450bb0a2849482d8cd8cb7fc5b2caf1cfa5175ee0e1c2f7074cebbf85c0410649ee1044b385c6acece36516f01c713bc2688ea0
7
- data.tar.gz: b81df95283f2c5c2da128ec00b2ffb40e8b4e76b7ee34b990fd26e0834ac892e7d76a855e0b6b08a265b42c82fd71be725d12df09c112eaa9d84de14b81c6359
6
+ metadata.gz: 860998aada7dc9516f451d1e83d1c92abc1247eab787eb67ed186efa63c30e650f94e6e31afe422119a1f55da6c058d606df6a5b3529ad669f32781f3bb33b11
7
+ data.tar.gz: 22b4a53df0df781db7f2efeac562481546b8551bee4e31b2be1918189a8b5cb145cb14e2eb70b366965dd56b27310ef95832d73125bdcb7ffa157818382a1ba6
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  # Generated from /Users/alex/development/amplitude-api/amplitude-api.gemspec
2
2
  source 'https://rubygems.org'
3
3
 
4
- gem 'typhoeus', '~> 0.7.1'
4
+ gem 'typhoeus', '~> 1.0.2'
5
5
 
6
6
  group :development, :test do
7
7
  gem 'pry', '~> 0.9.12.6'
@@ -4,9 +4,9 @@ GEM
4
4
  ast (2.2.0)
5
5
  coderay (1.1.1)
6
6
  diff-lcs (1.2.5)
7
- ethon (0.8.1)
7
+ ethon (0.9.0)
8
8
  ffi (>= 1.3.0)
9
- ffi (1.9.10)
9
+ ffi (1.9.14)
10
10
  method_source (0.8.2)
11
11
  parser (2.3.0.6)
12
12
  ast (~> 2.2)
@@ -39,8 +39,8 @@ GEM
39
39
  rubocop-rspec (1.4.0)
40
40
  ruby-progressbar (1.7.5)
41
41
  slop (3.6.0)
42
- typhoeus (0.7.3)
43
- ethon (>= 0.7.4)
42
+ typhoeus (1.0.2)
43
+ ethon (>= 0.9.0)
44
44
  unicode-display_width (0.3.1)
45
45
 
46
46
  PLATFORMS
@@ -52,7 +52,7 @@ DEPENDENCIES
52
52
  rspec (>= 2.99.0)
53
53
  rubocop (~> 0.37.2)
54
54
  rubocop-rspec
55
- typhoeus (~> 0.7.1)
55
+ typhoeus (~> 1.0.2)
56
56
 
57
57
  BUNDLED WITH
58
58
  1.10.6
@@ -21,6 +21,6 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency 'rspec', '~> 2.99', '>= 2.99.0'
22
22
  spec.add_development_dependency 'rake', '~> 10.0', '>= 10.0'
23
23
  spec.add_development_dependency 'pry', '~> 0.9.12.6'
24
- spec.add_dependency 'typhoeus', '~> 0.7.1'
24
+ spec.add_dependency 'typhoeus', '~> 1.0.2'
25
25
  spec.required_ruby_version = '~> 2.0'
26
26
  end
@@ -28,12 +28,12 @@ class AmplitudeAPI
28
28
  # and contains user properties to be associated with the user
29
29
  #
30
30
  # @return [ Typhoeus::Response ]
31
- def send_event(event_name, user, event_properties: {}, user_properties: {})
31
+ def send_event(event_name, user, options = {})
32
32
  event = AmplitudeAPI::Event.new(
33
33
  user_id: user,
34
34
  event_type: event_name,
35
- event_properties: event_properties,
36
- user_properties: user_properties
35
+ event_properties: options.fetch(:event_properties, {}),
36
+ user_properties: options.fetch(:user_properties, {})
37
37
  )
38
38
  track(event)
39
39
  end
@@ -16,6 +16,9 @@ class AmplitudeAPI
16
16
  # @!attribute [ rw ] time
17
17
  # @return [ Time ] Time that the event occurred (defaults to now)
18
18
  attr_accessor :time
19
+ # @!attribute [ rw ] ip
20
+ # @return [ String ] IP address of the user
21
+ attr_accessor :ip
19
22
 
20
23
  # Create a new Event
21
24
  #
@@ -23,12 +26,14 @@ class AmplitudeAPI
23
26
  # @param [ String ] event_type a name for the event
24
27
  # @param [ Hash ] event_properties various properties to attach to the event
25
28
  # @param [ Time ] Time that the event occurred (defaults to now)
26
- def initialize(user_id: '', event_type: '', event_properties: {}, user_properties: {}, time: nil)
27
- self.user_id = user_id
28
- self.event_type = event_type
29
- self.event_properties = event_properties
30
- self.user_properties = user_properties
31
- self.time = time
29
+ # @param [ String ] IP address of the user
30
+ def initialize(options = {})
31
+ self.user_id = options.fetch(:user_id, '')
32
+ self.event_type = options.fetch(:event_type, '')
33
+ self.event_properties = options.fetch(:event_properties, {})
34
+ self.user_properties = options.fetch(:user_properties, {})
35
+ self.time = options[:time]
36
+ self.ip = options.fetch(:ip, '')
32
37
  end
33
38
 
34
39
  def user_id=(value)
@@ -50,6 +55,7 @@ class AmplitudeAPI
50
55
  serialized_event[:event_properties] = event_properties
51
56
  serialized_event[:user_properties] = user_properties
52
57
  serialized_event[:time] = formatted_time if time
58
+ serialized_event[:ip] = ip if ip
53
59
  serialized_event
54
60
  end
55
61
 
@@ -1,3 +1,3 @@
1
1
  class AmplitudeAPI
2
- VERSION = '0.0.6'.freeze
2
+ VERSION = '0.0.7'.freeze
3
3
  end
data/readme.md CHANGED
@@ -11,7 +11,7 @@ gem install amplitude-api
11
11
 
12
12
  ## Basic Usage
13
13
 
14
- The following code snippet will immediately track an event to the Amplitude API. The time on the event will automatically be the time of the request.
14
+ The following code snippet will immediately track an event to the Amplitude API.
15
15
 
16
16
  ```ruby
17
17
  # Configure your Amplitude API key
@@ -20,6 +20,7 @@ AmplitudeAPI.api_key = "abcdef123456"
20
20
  event = AmplitudeAPI::Event.new({
21
21
  user_id: "123",
22
22
  event_type: "clicked on home",
23
+ time: Time.now,
23
24
  event_properties: {
24
25
  cause: "button",
25
26
  arbitrary: "properties"
@@ -99,7 +99,8 @@ describe AmplitudeAPI do
99
99
  event_type: '',
100
100
  user_id: '',
101
101
  event_properties: {},
102
- user_properties: {}
102
+ user_properties: {},
103
+ ip: ''
103
104
  )
104
105
  end
105
106
 
@@ -109,13 +110,15 @@ describe AmplitudeAPI do
109
110
  event_type: 'test_event',
110
111
  event_properties: {
111
112
  test_property: 1
112
- }
113
+ },
114
+ ip: '8.8.8.8'
113
115
  )
114
116
  expect(event.to_hash).to eq(
115
117
  event_type: 'test_event',
116
118
  user_id: 123,
117
119
  event_properties: { test_property: 1 },
118
- user_properties: {}
120
+ user_properties: {},
121
+ ip: '8.8.8.8'
119
122
  )
120
123
  end
121
124
  end
@@ -243,7 +246,8 @@ describe AmplitudeAPI do
243
246
  },
244
247
  user_properties: {
245
248
  abc: '123'
246
- }
249
+ },
250
+ ip: '8.8.8.8'
247
251
  )
248
252
  body = described_class.track_body(event)
249
253
 
@@ -257,7 +261,8 @@ describe AmplitudeAPI do
257
261
  },
258
262
  user_properties: {
259
263
  abc: '123'
260
- }
264
+ },
265
+ ip: '8.8.8.8'
261
266
  }
262
267
  ]
263
268
  )
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amplitude-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Rakoczy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-25 00:00:00.000000000 Z
11
+ date: 2016-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -70,14 +70,14 @@ dependencies:
70
70
  requirements:
71
71
  - - "~>"
72
72
  - !ruby/object:Gem::Version
73
- version: 0.7.1
73
+ version: 1.0.2
74
74
  type: :runtime
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - "~>"
79
79
  - !ruby/object:Gem::Version
80
- version: 0.7.1
80
+ version: 1.0.2
81
81
  description: Provides an integration for sending events to Amplitude
82
82
  email:
83
83
  - arakoczy@gmail.com
@@ -125,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
125
  version: '0'
126
126
  requirements: []
127
127
  rubyforge_project:
128
- rubygems_version: 2.4.5.1
128
+ rubygems_version: 2.5.1
129
129
  signing_key:
130
130
  specification_version: 4
131
131
  summary: Send events to the Amplitude API