windsor 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -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 :scope, :set_attributes, :check_implemented
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
- 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
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(scope))
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(scope).find(params[:id])
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'] = {}
@@ -1,3 +1,3 @@
1
1
  module Windsor
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
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.7
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: &2160243860 !ruby/object:Gem::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: *2160243860
25
+ version_requirements: *2168564200
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: sqlite3
28
- requirement: &2160242520 !ruby/object:Gem::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: *2160242520
36
+ version_requirements: *2168560600
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rspec
39
- requirement: &2160241120 !ruby/object:Gem::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: *2160241120
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