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 +4 -4
- data/CHANGELOG.md +7 -0
- data/lib/management/client.rb +28 -2
- data/talon_one.gemspec +2 -2
- data/test/test_integration_api_live.rb +8 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9686c435c7623cefc2b775f13ece7ddf2122701c
|
4
|
+
data.tar.gz: 3bd87ca7fbbb042ea917ccea433125e629c91cf4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca9cd7e9bd12fb13e90ea07835c044c33eaedeeec6c8fc3654ea15b6745c97b19687b015d1ca969b8aea1fd06bc3b24fc64abad1158a9c9d84104ca37c8b19e5
|
7
|
+
data.tar.gz: 248ef713cecac93bee40a77dec6680c1e8ae141a3e732837c7318b6190d6701d7f1ac6940da47950b8cfe26880635df1c41c1ce64112d2daa4cfafe36a214615
|
data/CHANGELOG.md
CHANGED
@@ -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
|
data/lib/management/client.rb
CHANGED
@@ -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
|
data/talon_one.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'talon_one'
|
3
|
-
s.version = '0.0.
|
4
|
-
s.date = '2017-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.
|
10
|
-
@ruleset = management_client.
|
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
|
-
|
18
|
-
@campaign["
|
19
|
-
|
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.
|
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-
|
11
|
+
date: 2017-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oj
|