ribbon 0.2.1 → 0.2.2
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/lib/ribbon.rb +2 -0
- data/lib/ribbon/version.rb +1 -1
- data/lib/ribbon/wrapper.rb +13 -1
- metadata +3 -3
data/lib/ribbon.rb
CHANGED
@@ -96,6 +96,8 @@ class Ribbon < BasicObject
|
|
96
96
|
Wrapper.new ribbon
|
97
97
|
end
|
98
98
|
|
99
|
+
# Unwraps the +ribbon+ if it is wrapped and returns its hash. Returns nil in
|
100
|
+
# any other case.
|
99
101
|
def self.extract_hash_from(ribbon)
|
100
102
|
ribbon = ribbon.ribbon if ::Ribbon.wrapped? ribbon
|
101
103
|
ribbon = ribbon.__hash__ if ::Ribbon.instance? ribbon
|
data/lib/ribbon/version.rb
CHANGED
data/lib/ribbon/wrapper.rb
CHANGED
@@ -32,7 +32,19 @@ class Ribbon < BasicObject
|
|
32
32
|
end
|
33
33
|
|
34
34
|
# The wrapped Ribbon object.
|
35
|
-
|
35
|
+
attr :ribbon
|
36
|
+
|
37
|
+
# Wraps +ribbon+. If it is already wrapped, uses the wrapped ribbon as this
|
38
|
+
# wrapper's ribbon. If it is a hash, creates a new Ribbon with its data. If
|
39
|
+
# it is something else, an ArgumentError will be raised.
|
40
|
+
def ribbon=(ribbon)
|
41
|
+
@ribbon = case ribbon
|
42
|
+
when Wrapper then ribbon.ribbon
|
43
|
+
when Hash then Ribbon.new ribbon
|
44
|
+
when Ribbon then ribbon
|
45
|
+
else raise ArgumentError, "Can't wrap #{ribbon.class}"
|
46
|
+
end
|
47
|
+
end
|
36
48
|
|
37
49
|
# Wraps a Ribbon object, providing many general-purpose methods that were
|
38
50
|
# not defined in the Ribbon itself.
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ribbon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2011-12-30 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rookie
|
16
|
-
requirement: &
|
16
|
+
requirement: &5737360 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *5737360
|
25
25
|
description: Ruby Object Notation. Inspired by JSON and OpenStruct.
|
26
26
|
email: matheus.a.m.moreira@gmail.com
|
27
27
|
executables: []
|