enum_ext 0.3.0 → 0.3.1

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