full_circle 0.1.0
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 +15 -0
- data/.gitignore +18 -0
- data/Gemfile +4 -0
- data/Guardfile +24 -0
- data/LICENSE.txt +22 -0
- data/README.md +45 -0
- data/Rakefile +6 -0
- data/full_circle.gemspec +29 -0
- data/lib/full_circle/api.rb +34 -0
- data/lib/full_circle/connection.rb +18 -0
- data/lib/full_circle/object_builder.rb +31 -0
- data/lib/full_circle/response_parser.rb +44 -0
- data/lib/full_circle/version.rb +3 -0
- data/lib/full_circle.rb +12 -0
- data/spec/fixtures/vcr_cassettes/empty_event_area_response.yml +47 -0
- data/spec/fixtures/vcr_cassettes/empty_get_coupons_response.yml +47 -0
- data/spec/fixtures/vcr_cassettes/empty_get_events_response.yml +47 -0
- data/spec/fixtures/vcr_cassettes/empty_get_upcoming_events_response.yml +48 -0
- data/spec/fixtures/vcr_cassettes/multiple_event_areas_response.yml +51 -0
- data/spec/fixtures/vcr_cassettes/multiple_get_coupons_response.yml +60 -0
- data/spec/fixtures/vcr_cassettes/multiple_get_upcoming_events_response.yml +277 -0
- data/spec/fixtures/vcr_cassettes/multple_get_events_response.yml +96 -0
- data/spec/fixtures/vcr_cassettes/single_event_areas_response.yml +49 -0
- data/spec/fixtures/vcr_cassettes/single_get_coupons_response.yml +51 -0
- data/spec/fixtures/vcr_cassettes/single_get_events_response.yml +52 -0
- data/spec/fixtures/vcr_cassettes/single_get_upcoming_events_response.yml +61 -0
- data/spec/full_circle/api_spec.rb +170 -0
- data/spec/full_circle/connection_spec.rb +21 -0
- data/spec/full_circle/object_builder_spec.rb +21 -0
- data/spec/full_circle/response_parser_spec.rb +187 -0
- data/spec/spec_helper.rb +11 -0
- metadata +202 -0
@@ -0,0 +1,170 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'vcr'
|
3
|
+
|
4
|
+
describe FullCircle::API do
|
5
|
+
|
6
|
+
let!(:api){FullCircle::API.new(FullCircle::Connection.new("360durango.com"))}
|
7
|
+
|
8
|
+
describe "#fetch_events_for_ad" do
|
9
|
+
it "calls the appropriate method on call_api_method" do
|
10
|
+
mock_connection = double()
|
11
|
+
mock_connection.should_receive(:call_api_method).with("ad.getEvents",{adId: "1"})
|
12
|
+
|
13
|
+
described_class.new(mock_connection).fetch_events_for_ad("1")
|
14
|
+
end
|
15
|
+
|
16
|
+
context "with one event" do
|
17
|
+
it "returns an array of one event" do
|
18
|
+
VCR.use_cassette "single_get_events_response" do
|
19
|
+
results = api.fetch_events_for_ad "81213"
|
20
|
+
results.should be_a Array
|
21
|
+
results
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
|
27
|
+
context "with multiple events" do
|
28
|
+
it "returns an array of multiple events" do
|
29
|
+
VCR.use_cassette "multple_get_events_response" do
|
30
|
+
results = api.fetch_events_for_ad "89690"
|
31
|
+
results.should be_a Array
|
32
|
+
(results.length > 1).should be_true
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
context "with no events" do
|
38
|
+
it "returns an empty array" do
|
39
|
+
VCR.use_cassette "empty_get_events_response" do
|
40
|
+
results = api.fetch_events_for_ad "1"
|
41
|
+
results.should eq []
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
describe "#fetch_coupons_for_ad" do
|
50
|
+
|
51
|
+
it "calls the appropriate method on call_api_method" do
|
52
|
+
mock_connection = double()
|
53
|
+
mock_connection.should_receive(:call_api_method).with("ad.getCoupons",{adId: "1"})
|
54
|
+
|
55
|
+
described_class.new(mock_connection).fetch_coupons_for_ad("1")
|
56
|
+
end
|
57
|
+
|
58
|
+
context "with one coupon" do
|
59
|
+
it "returns an array of one coupon" do
|
60
|
+
VCR.use_cassette "single_get_coupons_response" do
|
61
|
+
results = api.fetch_coupons_for_ad "123094"
|
62
|
+
results.should be_a Array
|
63
|
+
results.length.should eq 1
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
context "with multiple coupons" do
|
69
|
+
it "returns an array of multiple coupons" do
|
70
|
+
VCR.use_cassette "multiple_get_coupons_response" do
|
71
|
+
results = api.fetch_coupons_for_ad "82196"
|
72
|
+
results.should be_a Array
|
73
|
+
results.length.should eq 3
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
context "with no coupons" do
|
79
|
+
it "returns an empty array" do
|
80
|
+
VCR.use_cassette "empty_get_coupons_response" do
|
81
|
+
results = api.fetch_coupons_for_ad "1"
|
82
|
+
results.should eq []
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
describe "#fetch_event_areas" do
|
89
|
+
it "calls the appropriate method on call_api_method" do
|
90
|
+
mock_connection = double()
|
91
|
+
mock_connection.should_receive(:call_api_method).with("city.getEventAreas")
|
92
|
+
|
93
|
+
described_class.new(mock_connection).fetch_event_areas
|
94
|
+
end
|
95
|
+
|
96
|
+
context "with one event area" do
|
97
|
+
it "returns an array of one event area" do
|
98
|
+
VCR.use_cassette "single_event_areas_response" do
|
99
|
+
results = api.fetch_event_areas
|
100
|
+
results.should be_a Array
|
101
|
+
results.length.should eq 1
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
|
106
|
+
context "with multiple event areas" do
|
107
|
+
it "returns an array of multiple event areas" do
|
108
|
+
VCR.use_cassette "multiple_event_areas_response" do
|
109
|
+
results = api.fetch_event_areas
|
110
|
+
results.should be_a Array
|
111
|
+
results.length.should eq 7
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
context "with no event areas" do
|
117
|
+
let!(:api){FullCircle::API.new(FullCircle::Connection.new("1019thewave.com"))}
|
118
|
+
it "returns an empty array" do
|
119
|
+
VCR.use_cassette "empty_event_area_response" do
|
120
|
+
results = api.fetch_event_areas
|
121
|
+
results.should eq []
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
end
|
127
|
+
|
128
|
+
describe "#fetch_upcoming_events" do
|
129
|
+
|
130
|
+
it "calls the appropriate method on call_api_method" do
|
131
|
+
mock_connection = double()
|
132
|
+
mock_connection.should_receive(:call_api_method).with("city.getUpcomingEvents",{})
|
133
|
+
|
134
|
+
described_class.new(mock_connection).fetch_upcoming_events
|
135
|
+
end
|
136
|
+
|
137
|
+
context "with one event" do
|
138
|
+
it "returns an array of one event" do
|
139
|
+
VCR.use_cassette "single_get_upcoming_events_response" do
|
140
|
+
results = api.fetch_upcoming_events areaId: "592"
|
141
|
+
results.should be_a Array
|
142
|
+
results.length.should be 1
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
end
|
147
|
+
|
148
|
+
context "with multiple events" do
|
149
|
+
it "returns an array of multiple events" do
|
150
|
+
VCR.use_cassette "multiple_get_upcoming_events_response" do
|
151
|
+
results = api.fetch_upcoming_events
|
152
|
+
results.should be_a Array
|
153
|
+
(results.length > 1).should be_true
|
154
|
+
end
|
155
|
+
end
|
156
|
+
end
|
157
|
+
|
158
|
+
context "with no events" do
|
159
|
+
let!(:api){FullCircle::API.new(FullCircle::Connection.new("boatersbluepages.com"))}
|
160
|
+
it "returns an empty array" do
|
161
|
+
VCR.use_cassette "empty_get_upcoming_events_response" do
|
162
|
+
results = api.fetch_upcoming_events
|
163
|
+
results.should eq []
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
end
|
169
|
+
|
170
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe FullCircle::Connection do
|
4
|
+
|
5
|
+
subject {FullCircle::Connection.new "360durango.com"}
|
6
|
+
|
7
|
+
its(:domain) {should == "360durango.com"}
|
8
|
+
its(:base_uri) {should == "http://api.360durango.com/1.0/"}
|
9
|
+
|
10
|
+
describe ".call_api_method" do
|
11
|
+
it "should call HTTParty.get with the correct arguments" do
|
12
|
+
HTTParty.should_receive(:get).with("ad.getCoupons",base_uri: subject.base_uri, query: {adId: "81304"})
|
13
|
+
|
14
|
+
subject.call_api_method "ad.getCoupons", adId: "81304"
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe FullCircle::ObjectBuilder do
|
4
|
+
|
5
|
+
describe "#from_api_hash" do
|
6
|
+
let(:builder) { described_class.new}
|
7
|
+
|
8
|
+
it "builds a new event with the appropriate attribute set" do
|
9
|
+
object = builder.from_api_hash("id" => "123", "title" => "Hello World")
|
10
|
+
object.id.should eq "123"
|
11
|
+
object.title.should eq "Hello World"
|
12
|
+
end
|
13
|
+
|
14
|
+
it "builds a new event with camelcased attributes converted to underscored attributes" do
|
15
|
+
object = builder.from_api_hash("linkUrl" => "http://www.google.com", "siteId" => "77")
|
16
|
+
object.link_url.should eq "http://www.google.com"
|
17
|
+
object.site_id.should eq "77"
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,187 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe FullCircle::ResponseParser do
|
4
|
+
|
5
|
+
describe "#parse" do
|
6
|
+
|
7
|
+
|
8
|
+
context "parsing coupons" do
|
9
|
+
|
10
|
+
let(:parser) {described_class.new "ad.getCoupons","coupon"}
|
11
|
+
|
12
|
+
context "with one coupon" do
|
13
|
+
it "returns an array of one coupon" do
|
14
|
+
response_double = double("response")
|
15
|
+
response_double.stub(:parsed_response) do
|
16
|
+
{"ad_getCouponsResponse" => {"coupons" => {"coupon" =>
|
17
|
+
{"id" => "58794", :name => "Early Bird Discount"}
|
18
|
+
}}}
|
19
|
+
end
|
20
|
+
|
21
|
+
|
22
|
+
results = parser.parse response_double
|
23
|
+
|
24
|
+
results.should be_a Array
|
25
|
+
results.length.should == 1
|
26
|
+
coupon = results.first
|
27
|
+
coupon.id.should eq "58794"
|
28
|
+
coupon.name.should eq "Early Bird Discount"
|
29
|
+
|
30
|
+
#TODO Test command message is sent to object builder
|
31
|
+
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
context "with multiple coupons" do
|
36
|
+
it "returns an array of multiple coupons" do
|
37
|
+
response_double = double("response")
|
38
|
+
response_double.stub(:parsed_response) do
|
39
|
+
{"ad_getCouponsResponse" => {"coupons" => {"coupon" =>[
|
40
|
+
{"id" => "58794", :name => "TWO FOR ONE ENTREES"},
|
41
|
+
{"id" => "12345", :name => "Three FOR ONE ENTREES"}
|
42
|
+
]}}}
|
43
|
+
end
|
44
|
+
|
45
|
+
results = parser.parse response_double
|
46
|
+
|
47
|
+
results.should be_a Array
|
48
|
+
results.length.should == 2
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context "with no coupons" do
|
53
|
+
it "returns an empty array" do
|
54
|
+
response_double = double("response")
|
55
|
+
response_double.stub(:parsed_response) do
|
56
|
+
{"ad_getCouponsResponse" => {"coupons" => nil}}
|
57
|
+
end
|
58
|
+
|
59
|
+
results = parser.parse response_double
|
60
|
+
|
61
|
+
results.should eq []
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
context "parsing events" do
|
67
|
+
|
68
|
+
let(:parser) {described_class.new "ad.getEvents","event"}
|
69
|
+
|
70
|
+
context "with one event" do
|
71
|
+
|
72
|
+
it "returns an array of one event" do
|
73
|
+
response_double = double("response")
|
74
|
+
response_double.stub(:parsed_response) do
|
75
|
+
{"ad_getEventsResponse" => {"events" => {"event" =>
|
76
|
+
{"id" => "58794", :title => "TWO FOR ONE ENTREES"}
|
77
|
+
}}}
|
78
|
+
end
|
79
|
+
|
80
|
+
|
81
|
+
results = parser.parse response_double
|
82
|
+
|
83
|
+
results.should be_a Array
|
84
|
+
results.length.should == 1
|
85
|
+
|
86
|
+
end
|
87
|
+
|
88
|
+
end
|
89
|
+
|
90
|
+
context "with multiple events" do
|
91
|
+
|
92
|
+
it "returns an array of multiple events" do
|
93
|
+
response_double = double("response")
|
94
|
+
response_double.stub(:parsed_response) do
|
95
|
+
{"ad_getEventsResponse" => {"events" => {"event" =>[
|
96
|
+
{"id" => "58794", :title => "TWO FOR ONE ENTREES"},
|
97
|
+
{"id" => "12345", :title => "Three FOR ONE ENTREES"}
|
98
|
+
]}}}
|
99
|
+
end
|
100
|
+
|
101
|
+
results = parser.parse response_double
|
102
|
+
|
103
|
+
results.should be_a Array
|
104
|
+
results.length.should == 2
|
105
|
+
end
|
106
|
+
|
107
|
+
end
|
108
|
+
|
109
|
+
context "with no events" do
|
110
|
+
it "returns an emtpy array" do
|
111
|
+
|
112
|
+
response_double = double("response")
|
113
|
+
response_double.stub(:parsed_response) do
|
114
|
+
{"ad_getEventsResponse" => {"events" => nil}}
|
115
|
+
end
|
116
|
+
|
117
|
+
results = parser.parse response_double
|
118
|
+
|
119
|
+
results.should eq []
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
end
|
124
|
+
|
125
|
+
context "parsing event areas" do
|
126
|
+
|
127
|
+
let(:parser) {described_class.new "city.getEventAreas","eventArea"}
|
128
|
+
|
129
|
+
context "with one event areas" do
|
130
|
+
|
131
|
+
it "returns an array of one event area" do
|
132
|
+
response_double = double("response")
|
133
|
+
response_double.stub(:parsed_response) do
|
134
|
+
{"city_getEventAreasResponse" => {"eventAreas" => {"eventArea" =>
|
135
|
+
{"id" => "736", :title => "Bayfield"}
|
136
|
+
}}}
|
137
|
+
end
|
138
|
+
|
139
|
+
|
140
|
+
results = parser.parse response_double
|
141
|
+
|
142
|
+
results.should be_a Array
|
143
|
+
results.length.should == 1
|
144
|
+
|
145
|
+
|
146
|
+
end
|
147
|
+
|
148
|
+
end
|
149
|
+
|
150
|
+
context "with multiple event areas" do
|
151
|
+
|
152
|
+
it "returns an array of multiple event areas" do
|
153
|
+
response_double = double("response")
|
154
|
+
response_double.stub(:parsed_response) do
|
155
|
+
{"city_getEventAreasResponse" => {"eventAreas" => {"eventArea" =>[
|
156
|
+
{"id" => "58794", :title => "Bayfield"},
|
157
|
+
{"id" => "12345", :title => "Vallecito"}
|
158
|
+
]}}}
|
159
|
+
end
|
160
|
+
|
161
|
+
results = parser.parse response_double
|
162
|
+
|
163
|
+
results.should be_a Array
|
164
|
+
results.length.should == 2
|
165
|
+
end
|
166
|
+
|
167
|
+
end
|
168
|
+
|
169
|
+
context "with no event areas" do
|
170
|
+
it "returns an emtpy array" do
|
171
|
+
|
172
|
+
response_double = double("response")
|
173
|
+
response_double.stub(:parsed_response) do
|
174
|
+
{"city_getEventAreasResponse" => {"eventAreas" => nil}}
|
175
|
+
end
|
176
|
+
|
177
|
+
results = parser.parse response_double
|
178
|
+
|
179
|
+
results.should eq []
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
end
|
184
|
+
|
185
|
+
end
|
186
|
+
|
187
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
ADDED
@@ -0,0 +1,202 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: full_circle
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Aaron Renner
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-04-21 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: httparty
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ! '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ! '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activesupport
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ~>
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 3.2.12
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 3.2.12
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ! '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: vcr
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ! '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: webmock
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 1.8.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 1.8.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ! '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: guard-rspec
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ! '>='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: rb-inotify
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ~>
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0.9'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ~>
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0.9'
|
125
|
+
description: Library for interfacing with the 360Directories API
|
126
|
+
email:
|
127
|
+
- aaron@animascodelabs.com
|
128
|
+
executables: []
|
129
|
+
extensions: []
|
130
|
+
extra_rdoc_files: []
|
131
|
+
files:
|
132
|
+
- .gitignore
|
133
|
+
- Gemfile
|
134
|
+
- Guardfile
|
135
|
+
- LICENSE.txt
|
136
|
+
- README.md
|
137
|
+
- Rakefile
|
138
|
+
- full_circle.gemspec
|
139
|
+
- lib/full_circle.rb
|
140
|
+
- lib/full_circle/api.rb
|
141
|
+
- lib/full_circle/connection.rb
|
142
|
+
- lib/full_circle/object_builder.rb
|
143
|
+
- lib/full_circle/response_parser.rb
|
144
|
+
- lib/full_circle/version.rb
|
145
|
+
- spec/fixtures/vcr_cassettes/empty_event_area_response.yml
|
146
|
+
- spec/fixtures/vcr_cassettes/empty_get_coupons_response.yml
|
147
|
+
- spec/fixtures/vcr_cassettes/empty_get_events_response.yml
|
148
|
+
- spec/fixtures/vcr_cassettes/empty_get_upcoming_events_response.yml
|
149
|
+
- spec/fixtures/vcr_cassettes/multiple_event_areas_response.yml
|
150
|
+
- spec/fixtures/vcr_cassettes/multiple_get_coupons_response.yml
|
151
|
+
- spec/fixtures/vcr_cassettes/multiple_get_upcoming_events_response.yml
|
152
|
+
- spec/fixtures/vcr_cassettes/multple_get_events_response.yml
|
153
|
+
- spec/fixtures/vcr_cassettes/single_event_areas_response.yml
|
154
|
+
- spec/fixtures/vcr_cassettes/single_get_coupons_response.yml
|
155
|
+
- spec/fixtures/vcr_cassettes/single_get_events_response.yml
|
156
|
+
- spec/fixtures/vcr_cassettes/single_get_upcoming_events_response.yml
|
157
|
+
- spec/full_circle/api_spec.rb
|
158
|
+
- spec/full_circle/connection_spec.rb
|
159
|
+
- spec/full_circle/object_builder_spec.rb
|
160
|
+
- spec/full_circle/response_parser_spec.rb
|
161
|
+
- spec/spec_helper.rb
|
162
|
+
homepage: https://github.com/aaronrenner/full_circle
|
163
|
+
licenses: []
|
164
|
+
metadata: {}
|
165
|
+
post_install_message:
|
166
|
+
rdoc_options: []
|
167
|
+
require_paths:
|
168
|
+
- lib
|
169
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ! '>='
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: 1.9.2
|
174
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
175
|
+
requirements:
|
176
|
+
- - ! '>='
|
177
|
+
- !ruby/object:Gem::Version
|
178
|
+
version: '0'
|
179
|
+
requirements: []
|
180
|
+
rubyforge_project:
|
181
|
+
rubygems_version: 2.0.3
|
182
|
+
signing_key:
|
183
|
+
specification_version: 4
|
184
|
+
summary: Library for interfacing with the 360Directories API
|
185
|
+
test_files:
|
186
|
+
- spec/fixtures/vcr_cassettes/empty_event_area_response.yml
|
187
|
+
- spec/fixtures/vcr_cassettes/empty_get_coupons_response.yml
|
188
|
+
- spec/fixtures/vcr_cassettes/empty_get_events_response.yml
|
189
|
+
- spec/fixtures/vcr_cassettes/empty_get_upcoming_events_response.yml
|
190
|
+
- spec/fixtures/vcr_cassettes/multiple_event_areas_response.yml
|
191
|
+
- spec/fixtures/vcr_cassettes/multiple_get_coupons_response.yml
|
192
|
+
- spec/fixtures/vcr_cassettes/multiple_get_upcoming_events_response.yml
|
193
|
+
- spec/fixtures/vcr_cassettes/multple_get_events_response.yml
|
194
|
+
- spec/fixtures/vcr_cassettes/single_event_areas_response.yml
|
195
|
+
- spec/fixtures/vcr_cassettes/single_get_coupons_response.yml
|
196
|
+
- spec/fixtures/vcr_cassettes/single_get_events_response.yml
|
197
|
+
- spec/fixtures/vcr_cassettes/single_get_upcoming_events_response.yml
|
198
|
+
- spec/full_circle/api_spec.rb
|
199
|
+
- spec/full_circle/connection_spec.rb
|
200
|
+
- spec/full_circle/object_builder_spec.rb
|
201
|
+
- spec/full_circle/response_parser_spec.rb
|
202
|
+
- spec/spec_helper.rb
|