zooppa_api_v3 0.0.1 → 0.0.2

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 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