serialized_attributes 0.1.2 → 0.1.3
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.
- data/VERSION +1 -1
- data/lib/serialized_attributes/serialized_attributes.rb +9 -1
- data/test/simple_test.rb +10 -0
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.3
|
@@ -31,6 +31,10 @@ module SerializedAttributes
|
|
31
31
|
attribute(name, type, opts.merge({:attr_accessible => true}))
|
32
32
|
end
|
33
33
|
|
34
|
+
def serialized_attribute_names
|
35
|
+
serialized_attributes_definition.keys
|
36
|
+
end
|
37
|
+
|
34
38
|
def attribute(name, type, opts = {})
|
35
39
|
name = name.to_s
|
36
40
|
type = SerializedAttributes.type_to_sqltype(type)
|
@@ -48,7 +52,11 @@ module SerializedAttributes
|
|
48
52
|
pack_serialized_attributes!
|
49
53
|
super
|
50
54
|
end
|
51
|
-
|
55
|
+
|
56
|
+
def serialized_attribute_names
|
57
|
+
self.class.serialized_attribute_names
|
58
|
+
end
|
59
|
+
|
52
60
|
def unpack_serialized_attributes!
|
53
61
|
if @attributes.has_key?(serialized_attributes_column.to_s) && attributes = (self[serialized_attributes_column] || {})
|
54
62
|
serialized_attributes_definition.each do |key, column|
|
data/test/simple_test.rb
CHANGED
@@ -127,4 +127,14 @@ class SimpleTest < Test::Unit::TestCase
|
|
127
127
|
sprocket = Sprocket.create(:name => "Spacely's Space Sprocket", :size => 99)
|
128
128
|
assert sprocket.size == 99
|
129
129
|
end
|
130
|
+
|
131
|
+
# => test that the names of the serialized attributes are correctly returned by a class
|
132
|
+
def test_serizalied_attribute_names_are_returned_by_the_class
|
133
|
+
assert Sprocket.serialized_attribute_names.sort == ['in_motion', 'size'].sort
|
134
|
+
end
|
135
|
+
|
136
|
+
# => test that the names of the serialized attributes are correctly returned by the instance
|
137
|
+
def test_serizalied_attribute_names_are_returned_by_an_instance
|
138
|
+
assert Sprocket.new.serialized_attribute_names.sort == ['in_motion', 'size'].sort
|
139
|
+
end
|
130
140
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: serialized_attributes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 29
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 3
|
10
|
+
version: 0.1.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Emma Persky
|