garden_variety 1.1.2 → 1.2

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.
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