garden_variety 1.1.2 → 1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8ac4d442b525f7d8924cb39bee1811ee29e1e483
4
- data.tar.gz: 9ca80120154301a63724497c42b94890249954a4
3
+ metadata.gz: c633defda33a2f8bcd26d96f58c1bfea52c2fb9c
4
+ data.tar.gz: 988988d42d10f00c3f55d5690b39ec46710ed68a
5
5
  SHA512:
6
- metadata.gz: 78edffdd0e6f5890510517f23c8cacc3cdde19d67a6c5813930c4fb548990ccc40998ea48d5b57c8847ad74037b2ec20cf2f8d58bb55cb868b3821457601d944
7
- data.tar.gz: 15433348b5847aa717bc564ffefed9020c6f6e7be0aebd420151549ea72e1a0805dc48ae20fe9c4b00c90e64ee7648c26c989ae24b66d8049643b332722f1973
6
+ metadata.gz: 8eee6bea8231197d118f405c320a58af2a4d73c08f2ce65ad3373142afdf895585ce528397be97640e4cabb3631c9652c1dd58c84e1dec162f732bf558aa96c1
7
+ data.tar.gz: 643ca6a75d537943723a1ee4fb27af838bd666dd787c08e7dea53898282201fa735be86de7acebf4f4f9a5791482a508b83919573ec3943068c30291802dad87
data/README.md CHANGED
@@ -37,8 +37,12 @@ class PostsController < ApplicationController
37
37
  end
38
38
 
39
39
  def new
40
- self.resource = new_resource
41
- authorize(resource)
40
+ if params.key?(resource_class.model_name.param_key)
41
+ self.resource = vest(new_resource)
42
+ else
43
+ self.resource = new_resource
44
+ authorize(resource)
45
+ end
42
46
  end
43
47
 
44
48
  def create
@@ -22,8 +22,12 @@ module GardenVariety
22
22
  # Garden variety controller +new+ action.
23
23
  # @return [void]
24
24
  def new
25
- self.resource = new_resource
26
- authorize(resource)
25
+ if params.key?(resource_class.model_name.param_key)
26
+ self.resource = vest(new_resource)
27
+ else
28
+ self.resource = new_resource
29
+ authorize(resource)
30
+ end
27
31
  end
28
32
  end
29
33
 
@@ -98,7 +98,9 @@ module GardenVariety
98
98
  # @param actions [Array<:index, :show, :new, :create, :edit, :update, :destroy>]
99
99
  # @param resources [Symbol, String]
100
100
  # @return [void]
101
- def garden_variety(*actions, resources: controller_name)
101
+ def garden_variety(*actions, resources: controller_path)
102
+ resources_attr = resources.to_s.underscore.tr("/", "_")
103
+
102
104
  class_eval <<-CODE
103
105
  private
104
106
 
@@ -107,19 +109,19 @@ module GardenVariety
107
109
  end
108
110
 
109
111
  def resources
110
- @#{resources.to_s.underscore}
112
+ @#{resources_attr}
111
113
  end
112
114
 
113
115
  def resources=(models)
114
- @#{resources.to_s.underscore} = models
116
+ @#{resources_attr} = models
115
117
  end
116
118
 
117
119
  def resource
118
- @#{resources.to_s.underscore.singularize}
120
+ @#{resources_attr.singularize}
119
121
  end
120
122
 
121
123
  def resource=(model)
122
- @#{resources.to_s.underscore.singularize} = model
124
+ @#{resources_attr.singularize} = model
123
125
  end
124
126
  CODE
125
127
 
@@ -143,7 +145,7 @@ module GardenVariety
143
145
  #
144
146
  # @return [Class]
145
147
  def resource_class
146
- @resource_class ||= controller_name.classify.constantize
148
+ @resource_class ||= controller_path.classify.constantize
147
149
  end
148
150
 
149
151
  # @!visibility public
@@ -1,3 +1,3 @@
1
1
  module GardenVariety
2
- VERSION = "1.1.2"
2
+ VERSION = "1.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: garden_variety
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: '1.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Hefner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-05 00:00:00.000000000 Z
11
+ date: 2018-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails