windsor 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/windsor_controller.rb +17 -7
- data/lib/windsor/version.rb +1 -1
- metadata +8 -8
@@ -17,8 +17,9 @@ class WindsorController < ApplicationController
|
|
17
17
|
current_page_index = params[:page].to_i - 1
|
18
18
|
offset = @max_page_size * current_page_index
|
19
19
|
end
|
20
|
-
|
21
|
-
|
20
|
+
final_scope = scope.merge(request.query_parameters)
|
21
|
+
items = model_class.where(final_scope).limit(@max_page_size).offset(offset).to_a
|
22
|
+
total_items = model_class.where(final_scope).count
|
22
23
|
|
23
24
|
object = {
|
24
25
|
get_controller_name => items,
|
@@ -152,6 +153,11 @@ class WindsorController < ApplicationController
|
|
152
153
|
url_conditions.merge!(:action => "show", :id => object_hash["id"].to_s) unless object_hash["id"].nil?
|
153
154
|
url_for(url_conditions)
|
154
155
|
end
|
156
|
+
|
157
|
+
def get_index_link
|
158
|
+
url_conditions = { :controller => get_controller_name, :action => "index" }
|
159
|
+
url_for(url_conditions)
|
160
|
+
end
|
155
161
|
|
156
162
|
def get_controller_name
|
157
163
|
model_class.name.underscore.pluralize
|
@@ -183,13 +189,13 @@ class WindsorController < ApplicationController
|
|
183
189
|
|
184
190
|
def request_uri
|
185
191
|
request.base_url + request.path
|
186
|
-
end
|
187
|
-
|
192
|
+
end
|
193
|
+
|
188
194
|
def page_link(page_number)
|
189
195
|
query_parameters = request.query_parameters
|
190
196
|
query_parameters[:page] = page_number
|
191
197
|
return request_uri + "?" + query_parameters.to_query
|
192
|
-
end
|
198
|
+
end
|
193
199
|
|
194
200
|
# Removes extra attributes passed in. Extra attributes is defined as attributes not sent in a GET.
|
195
201
|
def prune_extra_attributes(request_body, existing_attributes)
|
@@ -205,8 +211,8 @@ class WindsorController < ApplicationController
|
|
205
211
|
|
206
212
|
def get_resource
|
207
213
|
@model_object = model_class.where(scope).find(params[:id])
|
208
|
-
end
|
209
|
-
|
214
|
+
end
|
215
|
+
|
210
216
|
def check_implemented
|
211
217
|
set_actions
|
212
218
|
unless enabled_actions.include?(params[:action].to_sym)
|
@@ -227,7 +233,11 @@ class WindsorController < ApplicationController
|
|
227
233
|
|
228
234
|
def prepare_representation(object)
|
229
235
|
add_link( object, get_self_link(object), 'self' )
|
236
|
+
if enabled_actions.include?(:index) && !object["id"].nil?
|
237
|
+
add_link( object, get_index_link, 'index')
|
238
|
+
end
|
230
239
|
attributes = enabled_attributes(object)
|
240
|
+
attributes << "links"
|
231
241
|
object.each do |key, value|
|
232
242
|
object.delete key unless attributes.include?(key)
|
233
243
|
end
|
data/lib/windsor/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: windsor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2012-10-
|
13
|
+
date: 2012-10-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
17
|
-
requirement: &
|
17
|
+
requirement: &2160243860 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: 3.1.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2160243860
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: sqlite3
|
28
|
-
requirement: &
|
28
|
+
requirement: &2160242520 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2160242520
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rspec
|
39
|
-
requirement: &
|
39
|
+
requirement: &2160241120 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2160241120
|
48
48
|
description: Windsor is a plugin for building RESTful APIs in Rails.
|
49
49
|
email:
|
50
50
|
- sam@samdecesare.com
|