iterable-api 0.2.2 → 0.2.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ef974a671a77768b12217d29822564cd3e7a94d8
4
- data.tar.gz: 6788cd1bb391ecae9a77987f355181050e172dbf
3
+ metadata.gz: f4fe814e6c211b3dfc26c78f7748a4dfdc51d849
4
+ data.tar.gz: f91e92f8b9cd6883d8612997691a8c56d0cfee33
5
5
  SHA512:
6
- metadata.gz: 7667c43005bb6d64efd5022dc2fef84e8519b1a42293bf34aa18b9de973eb30991e2d2f9f42771ee6c1fd0e62225ce889b27390f91e16334c96d3801b005d55e
7
- data.tar.gz: dfd12a38bd55dd9fe23083cd8ce63c10a1456b408c9927b1ce62be670a21ffd9ce12124a44ca597bcc7919b7845a4b28efed1f1845d9ff4194bcdef89167ca71
6
+ metadata.gz: 133219eaf8ec16f6704a3281df19158475c4113dc2898aa9e2417ce809afcdfbd3fee074b81d072204def6ca4aa0633fab5fc3062ea8421f74212bdfd9560bc5
7
+ data.tar.gz: d5fc734f1468b1e6485b15af741d4174d1de547b5ed89c0d9d13ffa2cc8837bb9f04ed7e657b184e343ef50ae1abee3d61ada5e2dc53e24ae1179c2b5803ab16
data/lib/iterable.rb CHANGED
@@ -13,6 +13,7 @@ module Iterable
13
13
  # Models
14
14
  autoload :Base, 'iterable/models/base'
15
15
  autoload :User, 'iterable/models/user'
16
+ autoload :Event, 'iterable/models/event'
16
17
  autoload :DataFields, 'iterable/models/data_fields'
17
18
  autoload :ListDetails, 'iterable/models/list_details'
18
19
  autoload :CommerceItem, 'iterable/models/commerce_item'
@@ -36,14 +37,15 @@ module Iterable
36
37
  autoload :CommerceService, 'iterable/services/commerce_service'
37
38
  autoload :ListService, 'iterable/services/list_service'
38
39
  autoload :UserService, 'iterable/services/user_service'
39
- end
40
+ autoload :EventService, 'iterable/services/event_service'
41
+ end
40
42
 
41
43
  module Exceptions
42
44
  autoload :ServiceException, 'iterable/exceptions/service_exception'
43
- end
45
+ end
44
46
 
45
47
  module Util
46
48
  autoload :Config, 'iterable/util/config'
47
49
  autoload :Helpers, 'iterable/util/helpers'
48
50
  end
49
- end
51
+ end
data/lib/iterable/api.rb CHANGED
@@ -16,9 +16,9 @@ module Iterable
16
16
  end
17
17
  end
18
18
 
19
- #
19
+ #
20
20
  # List Services
21
- #
21
+ #
22
22
  def lists
23
23
  Services::ListService.all
24
24
  end
@@ -31,9 +31,9 @@ module Iterable
31
31
  Services::ListService.find_by_id(list_id)
32
32
  end
33
33
 
34
- #
34
+ #
35
35
  # User Services
36
- #
36
+ #
37
37
  def user_by_email(email)
38
38
  Services::UserService.find_by_email(email)
39
39
  end
@@ -53,9 +53,16 @@ module Iterable
53
53
  def user_subscriptions_update
54
54
  end
55
55
 
56
- #
56
+ #
57
+ # Event Services
58
+ #
59
+ def track_event(event)
60
+ Services::EventService.track(event)
61
+ end
62
+
63
+ #
57
64
  # Commerce Services
58
- #
65
+ #
59
66
  def track_purchase(track_purchase_request)
60
67
  Services::CommerceService.track_purchase(track_purchase_request)
61
68
  end
@@ -0,0 +1,14 @@
1
+ module Iterable
2
+ class Event < Iterable::Base
3
+ property :email, required: true, coerce: String
4
+ property :eventName, required: true, coerce: String
5
+
6
+ property :userId, coerce: String
7
+
8
+ property :createdAt, coerce: Integer
9
+ property :campaignId, coerce: Integer
10
+ property :templateId, coerce: Integer
11
+
12
+ property :dataFields, coerce: DataFields
13
+ end
14
+ end
@@ -0,0 +1,18 @@
1
+ #
2
+ # event_service.rb
3
+ # Iterable
4
+ #
5
+ # Copyright (c) 2017 Kyle Schutt. All rights reserved.
6
+
7
+ module Iterable
8
+ module Services
9
+ class EventService < BaseService
10
+ class << self
11
+ def track(event)
12
+ raise Exceptions::ServiceException, "Must be a Iterable::Event" unless event.is_a?(Iterable::Event)
13
+ post(Util::Config.get('endpoints.track_event'), event)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -28,6 +28,9 @@ module Iterable
28
28
 
29
29
  # purchases (commerce)
30
30
  :track_purchase => 'commerce/trackPurchase',
31
+
32
+ # events
33
+ :track_event => 'events/track',
31
34
  },
32
35
 
33
36
  # Authorization related configuration options
@@ -44,7 +47,7 @@ module Iterable
44
47
  class << self
45
48
  attr_accessor :props
46
49
 
47
- def configure
50
+ def configure
48
51
  yield props if block_given?
49
52
  end
50
53
 
@@ -72,4 +75,4 @@ module Iterable
72
75
  end
73
76
  end
74
77
  end
75
- end
78
+ end
@@ -1,3 +1,3 @@
1
1
  module Iterable
2
- VERSION = "0.2.2".freeze
2
+ VERSION = "0.2.3".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iterable-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Iterable
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: exe
12
12
  cert_chain: []
13
- date: 2017-07-21 00:00:00.000000000 Z
13
+ date: 2017-10-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rest-client
@@ -147,6 +147,7 @@ files:
147
147
  - lib/iterable/models/base.rb
148
148
  - lib/iterable/models/commerce_item.rb
149
149
  - lib/iterable/models/data_fields.rb
150
+ - lib/iterable/models/event.rb
150
151
  - lib/iterable/models/list_details.rb
151
152
  - lib/iterable/models/requests/subscribe.rb
152
153
  - lib/iterable/models/requests/track_purchase.rb
@@ -159,6 +160,7 @@ files:
159
160
  - lib/iterable/models/user.rb
160
161
  - lib/iterable/services/base_service.rb
161
162
  - lib/iterable/services/commerce_service.rb
163
+ - lib/iterable/services/event_service.rb
162
164
  - lib/iterable/services/list_service.rb
163
165
  - lib/iterable/services/user_service.rb
164
166
  - lib/iterable/util/config.rb