enum_ext 0.1.6 → 0.1.7
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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +11 -0
- data/lib/enum_ext/version.rb +1 -1
- data/lib/enum_ext.rb +9 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c2698961df00cbeb91ffc8b2d0c8ac7d6c147f6c
|
4
|
+
data.tar.gz: 0f67cd029913da0d0452fb0df015e751a1126e99
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dba5106207aa11393b11f3e5fb8b43112ec27f352bdba2b160c49de07791c7db9e90a9a7bb1566f0cda1e4098411a305d2c43ae78fdda4ebdbb222d3212743b6
|
7
|
+
data.tar.gz: 0ecb1d2e41f86641557cc24deb43b31f380219b1e435a173470034010dc8ba2095c24b068bc171d79e6ea9654f9942180a3c5f2293c85638cef5b59a232a249c
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -87,6 +87,17 @@ If you need select status on form:
|
|
87
87
|
|
88
88
|
Works with ext_enum_sets, slicing t_enum_set from original set of enum values
|
89
89
|
|
90
|
+
### Enum to_i shortcut ( enum_i )
|
91
|
+
|
92
|
+
Defines method enum_name_i shortcut for Model.enum_names[elem.enum_name]
|
93
|
+
|
94
|
+
**Ex**
|
95
|
+
enum_i :status
|
96
|
+
...
|
97
|
+
request.payed_i # 10
|
98
|
+
|
99
|
+
|
100
|
+
|
90
101
|
### Enum Sets (ext_enum_sets)
|
91
102
|
|
92
103
|
**Use-case** For example you have pay bills of different types, and you want to group some types in debit and credit "super-types", and have scope PayBill.debit, instance method with question mark as usual enum does pay_bill.debit?.
|
data/lib/enum_ext/version.rb
CHANGED
data/lib/enum_ext.rb
CHANGED
@@ -69,6 +69,14 @@ module EnumExt
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
|
72
|
+
# defines method enum_name_i shortcut for Model.enum_names[elem.enum_name]
|
73
|
+
|
74
|
+
def enum_i( enum_name )
|
75
|
+
define_method "#{enum_name}_i" do
|
76
|
+
self.class.send("#{enum_name.to_s.pluralize}")[send(enum_name)].to_i
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
72
80
|
# Ex ext_enum_sets
|
73
81
|
# This method intend for creating and using some sets of enum values with similar to original enum syntax
|
74
82
|
# it creates: scopes for subsets like enum did, instance method with ? similar to enum methods, and methods like Request.statuses
|
@@ -123,7 +131,7 @@ module EnumExt
|
|
123
131
|
end
|
124
132
|
|
125
133
|
define_singleton_method( "t_#{set_name}_#{enum_name.to_s.pluralize}" ) do
|
126
|
-
self.send( "t_#{enum_name.to_s.pluralize}" ).slice( *self.send("#{set_name}_#{enum_name.to_s.pluralize}") )
|
134
|
+
self.send( "t_#{enum_name.to_s.pluralize}" ).slice( *self.send("#{set_name}_#{enum_name.to_s.pluralize}") )
|
127
135
|
end
|
128
136
|
|
129
137
|
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.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- alekseyl
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-10-
|
11
|
+
date: 2016-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|