restpack_serializer 0.2.12 → 0.2.13
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/README.md +1 -1
- data/lib/restpack_serializer/serializable.rb +3 -10
- data/lib/restpack_serializer/version.rb +1 -1
- data/spec/serializable/serializer_spec.rb +17 -13
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 970e2e0de08591a08d4a42d5d5f36868d202d192
|
4
|
+
data.tar.gz: 0eabb7a4194eb635b8d3bafd0220a7a1bc69bbbd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 659bba0a2505a6bfd3df5fce582bf191df3d1e5dce18530f14391dfe77633a2002def8c510bd469352ac283557f411acbab65407b7b59d2f65e1ec8d2e89a273
|
7
|
+
data.tar.gz: 1b446fdec2911aaef03845865b9fa83daa0edf794e63e959039a919fb0d9d0726de1a72ba546ec5a45a95f4befa07461b20e853d70969c9587266c05a9b9c6fc
|
data/README.md
CHANGED
@@ -61,24 +61,17 @@ module RestPack
|
|
61
61
|
end
|
62
62
|
|
63
63
|
module ClassMethods
|
64
|
+
attr_accessor :model_class, :key
|
64
65
|
def as_json(model, context = {})
|
65
66
|
new.as_json(model, context)
|
66
67
|
end
|
67
68
|
|
68
|
-
def set_model_class(klass)
|
69
|
-
@model_class_name = klass.to_s
|
70
|
-
end
|
71
|
-
|
72
|
-
def model_class_name
|
73
|
-
@model_class_name || self.name.chomp('Serializer')
|
74
|
-
end
|
75
|
-
|
76
69
|
def model_class
|
77
|
-
|
70
|
+
@model_class || self.name.chomp('Serializer').constantize
|
78
71
|
end
|
79
72
|
|
80
73
|
def key
|
81
|
-
self.model_class.send(:table_name).to_sym
|
74
|
+
(@key || self.model_class.send(:table_name)).to_sym
|
82
75
|
end
|
83
76
|
|
84
77
|
end
|
@@ -90,12 +90,12 @@ describe RestPack::Serializer do
|
|
90
90
|
end
|
91
91
|
end
|
92
92
|
|
93
|
-
describe "#
|
94
|
-
it "
|
95
|
-
PersonSerializer.
|
93
|
+
describe "#model_class" do
|
94
|
+
it "extracts the Model name from the Serializer name" do
|
95
|
+
PersonSerializer.model_class.should == Person
|
96
96
|
end
|
97
97
|
|
98
|
-
context "with namespaced model class
|
98
|
+
context "with namespaced model class" do
|
99
99
|
module SomeNamespace
|
100
100
|
class Model
|
101
101
|
end
|
@@ -103,25 +103,29 @@ describe RestPack::Serializer do
|
|
103
103
|
|
104
104
|
class NamespacedSerializer
|
105
105
|
include RestPack::Serializer
|
106
|
-
|
106
|
+
self.model_class = SomeNamespace::Model
|
107
107
|
end
|
108
108
|
|
109
|
-
it "
|
110
|
-
NamespacedSerializer.model_class_name.should == "SomeNamespace::Model"
|
109
|
+
it "returns the correct class" do
|
111
110
|
NamespacedSerializer.model_class.should == SomeNamespace::Model
|
112
111
|
end
|
113
112
|
end
|
114
113
|
end
|
115
114
|
|
116
|
-
describe "#model_class" do
|
117
|
-
it "returns the correct class" do
|
118
|
-
PersonSerializer.model_class.should == Person
|
119
|
-
end
|
120
|
-
end
|
121
|
-
|
122
115
|
describe "#key" do
|
123
116
|
it "returns the correct key" do
|
124
117
|
PersonSerializer.key.should == :people
|
125
118
|
end
|
119
|
+
|
120
|
+
context "with custom key" do
|
121
|
+
class SerializerWithCustomKey
|
122
|
+
include RestPack::Serializer
|
123
|
+
self.key = :custom_key
|
124
|
+
end
|
125
|
+
|
126
|
+
it "returns the correct key" do
|
127
|
+
SerializerWithCustomKey.key.should == :custom_key
|
128
|
+
end
|
129
|
+
end
|
126
130
|
end
|
127
131
|
end
|