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