query-interface-client 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc69a17a6771188a3511438b38108507763bbf9f
|
4
|
+
data.tar.gz: 4eaa1e7bac65cbb3d7ebb6444ec0a8a0eef64689
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de3bc7968ba2c2c41b1f004b9bd746a97a9119a3d0a481d8e16fb27c46ac8847630ae93235a677cfff13a27200f98eebe750ee42be6e91a7192c8ed976e69c66
|
7
|
+
data.tar.gz: 9d25264e17db89eb376f2c5abec7276a2c965f5cf2a87c713f762ccdc07256db1af190f64a42541374f0992d14eead385359a56a4b4178109090fd952bf20910
|
@@ -77,27 +77,30 @@ module QueryInterface
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def paginate(params={})
|
80
|
+
query = self.copy
|
80
81
|
params = {page: 1, per_page: 10,}.merge(params)
|
81
|
-
|
82
|
-
raw =
|
82
|
+
query.add_transformation(:paginate, params)
|
83
|
+
raw = query.do_raw_query()
|
83
84
|
result = raw[:parsed_data][:data]
|
84
|
-
objects = result[:objects].map { |h|
|
85
|
+
objects = result[:objects].map { |h| query.instantiate(h) }
|
85
86
|
WillPaginate::Collection.create(params[:page], params[:per_page], result[:total]) do |pager|
|
86
87
|
pager.replace objects
|
87
88
|
end
|
88
89
|
end
|
89
90
|
|
90
91
|
def ids
|
91
|
-
self.
|
92
|
-
|
92
|
+
query = self.copy
|
93
|
+
query.add_transformation(:map_ids)
|
94
|
+
query.do_raw_query()[:parsed_data][:data]
|
93
95
|
end
|
94
96
|
|
95
97
|
def count
|
96
98
|
if self.result
|
97
99
|
self.result.count
|
98
100
|
else
|
99
|
-
self.
|
100
|
-
|
101
|
+
query = self.copy
|
102
|
+
query.add_transformation(:count)
|
103
|
+
r = query.do_raw_query()
|
101
104
|
r[:parsed_data][:data][:count]
|
102
105
|
end
|
103
106
|
end
|
@@ -140,8 +143,9 @@ module QueryInterface
|
|
140
143
|
if self.result
|
141
144
|
self.result.send(which)
|
142
145
|
else
|
143
|
-
self.
|
144
|
-
|
146
|
+
query = self.copy
|
147
|
+
query.add_transformation(which)
|
148
|
+
query.do_query
|
145
149
|
end
|
146
150
|
end
|
147
151
|
|
data/spec/lib/lazy_query_spec.rb
CHANGED
@@ -118,6 +118,7 @@ describe QueryInterface::Client::LazyQuery do
|
|
118
118
|
let(:transformations) {[transformation: :first, parameter: nil]}
|
119
119
|
it "gets the first object via do_query" do
|
120
120
|
query = subject.new(model)
|
121
|
+
query.should_receive(:copy).and_return(query)
|
121
122
|
query.should_receive(:do_query)
|
122
123
|
query.first
|
123
124
|
query.transformations.should eq(self.transformations)
|
@@ -135,6 +136,7 @@ describe QueryInterface::Client::LazyQuery do
|
|
135
136
|
let(:transformations) {[transformation: :last, parameter: nil]}
|
136
137
|
it "gets the last object via do_query" do
|
137
138
|
query = subject.new(model)
|
139
|
+
query.should_receive(:copy).and_return(query)
|
138
140
|
query.should_receive(:do_query)
|
139
141
|
query.last
|
140
142
|
query.transformations.should eq(self.transformations)
|
@@ -184,6 +186,7 @@ describe QueryInterface::Client::LazyQuery do
|
|
184
186
|
|
185
187
|
it "adds a map_ids transformation" do
|
186
188
|
query = subject.new(model)
|
189
|
+
query.should_receive(:copy).and_return(query)
|
187
190
|
query.stub!(:do_raw_query).and_return({parsed_data: {data: [1,2,3]}})
|
188
191
|
query.ids
|
189
192
|
query.transformations.should eq(self.transformations)
|
@@ -191,6 +194,7 @@ describe QueryInterface::Client::LazyQuery do
|
|
191
194
|
|
192
195
|
it "returns the data of the parsed query" do
|
193
196
|
query = subject.new(model)
|
197
|
+
query.should_receive(:copy).and_return(query)
|
194
198
|
query.should_receive(:do_raw_query).and_return({parsed_data: {data: [1,2,3]}})
|
195
199
|
query.ids.should eq([1, 2, 3])
|
196
200
|
end
|
@@ -201,6 +205,7 @@ describe QueryInterface::Client::LazyQuery do
|
|
201
205
|
|
202
206
|
it "adds a count transformation" do
|
203
207
|
query = subject.new(model)
|
208
|
+
query.should_receive(:copy).and_return(query)
|
204
209
|
query.should_receive(:do_raw_query).and_return({parsed_data: {data: {count: 42}}})
|
205
210
|
query.count.should eq(42)
|
206
211
|
query.transformations.should eq(self.transformations)
|
@@ -220,6 +225,7 @@ describe QueryInterface::Client::LazyQuery do
|
|
220
225
|
|
221
226
|
it "adds a paginate transformation" do
|
222
227
|
query = subject.new(model)
|
228
|
+
query.should_receive(:copy).and_return(query)
|
223
229
|
objects = (1..10).to_a
|
224
230
|
model.stub(:new).and_return(*objects)
|
225
231
|
query.should_receive(:do_raw_query).and_return({parsed_data: {data: {objects: objects, total: 15}, errors: []}})
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: query-interface-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andreas Kopecky <andreas.kopecky@radarservices.com>
|
@@ -123,8 +123,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
123
|
version: '0'
|
124
124
|
requirements: []
|
125
125
|
rubyforge_project:
|
126
|
-
rubygems_version: 2.0.
|
126
|
+
rubygems_version: 2.0.5
|
127
127
|
signing_key:
|
128
128
|
specification_version: 4
|
129
129
|
summary: Client for the radar query interface
|
130
130
|
test_files: []
|
131
|
+
has_rdoc:
|