make_restful 0.1.10 → 0.1.11

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.
@@ -3,9 +3,29 @@ module MakeRestful::Loaders
3
3
 
4
4
  included do
5
5
 
6
- before_filter :verify_method!, :verify_format!, :load_resource
7
- before_filter :load_collection, unless: ->(c){ c.params[:id].present? || c.params[:action] == 'new' || request.method.upcase != 'GET' }
8
- before_filter :load_instance, if: ->(c){ c.params[:id].present? }
6
+ before_filter :load_resource
7
+
8
+ before_filter :load_collection, if: ->(c) {
9
+
10
+ (
11
+ instance_loader[c.params[:action].to_sym].blank? &&
12
+ collection_loader[c.params[:action].to_sym].present?
13
+ ) || (
14
+ request.method.upcase == 'GET' &&
15
+ c.params[:action] != 'new' &&
16
+ c.params[:id].blank?
17
+ )
18
+
19
+ }
20
+
21
+ before_filter :load_instance, if: ->(c) {
22
+
23
+ instance_loader[c.params[:action].to_sym].present? ||
24
+ c.params[:id].present?
25
+
26
+ }
27
+
28
+ before_filter :verify_method!, :verify_format!
9
29
 
10
30
  collection do
11
31
  @resource.all
@@ -65,13 +85,14 @@ module MakeRestful::Loaders
65
85
 
66
86
  def collection=(collection)
67
87
  @collection = collection
68
- eval("@#{resource_name} = @collection")
88
+ eval "@#{resource_name} = @collection"
69
89
  end
70
90
 
71
91
  def verify_method!
72
92
  return if allowed_actions.allowed?(params[:action]) || !%w{GET POST PUT PATCH}.include?(request.method)
73
93
  @response = { error: "Method not allowed" }
74
94
  @status = :method_not_allowed
95
+ @collection, @instance = nil, nil
75
96
  render(load_template: false)
76
97
  end
77
98
 
@@ -79,6 +100,9 @@ module MakeRestful::Loaders
79
100
  return if allowed_formats.allowed?(request.format.symbol)
80
101
  @response = { error: "Format:#{request.format} is unsupported" }
81
102
  @status = :unsupported_media_type
103
+ @collection, @instance = nil, nil
104
+ eval "@#{resource_name} = @collection"
105
+ eval "@#{instance_name} = @instance"
82
106
  render(load_template: false)
83
107
  end
84
108
 
@@ -1,3 +1,3 @@
1
1
  module MakeRestful
2
- VERSION = "0.1.10"
2
+ VERSION = "0.1.11"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: make_restful
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.1.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-21 00:00:00.000000000 Z
12
+ date: 2012-11-22 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport