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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 498c9ea4cd953c9d1ec4248bd1ca79dd8900a69e
4
- data.tar.gz: 126cefcb0924422ddb47f362a3846987e4c5ac71
3
+ metadata.gz: c2698961df00cbeb91ffc8b2d0c8ac7d6c147f6c
4
+ data.tar.gz: 0f67cd029913da0d0452fb0df015e751a1126e99
5
5
  SHA512:
6
- metadata.gz: 418057bbc8521469d070187b9cc44668976ff0b6180104ea5a339e194e1fb99528c495ff61e7141e59725267cdbdbf2be0b6d96838ad2553eb8cd4a6df881c7b
7
- data.tar.gz: fafaeab39aa49ddccdc776dd4fe2d8313ba86fa61828223f7139747a7fc008b1eab14210fb835efebb63f8c371f9fc465bb91e0e13ad1f5d9742ebefa083a7cb
6
+ metadata.gz: dba5106207aa11393b11f3e5fb8b43112ec27f352bdba2b160c49de07791c7db9e90a9a7bb1566f0cda1e4098411a305d2c43ae78fdda4ebdbb222d3212743b6
7
+ data.tar.gz: 0ecb1d2e41f86641557cc24deb43b31f380219b1e435a173470034010dc8ba2095c24b068bc171d79e6ea9654f9942180a3c5f2293c85638cef5b59a232a249c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- enum_ext (0.1.5)
4
+ enum_ext (0.1.6)
5
5
  activerecord (>= 4.1)
6
6
 
7
7
  GEM
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?.
@@ -1,3 +1,3 @@
1
1
  module EnumExt
2
- VERSION = "0.1.6"
2
+ VERSION = "0.1.7"
3
3
  end
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}") ) if self.respond_to?("t_#{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.6
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-17 00:00:00.000000000 Z
11
+ date: 2016-10-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord