enum_ext 0.3.0 → 0.3.1

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: 8d87b2abcd1fc85e6b40920b0623a190a8b6ae8e
4
- data.tar.gz: cfdcb6362c984922ef6047a4ec719363312d8b26
3
+ metadata.gz: 6c0c895459eb23da1ea81308bd6cead21058ff99
4
+ data.tar.gz: efb68bd41923b82dcc0a4bfe60251e7aac981fef
5
5
  SHA512:
6
- metadata.gz: e921603dd1328763efef7dbd5ac36e335037d4d381e4361c3c5dcf2453503e326876a42935ad679e257e6109e6d74b5aee49782047835eb70f3880c34ef76ff2
7
- data.tar.gz: f6ecf63202ba792af34678ecae8f3bc73ca051894e931aebe21b2eb1de4887577f4728e06727a6e814c318a761b2b52bfdb41c8b47226abce5682db4d1676c6f
6
+ metadata.gz: e271d917b46919ee2e17b389e639abe15e26e0091432abb9292af9e23621dfbf9be905d34415f88e14d0e504735fe3ea9afa5d5ca3cc219c6dfa497e24c9c7b6
7
+ data.tar.gz: e05c955ffcd2a83ce290086e4c3d917a42994766aecf66cd36ab68edd752dbbba7a7de0cd79a6e27020c48ffdffee5a36e2b5a073bd42bffdddab47659b3b338
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- enum_ext (0.3.0)
4
+ enum_ext (0.3.1)
5
5
  activerecord (>= 4.1)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -1,13 +1,13 @@
1
1
  # EnumExt
2
2
 
3
- EnumExt extends rails enum adding localization/translation and it's helpers, mass-assign on scopes with bang, advanced sets logic over existing.
3
+ EnumExt extends rails enum with localization/translation and it's helpers, mass-assign on scopes with bang, advanced sets logic over existing enum.
4
4
 
5
5
  ## Installation
6
6
 
7
7
  Add this line to your application's Gemfile:
8
8
 
9
9
  ```ruby
10
- gem 'enum_ext', '~> 0.2'
10
+ gem 'enum_ext', '~> 0.3'
11
11
  ```
12
12
 
13
13
  And then execute:
@@ -19,7 +19,7 @@ Or install it yourself as:
19
19
  $ gem install enum_ext
20
20
 
21
21
  ## Usage
22
- To use enum extension extend main model class with EnumExt module, and extend enum the way you need:
22
+ To use enum extension extend main model class with EnumExt module, and make your own extantion to your enums the way you need:
23
23
 
24
24
  class SomeModel
25
25
  extend EnumExt
@@ -140,21 +140,23 @@ Defines method enum_name_i shortcut for Model.enum_names[elem.enum_name]
140
140
  in_warehouse: [:ready_for_shipment] # this just for superposition example below
141
141
  }
142
142
  ```
143
-
144
- it will generate:
145
- instance:
146
- methods: delivery_set?, in_warehouse?
147
- class:
148
- named scopes: delivery_set, in_warehouse
149
- parametrized scopes: with_statuses, without_statuses
150
- class helpers:
151
- - delivery_set_statuses (=[:ready_for_shipment, :on_delivery, :delivered] ), in_warehouse_statuses
152
- - delivery_set_statuses_i (= [3,4,5]), in_warehouse_statuses_i (=[3])
153
- class translation helpers ( started with t_... )
154
- for select inputs purposes:
155
- - t_delivery_set_statuses_options (= [['translation or humanization', :ready_for_shipment] ...])
156
- same as above but with integer as value ( for example to use in Active admin filters )
157
- - t_delivery_set_statuses_options_i (= [['translation or humanization', 3] ...])
143
+ it will generate:
144
+ ```
145
+ instance:
146
+ - methods: delivery_set?, in_warehouse?
147
+
148
+ class:
149
+ - named scopes: delivery_set, in_warehouse
150
+ - parametrized scopes: with_statuses, without_statuses
151
+ class helpers:
152
+ - delivery_set_statuses (=[:ready_for_shipment, :on_delivery, :delivered] ), in_warehouse_statuses
153
+ - delivery_set_statuses_i (= [3,4,5]), in_warehouse_statuses_i (=[3])
154
+
155
+ class translation helpers ( started with t_... ):
156
+ - t_delivery_set_statuses_options (= [['translation or humanization', :ready_for_shipment] ...] ) for select inputs purposes
157
+ - t_delivery_set_statuses_options_i (= [['translation or humanization', 3] ...]) same as above but with integer as value ( for example to use in Active admin filters )
158
+ ```
159
+
158
160
  ```
159
161
  Console:
160
162
  request.on_delivery!
@@ -204,8 +206,6 @@ Defines method enum_name_i shortcut for Model.enum_names[elem.enum_name]
204
206
  request1.paid? # >> true
205
207
  request2.paid? # >> true
206
208
  request1.updated_at # >> ~ Time.now
207
- defined?(Request::MassAssignEnum) # >> true
208
-
209
209
 
210
210
  order.requests.already_paid.count # >> N
211
211
  order.requests.delivered.count # >> M
@@ -214,8 +214,6 @@ Defines method enum_name_i shortcut for Model.enum_names[elem.enum_name]
214
214
  order.requests.delivered.count # >> N + M
215
215
  ```
216
216
 
217
-
218
-
219
217
  ## Tests
220
218
  rake test
221
219
 
@@ -278,4 +278,12 @@ module EnumExt
278
278
  end
279
279
  end
280
280
 
281
+ # human_attribute_name is redefined for automatization like this:
282
+ # p #{object.class.human_attribute_name( attr_name )}:
283
+ # p =object.send(attr_name)
284
+ def human_attribute_name( name, options = {} )
285
+ name[0..1] == 't_' && column_names.include?(name[2..-1]) ? super( name[2..-1], options ) : super( name, options )
286
+ end
287
+
288
+
281
289
  end
@@ -1,3 +1,3 @@
1
1
  module EnumExt
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enum_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - alekseyl
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-04-14 00:00:00.000000000 Z
11
+ date: 2017-05-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -133,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
133
133
  version: '0'
134
134
  requirements: []
135
135
  rubyforge_project:
136
- rubygems_version: 2.6.8
136
+ rubygems_version: 2.5.1
137
137
  signing_key:
138
138
  specification_version: 4
139
139
  summary: Enum extension, ads enum sets, mass-assign, localization, and some sugar