cell_set 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/cell_set/cell_set.rb +6 -1
- data/lib/cell_set/version.rb +1 -1
- data/spec/models/cell_set_axis_spec.rb +9 -0
- data/spec/models/cell_set_spec.rb +10 -9
- data/spec/models/member_spec.rb +20 -0
- data/spec/models/position_spec.rb +9 -0
- metadata +1 -1
data/lib/cell_set/cell_set.rb
CHANGED
@@ -8,6 +8,7 @@ module CellSet
|
|
8
8
|
include Attributes
|
9
9
|
include ActiveModel::Serializers::JSON
|
10
10
|
include ActiveModel::Serializers::Xml
|
11
|
+
self.include_root_in_json = false
|
11
12
|
|
12
13
|
def as_json(options = nil)
|
13
14
|
# Strangely couldn't use options = {} in JRuby
|
@@ -15,7 +16,11 @@ module CellSet
|
|
15
16
|
json = super(options)
|
16
17
|
unless (options.has_key?(:only) && !options[:only].include?("cells")) ||
|
17
18
|
(options.has_key?(:except) && options[:except].include?("cells"))
|
18
|
-
|
19
|
+
if options[:root]
|
20
|
+
json.first[1]["cells"] = @cellHash
|
21
|
+
else
|
22
|
+
json["cells"] = @cellHash
|
23
|
+
end
|
19
24
|
end
|
20
25
|
json
|
21
26
|
end
|
data/lib/cell_set/version.rb
CHANGED
@@ -74,6 +74,15 @@ describe CellSet::CellSetAxis do
|
|
74
74
|
}
|
75
75
|
end
|
76
76
|
|
77
|
+
it "should serialize with root" do
|
78
|
+
axis.as_json(:root => true).should == {
|
79
|
+
"cell_set_axis" => {
|
80
|
+
"axis_ordinal" => 0,
|
81
|
+
"positions" => [position1, position2]
|
82
|
+
}
|
83
|
+
}
|
84
|
+
end
|
85
|
+
|
77
86
|
it "should deserialize" do
|
78
87
|
::CellSet::CellSetAxis.new.from_json(axis.to_json).should == axis
|
79
88
|
end
|
@@ -152,6 +152,13 @@ describe CellSet::CellSet do
|
|
152
152
|
context "JSON" do
|
153
153
|
it "should serialize" do
|
154
154
|
cell_set.as_json.should == {
|
155
|
+
"axes" => [column_axis, row_axis],
|
156
|
+
"cells" => {}
|
157
|
+
}
|
158
|
+
end
|
159
|
+
|
160
|
+
it "should serialize with root" do
|
161
|
+
cell_set.as_json(:root => true).should == {
|
155
162
|
"cell_set" => {
|
156
163
|
"axes" => [column_axis, row_axis],
|
157
164
|
"cells" => {}
|
@@ -161,25 +168,19 @@ describe CellSet::CellSet do
|
|
161
168
|
|
162
169
|
it "should serialize only cells" do
|
163
170
|
cell_set.as_json(:only => "cells").should == {
|
164
|
-
|
165
|
-
"cells" => {}
|
166
|
-
}
|
171
|
+
"cells" => {}
|
167
172
|
}
|
168
173
|
end
|
169
174
|
|
170
175
|
it "should serialize excluding cells" do
|
171
176
|
cell_set.as_json(:except => "cells").should == {
|
172
|
-
"
|
173
|
-
"axes" => [column_axis, row_axis]
|
174
|
-
}
|
177
|
+
"axes" => [column_axis, row_axis]
|
175
178
|
}
|
176
179
|
end
|
177
180
|
|
178
181
|
it "should serialize only axes" do
|
179
182
|
cell_set.as_json(:only => "axes").should == {
|
180
|
-
"
|
181
|
-
"axes" => [column_axis, row_axis]
|
182
|
-
}
|
183
|
+
"axes" => [column_axis, row_axis]
|
183
184
|
}
|
184
185
|
end
|
185
186
|
|
data/spec/models/member_spec.rb
CHANGED
@@ -56,6 +56,26 @@ describe CellSet::Member do
|
|
56
56
|
}
|
57
57
|
end
|
58
58
|
|
59
|
+
it "should serialize with root" do
|
60
|
+
member.as_json(:root => true).should == {
|
61
|
+
"member" => {
|
62
|
+
"caption" => nil,
|
63
|
+
"childMembers" => [],
|
64
|
+
"depth" => nil,
|
65
|
+
"description" => nil,
|
66
|
+
"dimension" => nil,
|
67
|
+
"expression" => nil,
|
68
|
+
"hierarchy" => nil,
|
69
|
+
"level" => nil,
|
70
|
+
"memberType" => nil,
|
71
|
+
"name" => name,
|
72
|
+
"ordinal" => 0,
|
73
|
+
"parentMember" => nil,
|
74
|
+
"uniqueName" => unique_name
|
75
|
+
}
|
76
|
+
}
|
77
|
+
end
|
78
|
+
|
59
79
|
it "should deserialize" do
|
60
80
|
::CellSet::Member.new.from_json(member.to_json).should == member
|
61
81
|
end
|
@@ -66,8 +66,17 @@ describe CellSet::Position do
|
|
66
66
|
context "JSON" do
|
67
67
|
it "should serialize" do
|
68
68
|
position.as_json.should == {
|
69
|
+
"ordinal" => 0,
|
70
|
+
"members" => [member1, member2]
|
71
|
+
}
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should serialize with root" do
|
75
|
+
position.as_json(:root => true).should == {
|
76
|
+
"position" => {
|
69
77
|
"ordinal" => 0,
|
70
78
|
"members" => [member1, member2]
|
79
|
+
}
|
71
80
|
}
|
72
81
|
end
|
73
82
|
|