talon_one 0.0.8 → 0.0.9

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: 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