mirror-api 0.0.5 → 0.0.6
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/mirror-api/client.rb +4 -0
- data/lib/mirror-api/request.rb +1 -0
- data/lib/mirror-api/resource.rb +2 -1
- data/lib/mirror-api/version.rb +1 -1
- data/lib/mirror-api.rb +2 -1
- data/mirror-api.gemspec +4 -0
- data/spec/client_spec.rb +86 -11
- data/spec/fixtures/locations_item.json +10 -0
- data/spec/fixtures/locations_list.json +25 -0
- data/spec/spec_helper.rb +1 -0
- metadata +69 -1
data/lib/mirror-api/client.rb
CHANGED
data/lib/mirror-api/request.rb
CHANGED
data/lib/mirror-api/resource.rb
CHANGED
@@ -16,8 +16,9 @@ module Mirror
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def create(params)
|
19
|
-
Request.new(@credentials, make_options(params,
|
19
|
+
Request.new(@credentials, make_options(params, 200)).post
|
20
20
|
end
|
21
|
+
alias insert create
|
21
22
|
|
22
23
|
def get(id, params=nil)
|
23
24
|
Request.new(@credentials, item_options(id, params)).get
|
data/lib/mirror-api/version.rb
CHANGED
data/lib/mirror-api.rb
CHANGED
data/mirror-api.gemspec
CHANGED
@@ -25,4 +25,8 @@ Gem::Specification.new do |gem|
|
|
25
25
|
gem.add_development_dependency "rspec"
|
26
26
|
gem.add_development_dependency "webmock"
|
27
27
|
gem.add_development_dependency "simplecov"
|
28
|
+
gem.add_development_dependency "pry"
|
29
|
+
gem.add_development_dependency "pry-nav"
|
30
|
+
gem.add_development_dependency "pry-remote"
|
31
|
+
gem.add_development_dependency "pry-awesome_print"
|
28
32
|
end
|
data/spec/client_spec.rb
CHANGED
@@ -17,7 +17,7 @@ describe Mirror::Api::Client do
|
|
17
17
|
stub_request(:post, "https://www.googleapis.com/mirror/v1/timeline/").
|
18
18
|
with(body: {text: @msg},
|
19
19
|
headers: json_post_request_headers).
|
20
|
-
to_return(status:
|
20
|
+
to_return(status: 200,
|
21
21
|
body: fixture("timeline_item.json", true),
|
22
22
|
headers: JSON.parse(fixture("timeline_item_response_headers.json", true)))
|
23
23
|
end
|
@@ -37,7 +37,7 @@ describe Mirror::Api::Client do
|
|
37
37
|
# TODO: Verify error code is 422
|
38
38
|
stub_request(:post, "https://www.googleapis.com/mirror/v1/timeline/").
|
39
39
|
with(body: {random: "123"},
|
40
|
-
headers:
|
40
|
+
headers: json_get_request_headers).
|
41
41
|
to_return(status: 422, body: {}.to_json,
|
42
42
|
headers: {})
|
43
43
|
end
|
@@ -47,19 +47,94 @@ describe Mirror::Api::Client do
|
|
47
47
|
item = @api.timeline.create({random: "123"})
|
48
48
|
item.should be_nil
|
49
49
|
end
|
50
|
+
|
50
51
|
end
|
52
|
+
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
describe "locations" do
|
58
|
+
|
59
|
+
describe "get" do
|
60
|
+
|
61
|
+
context "with valid params" do
|
62
|
+
before do
|
63
|
+
@id = "0987"
|
64
|
+
|
65
|
+
stub_request(:get, "https://www.googleapis.com/mirror/v1/locations/#{@id}").
|
66
|
+
with(headers: json_get_request_headers).
|
67
|
+
to_return(status: 200,
|
68
|
+
body: fixture("locations_item.json", true),
|
69
|
+
headers: {})
|
70
|
+
end
|
71
|
+
|
72
|
+
it "should get the location for @id", :focus => true do
|
73
|
+
location = @api.locations.get(@id)
|
74
|
+
location.should_not be_nil
|
75
|
+
location.displayName.should == "Home" # see fixture
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
context "with invalid params" do
|
80
|
+
before do
|
81
|
+
@id = "0987asdasds"
|
82
|
+
|
83
|
+
# TODO: Verify error code is 422
|
84
|
+
stub_request(:get, "https://www.googleapis.com/mirror/v1/locations/").
|
85
|
+
with(headers: json_post_request_headers).
|
86
|
+
to_return(status: 422, body: {}.to_json,
|
87
|
+
headers: {})
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should not get the item" do
|
91
|
+
|
92
|
+
item = @api.timeline.create({random: "123"})
|
93
|
+
item.should be_nil
|
94
|
+
end
|
51
95
|
end
|
96
|
+
end
|
97
|
+
describe "list" do
|
98
|
+
|
99
|
+
context "with valid params" do
|
100
|
+
before do
|
101
|
+
|
102
|
+
stub_request(:get, "https://www.googleapis.com/mirror/v1/locations/").
|
103
|
+
with(headers: json_get_request_headers).
|
104
|
+
to_return(status: 200,
|
105
|
+
body: fixture("locations_list.json", true),
|
106
|
+
headers: {})
|
107
|
+
end
|
52
108
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
'Content-Length'=>/\d+/,
|
59
|
-
'Content-Type'=>'application/x-www-form-urlencoded',
|
60
|
-
'User-Agent'=>'Ruby'
|
61
|
-
}
|
109
|
+
it "should return a list of ids", :focus => true do
|
110
|
+
locations = @api.locations.list()
|
111
|
+
locations.should_not be_nil
|
112
|
+
locations.items.count.should == 2 # see fixture
|
113
|
+
end
|
62
114
|
end
|
63
115
|
end
|
64
116
|
end
|
117
|
+
|
118
|
+
|
119
|
+
def json_post_request_headers
|
120
|
+
{
|
121
|
+
'Accept'=>'application/json',
|
122
|
+
'Accept-Encoding'=>'gzip, deflate',
|
123
|
+
'Authorization'=>"Bearer #{@token}",
|
124
|
+
'Content-Length'=>/\d+/,
|
125
|
+
'Content-Type'=>'application/x-www-form-urlencoded',
|
126
|
+
'User-Agent'=>'Ruby'
|
127
|
+
}
|
128
|
+
end
|
129
|
+
|
130
|
+
def json_get_request_headers
|
131
|
+
{
|
132
|
+
'Accept'=>'application/json',
|
133
|
+
'Accept-Encoding'=>'gzip, deflate',
|
134
|
+
'Authorization'=>"Bearer #{@token}",
|
135
|
+
'Content-Type'=>'application/json',
|
136
|
+
'User-Agent'=>'Ruby'
|
137
|
+
}
|
138
|
+
end
|
139
|
+
|
65
140
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"kind": "mirror#locationsList",
|
3
|
+
"items": [
|
4
|
+
{
|
5
|
+
"kind": "mirror#location",
|
6
|
+
"id": "0987",
|
7
|
+
"timestamp": "2013-04-23T04:38:18.124Z",
|
8
|
+
"latitude": "34.026628",
|
9
|
+
"longitude": "-118.481884",
|
10
|
+
"accuracy": "1.0000",
|
11
|
+
"displayName": "Home",
|
12
|
+
"address": "1718 Santa Monica blvd."
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"kind": "mirror#location",
|
16
|
+
"id": "1234",
|
17
|
+
"timestamp": "2013-04-23T04:38:18.124Z",
|
18
|
+
"latitude": "42.486372",
|
19
|
+
"longitude": "-90.681539",
|
20
|
+
"accuracy": "2.01231",
|
21
|
+
"displayName": "Country Club",
|
22
|
+
"address": "446 Bradley St."
|
23
|
+
}
|
24
|
+
]
|
25
|
+
}
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mirror-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -124,6 +124,70 @@ dependencies:
|
|
124
124
|
- - ! '>='
|
125
125
|
- !ruby/object:Gem::Version
|
126
126
|
version: '0'
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: pry
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
none: false
|
131
|
+
requirements:
|
132
|
+
- - ! '>='
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: '0'
|
135
|
+
type: :development
|
136
|
+
prerelease: false
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
143
|
+
- !ruby/object:Gem::Dependency
|
144
|
+
name: pry-nav
|
145
|
+
requirement: !ruby/object:Gem::Requirement
|
146
|
+
none: false
|
147
|
+
requirements:
|
148
|
+
- - ! '>='
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: '0'
|
151
|
+
type: :development
|
152
|
+
prerelease: false
|
153
|
+
version_requirements: !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
155
|
+
requirements:
|
156
|
+
- - ! '>='
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
159
|
+
- !ruby/object:Gem::Dependency
|
160
|
+
name: pry-remote
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
162
|
+
none: false
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
type: :development
|
168
|
+
prerelease: false
|
169
|
+
version_requirements: !ruby/object:Gem::Requirement
|
170
|
+
none: false
|
171
|
+
requirements:
|
172
|
+
- - ! '>='
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '0'
|
175
|
+
- !ruby/object:Gem::Dependency
|
176
|
+
name: pry-awesome_print
|
177
|
+
requirement: !ruby/object:Gem::Requirement
|
178
|
+
none: false
|
179
|
+
requirements:
|
180
|
+
- - ! '>='
|
181
|
+
- !ruby/object:Gem::Version
|
182
|
+
version: '0'
|
183
|
+
type: :development
|
184
|
+
prerelease: false
|
185
|
+
version_requirements: !ruby/object:Gem::Requirement
|
186
|
+
none: false
|
187
|
+
requirements:
|
188
|
+
- - ! '>='
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: '0'
|
127
191
|
description: Wrapper for Google Glass Mirror API v1
|
128
192
|
email:
|
129
193
|
- monica@crushpath.com
|
@@ -147,6 +211,8 @@ files:
|
|
147
211
|
- lib/mirror-api/version.rb
|
148
212
|
- mirror-api.gemspec
|
149
213
|
- spec/client_spec.rb
|
214
|
+
- spec/fixtures/locations_item.json
|
215
|
+
- spec/fixtures/locations_list.json
|
150
216
|
- spec/fixtures/timeline_item.json
|
151
217
|
- spec/fixtures/timeline_item_response_headers.json
|
152
218
|
- spec/spec_helper.rb
|
@@ -176,6 +242,8 @@ specification_version: 3
|
|
176
242
|
summary: https://developers.google.com/glass/v1/reference/
|
177
243
|
test_files:
|
178
244
|
- spec/client_spec.rb
|
245
|
+
- spec/fixtures/locations_item.json
|
246
|
+
- spec/fixtures/locations_list.json
|
179
247
|
- spec/fixtures/timeline_item.json
|
180
248
|
- spec/fixtures/timeline_item_response_headers.json
|
181
249
|
- spec/spec_helper.rb
|