ribbon 0.4.1 → 0.4.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 +6 -2
- data/lib/ribbon/core_ext/array.rb +20 -0
- data/lib/ribbon/version.rb +1 -1
- metadata +6 -5
data/lib/ribbon.rb
CHANGED
@@ -176,8 +176,12 @@ class Ribbon < BasicObject
|
|
176
176
|
# Unwraps the +ribbon+ if it is wrapped and returns its hash. Returns +nil+ in
|
177
177
|
# any other case.
|
178
178
|
def self.extract_hash_from(ribbon)
|
179
|
-
|
180
|
-
|
179
|
+
case ribbon
|
180
|
+
when ::Ribbon::Wrapper then ribbon.hash
|
181
|
+
when ::Ribbon then ribbon.__hash__
|
182
|
+
when ::Hash then ribbon
|
183
|
+
else nil
|
184
|
+
end
|
181
185
|
end
|
182
186
|
|
183
187
|
class << self
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'ribbon'
|
2
|
+
|
3
|
+
class Ribbon < BasicObject
|
4
|
+
module CoreExt
|
5
|
+
|
6
|
+
# Methods to work with ribbons in arrays.
|
7
|
+
module Array
|
8
|
+
|
9
|
+
# If the last argument is a hash, removes and converts it to a ribbon,
|
10
|
+
# otherwise returns an empty ribbon.
|
11
|
+
def extract_options_as_ribbon!
|
12
|
+
::Ribbon.new last.is_a?(Hash) ? pop : {}
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
::Array.send :include, ::Ribbon::CoreExt::Array
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
data/lib/ribbon/version.rb
CHANGED
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.4.
|
4
|
+
version: 0.4.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-01-03 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rookie
|
16
|
-
requirement: &
|
16
|
+
requirement: &8135320 !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: *8135320
|
25
25
|
description: Ruby Object Notation. Inspired by JSON and OpenStruct.
|
26
26
|
email: matheus.a.m.moreira@gmail.com
|
27
27
|
executables: []
|
@@ -36,6 +36,7 @@ files:
|
|
36
36
|
- Rakefile
|
37
37
|
- lib/ribbon.rb
|
38
38
|
- lib/ribbon/core_ext.rb
|
39
|
+
- lib/ribbon/core_ext/array.rb
|
39
40
|
- lib/ribbon/core_ext/hash.rb
|
40
41
|
- lib/ribbon/version.rb
|
41
42
|
- lib/ribbon/wrapper.rb
|
@@ -54,7 +55,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
54
55
|
version: '0'
|
55
56
|
segments:
|
56
57
|
- 0
|
57
|
-
hash:
|
58
|
+
hash: 1590172254316391884
|
58
59
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
59
60
|
none: false
|
60
61
|
requirements:
|
@@ -63,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
63
64
|
version: '0'
|
64
65
|
segments:
|
65
66
|
- 0
|
66
|
-
hash:
|
67
|
+
hash: 1590172254316391884
|
67
68
|
requirements: []
|
68
69
|
rubyforge_project:
|
69
70
|
rubygems_version: 1.8.10
|