fancy-open-struct 0.2.0 → 0.3.0
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/CHANGELOG +4 -1
- data/README.rdoc +1 -0
- data/lib/fancy-open-struct.rb +0 -4
- data/lib/fancy-open-struct/version.rb +1 -1
- data/spec/fancy_open_struct_spec.rb +9 -6
- metadata +1 -1
data/CHANGELOG
CHANGED
@@ -1,6 +1,9 @@
|
|
1
|
+
0.3.0
|
2
|
+
- Deprecated the display_recursive_open_hash alias for debug_inspect
|
3
|
+
- Removed some unnecessary code from the to_h method
|
4
|
+
|
1
5
|
0.2.0
|
2
6
|
- Replaced the display_recursive_open_hash method with functionality from the awesome_print gem.
|
3
|
-
Note: This fundamentally changes the way how this method operates, and is not backwards compatible.
|
4
7
|
- Aliased the display_recursive_open_hash method to the debug_inspect method.
|
5
8
|
- Changed method_missing so that it is private
|
6
9
|
|
data/README.rdoc
CHANGED
@@ -4,6 +4,7 @@
|
|
4
4
|
{<img src="http://allthebadges.io/tomchapin/fancy-open-struct/gemnasium.png" alt="Dependencies" />}[http://allthebadges.io/tomchapin/fancy-open-struct/gemnasium]
|
5
5
|
{<img src="http://allthebadges.io/tomchapin/fancy-open-struct/travis.png" alt="Build Status" />}[http://allthebadges.io/tomchapin/fancy-open-struct/travis]
|
6
6
|
{<img src="http://allthebadges.io/tomchapin/fancy-open-struct/coveralls.png" alt="Coverage" />}[http://allthebadges.io/tomchapin/fancy-open-struct/coveralls]
|
7
|
+
{<img src="http://allthebadges.io/tomchapin/fancy-open-struct/code_climate.png" alt="Code Climate" />}[http://allthebadges.io/tomchapin/fancy-open-struct/code_climate]
|
7
8
|
|
8
9
|
FancyOpenStruct is a subclass of OpenStruct, and is a variant of RecursiveOpenStruct.
|
9
10
|
|
data/lib/fancy-open-struct.rb
CHANGED
@@ -59,8 +59,6 @@ class FancyOpenStruct < OpenStruct
|
|
59
59
|
newval.to_h
|
60
60
|
elsif newval.kind_of?(Array)
|
61
61
|
newval.map { |a| a.kind_of?(self.class) ? a.to_h : a }
|
62
|
-
else
|
63
|
-
raise "Cached value of unsupported type: #{newval.inspect}"
|
64
62
|
end
|
65
63
|
end
|
66
64
|
end
|
@@ -73,8 +71,6 @@ class FancyOpenStruct < OpenStruct
|
|
73
71
|
ap(@table, options)
|
74
72
|
end
|
75
73
|
|
76
|
-
alias_method :display_recursive_open_hash, :debug_inspect
|
77
|
-
|
78
74
|
# Hash getter method which translates the key to a Symbol
|
79
75
|
def [](key)
|
80
76
|
@table[key.to_sym]
|
@@ -49,9 +49,11 @@ describe FancyOpenStruct do
|
|
49
49
|
describe "improvements on OpenStruct" do
|
50
50
|
|
51
51
|
it "can be converted back to a hash" do
|
52
|
-
|
52
|
+
blank_obj = Object.new
|
53
|
+
h = {:asdf => 'John Smith', :foo => [{:bar => blank_obj}, {:baz => nil}]}
|
53
54
|
fos = FancyOpenStruct.new(h)
|
54
55
|
fos.to_h.should == h
|
56
|
+
fos.to_hash.should == h
|
55
57
|
end
|
56
58
|
|
57
59
|
describe 'hash methods' do
|
@@ -273,11 +275,6 @@ describe FancyOpenStruct do
|
|
273
275
|
fos.debug_inspect(:indent => 1, :plain => true)
|
274
276
|
end
|
275
277
|
debug_inspect.string.should == expected_result
|
276
|
-
|
277
|
-
display_recursive_open_hash = capture_stdout do
|
278
|
-
fos.display_recursive_open_hash(:indent => 1, :plain => true)
|
279
|
-
end
|
280
|
-
display_recursive_open_hash.string.should == expected_result
|
281
278
|
end
|
282
279
|
|
283
280
|
it "creates nested objects via subclass" do
|
@@ -287,6 +284,12 @@ describe FancyOpenStruct do
|
|
287
284
|
|
288
285
|
fossc.one.first.class.should == FancyOpenStructSubClass
|
289
286
|
end
|
287
|
+
|
288
|
+
describe 'method aliases' do
|
289
|
+
it 'responds to #to_hash' do
|
290
|
+
FancyOpenStruct.new.respond_to?(:to_hash).should be_true
|
291
|
+
end
|
292
|
+
end
|
290
293
|
end # additionnel features
|
291
294
|
|
292
295
|
end # describe FancyOpenStruct
|