enumerations 2.2.3 → 2.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 +4 -4
- data/.rubocop.yml +8 -0
- data/Readme.md +43 -4
- data/enumerations.gemspec +1 -1
- data/lib/enumerations.rb +42 -7
- data/lib/enumerations/base.rb +36 -6
- data/lib/enumerations/errors.rb +7 -0
- data/lib/enumerations/reflection.rb +3 -3
- data/lib/enumerations/value.rb +24 -0
- data/lib/enumerations/version.rb +1 -1
- data/test/base_test.rb +1 -1
- data/test/configuration/custom_configuration_test.rb +27 -0
- data/test/configuration_test.rb +2 -2
- data/test/enumerations_test.rb +45 -4
- data/test/value_test.rb +14 -0
- metadata +7 -4
- data/lib/enumerations/enumerations_error.rb +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce06adb418c77b2cfe89af486bff75362b4183bc
|
4
|
+
data.tar.gz: e65afcbf46c76d46625443de26b52445a7a12a29
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 168a363ddbbcf47dbe58f2024d455c6b5aae795360b92ad947d77f396ca25a4714067e4affb7e283d72ba80539d42f573d83cec68e68d2ba3d8334721f1e346e
|
7
|
+
data.tar.gz: d09864e055364e4415870471d0ed16f2f00a7a2afbda0604f4d8dd37c65d165054de7524a5ac62f5173d71bd4c8eca4a626d6993ff06d4d6fa15d7ee1cab125f
|
data/.rubocop.yml
ADDED
data/Readme.md
CHANGED
@@ -6,7 +6,7 @@ Enumerations
|
|
6
6
|
[](https://semaphoreci.com/infinum/enumerations)
|
7
7
|
[](https://codeclimate.com/github/infinum/enumerations/coverage)
|
8
8
|
|
9
|
-
Rails plugin for
|
9
|
+
Rails plugin for Enumerations in ActiveRecord models.
|
10
10
|
|
11
11
|
Installation
|
12
12
|
============
|
@@ -83,6 +83,8 @@ Or you can set enumerations by `symbol`:
|
|
83
83
|
@post.status = Status.find(:draft)
|
84
84
|
```
|
85
85
|
|
86
|
+
> If you try to set value that is not an Enumeration value (except `nil`), you will get an `Enumerations::InvalidValueError` exception.
|
87
|
+
|
86
88
|
Also, you can set enumeration value like this:
|
87
89
|
|
88
90
|
```ruby
|
@@ -175,6 +177,14 @@ following format:
|
|
175
177
|
|
176
178
|
```ruby
|
177
179
|
with_#{enumeration_name}_#{enumeration_value_name}
|
180
|
+
without_#{enumeration_name}_#{enumeration_value_name}
|
181
|
+
```
|
182
|
+
|
183
|
+
or you can use the following scope and pass an array of enumerations:
|
184
|
+
|
185
|
+
```ruby
|
186
|
+
with_#{enumeration_name}(enumeration, ...)
|
187
|
+
without_#{enumeration_name}(enumeration, ...)
|
178
188
|
```
|
179
189
|
|
180
190
|
Examples:
|
@@ -185,7 +195,13 @@ class Post < ActiveRecord::Base
|
|
185
195
|
end
|
186
196
|
|
187
197
|
Post.with_status_draft # => <#ActiveRecord::Relation []>
|
188
|
-
Post.
|
198
|
+
Post.without_status_review_pending # => <#ActiveRecord::Relation []>
|
199
|
+
Post.with_status(:draft) # => <#ActiveRecord::Relation []>
|
200
|
+
Post.without_status(:draft) # => <#ActiveRecord::Relation []>
|
201
|
+
Post.with_status(Status.draft) # => <#ActiveRecord::Relation []>
|
202
|
+
Post.with_status(:draft, :review_pending) # => <#ActiveRecord::Relation []>
|
203
|
+
Post.with_status(Status.draft, 'published') # => <#ActiveRecord::Relation []>
|
204
|
+
Post.with_status([:draft, :review_pending]) # => <#ActiveRecord::Relation []>
|
189
205
|
```
|
190
206
|
|
191
207
|
```ruby
|
@@ -195,6 +211,8 @@ end
|
|
195
211
|
|
196
212
|
Post.with_my_status_draft # => <#ActiveRecord::Relation []>
|
197
213
|
Post.with_my_status_review_pending # => <#ActiveRecord::Relation []>
|
214
|
+
Post.with_my_status(:draft) # => <#ActiveRecord::Relation []>
|
215
|
+
Post.without_my_status(:draft) # => <#ActiveRecord::Relation []>
|
198
216
|
```
|
199
217
|
|
200
218
|
Each scope returns all records with specified enumeration value.
|
@@ -219,7 +237,7 @@ Except `name` you can specify any other attributes to your enumerations:
|
|
219
237
|
|
220
238
|
```ruby
|
221
239
|
class Status < Enumerations::Base
|
222
|
-
value :draft, id: 1, name: 'Draft'
|
240
|
+
value :draft, id: 1, name: 'Draft', published: false
|
223
241
|
value :review_pending, id: 2, name: 'Review pending', description: 'Some description...'
|
224
242
|
value :published, id: 3, name: 'Published', published: true
|
225
243
|
value :other # passing no attributes is also allowed
|
@@ -234,6 +252,16 @@ Status.review_pending.description # => 'Some description...'
|
|
234
252
|
Status.draft.description # => nil
|
235
253
|
```
|
236
254
|
|
255
|
+
For each attribute, you have predicate method. Predicate methods are actually calling `present?`
|
256
|
+
method on attribute value:
|
257
|
+
|
258
|
+
```ruby
|
259
|
+
Status.draft.name? # => true
|
260
|
+
Status.draft.published? # => false
|
261
|
+
Status.published.published? # => true
|
262
|
+
Status.other.name? # => false
|
263
|
+
```
|
264
|
+
|
237
265
|
Translations
|
238
266
|
=====
|
239
267
|
|
@@ -291,7 +319,7 @@ If you set enumeration as:
|
|
291
319
|
```ruby
|
292
320
|
enumeration :status
|
293
321
|
```
|
294
|
-
then model should have `status`column (as `String` type).
|
322
|
+
then model should have `status` column (as `String` type).
|
295
323
|
If you want save an `ID` to this column, you can set `foreign_key_suffix` to `id`.
|
296
324
|
Then model should have `status_id` column.
|
297
325
|
|
@@ -323,6 +351,17 @@ post = Post.new
|
|
323
351
|
post.status = Status.draft # => post.status_id = 1
|
324
352
|
```
|
325
353
|
|
354
|
+
If you want to configure primary key per enumeration class, you can use `primary_key=` class method:
|
355
|
+
|
356
|
+
```ruby
|
357
|
+
class Status < Enumerations::Base
|
358
|
+
self.primary_key = :id
|
359
|
+
|
360
|
+
value :draft, id: 1, name: 'Draft'
|
361
|
+
value :review_pending, id: 2, name: 'Review pending'
|
362
|
+
end
|
363
|
+
```
|
364
|
+
|
326
365
|
Database Enumerations
|
327
366
|
=====================
|
328
367
|
|
data/enumerations.gemspec
CHANGED
@@ -3,7 +3,7 @@ require File.expand_path('../lib/enumerations/version', __FILE__)
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = 'enumerations'
|
5
5
|
s.version = Enumerations::VERSION
|
6
|
-
s.date = '
|
6
|
+
s.date = '2017-09-08'
|
7
7
|
s.summary = 'Enumerations for ActiveRecord!'
|
8
8
|
s.description = 'Extends ActiveRecord with enumeration capabilites.'
|
9
9
|
s.homepage = 'https://github.com/infinum/enumerations'
|
data/lib/enumerations.rb
CHANGED
@@ -7,7 +7,7 @@ require 'enumerations/configuration'
|
|
7
7
|
require 'enumerations/version'
|
8
8
|
require 'enumerations/base'
|
9
9
|
require 'enumerations/reflection'
|
10
|
-
require 'enumerations/
|
10
|
+
require 'enumerations/errors'
|
11
11
|
|
12
12
|
module Enumerations
|
13
13
|
extend ActiveSupport::Concern
|
@@ -58,7 +58,8 @@ module Enumerations
|
|
58
58
|
define_getter_method(reflection)
|
59
59
|
define_setter_method(reflection)
|
60
60
|
define_bang_methods(reflection)
|
61
|
-
|
61
|
+
define_scopes_for_each_enumeration_value(reflection)
|
62
|
+
define_enumeration_scope(reflection)
|
62
63
|
|
63
64
|
self._enumerations += [reflection]
|
64
65
|
end
|
@@ -86,9 +87,11 @@ module Enumerations
|
|
86
87
|
define_method("#{reflection.name}=") do |other|
|
87
88
|
enumeration_value = reflection.enumerator_class.find(other)
|
88
89
|
|
90
|
+
raise Enumerations::InvalidValueError if other.present? && enumeration_value.nil?
|
91
|
+
|
89
92
|
self[reflection.foreign_key] =
|
90
93
|
enumeration_value &&
|
91
|
-
enumeration_value.send(
|
94
|
+
enumeration_value.send(reflection.enumerator_class.primary_key || :symbol)
|
92
95
|
end
|
93
96
|
end
|
94
97
|
|
@@ -116,12 +119,44 @@ module Enumerations
|
|
116
119
|
# User.with_role_admin => <#ActiveRecord::Relation []>
|
117
120
|
# User.with_role_editor => <#ActiveRecord::Relation []>
|
118
121
|
#
|
119
|
-
def
|
122
|
+
def define_scopes_for_each_enumeration_value(reflection)
|
120
123
|
reflection.enumerator_class.all.each do |enumeration|
|
121
|
-
foreign_key = enumeration.send(
|
124
|
+
foreign_key = enumeration.send(reflection.enumerator_class.primary_key || :symbol)
|
125
|
+
|
126
|
+
scope("with_#{reflection.name}_#{enumeration.symbol}",
|
127
|
+
-> { where(reflection.foreign_key => foreign_key) })
|
128
|
+
|
129
|
+
scope("without_#{reflection.name}_#{enumeration.symbol}",
|
130
|
+
-> { where.not(reflection.foreign_key => foreign_key) })
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
# Scope for enumerated ActiveRecord model.
|
135
|
+
# Format of scope name is with_#{enumeration_name}(*enumerations).
|
136
|
+
#
|
137
|
+
# Example:
|
138
|
+
#
|
139
|
+
# User.with_role(:admin) => <#ActiveRecord::Relation []>
|
140
|
+
# User.with_role(:admin, Role.editor) => <#ActiveRecord::Relation []>
|
141
|
+
#
|
142
|
+
def define_enumeration_scope(reflection)
|
143
|
+
scope("with_#{reflection.name}",
|
144
|
+
lambda do |*symbols|
|
145
|
+
where(reflection.foreign_key => fetch_foreign_key_values(reflection, symbols))
|
146
|
+
end)
|
147
|
+
|
148
|
+
scope("without_#{reflection.name}",
|
149
|
+
lambda do |*symbols|
|
150
|
+
where.not(reflection.foreign_key => fetch_foreign_key_values(reflection, symbols))
|
151
|
+
end)
|
152
|
+
end
|
153
|
+
|
154
|
+
def fetch_foreign_key_values(reflection, *symbols)
|
155
|
+
symbols.flatten.map do |symbol|
|
156
|
+
enumeration_value = reflection.enumerator_class.find(symbol)
|
122
157
|
|
123
|
-
|
124
|
-
|
158
|
+
enumeration_value &&
|
159
|
+
enumeration_value.send(reflection.enumerator_class.primary_key || :symbol)
|
125
160
|
end
|
126
161
|
end
|
127
162
|
end
|
data/lib/enumerations/base.rb
CHANGED
@@ -8,10 +8,11 @@ module Enumerations
|
|
8
8
|
extend Enumerations::FinderMethods
|
9
9
|
include Enumerations::Value
|
10
10
|
|
11
|
-
class_attribute :_values, :_symbol_index
|
11
|
+
class_attribute :_values, :_symbol_index, :_primary_key
|
12
12
|
|
13
13
|
self._values = {}
|
14
14
|
self._symbol_index = {}
|
15
|
+
self._primary_key = nil
|
15
16
|
|
16
17
|
# Adding new value to enumeration
|
17
18
|
#
|
@@ -79,16 +80,45 @@ module Enumerations
|
|
79
80
|
_values.values
|
80
81
|
end
|
81
82
|
|
83
|
+
# Sets primary key for enumeration class.
|
84
|
+
#
|
85
|
+
# Example:
|
86
|
+
#
|
87
|
+
# class Status < Enumeration::Base
|
88
|
+
# primary_key = :id
|
89
|
+
# end
|
90
|
+
#
|
91
|
+
def self.primary_key=(key)
|
92
|
+
self._primary_key = key && key.to_sym
|
93
|
+
end
|
94
|
+
|
95
|
+
# Gets primary key for enumeration class.
|
96
|
+
#
|
97
|
+
# Example:
|
98
|
+
#
|
99
|
+
# Status.primary_key => # nil
|
100
|
+
#
|
101
|
+
# class Status < Enumeration::Base
|
102
|
+
# primary_key = :id
|
103
|
+
# end
|
104
|
+
#
|
105
|
+
# Status.primary_key => # :id
|
106
|
+
#
|
107
|
+
def self.primary_key
|
108
|
+
_primary_key || Enumerations.configuration.primary_key
|
109
|
+
end
|
110
|
+
|
82
111
|
def self.validate_symbol_and_primary_key(symbol, attributes)
|
83
|
-
raise
|
112
|
+
raise Enumerations::DuplicatedSymbolError if find(symbol)
|
84
113
|
|
85
|
-
primary_key = Enumerations.configuration.primary_key
|
86
114
|
return if primary_key.nil?
|
87
115
|
|
88
|
-
|
89
|
-
|
116
|
+
primary_key_value = attributes[primary_key]
|
117
|
+
|
118
|
+
raise Enumerations::MissingPrimaryKeyError if primary_key_value.nil?
|
119
|
+
raise Enumerations::DuplicatedPrimaryKeyError if find(primary_key_value)
|
90
120
|
|
91
|
-
self._symbol_index = _symbol_index.merge(symbol =>
|
121
|
+
self._symbol_index = _symbol_index.merge(symbol => primary_key_value)
|
92
122
|
end
|
93
123
|
|
94
124
|
private_class_method :validate_symbol_and_primary_key
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Enumerations
|
2
2
|
class Reflection
|
3
|
-
attr_reader :name
|
3
|
+
attr_reader :name, :options
|
4
4
|
|
5
5
|
def initialize(name, options = {})
|
6
6
|
@name = name
|
@@ -8,11 +8,11 @@ module Enumerations
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def class_name
|
11
|
-
@class_name ||= (
|
11
|
+
@class_name ||= (options[:class_name] || name).to_s.camelize
|
12
12
|
end
|
13
13
|
|
14
14
|
def foreign_key
|
15
|
-
@foreign_key ||= (
|
15
|
+
@foreign_key ||= (options[:foreign_key] || default_foreign_key_name).to_sym
|
16
16
|
end
|
17
17
|
|
18
18
|
def enumerator_class
|
data/lib/enumerations/value.rb
CHANGED
@@ -39,6 +39,7 @@ module Enumerations
|
|
39
39
|
def create_instance_methods
|
40
40
|
define_attributes_getters
|
41
41
|
define_value_checking_method
|
42
|
+
define_predicate_methods_for_attributes
|
42
43
|
end
|
43
44
|
|
44
45
|
# Getters for all attributes
|
@@ -83,5 +84,28 @@ module Enumerations
|
|
83
84
|
__callee__[0..-2].to_sym == symbol
|
84
85
|
end
|
85
86
|
end
|
87
|
+
|
88
|
+
# Predicate methods for all attributes
|
89
|
+
#
|
90
|
+
# Example:
|
91
|
+
#
|
92
|
+
# class Role < Enumerations::Base
|
93
|
+
# value :admin, name: 'Administrator', active: false
|
94
|
+
# end
|
95
|
+
#
|
96
|
+
# user.role.name? => # true
|
97
|
+
# user.role.admin? => # false
|
98
|
+
#
|
99
|
+
def define_predicate_methods_for_attributes
|
100
|
+
@attributes.each do |key, _|
|
101
|
+
method_name = "#{key}?"
|
102
|
+
|
103
|
+
next if respond_to?(method_name.to_sym)
|
104
|
+
|
105
|
+
self.class.send :define_method, method_name do
|
106
|
+
@attributes[key].present?
|
107
|
+
end
|
108
|
+
end
|
109
|
+
end
|
86
110
|
end
|
87
111
|
end
|
data/lib/enumerations/version.rb
CHANGED
data/test/base_test.rb
CHANGED
@@ -16,7 +16,7 @@ class BaseTest < Minitest::Test
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def test_duplicated_symbol
|
19
|
-
assert_raises
|
19
|
+
assert_raises Enumerations::DuplicatedSymbolError do
|
20
20
|
obj = Class.new(Enumerations::Base)
|
21
21
|
|
22
22
|
obj.value :draft, id: 1, name: 'Draft'
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Configuration
|
2
|
+
::CustomConfigurationEnum = Class.new(Enumerations::Base)
|
3
|
+
|
4
|
+
CustomConfigurationEnum.primary_key = :id
|
5
|
+
CustomConfigurationEnum.value :draft, id: 1
|
6
|
+
|
7
|
+
::CustomConfigurationModel = Class.new(ActiveRecord::Base)
|
8
|
+
CustomConfigurationModel.table_name = :custom_models
|
9
|
+
CustomConfigurationModel.enumeration :custom_configuration_enum, foreign_key: :custom_enum_id
|
10
|
+
|
11
|
+
class CustomConfigurationTest < Minitest::Test
|
12
|
+
def test_primary_key_value
|
13
|
+
assert_equal :id, CustomConfigurationEnum.primary_key
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_primary_key_value_is_not_set_in_configuration
|
17
|
+
assert_nil Enumerations.configuration.primary_key
|
18
|
+
end
|
19
|
+
|
20
|
+
def test_value_set_for_custom_foreign_key_config
|
21
|
+
model = CustomConfigurationModel.new
|
22
|
+
model.custom_configuration_enum = :draft
|
23
|
+
|
24
|
+
assert_equal :draft, model.custom_configuration_enum.symbol
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/test/configuration_test.rb
CHANGED
@@ -37,7 +37,7 @@ class ConfigurationTest < Minitest::Test
|
|
37
37
|
def test_required_primary_key_when_primary_key_configured
|
38
38
|
Enumerations.configure { |config| config.primary_key = :id }
|
39
39
|
|
40
|
-
assert_raises
|
40
|
+
assert_raises Enumerations::MissingPrimaryKeyError, 'Enumeration primary key is required' do
|
41
41
|
Class.new(Enumerations::Base).value :draft, name: 'Draft'
|
42
42
|
end
|
43
43
|
end
|
@@ -45,7 +45,7 @@ class ConfigurationTest < Minitest::Test
|
|
45
45
|
def test_duplicated_primary_key_when_primary_key_configured
|
46
46
|
Enumerations.configure { |config| config.primary_key = :id }
|
47
47
|
|
48
|
-
assert_raises
|
48
|
+
assert_raises Enumerations::DuplicatedPrimaryKeyError, 'Duplicate primary key 1' do
|
49
49
|
Class.new(Enumerations::Base).values draft: { id: 1, name: 'Draft' },
|
50
50
|
test: { id: 1, name: 'Draft' }
|
51
51
|
end
|
data/test/enumerations_test.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require_relative 'helpers/test_helper'
|
2
|
-
require 'enumerations/
|
2
|
+
require 'enumerations/errors'
|
3
3
|
|
4
4
|
class EnumerationsTest < Minitest::Test
|
5
5
|
def test_reflect_on_all_enumerations
|
@@ -75,21 +75,62 @@ class EnumerationsTest < Minitest::Test
|
|
75
75
|
assert_equal 'published', u.status.to_s
|
76
76
|
end
|
77
77
|
|
78
|
+
def test_enumerated_class_has_enumeration_scope
|
79
|
+
assert_respond_to User, :with_role
|
80
|
+
end
|
81
|
+
|
78
82
|
def test_enumerated_class_has_scopes
|
79
83
|
Role.all.each do |role|
|
80
84
|
assert_respond_to User, ['with_role', role.to_s].join('_').to_sym
|
81
85
|
end
|
82
86
|
end
|
83
87
|
|
84
|
-
def
|
88
|
+
def test_enumerated_class_enumeration_scope_hash_value
|
89
|
+
query_hash = User.with_role(:admin).where_values_hash.symbolize_keys
|
90
|
+
|
91
|
+
assert_equal query_hash, role: :admin
|
92
|
+
end
|
93
|
+
|
94
|
+
def test_enumerated_class_enumeration_without_scope_results
|
95
|
+
User.create(role: :admin)
|
96
|
+
User.create(role: :editor)
|
97
|
+
|
98
|
+
results = User.without_role(:admin)
|
99
|
+
|
100
|
+
assert_equal results, User.where.not(role: :admin)
|
101
|
+
end
|
102
|
+
|
103
|
+
def test_enumerated_class_enumeration_scope_hash_value_for_multiple_enums
|
104
|
+
query_hash = User.with_role(:admin, Role.author, 'editor').where_values_hash.symbolize_keys
|
105
|
+
|
106
|
+
assert_equal query_hash, role: [:admin, :author, :editor]
|
107
|
+
end
|
108
|
+
|
109
|
+
def test_enumerated_class_enumeration_scope_hash_value_for_multiple_enums_as_array
|
110
|
+
query_hash = User.with_role([:admin, Role.author, 'editor']).where_values_hash.symbolize_keys
|
111
|
+
|
112
|
+
assert_equal query_hash, role: [:admin, :author, :editor]
|
113
|
+
end
|
114
|
+
|
115
|
+
def test_enumerated_class_without_scope_hash_value
|
85
116
|
query_hash = User.with_role_admin.where_values_hash.symbolize_keys
|
86
117
|
|
87
118
|
assert_equal query_hash, role: :admin
|
88
119
|
end
|
89
120
|
|
121
|
+
def test_enumerated_class_without_scope_results
|
122
|
+
User.create(role: :admin)
|
123
|
+
User.create(role: :editor)
|
124
|
+
|
125
|
+
results = User.without_role_admin
|
126
|
+
|
127
|
+
assert_equal results, User.where.not(role: :admin)
|
128
|
+
end
|
129
|
+
|
90
130
|
def test_nonexistent_value_assignment
|
91
|
-
|
92
|
-
|
131
|
+
assert_raises Enumerations::InvalidValueError do
|
132
|
+
User.new(role: :nonexistent_value)
|
133
|
+
end
|
93
134
|
end
|
94
135
|
|
95
136
|
def test_on_nil_value_assignment
|
data/test/value_test.rb
CHANGED
@@ -68,4 +68,18 @@ class ValueTest < Minitest::Test
|
|
68
68
|
|
69
69
|
assert_equal role.type, 'croatist'
|
70
70
|
end
|
71
|
+
|
72
|
+
def test_enumeration_attribute_predicate_methods
|
73
|
+
status = Status.none
|
74
|
+
|
75
|
+
assert_equal status.name?, true
|
76
|
+
assert_equal status.visible?, true
|
77
|
+
assert_equal status.deleted?, false
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_enumeration_attribute_predicate_method_on_undefined_attribute
|
81
|
+
status = Status.deleted
|
82
|
+
|
83
|
+
assert_equal status.name?, false
|
84
|
+
end
|
71
85
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enumerations
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomislav Car
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2017-09-08 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: activerecord
|
@@ -124,6 +124,7 @@ extensions: []
|
|
124
124
|
extra_rdoc_files: []
|
125
125
|
files:
|
126
126
|
- ".gitignore"
|
127
|
+
- ".rubocop.yml"
|
127
128
|
- Gemfile
|
128
129
|
- Migrate.md
|
129
130
|
- Rakefile
|
@@ -132,13 +133,14 @@ files:
|
|
132
133
|
- lib/enumerations.rb
|
133
134
|
- lib/enumerations/base.rb
|
134
135
|
- lib/enumerations/configuration.rb
|
135
|
-
- lib/enumerations/
|
136
|
+
- lib/enumerations/errors.rb
|
136
137
|
- lib/enumerations/finder_methods.rb
|
137
138
|
- lib/enumerations/reflection.rb
|
138
139
|
- lib/enumerations/value.rb
|
139
140
|
- lib/enumerations/version.rb
|
140
141
|
- test/base_test.rb
|
141
142
|
- test/configuration/configuration.rb
|
143
|
+
- test/configuration/custom_configuration_test.rb
|
142
144
|
- test/configuration/enumerations_test.rb
|
143
145
|
- test/configuration/finder_test.rb
|
144
146
|
- test/configuration_test.rb
|
@@ -170,13 +172,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
170
172
|
version: '0'
|
171
173
|
requirements: []
|
172
174
|
rubyforge_project:
|
173
|
-
rubygems_version: 2.6.
|
175
|
+
rubygems_version: 2.6.11
|
174
176
|
signing_key:
|
175
177
|
specification_version: 4
|
176
178
|
summary: Enumerations for ActiveRecord!
|
177
179
|
test_files:
|
178
180
|
- test/base_test.rb
|
179
181
|
- test/configuration/configuration.rb
|
182
|
+
- test/configuration/custom_configuration_test.rb
|
180
183
|
- test/configuration/enumerations_test.rb
|
181
184
|
- test/configuration/finder_test.rb
|
182
185
|
- test/configuration_test.rb
|