talon_one 0.0.8 → 0.0.9

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: 95e903cd6d515eaf7af79694d78f3175ed2c2ccc
4
- data.tar.gz: af3ac0c034057857644dc3b581bceee4891dbd6f
3
+ metadata.gz: 9686c435c7623cefc2b775f13ece7ddf2122701c
4
+ data.tar.gz: 3bd87ca7fbbb042ea917ccea433125e629c91cf4
5
5
  SHA512:
6
- metadata.gz: 62788bee7b389d6206ba3905cd0d8312501491636a51e9cff202191331deb1b0b03f651b3e57897317a374fd6a144d47a7fcc1b671390d6553917ebf7a51272b
7
- data.tar.gz: e48c7190c6949840970c9c2164ed9d5cc93476941acc2c55b4e7a5b68266b25d3e79f126010b04c0496abd0ebc9bcd854da5cabcbdaa8c835c1ca819090f0737
6
+ metadata.gz: ca9cd7e9bd12fb13e90ea07835c044c33eaedeeec6c8fc3654ea15b6745c97b19687b015d1ca969b8aea1fd06bc3b24fc64abad1158a9c9d84104ca37c8b19e5
7
+ data.tar.gz: 248ef713cecac93bee40a77dec6680c1e8ae141a3e732837c7318b6190d6701d7f1ac6940da47950b8cfe26880635df1c41c1ce64112d2daa4cfafe36a214615
@@ -1,3 +1,10 @@
1
+ # 0.0.9 / 2017-06-08
2
+
3
+ * [FEATURE] Add support for creating and deleting attributes
4
+ * [FEATURE] Add support for adding a ruleset to a campaign
5
+ * [FEATURE] Add support for updating campaign status
6
+ * [CHORE] Update integration tests
7
+
1
8
  # 0.0.8 / 2017-06-06
2
9
 
3
10
  * [FEATURE] Expose login API call
@@ -62,7 +62,7 @@ module TalonOne
62
62
  end
63
63
 
64
64
  def get_application(application_id)
65
- get "v1/applications/#{application_id}"
65
+ get "/v1/applications/#{application_id}"
66
66
  end
67
67
 
68
68
  def delete_application(application_id)
@@ -78,7 +78,33 @@ module TalonOne
78
78
  end
79
79
 
80
80
  def get_campaign(application_id, campaign_id)
81
- get "v1/applications/#{application_id}/campaigns/#{campaign_id}"
81
+ get "/v1/applications/#{application_id}/campaigns/#{campaign_id}"
82
+ end
83
+
84
+ def update_campaign(application_id, campaign_id, params)
85
+ put "/v1/applications/#{application_id}/campaigns/#{campaign_id}", params
86
+ end
87
+
88
+ def update_ruleset_for_campaign(application_id, campaign_id, params)
89
+ ruleset = post "/v1/applications/#{application_id}/campaigns/#{campaign_id}/rulesets", params
90
+ campaign = get_campaign(application_id, campaign_id)
91
+ campaign["activeRulesetId"] = ruleset["id"]
92
+ update_campaign(application_id, campaign_id, campaign)
93
+ return ruleset
94
+ end
95
+
96
+ def update_campaign_status(application_id, campaign_id, campaign_status)
97
+ campaign = get_campaign(application_id, campaign_id)
98
+ campaign["state"] = campaign_status
99
+ update_campaign(application_id, campaign_id, campaign)
100
+ end
101
+
102
+ def create_attribute(params)
103
+ post "/v1/attributes", params
104
+ end
105
+
106
+ def delete_attribute(attribute_id)
107
+ delete "/v1/attributes/#{attribute_id}"
82
108
  end
83
109
 
84
110
  end
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'talon_one'
3
- s.version = '0.0.8'
4
- s.date = '2017-06-06'
3
+ s.version = '0.0.9'
4
+ s.date = '2017-06-08'
5
5
  s.summary = 'Client for the Talon.One API'
6
6
  s.description = 'A simple client for using the Talon.One API'
7
7
  s.authors = ['Talon.One GmbH']
@@ -6,21 +6,23 @@ class TestIntegrationApiLive < LiveApiTest
6
6
  currency: "USD",
7
7
  timezone: "UTC"
8
8
  )
9
- @campaign = management_client.post "/v1/applications/#{@app["id"]}/campaigns", { name: "Test Campaign", state: 'disabled', tags: [], limits: [] }
10
- @ruleset = management_client.post "/v1/applications/#{@app["id"]}/campaigns/#{@campaign["id"]}/rulesets", rules: [{
9
+ @campaign = management_client.create_campaign @app["id"], { name: "Test Campaign", state: 'disabled', tags: [], limits: [] }
10
+ @ruleset = management_client.update_ruleset_for_campaign @app["id"], @campaign["id"], rules: [{
11
11
  title: "Free money for all!",
12
12
  condition: ["and", true],
13
13
  effects: [
14
14
  ["setDiscount", "Free money", 45.55]
15
15
  ]
16
16
  }]
17
- @campaign["activeRulesetId"] = @ruleset["id"]
18
- @campaign["state"] = "enabled"
19
- management_client.put "/v1/applications/#{@app["id"]}/campaigns/#{@campaign["id"]}", @campaign
17
+
18
+ management_client.update_campaign_status @app["id"], @campaign["id"], "enabled"
19
+
20
+ @attribute ||= management_client.create_attribute({ entity: "Event", eventType: "Viewed Page", name: "URL", title: "Page URL", type: "string", description: "The URL of the page that the user has viewed", tags: [], editable: true })
20
21
  end
21
22
 
22
23
  def teardown
23
- management_client.delete_application @app
24
+ management_client.delete_application @app["id"]
25
+ management_client.delete_attribute @attribute["id"]
24
26
  end
25
27
 
26
28
  def integration_config
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: talon_one
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Talon.One GmbH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-06 00:00:00.000000000 Z
11
+ date: 2017-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oj