zooppa_api_v3 0.0.1 → 0.0.2

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: c7a46c2595a84886dda4ef65348161ed576ddc31
4
- data.tar.gz: d7d016f13370f4bcda2e582aaaec144249448624
3
+ metadata.gz: 7345c4ee14742397e9b2e360d9369611a8c2f6be
4
+ data.tar.gz: f9cd8bd20e615e27ff996b8e17f93c3fac6aabc0
5
5
  SHA512:
6
- metadata.gz: c8bba0d8f7c4dc8ac301c39be48c1653895485ba8ae99176be84ca227e4a3cf5e39a935d7a23fb872aac03175297387a768216b33fda8eeb54bd7d5103b15470
7
- data.tar.gz: 8e4b3cdc5ea7f35127cf8820cf0567e2770dde5940f27c20a23920c4d7f46f2aff0fc023d1560b966305f502c8f440750c1521ced7f1373d828ebf7487207ede
6
+ metadata.gz: a08bf3c395208585bd4ca2d878d3401e2ae7285ca583c1e9decb9eca9cbd89d49ceba9990eedd923fb3f6a8e1b73abe2b3d22f7887e9d6f5d931d2268a6a667e
7
+ data.tar.gz: a520200634a829b91eca360435646ecd9aa7cf0ae97c8c95bc6359b8d6fbfd8299acac21dca3c165d473a8fea2fcf569a00a499ecb9163642f78cba24862ec67
data/lib/zooppa_api_v3.rb CHANGED
@@ -29,6 +29,8 @@ class ZooppaApiV3
29
29
  end
30
30
 
31
31
  def method_missing(method,*args,&block)
32
+ puts "Params #{@params}"
33
+ puts "Filter params: #{@filter_params }"
32
34
  eigenclass = class << self; self; end
33
35
  eigenclass.class_eval do
34
36
  define_method(method) do
@@ -101,8 +103,15 @@ class ZooppaApiV3
101
103
  end
102
104
  end
103
105
 
106
+ # TODO: find a better solution for that
107
+ def clean_up
108
+ @filter_params = nil
109
+ end
110
+
104
111
  # Builds the URL (adds an id of provided)
105
112
  def build_url
113
+ puts "Complete params: #{complete_parameters(query_params, pagination_params)}"
114
+ puts "Complete params: #{complete_parameters(query_params, pagination_params)}"
106
115
  url = @api_host + 'api/' + @version + '/' + @resource
107
116
  url += '/' + @id if @id
108
117
  url += '.json'
@@ -110,6 +119,7 @@ class ZooppaApiV3
110
119
  @params = complete_parameters(query_params, pagination_params) if [:delete, :get].include?(@method)
111
120
  url += '?' + @params unless @params == ''
112
121
  end
122
+ clean_up
113
123
  url
114
124
  end
115
125
 
@@ -126,6 +136,7 @@ class ZooppaApiV3
126
136
  end
127
137
 
128
138
  def query_params
139
+ puts "query params: execute"
129
140
  query_params = ''
130
141
  if @filter_params
131
142
  query_params += @filter_params
@@ -151,7 +162,6 @@ class ZooppaApiV3
151
162
  return pagination_params
152
163
  end
153
164
 
154
-
155
165
  def prepare_request(resource, **args)
156
166
  @resource = resource
157
167
  @method = args.fetch(:method) { :get }
@@ -5,7 +5,6 @@ require 'json'
5
5
  puts ZooppaApiV3
6
6
 
7
7
  describe ZooppaApiV3 do
8
-
9
8
  context '#new' do
10
9
  subject(:zooppa_api) { ZooppaApiV3 }
11
10
 
@@ -30,7 +29,6 @@ describe ZooppaApiV3 do
30
29
  end
31
30
  end
32
31
 
33
-
34
32
  context '#build_url' do
35
33
  subject(:zooppa_api) { ZooppaApiV3.new }
36
34
 
@@ -87,6 +85,18 @@ describe ZooppaApiV3 do
87
85
  expect(zooppa_api.ads.page(1).per_page(10).where('contest_id,=,1', 'resource_type,=,video').sort('title ASC').build_url).to eq 'http://localhost:3000/api/v3/ads.json?filters[filter_0]=contest_id,=,1&filters[filter_1]=resource_type,=,video&sort_by=title+ASC&page=1&per_page=10'
88
86
  end
89
87
  end
88
+
89
+ context 'Given .where is called' do
90
+ before do
91
+ zooppa_api.ads.where('contest_id,=,1', 'resource_type,=,video').build_url
92
+ end
93
+
94
+ context 'and a subsequent .ads (index) call without a .where method' do
95
+ it 'returns correct url' do
96
+ expect(zooppa_api.ads.build_url).to eq 'http://localhost:3000/api/v3/ads.json'
97
+ end
98
+ end
99
+ end
90
100
  end
91
101
 
92
102
  context '#execute' do
@@ -106,7 +116,6 @@ describe ZooppaApiV3 do
106
116
  end
107
117
  end
108
118
 
109
-
110
119
  context 'Given .where("contest_id,=,1") is called' do
111
120
  it 'it calls Restclient.send with :get as method and correct url' do
112
121
  expect(RestClient).to receive(:send).with(:get, 'http://localhost:3000/api/v3/ads.json?filters[filter_0]=contest_id,=,1').and_return({}.to_json)
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "zooppa_api_v3"
8
- spec.version = '0.0.1'
8
+ spec.version = '0.0.2'
9
9
  spec.authors = ["Ulrich Soeffing"]
10
10
  spec.email = ["ulrich_soeffing@gmx.de"]
11
11
  spec.description = "Wrapper for the Zooppa api v3"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zooppa_api_v3
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ulrich Soeffing
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-29 00:00:00.000000000 Z
11
+ date: 2015-08-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler