checkdin 0.2.4 → 0.2.5
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.
- data/lib/checkdin.rb +1 -0
- data/lib/checkdin/api_error.rb +5 -4
- data/lib/checkdin/client.rb +30 -29
- data/lib/checkdin/version.rb +1 -1
- data/spec/checkdin/activities_spec.rb +2 -2
- data/spec/checkdin/campaigns_spec.rb +2 -2
- data/spec/checkdin/client_spec.rb +12 -1
- data/spec/checkdin/custom_activities_spec.rb +1 -1
- data/spec/checkdin/leaderboard_spec.rb +2 -2
- data/spec/checkdin/promotions_spec.rb +2 -2
- data/spec/checkdin/users_spec.rb +2 -2
- data/spec/checkdin/won_rewards_spec.rb +2 -2
- data/spec/fixtures/vcr_cassettes/Checkdin_Activities/viewing_a_list_of_activities.yml +2 -2
- data/spec/fixtures/vcr_cassettes/Checkdin_Activities/viewing_a_single_activity.yml +2 -2
- data/spec/fixtures/vcr_cassettes/Checkdin_Activities/voting_for_an_activity.yml +25 -25
- data/spec/fixtures/vcr_cassettes/Checkdin_Activities/voting_for_an_activity/passing_an_email.yml +26 -26
- data/spec/fixtures/vcr_cassettes/Checkdin_Campaigns/viewing_a_list_of_campaigns.yml +2 -2
- data/spec/fixtures/vcr_cassettes/Checkdin_Campaigns/viewing_a_single_campaign.yml +3 -3
- data/spec/fixtures/vcr_cassettes/Checkdin_CustomActivities.yml +2 -2
- data/spec/fixtures/vcr_cassettes/Checkdin_Leaderboard/viewing_a_leaderboard_for_a_campaign.yml +2 -2
- data/spec/fixtures/vcr_cassettes/Checkdin_Promotions/viewing_a_list_of_promotions.yml +3 -3
- data/spec/fixtures/vcr_cassettes/Checkdin_Promotions/viewing_a_single_promotion.yml +3 -3
- data/spec/fixtures/vcr_cassettes/Checkdin_Promotions/viewing_the_votes_leaderboard_for_a_promotion.yml +24 -24
- data/spec/fixtures/vcr_cassettes/Checkdin_Promotions/viewing_the_votes_leaderboard_for_a_promotion/limiting_the_number_of_records_returned.yml +24 -24
- data/spec/fixtures/vcr_cassettes/Checkdin_Users/viewing_a_list_of_users.yml +2 -2
- data/spec/fixtures/vcr_cassettes/Checkdin_Users/viewing_a_single_user.yml +2 -2
- data/spec/fixtures/vcr_cassettes/Checkdin_Votes/filtering_by_a_single_user.yml +24 -24
- data/spec/fixtures/vcr_cassettes/Checkdin_Votes/viewing_a_list_of_activities.yml +24 -24
- data/spec/fixtures/vcr_cassettes/Checkdin_WonRewards/viewing_a_list_of_won_rewards.yml +2 -2
- data/spec/fixtures/vcr_cassettes/Checkdin_WonRewards/viewing_a_single_won_reward.yml +2 -2
- data/spec/spec_helper.rb +11 -1
- metadata +3 -6
data/lib/checkdin.rb
CHANGED
data/lib/checkdin/api_error.rb
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
module Checkdin
|
2
2
|
class APIError < StandardError
|
3
3
|
|
4
|
-
attr_reader :status
|
4
|
+
attr_reader :status, :body
|
5
5
|
|
6
|
-
def initialize(status)
|
6
|
+
def initialize(status, body)
|
7
7
|
@status = status
|
8
|
+
@body = body
|
8
9
|
end
|
9
10
|
|
10
11
|
def message
|
11
|
-
"Status Code: #{
|
12
|
+
"Status Code: #{status}\nBody: #{body}"
|
12
13
|
end
|
13
14
|
end
|
14
|
-
end
|
15
|
+
end
|
data/lib/checkdin/client.rb
CHANGED
@@ -14,6 +14,11 @@ module Checkdin
|
|
14
14
|
include Votes
|
15
15
|
|
16
16
|
attr_reader :client_id, :client_secret
|
17
|
+
attr_reader :ssl
|
18
|
+
# Base URL for api requests.
|
19
|
+
attr_reader :api_url
|
20
|
+
|
21
|
+
DEFAULT_API_URL = "https://app.checkd.in/api/v1"
|
17
22
|
|
18
23
|
#Initialize the client class that will be used for all checkd.in API requests. Requires a valid client_id and client_secret - more info at http://developer.checkd.in
|
19
24
|
#
|
@@ -21,54 +26,50 @@ module Checkdin
|
|
21
26
|
# @param [Hash] options
|
22
27
|
# @option options String :client_id Your foursquare app's client_id
|
23
28
|
# @option options String :client_secret Your foursquare app's client_secret
|
29
|
+
# @option options String :api_url A custom API url, does not usually have to be overridden
|
24
30
|
# @option options Hash :ssl Additional SSL options (like the path to certificate file)
|
25
|
-
|
31
|
+
|
26
32
|
def initialize(options={})
|
27
|
-
@client_id
|
28
|
-
@client_secret = options
|
29
|
-
@
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
@ssl
|
33
|
+
@client_id = options.delete(:client_id)
|
34
|
+
@client_secret = options.delete(:client_secret)
|
35
|
+
@api_url = options.delete(:api_url) || DEFAULT_API_URL
|
36
|
+
@ssl = options.delete(:ssl) || {}
|
37
|
+
|
38
|
+
raise ArgumentError.new("Unexpected argument given: #{options.inspect}") unless options.blank?
|
34
39
|
end
|
35
|
-
|
36
|
-
# Sets up the connection to be used for all requests based on options passed during initialization.
|
37
40
|
|
41
|
+
# Sets up the connection to be used for all requests based on options passed during initialization.
|
38
42
|
def connection
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
builder.use Faraday::Request::UrlEncoded
|
43
|
+
@connection ||= begin
|
44
|
+
params = {
|
45
|
+
:client_id => client_id,
|
46
|
+
:client_secret => client_secret
|
47
|
+
}
|
45
48
|
|
46
|
-
|
47
|
-
|
49
|
+
Faraday::Connection.new(:url => api_url, :ssl => ssl, :params => params, :headers => default_headers) do |builder|
|
50
|
+
builder.use Faraday::Request::Multipart
|
51
|
+
builder.use Faraday::Request::UrlEncoded
|
48
52
|
|
49
|
-
|
53
|
+
builder.use FaradayMiddleware::Mashify
|
54
|
+
builder.use FaradayMiddleware::ParseJson
|
50
55
|
|
56
|
+
builder.adapter Faraday.default_adapter
|
57
|
+
end
|
51
58
|
end
|
52
59
|
end
|
53
60
|
|
54
|
-
# Base URL for api requests.
|
55
|
-
|
56
|
-
def api_url
|
57
|
-
"https://app.checkd.in/api/v1"
|
58
|
-
end
|
59
|
-
|
60
61
|
# Helper method to return errors or desired response data as appropriate.
|
61
62
|
#
|
62
63
|
# Added just for convenience to avoid having to traverse farther down the response just to get to returned data.
|
63
64
|
|
64
65
|
def return_error_or_body(response)
|
65
|
-
if response.status == 200
|
66
|
+
if response.status == 200
|
66
67
|
response.body
|
67
68
|
else
|
68
|
-
raise Checkdin::APIError.new(response.status)
|
69
|
+
raise Checkdin::APIError.new(response.status, response.body)
|
69
70
|
end
|
70
71
|
end
|
71
|
-
|
72
|
+
|
72
73
|
private
|
73
74
|
|
74
75
|
|
@@ -80,4 +81,4 @@ module Checkdin
|
|
80
81
|
end
|
81
82
|
|
82
83
|
end
|
83
|
-
end
|
84
|
+
end
|
data/lib/checkdin/version.rb
CHANGED
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Checkdin::Activities do
|
4
4
|
|
5
5
|
before do
|
6
|
-
@client = Checkdin::Client.new(
|
6
|
+
@client = Checkdin::Client.new(TestCredentials.client_args)
|
7
7
|
end
|
8
8
|
|
9
9
|
context "viewing a single activity" do
|
@@ -69,4 +69,4 @@ describe Checkdin::Activities do
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
end
|
72
|
-
end
|
72
|
+
end
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Checkdin::Campaigns do
|
4
4
|
|
5
5
|
before do
|
6
|
-
@client = Checkdin::Client.new(
|
6
|
+
@client = Checkdin::Client.new(TestCredentials.client_args)
|
7
7
|
end
|
8
8
|
|
9
9
|
context "viewing a single campaign" do
|
@@ -29,4 +29,4 @@ describe Checkdin::Campaigns do
|
|
29
29
|
result.first.campaign.name.should == "Check In To Win!"
|
30
30
|
end
|
31
31
|
end
|
32
|
-
end
|
32
|
+
end
|
@@ -14,5 +14,16 @@ describe Checkdin::Client do
|
|
14
14
|
it "has the version available" do
|
15
15
|
Checkdin::VERSION.should =~ /^\d\.\d\.\d/
|
16
16
|
end
|
17
|
+
|
18
|
+
it "takes an optional api_url" do
|
19
|
+
instance = Checkdin::Client.new(:api_url => 'https://bogus.checkd.in/api/v7')
|
20
|
+
instance.api_url.should == 'https://bogus.checkd.in/api/v7'
|
21
|
+
end
|
22
|
+
|
23
|
+
it "raises an error when an unknown option is passed" do
|
24
|
+
expect {
|
25
|
+
Checkdin::Client.new(:unexpected_present => 'details here')
|
26
|
+
}.to raise_error(ArgumentError, /unexpected_present/)
|
27
|
+
end
|
17
28
|
end
|
18
|
-
end
|
29
|
+
end
|
@@ -4,7 +4,7 @@ describe Checkdin::CustomActivities do
|
|
4
4
|
use_vcr_cassette
|
5
5
|
|
6
6
|
before do
|
7
|
-
@client = Checkdin::Client.new(
|
7
|
+
@client = Checkdin::Client.new(TestCredentials.client_args)
|
8
8
|
end
|
9
9
|
|
10
10
|
it "should report success when creating a custom activity" do
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Checkdin::Leaderboard do
|
4
4
|
|
5
5
|
before do
|
6
|
-
@client = Checkdin::Client.new(
|
6
|
+
@client = Checkdin::Client.new(TestCredentials.client_args)
|
7
7
|
end
|
8
8
|
|
9
9
|
context "viewing a leaderboard for a campaign" do
|
@@ -15,4 +15,4 @@ describe Checkdin::Leaderboard do
|
|
15
15
|
result.leaders.count.should == 5
|
16
16
|
end
|
17
17
|
end
|
18
|
-
end
|
18
|
+
end
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Checkdin::Promotions do
|
4
4
|
|
5
5
|
before do
|
6
|
-
@client = Checkdin::Client.new(
|
6
|
+
@client = Checkdin::Client.new(TestCredentials.client_args)
|
7
7
|
end
|
8
8
|
|
9
9
|
context "viewing a single promotion" do
|
@@ -60,4 +60,4 @@ describe Checkdin::Promotions do
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
end
|
63
|
-
end
|
63
|
+
end
|
data/spec/checkdin/users_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Checkdin::Users do
|
4
4
|
|
5
5
|
before do
|
6
|
-
@client = Checkdin::Client.new(
|
6
|
+
@client = Checkdin::Client.new(TestCredentials.client_args)
|
7
7
|
end
|
8
8
|
|
9
9
|
context "viewing a single user" do
|
@@ -55,4 +55,4 @@ describe Checkdin::Users do
|
|
55
55
|
end
|
56
56
|
end
|
57
57
|
end
|
58
|
-
end
|
58
|
+
end
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe Checkdin::WonRewards do
|
4
4
|
|
5
5
|
before do
|
6
|
-
@client = Checkdin::Client.new(
|
6
|
+
@client = Checkdin::Client.new(TestCredentials.client_args)
|
7
7
|
end
|
8
8
|
|
9
9
|
context "viewing a single won reward" do
|
@@ -42,4 +42,4 @@ describe Checkdin::WonRewards do
|
|
42
42
|
end
|
43
43
|
|
44
44
|
end
|
45
|
-
end
|
45
|
+
end
|
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/activities?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/activities?client_id={client_id}&client_secret={client_secret}&limit=2
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/activities/236?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/activities/236?client_id={client_id}&client_secret={client_secret}
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
@@ -1,46 +1,46 @@
|
|
1
|
-
---
|
2
|
-
- !ruby/struct:VCR::HTTPInteraction
|
3
|
-
request: !ruby/struct:VCR::Request
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
4
|
method: :post
|
5
|
-
uri: https://app.checkd.in:443/api/v1/activities/18881/vote?client_id=
|
6
|
-
body:
|
7
|
-
headers:
|
8
|
-
accept:
|
5
|
+
uri: https://app.checkd.in:443/api/v1/activities/18881/vote?client_id={client_id}&client_secret={client_secret}
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
accept:
|
9
9
|
- application/json
|
10
|
-
user-agent:
|
10
|
+
user-agent:
|
11
11
|
- checkdin ruby gem 0.2.1
|
12
|
-
content-length:
|
12
|
+
content-length:
|
13
13
|
- "0"
|
14
|
-
response: !ruby/struct:VCR::Response
|
15
|
-
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
response: !ruby/struct:VCR::Response
|
15
|
+
status: !ruby/struct:VCR::ResponseStatus
|
16
16
|
code: 200
|
17
17
|
message: OK
|
18
|
-
headers:
|
19
|
-
server:
|
18
|
+
headers:
|
19
|
+
server:
|
20
20
|
- nginx/1.0.11
|
21
|
-
date:
|
21
|
+
date:
|
22
22
|
- Mon, 09 Apr 2012 10:38:50 GMT
|
23
|
-
content-type:
|
23
|
+
content-type:
|
24
24
|
- application/json; charset=utf-8
|
25
|
-
transfer-encoding:
|
25
|
+
transfer-encoding:
|
26
26
|
- chunked
|
27
|
-
connection:
|
27
|
+
connection:
|
28
28
|
- keep-alive
|
29
|
-
status:
|
29
|
+
status:
|
30
30
|
- 200 OK
|
31
|
-
strict-transport-security:
|
31
|
+
strict-transport-security:
|
32
32
|
- max-age=31536000
|
33
|
-
x-ua-compatible:
|
33
|
+
x-ua-compatible:
|
34
34
|
- IE=Edge,chrome=1
|
35
|
-
etag:
|
35
|
+
etag:
|
36
36
|
- "\"78c7474e01ca50b8cfc238ad7974fed1\""
|
37
|
-
cache-control:
|
37
|
+
cache-control:
|
38
38
|
- max-age=0, private, must-revalidate
|
39
|
-
set-cookie:
|
39
|
+
set-cookie:
|
40
40
|
- _checkdin_session=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJWQ3MmVkYzllYzNhZWVhYmU4ZmQ2YjNlN2IxZjEyMjE2BjsAVA%3D%3D--8c08feb9944b93e628e7740a373d79e5adb6bd73; domain=app.checkd.in; path=/; HttpOnly; secure
|
41
|
-
x-runtime:
|
41
|
+
x-runtime:
|
42
42
|
- "0.039170"
|
43
|
-
x-rack-cache:
|
43
|
+
x-rack-cache:
|
44
44
|
- invalidate, pass
|
45
45
|
body: |
|
46
46
|
{"activity":{"type":"twitter_status","id":18881,"created_at":"2012-02-21T16:08:55-06:00","acted_on":{"type":"twitter_status","tweet_fk":172080368760000512,"status":"Check out what I purchased at #mynordstrom http://t.co/DKUXa41E","photo_url":"https://p.twimg.com/AmNaLwUCEAIt1v3.jpg","photo_thumbnail_url":"https://p.twimg.com/AmNaLwUCEAIt1v3.jpg:thumb"},"user":{"id":36,"username":"demomattloadtest","avatar_url":null,"href":"https://app.checkd.in/api/v1/activities.json?user_id=36"},"vote_count":6}}
|
data/spec/fixtures/vcr_cassettes/Checkdin_Activities/voting_for_an_activity/passing_an_email.yml
CHANGED
@@ -1,46 +1,46 @@
|
|
1
|
-
---
|
2
|
-
- !ruby/struct:VCR::HTTPInteraction
|
3
|
-
request: !ruby/struct:VCR::Request
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
4
|
method: :post
|
5
|
-
uri: https://app.checkd.in:443/api/v1/activities/18881/vote?client_id=
|
6
|
-
body:
|
7
|
-
headers:
|
8
|
-
accept:
|
5
|
+
uri: https://app.checkd.in:443/api/v1/activities/18881/vote?client_id={client_id}&client_secret={client_secret}&user_id=36
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
accept:
|
9
9
|
- application/json
|
10
|
-
user-agent:
|
10
|
+
user-agent:
|
11
11
|
- checkdin ruby gem 0.2.1
|
12
|
-
content-length:
|
12
|
+
content-length:
|
13
13
|
- "0"
|
14
|
-
response: !ruby/struct:VCR::Response
|
15
|
-
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
response: !ruby/struct:VCR::Response
|
15
|
+
status: !ruby/struct:VCR::ResponseStatus
|
16
16
|
code: 200
|
17
17
|
message: OK
|
18
|
-
headers:
|
19
|
-
server:
|
18
|
+
headers:
|
19
|
+
server:
|
20
20
|
- nginx/1.0.11
|
21
|
-
date:
|
21
|
+
date:
|
22
22
|
- Mon, 09 Apr 2012 10:42:37 GMT
|
23
|
-
content-type:
|
23
|
+
content-type:
|
24
24
|
- application/json; charset=utf-8
|
25
|
-
transfer-encoding:
|
25
|
+
transfer-encoding:
|
26
26
|
- chunked
|
27
|
-
connection:
|
27
|
+
connection:
|
28
28
|
- keep-alive
|
29
|
-
status:
|
29
|
+
status:
|
30
30
|
- 200 OK
|
31
|
-
strict-transport-security:
|
31
|
+
strict-transport-security:
|
32
32
|
- max-age=31536000
|
33
|
-
x-ua-compatible:
|
33
|
+
x-ua-compatible:
|
34
34
|
- IE=Edge,chrome=1
|
35
|
-
etag:
|
35
|
+
etag:
|
36
36
|
- "\"22ee544aa801964a479d745eb9bdba07\""
|
37
|
-
cache-control:
|
37
|
+
cache-control:
|
38
38
|
- max-age=0, private, must-revalidate
|
39
|
-
set-cookie:
|
39
|
+
set-cookie:
|
40
40
|
- _checkdin_session=BAh7BkkiD3Nlc3Npb25faWQGOgZFRkkiJTYyNjY0NTlhMThkZmFjNTJlMzcwMTA4NTc0OThiMWZlBjsAVA%3D%3D--c70adeb132862f669fc85fc8e5e643ea2b811b57; domain=app.checkd.in; path=/; HttpOnly; secure
|
41
|
-
x-runtime:
|
42
|
-
- "0.
|
43
|
-
x-rack-cache:
|
41
|
+
x-runtime:
|
42
|
+
- "0.03{client_secret}"
|
43
|
+
x-rack-cache:
|
44
44
|
- invalidate, pass
|
45
45
|
body: |
|
46
46
|
{"activity":{"type":"twitter_status","id":18881,"created_at":"2012-02-21T16:08:55-06:00","acted_on":{"type":"twitter_status","tweet_fk":172080368760000512,"status":"Check out what I purchased at #mynordstrom http://t.co/DKUXa41E","photo_url":"https://p.twimg.com/AmNaLwUCEAIt1v3.jpg","photo_thumbnail_url":"https://p.twimg.com/AmNaLwUCEAIt1v3.jpg:thumb"},"user":{"id":36,"username":"demomattloadtest","avatar_url":null,"href":"https://app.checkd.in/api/v1/activities.json?user_id=36"},"vote_count":7}}
|
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/campaigns?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/campaigns?client_id={client_id}&client_secret={client_secret}
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/campaigns/2?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/campaigns/2?client_id={client_id}&client_secret={client_secret}
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
@@ -45,7 +45,7 @@
|
|
45
45
|
coffee! Enjoy!","terms":"Offer only good at some locations.","above_21_only":false,"ends_at":"2012-10-16T07:51:32-05:00","href":"https://app.checkd.in/api/v1/promotions/8.json","type":"promotion_lbs_checkin","place_groups":[{"place_group":{"name":"Stores","href":"https://app.checkd.in/api/v1/place_groups/2.json"}}],"reward":{"private_delivery_description":"Thank
|
46
46
|
you for checking-in five times! Because you
|
47
47
|
are such a loyal customer, we would like to treat you to a free medium coffee!
|
48
|
-
","public_delivery_description":"Free coffee
|
48
|
+
","public_delivery_description":"Free coffee
|
49
49
|
for every 5 visits - check it out - http://something.com","single_delivery":false,"type":"badge_reward","reward_file":"5thCheckinBarcode.png"},"trigger_schedule":{"rewarding":"once","winner_picked":"activity_interval","interval":5,"human_readable":"Rewarded
|
50
50
|
once when a user reaches 5 relevant actions or points."}}}]}}'
|
51
51
|
http_version: '1.1'
|
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :post
|
5
|
-
uri: https://app.checkd.in:443/api/v1/custom_activities?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/custom_activities?client_id={client_id}&client_secret={client_secret}&custom_activity_node_id=1&email=muellermr@gmail.com
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
data/spec/fixtures/vcr_cassettes/Checkdin_Leaderboard/viewing_a_leaderboard_for_a_campaign.yml
CHANGED
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/campaigns/2/leaderboard?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/campaigns/2/leaderboard?client_id={client_id}&client_secret={client_secret}&limit=5
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/promotions?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/promotions?client_id={client_id}&client_secret={client_secret}&limit=2
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
@@ -42,7 +42,7 @@
|
|
42
42
|
for every 5 check ins!","description":"Every 5 times you check in at our new
|
43
43
|
location you will be rewarded with a free coffee! Enjoy!","terms":"Offer
|
44
44
|
only good redeem same or next business day.","above_21_only":false,"ends_at":"2012-10-16T07:51:32-05:00","href":"https://app.checkd.in/api/v1/promotions/8.json","type":"promotion_lbs_checkin","place_groups":[{"place_group":{"name":"Stores","href":"https://app.checkd.in/api/v1/place_groups/2.json"}}],"reward":{"private_delivery_description":"Thank
|
45
|
-
you for checking-in five times","public_delivery_description":"Free coffee
|
45
|
+
you for checking-in five times","public_delivery_description":"Free coffee
|
46
46
|
for every 5 visits - check it out - http://something.com","single_delivery":false,"type":"badge_reward","reward_file":"5thCheckinBarcode.png"},"trigger_schedule":{"rewarding":"once","winner_picked":"activity_interval","interval":5,"human_readable":"Rewarded
|
47
47
|
once when a user reaches 5 relevant actions or points."},"campaign":{"name":"Check
|
48
48
|
In To Win","description":"Check in to win free coffee and
|
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/promotions/8?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/promotions/8?client_id={client_id}&client_secret={client_secret}
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
@@ -43,7 +43,7 @@
|
|
43
43
|
rewarded with a free coffee! Enjoy!","terms":"Offer only good some places.","above_21_only":false,"ends_at":"2012-10-16T07:51:32-05:00","href":"https://app.checkd.in/api/v1/promotions/8.json","type":"promotion_lbs_checkin","place_groups":[{"place_group":{"name":"Stores","href":"https://app.checkd.in/api/v1/place_groups/2.json"}}],"reward":{"private_delivery_description":"Thank
|
44
44
|
you for checking-in five times! Because you
|
45
45
|
are such a loyal customer, we would like to treat you to a free medium coffee!
|
46
|
-
","public_delivery_description":"Free coffee
|
46
|
+
","public_delivery_description":"Free coffee
|
47
47
|
for every 5 visits - check it out - http://something.com","single_delivery":false,"type":"badge_reward","reward_file":"DD-5thCheckinBarcode.png"},"trigger_schedule":{"rewarding":"once","winner_picked":"activity_interval","interval":5,"human_readable":"Rewarded
|
48
48
|
once when a user reaches 5 relevant actions or points."},"campaign":{"name":"Check
|
49
49
|
In To Win","description":"Check in to win free coffee and
|
@@ -1,44 +1,44 @@
|
|
1
|
-
---
|
2
|
-
- !ruby/struct:VCR::HTTPInteraction
|
3
|
-
request: !ruby/struct:VCR::Request
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/promotions/54/votes_leaderboard?client_id=
|
6
|
-
body:
|
7
|
-
headers:
|
8
|
-
accept:
|
5
|
+
uri: https://app.checkd.in:443/api/v1/promotions/54/votes_leaderboard?client_id={client_id}&client_secret={client_secret}&limit
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
accept:
|
9
9
|
- application/json
|
10
|
-
user-agent:
|
10
|
+
user-agent:
|
11
11
|
- checkdin ruby gem 0.2.1
|
12
|
-
accept-encoding:
|
12
|
+
accept-encoding:
|
13
13
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
-
response: !ruby/struct:VCR::Response
|
15
|
-
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
response: !ruby/struct:VCR::Response
|
15
|
+
status: !ruby/struct:VCR::ResponseStatus
|
16
16
|
code: 200
|
17
17
|
message: OK
|
18
|
-
headers:
|
19
|
-
server:
|
18
|
+
headers:
|
19
|
+
server:
|
20
20
|
- nginx/1.0.11
|
21
|
-
date:
|
21
|
+
date:
|
22
22
|
- Mon, 09 Apr 2012 11:00:42 GMT
|
23
|
-
content-type:
|
23
|
+
content-type:
|
24
24
|
- application/json; charset=utf-8
|
25
|
-
transfer-encoding:
|
25
|
+
transfer-encoding:
|
26
26
|
- chunked
|
27
|
-
connection:
|
27
|
+
connection:
|
28
28
|
- keep-alive
|
29
|
-
status:
|
29
|
+
status:
|
30
30
|
- 200 OK
|
31
|
-
strict-transport-security:
|
31
|
+
strict-transport-security:
|
32
32
|
- max-age=31536000
|
33
|
-
x-ua-compatible:
|
33
|
+
x-ua-compatible:
|
34
34
|
- IE=Edge,chrome=1
|
35
|
-
etag:
|
35
|
+
etag:
|
36
36
|
- "\"5e76880528d8f34bcf0b8faae48936d6\""
|
37
|
-
cache-control:
|
37
|
+
cache-control:
|
38
38
|
- must-revalidate, private, max-age=0
|
39
|
-
x-runtime:
|
39
|
+
x-runtime:
|
40
40
|
- "0.123999"
|
41
|
-
x-rack-cache:
|
41
|
+
x-rack-cache:
|
42
42
|
- miss
|
43
43
|
body: "{\"promotion\":{\"title\":\"A voting promotion!\",\"description\":\"You iz winning.\",\"terms\":\"\",\"above_21_only\":false,\"ends_at\":\"2012-05-08T05:42:00-05:00\",\"href\":\"https://app.checkd.in/api/v1/promotions/54.json\",\"type\":\"promotion_photo\",\"twitter_hashtag\":\"#mynordstrom\",\"participant_status_message\":null,\"reward\":{\"private_delivery_description\":\"You won\",\"public_delivery_description\":\"\",\"single_delivery\":false,\"type\":\"point_reward\",\"reward_points\":100},\"trigger_schedule\":{\"rewarding\":\"many\",\"winner_picked\":\"activity_interval\",\"interval\":1,\"human_readable\":\"Rewarded every time the same user performs a relevant action.\"},\"votes_leaderboard\":{\"total_pages\":1,\"activities\":[{\"activity\":{\"type\":\"twitter_status\",\"id\":18881,\"created_at\":\"2012-02-21T16:08:55-06:00\",\"acted_on\":{\"type\":\"twitter_status\",\"tweet_fk\":172080368760000512,\"status\":\"Check out what I purchased at #mynordstrom http://t.co/DKUXa41E\",\"photo_url\":\"https://p.twimg.com/AmNaLwUCEAIt1v3.jpg\",\"photo_thumbnail_url\":\"https://p.twimg.com/AmNaLwUCEAIt1v3.jpg:thumb\"},\"user\":{\"id\":36,\"username\":\"demomattloadtest\",\"avatar_url\":null,\"href\":\"https://app.checkd.in/api/v1/activities.json?user_id=36\"},\"href\":\"https://app.checkd.in/api/v1/activities/18881.json\",\"vote_count\":7}},{\"activity\":{\"type\":\"twitter_status\",\"id\":18882,\"created_at\":\"2012-02-22T09:08:47-06:00\",\"acted_on\":{\"type\":\"twitter_status\",\"tweet_fk\":172337035716198401,\"status\":\"Check out #mynordstrom http://t.co/bvqmQX7B\",\"photo_url\":\"https://p.twimg.com/AmRDnvPCAAIYYMY.jpg\",\"photo_thumbnail_url\":\"https://p.twimg.com/AmRDnvPCAAIYYMY.jpg:thumb\"},\"user\":{\"id\":36,\"username\":\"demomattloadtest\",\"avatar_url\":null,\"href\":\"https://app.checkd.in/api/v1/activities.json?user_id=36\"},\"href\":\"https://app.checkd.in/api/v1/activities/18882.json\",\"vote_count\":0}},{\"activity\":{\"type\":\"twitter_status\",\"id\":18883,\"created_at\":\"2012-02-22T09:55:58-06:00\",\"acted_on\":{\"type\":\"twitter_status\",\"tweet_fk\":172348911032336384,\"status\":\"Check out this cool purchase #mynordstrom http://t.co/JKXzWuVu\",\"photo_url\":\"https://p.twimg.com/AmROa-PCAAAcMe1.jpg\",\"photo_thumbnail_url\":\"https://p.twimg.com/AmROa-PCAAAcMe1.jpg:thumb\"},\"user\":{\"id\":36,\"username\":\"demomattloadtest\",\"avatar_url\":null,\"href\":\"https://app.checkd.in/api/v1/activities.json?user_id=36\"},\"href\":\"https://app.checkd.in/api/v1/activities/18883.json\",\"vote_count\":0}}]},\"campaign\":{\"name\":\"Nordstrom Rewards\",\"description\":\"Earn discounts and other great rewards for joining Nordstrom Fashion Rewards!\",\"start_date\":\"2011-12-14\",\"end_date\":\"2012-06-01\",\"href\":\"https://app.checkd.in/api/v1/campaigns/11.json\"}}}"
|
44
44
|
http_version: "1.1"
|
@@ -1,44 +1,44 @@
|
|
1
|
-
---
|
2
|
-
- !ruby/struct:VCR::HTTPInteraction
|
3
|
-
request: !ruby/struct:VCR::Request
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/promotions/54/votes_leaderboard?client_id=
|
6
|
-
body:
|
7
|
-
headers:
|
8
|
-
accept:
|
5
|
+
uri: https://app.checkd.in:443/api/v1/promotions/54/votes_leaderboard?client_id={client_id}&client_secret={client_secret}&limit=1
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
accept:
|
9
9
|
- application/json
|
10
|
-
user-agent:
|
10
|
+
user-agent:
|
11
11
|
- checkdin ruby gem 0.2.1
|
12
|
-
accept-encoding:
|
12
|
+
accept-encoding:
|
13
13
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
-
response: !ruby/struct:VCR::Response
|
15
|
-
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
response: !ruby/struct:VCR::Response
|
15
|
+
status: !ruby/struct:VCR::ResponseStatus
|
16
16
|
code: 200
|
17
17
|
message: OK
|
18
|
-
headers:
|
19
|
-
server:
|
18
|
+
headers:
|
19
|
+
server:
|
20
20
|
- nginx/1.0.11
|
21
|
-
date:
|
21
|
+
date:
|
22
22
|
- Mon, 09 Apr 2012 11:02:11 GMT
|
23
|
-
content-type:
|
23
|
+
content-type:
|
24
24
|
- application/json; charset=utf-8
|
25
|
-
transfer-encoding:
|
25
|
+
transfer-encoding:
|
26
26
|
- chunked
|
27
|
-
connection:
|
27
|
+
connection:
|
28
28
|
- keep-alive
|
29
|
-
status:
|
29
|
+
status:
|
30
30
|
- 200 OK
|
31
|
-
strict-transport-security:
|
31
|
+
strict-transport-security:
|
32
32
|
- max-age=31536000
|
33
|
-
x-ua-compatible:
|
33
|
+
x-ua-compatible:
|
34
34
|
- IE=Edge,chrome=1
|
35
|
-
etag:
|
35
|
+
etag:
|
36
36
|
- "\"616689e5a2d0af0ef532965e0f6aad51\""
|
37
|
-
cache-control:
|
37
|
+
cache-control:
|
38
38
|
- must-revalidate, private, max-age=0
|
39
|
-
x-runtime:
|
39
|
+
x-runtime:
|
40
40
|
- "0.128383"
|
41
|
-
x-rack-cache:
|
41
|
+
x-rack-cache:
|
42
42
|
- miss
|
43
43
|
body: "{\"promotion\":{\"title\":\"A voting promotion!\",\"description\":\"You iz winning\",\"terms\":\"\",\"above_21_only\":false,\"ends_at\":\"2012-05-08T05:42:00-05:00\",\"href\":\"https://app.checkd.in/api/v1/promotions/54.json\",\"type\":\"promotion_photo\",\"twitter_hashtag\":\"#mynordstrom\",\"participant_status_message\":null,\"reward\":{\"private_delivery_description\":\"\",\"public_delivery_description\":\"\",\"single_delivery\":false,\"type\":\"point_reward\",\"reward_points\":100},\"trigger_schedule\":{\"rewarding\":\"many\",\"winner_picked\":\"activity_interval\",\"interval\":1,\"human_readable\":\"Rewarded every time the same user performs a relevant action.\"},\"votes_leaderboard\":{\"total_pages\":3,\"activities\":[{\"activity\":{\"type\":\"twitter_status\",\"id\":18881,\"created_at\":\"2012-02-21T16:08:55-06:00\",\"acted_on\":{\"type\":\"twitter_status\",\"tweet_fk\":172080368760000512,\"status\":\"Check out what I purchased at #mynordstrom http://t.co/DKUXa41E\",\"photo_url\":\"https://p.twimg.com/AmNaLwUCEAIt1v3.jpg\",\"photo_thumbnail_url\":\"https://p.twimg.com/AmNaLwUCEAIt1v3.jpg:thumb\"},\"user\":{\"id\":36,\"username\":\"demomattloadtest\",\"avatar_url\":null,\"href\":\"https://app.checkd.in/api/v1/activities.json?user_id=36\"},\"href\":\"https://app.checkd.in/api/v1/activities/18881.json\",\"vote_count\":7}}]},\"campaign\":{\"name\":\"Nordstrom Rewards\",\"description\":\"Earn discounts and other great rewards for joining Nordstrom Fashion Rewards!\",\"start_date\":\"2011-12-14\",\"end_date\":\"2012-06-01\",\"href\":\"https://app.checkd.in/api/v1/campaigns/11.json\"}}}"
|
44
44
|
http_version: "1.1"
|
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/users?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/users?client_id={client_id}&client_secret={client_secret}&limit=2
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/users/187?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/users/187?client_id={client_id}&client_secret={client_secret}
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
@@ -1,44 +1,44 @@
|
|
1
|
-
---
|
2
|
-
- !ruby/struct:VCR::HTTPInteraction
|
3
|
-
request: !ruby/struct:VCR::Request
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/votes?client_id=
|
6
|
-
body:
|
7
|
-
headers:
|
8
|
-
accept:
|
5
|
+
uri: https://app.checkd.in:443/api/v1/votes?client_id={client_id}&client_secret={client_secret}&user_id=36
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
accept:
|
9
9
|
- application/json
|
10
|
-
user-agent:
|
10
|
+
user-agent:
|
11
11
|
- checkdin ruby gem 0.2.2
|
12
|
-
accept-encoding:
|
12
|
+
accept-encoding:
|
13
13
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
-
response: !ruby/struct:VCR::Response
|
15
|
-
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
response: !ruby/struct:VCR::Response
|
15
|
+
status: !ruby/struct:VCR::ResponseStatus
|
16
16
|
code: 200
|
17
17
|
message: OK
|
18
|
-
headers:
|
19
|
-
server:
|
18
|
+
headers:
|
19
|
+
server:
|
20
20
|
- nginx/1.0.11
|
21
|
-
date:
|
21
|
+
date:
|
22
22
|
- Tue, 17 Apr 2012 15:57:37 GMT
|
23
|
-
content-type:
|
23
|
+
content-type:
|
24
24
|
- application/json; charset=utf-8
|
25
|
-
transfer-encoding:
|
25
|
+
transfer-encoding:
|
26
26
|
- chunked
|
27
|
-
connection:
|
27
|
+
connection:
|
28
28
|
- keep-alive
|
29
|
-
status:
|
29
|
+
status:
|
30
30
|
- 200 OK
|
31
|
-
strict-transport-security:
|
31
|
+
strict-transport-security:
|
32
32
|
- max-age=31536000
|
33
|
-
x-ua-compatible:
|
33
|
+
x-ua-compatible:
|
34
34
|
- IE=Edge,chrome=1
|
35
|
-
etag:
|
35
|
+
etag:
|
36
36
|
- "\"e5be3080253b60063d29411e65400701\""
|
37
|
-
cache-control:
|
37
|
+
cache-control:
|
38
38
|
- must-revalidate, private, max-age=0
|
39
|
-
x-runtime:
|
39
|
+
x-runtime:
|
40
40
|
- "0.101455"
|
41
|
-
x-rack-cache:
|
41
|
+
x-rack-cache:
|
42
42
|
- miss
|
43
43
|
body: "{\"total_pages\":1,\"votes\":[{\"vote\":{\"created_at\":\"2012-04-09T05:42:37-05:00\",\"user\":{\"id\":36,\"href\":\"https://staging.checkd.in/api/v1/users/36.json\"},\"activity\":{\"id\":18881,\"href\":\"https://staging.checkd.in/api/v1/activities/18881.json\"}}},{\"vote\":{\"created_at\":\"2012-04-08T06:52:18-05:00\",\"user\":{\"id\":36,\"href\":\"https://staging.checkd.in/api/v1/users/36.json\"},\"activity\":{\"id\":18881,\"href\":\"https://staging.checkd.in/api/v1/activities/18881.json\"}}},{\"vote\":{\"created_at\":\"2012-04-08T06:52:12-05:00\",\"user\":{\"id\":36,\"href\":\"https://staging.checkd.in/api/v1/users/36.json\"},\"activity\":{\"id\":18881,\"href\":\"https://staging.checkd.in/api/v1/activities/18881.json\"}}}]}"
|
44
44
|
http_version: "1.1"
|
@@ -1,44 +1,44 @@
|
|
1
|
-
---
|
2
|
-
- !ruby/struct:VCR::HTTPInteraction
|
3
|
-
request: !ruby/struct:VCR::Request
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/votes?client_id=
|
6
|
-
body:
|
7
|
-
headers:
|
8
|
-
accept:
|
5
|
+
uri: https://app.checkd.in:443/api/v1/votes?client_id={client_id}&client_secret={client_secret}
|
6
|
+
body:
|
7
|
+
headers:
|
8
|
+
accept:
|
9
9
|
- application/json
|
10
|
-
user-agent:
|
10
|
+
user-agent:
|
11
11
|
- checkdin ruby gem 0.2.2
|
12
|
-
accept-encoding:
|
12
|
+
accept-encoding:
|
13
13
|
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
14
|
-
response: !ruby/struct:VCR::Response
|
15
|
-
status: !ruby/struct:VCR::ResponseStatus
|
14
|
+
response: !ruby/struct:VCR::Response
|
15
|
+
status: !ruby/struct:VCR::ResponseStatus
|
16
16
|
code: 200
|
17
17
|
message: OK
|
18
|
-
headers:
|
19
|
-
server:
|
18
|
+
headers:
|
19
|
+
server:
|
20
20
|
- nginx/1.0.11
|
21
|
-
date:
|
21
|
+
date:
|
22
22
|
- Tue, 17 Apr 2012 15:57:36 GMT
|
23
|
-
content-type:
|
23
|
+
content-type:
|
24
24
|
- application/json; charset=utf-8
|
25
|
-
transfer-encoding:
|
25
|
+
transfer-encoding:
|
26
26
|
- chunked
|
27
|
-
connection:
|
27
|
+
connection:
|
28
28
|
- keep-alive
|
29
|
-
status:
|
29
|
+
status:
|
30
30
|
- 200 OK
|
31
|
-
strict-transport-security:
|
31
|
+
strict-transport-security:
|
32
32
|
- max-age=31536000
|
33
|
-
x-ua-compatible:
|
33
|
+
x-ua-compatible:
|
34
34
|
- IE=Edge,chrome=1
|
35
|
-
etag:
|
35
|
+
etag:
|
36
36
|
- "\"0b1ec43ded6cc7875c4c284e7e112874\""
|
37
|
-
cache-control:
|
37
|
+
cache-control:
|
38
38
|
- must-revalidate, private, max-age=0
|
39
|
-
x-runtime:
|
39
|
+
x-runtime:
|
40
40
|
- "0.047213"
|
41
|
-
x-rack-cache:
|
41
|
+
x-rack-cache:
|
42
42
|
- miss
|
43
43
|
body: "{\"total_pages\":1,\"votes\":[{\"vote\":{\"created_at\":\"2012-04-09T05:42:37-05:00\",\"user\":{\"id\":36,\"href\":\"https://staging.checkd.in/api/v1/users/36.json\"},\"activity\":{\"id\":18881,\"href\":\"https://staging.checkd.in/api/v1/activities/18881.json\"}}},{\"vote\":{\"created_at\":\"2012-04-09T05:38:50-05:00\",\"user\":null,\"activity\":{\"id\":18881,\"href\":\"https://staging.checkd.in/api/v1/activities/18881.json\"}}},{\"vote\":{\"created_at\":\"2012-04-08T06:52:18-05:00\",\"user\":{\"id\":36,\"href\":\"https://staging.checkd.in/api/v1/users/36.json\"},\"activity\":{\"id\":18881,\"href\":\"https://staging.checkd.in/api/v1/activities/18881.json\"}}},{\"vote\":{\"created_at\":\"2012-04-08T06:52:12-05:00\",\"user\":{\"id\":36,\"href\":\"https://staging.checkd.in/api/v1/users/36.json\"},\"activity\":{\"id\":18881,\"href\":\"https://staging.checkd.in/api/v1/activities/18881.json\"}}},{\"vote\":{\"created_at\":\"2012-04-08T06:51:53-05:00\",\"user\":null,\"activity\":{\"id\":18881,\"href\":\"https://staging.checkd.in/api/v1/activities/18881.json\"}}},{\"vote\":{\"created_at\":\"2012-04-08T06:30:05-05:00\",\"user\":null,\"activity\":{\"id\":18881,\"href\":\"https://staging.checkd.in/api/v1/activities/18881.json\"}}},{\"vote\":{\"created_at\":\"2012-04-08T06:26:47-05:00\",\"user\":null,\"activity\":{\"id\":18881,\"href\":\"https://staging.checkd.in/api/v1/activities/18881.json\"}}}]}"
|
44
44
|
http_version: "1.1"
|
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/won_rewards?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/won_rewards?client_id={client_id}&client_secret={client_secret}&limit=2
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
@@ -2,8 +2,8 @@
|
|
2
2
|
- !ruby/struct:VCR::HTTPInteraction
|
3
3
|
request: !ruby/struct:VCR::Request
|
4
4
|
method: :get
|
5
|
-
uri: https://app.checkd.in:443/api/v1/won_rewards/142?client_id=
|
6
|
-
body: !!null
|
5
|
+
uri: https://app.checkd.in:443/api/v1/won_rewards/142?client_id={client_id}&client_secret={client_secret}
|
6
|
+
body: !!null
|
7
7
|
headers:
|
8
8
|
accept:
|
9
9
|
- application/json
|
data/spec/spec_helper.rb
CHANGED
@@ -9,6 +9,8 @@ require 'rspec'
|
|
9
9
|
require 'webmock/rspec'
|
10
10
|
require 'vcr'
|
11
11
|
|
12
|
+
Dir["./spec/support/**/*.rb"].each {|f| require f}
|
13
|
+
|
12
14
|
# Disallow all HTTP connections
|
13
15
|
WebMock.disable_net_connect!
|
14
16
|
|
@@ -17,6 +19,14 @@ VCR.config do |config|
|
|
17
19
|
config.cassette_library_dir = File.join('spec', 'fixtures', 'vcr_cassettes')
|
18
20
|
|
19
21
|
config.stub_with :webmock
|
22
|
+
|
23
|
+
config.filter_sensitive_data('{client_id}') { TestCredentials.client_id }
|
24
|
+
config.filter_sensitive_data('{client_secret}') { TestCredentials.client_secret }
|
25
|
+
config.filter_sensitive_data('{api_url}') { TestCredentials.api_url }
|
26
|
+
|
27
|
+
config.default_cassette_options = {
|
28
|
+
:match_requests_on => [ :path ] # ignore hostname when finding a matching request in the VCR recording
|
29
|
+
}
|
20
30
|
end
|
21
31
|
|
22
32
|
RSpec.configure do |config|
|
@@ -36,4 +46,4 @@ RSpec.configure do |config|
|
|
36
46
|
end
|
37
47
|
end
|
38
48
|
|
39
|
-
DEFAULT_HOST = 'http://www.example.com'
|
49
|
+
DEFAULT_HOST = 'http://www.example.com'
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: checkdin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.2.
|
5
|
+
version: 0.2.5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Matt Mueller
|
@@ -19,10 +19,7 @@ dependencies:
|
|
19
19
|
requirement: &id001 !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
|
-
- -
|
23
|
-
- !ruby/object:Gem::Version
|
24
|
-
version: "0.6"
|
25
|
-
- - <
|
22
|
+
- - ~>
|
26
23
|
- !ruby/object:Gem::Version
|
27
24
|
version: "0.8"
|
28
25
|
type: :runtime
|
@@ -35,7 +32,7 @@ dependencies:
|
|
35
32
|
requirements:
|
36
33
|
- - ">="
|
37
34
|
- !ruby/object:Gem::Version
|
38
|
-
version: "0
|
35
|
+
version: "0"
|
39
36
|
type: :runtime
|
40
37
|
version_requirements: *id002
|
41
38
|
- !ruby/object:Gem::Dependency
|