windsor 0.0.7 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/windsor_controller.rb +14 -10
- data/lib/windsor/version.rb +1 -1
- metadata +7 -7
@@ -3,7 +3,7 @@ class WindsorController < ApplicationController
|
|
3
3
|
rescue_from JSON::ParserError, :with => :unsupported_media_type
|
4
4
|
|
5
5
|
before_filter :get_resource, :except => [:index, :create]
|
6
|
-
before_filter :
|
6
|
+
before_filter :view_scope, :create_scope, :set_attributes, :check_implemented
|
7
7
|
|
8
8
|
attr_accessor :exceptional_attributes
|
9
9
|
attr_accessor :attributes_all_or_none
|
@@ -17,9 +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
|
-
items = model_class.where(
|
22
|
-
total_items = model_class.where(
|
20
|
+
scope = view_scope.merge(request.query_parameters)
|
21
|
+
items = model_class.where(scope).limit(@max_page_size).offset(offset).to_a
|
22
|
+
total_items = model_class.where(scope).count
|
23
23
|
|
24
24
|
object = {
|
25
25
|
get_controller_name => items,
|
@@ -33,7 +33,7 @@ class WindsorController < ApplicationController
|
|
33
33
|
existing_attributes = enabled_attributes(hashity_hash(model_class.new)).map { |item| item.to_s }
|
34
34
|
request_body = prune_extra_attributes(request_body, existing_attributes)
|
35
35
|
|
36
|
-
model_object = model_class.new(request_body.merge(
|
36
|
+
model_object = model_class.new(request_body.merge(create_scope))
|
37
37
|
if model_object.save
|
38
38
|
headers["Location"] = get_self_link({"id" => model_object.id})
|
39
39
|
render_json model_object, :created
|
@@ -185,6 +185,14 @@ class WindsorController < ApplicationController
|
|
185
185
|
return pagination
|
186
186
|
end
|
187
187
|
|
188
|
+
def view_scope
|
189
|
+
{}
|
190
|
+
end
|
191
|
+
|
192
|
+
def create_scope
|
193
|
+
{}
|
194
|
+
end
|
195
|
+
|
188
196
|
private
|
189
197
|
|
190
198
|
def request_uri
|
@@ -210,7 +218,7 @@ class WindsorController < ApplicationController
|
|
210
218
|
end
|
211
219
|
|
212
220
|
def get_resource
|
213
|
-
@model_object = model_class.where(
|
221
|
+
@model_object = model_class.where(view_scope).find(params[:id])
|
214
222
|
end
|
215
223
|
|
216
224
|
def check_implemented
|
@@ -220,10 +228,6 @@ class WindsorController < ApplicationController
|
|
220
228
|
end
|
221
229
|
end
|
222
230
|
|
223
|
-
def scope
|
224
|
-
{}
|
225
|
-
end
|
226
|
-
|
227
231
|
def add_link(object, href, rel)
|
228
232
|
unless object['links'].is_a?(Hash)
|
229
233
|
object['links'] = {}
|
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.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -14,7 +14,7 @@ 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: &2168564200 !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: *2168564200
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: sqlite3
|
28
|
-
requirement: &
|
28
|
+
requirement: &2168560600 !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: *2168560600
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rspec
|
39
|
-
requirement: &
|
39
|
+
requirement: &2168582240 !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: *2168582240
|
48
48
|
description: Windsor is a plugin for building RESTful APIs in Rails.
|
49
49
|
email:
|
50
50
|
- sam@samdecesare.com
|