enumerize 2.1.1 → 2.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/lib/enumerize/activerecord.rb +13 -0
- data/lib/enumerize/attribute.rb +1 -1
- data/lib/enumerize/version.rb +1 -1
- data/test/activerecord_test.rb +5 -0
- 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: f5a43e5546fd78ed42c35abfccc3314e52b7671f
|
4
|
+
data.tar.gz: 727be0571656833f27ee73ff8d65d6455c7511e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 88cfa3f67475bf8d18279b7f53124051237c3a5bfe302e88860f5c405834cd95ebe9cfca67eb0d721c52ca746a15458cf284d2a376b049ede0b6b69379f667a6
|
7
|
+
data.tar.gz: f57a1bca5a058f2074d834968418865455f4e0ccf3aa2441064f05cb5901a4eb8ec4776cd2e95c938635a41659723679108d873caa338e8487879e91fbcafb25
|
data/CHANGELOG.md
CHANGED
@@ -90,6 +90,19 @@ module Enumerize
|
|
90
90
|
def as_json(options = nil)
|
91
91
|
{attr: @attr.name, subtype: @subtype}.as_json(options)
|
92
92
|
end
|
93
|
+
|
94
|
+
def encode_with(coder)
|
95
|
+
coder[:class_name] = @attr.klass.name
|
96
|
+
coder[:attr_name] = @attr.name
|
97
|
+
coder[:subtype] = @subtype
|
98
|
+
end
|
99
|
+
|
100
|
+
def init_with(coder)
|
101
|
+
initialize(
|
102
|
+
coder[:class_name].constantize.enumerized_attributes[coder[:attr_name]],
|
103
|
+
coder[:subtype]
|
104
|
+
)
|
105
|
+
end
|
93
106
|
end
|
94
107
|
end
|
95
108
|
end
|
data/lib/enumerize/attribute.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Enumerize
|
2
2
|
class Attribute
|
3
|
-
attr_reader :name, :values, :default_value, :i18n_scope
|
3
|
+
attr_reader :klass, :name, :values, :default_value, :i18n_scope
|
4
4
|
|
5
5
|
def initialize(klass, name, options={})
|
6
6
|
raise ArgumentError, ':in option is required' unless options[:in]
|
data/lib/enumerize/version.rb
CHANGED
data/test/activerecord_test.rb
CHANGED
@@ -517,4 +517,9 @@ describe Enumerize::ActiveRecordSupport do
|
|
517
517
|
type = User.type_for_attribute('status')
|
518
518
|
type.as_json['attr'].must_equal 'status'
|
519
519
|
end
|
520
|
+
|
521
|
+
it "doesn't break YAML serialization" do
|
522
|
+
user = YAML.load(User.create(status: :blocked).to_yaml)
|
523
|
+
user.status.must_equal 'blocked'
|
524
|
+
end
|
520
525
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: enumerize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sergey Nartimov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-05-
|
11
|
+
date: 2017-05-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|