ribbon 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,4 +5,5 @@ class Ribbon < BasicObject
5
5
 
6
6
  end
7
7
 
8
+ require 'ribbon/core_ext/array'
8
9
  require 'ribbon/core_ext/hash'
@@ -8,10 +8,24 @@ class Ribbon < BasicObject
8
8
 
9
9
  # If the last argument is a hash, removes and converts it to a ribbon,
10
10
  # otherwise returns an empty ribbon.
11
- def extract_options_as_ribbon!
12
- ::Ribbon.new last.is_a?(Hash) ? pop : {}
11
+ def extract_ribbon!
12
+ case last
13
+ when ::Hash then Ribbon.new pop
14
+ when ::Ribbon then pop
15
+ when ::Ribbon::Wrapper then pop.ribbon
16
+ else Ribbon.new
17
+ end
13
18
  end
14
19
 
20
+ # Extracts the last argument as a wrapped ribbon, or returns an empty one.
21
+ # See #extract_ribbon! for details.
22
+ def extract_wrapped_ribbon!
23
+ ::Ribbon.wrap extract_options_as_ribbon!
24
+ end
25
+
26
+ alias extract_options_as_ribbon! extract_ribbon!
27
+ alias extract_options_as_wrapped_ribbon! extract_wrapped_ribbon!
28
+
15
29
  end
16
30
 
17
31
  ::Array.send :include, ::Ribbon::CoreExt::Array
@@ -16,7 +16,7 @@ class Ribbon < BasicObject
16
16
  # Patch version.
17
17
  #
18
18
  # Increments denote changes in implementation.
19
- PATCH = 2
19
+ PATCH = 3
20
20
 
21
21
  # Build version.
22
22
  #
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.2
4
+ version: 0.4.3
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: &8135320 !ruby/object:Gem::Requirement
16
+ requirement: &22603200 !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: *8135320
24
+ version_requirements: *22603200
25
25
  description: Ruby Object Notation. Inspired by JSON and OpenStruct.
26
26
  email: matheus.a.m.moreira@gmail.com
27
27
  executables: []
@@ -55,7 +55,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
55
55
  version: '0'
56
56
  segments:
57
57
  - 0
58
- hash: 1590172254316391884
58
+ hash: -2446057472428160296
59
59
  required_rubygems_version: !ruby/object:Gem::Requirement
60
60
  none: false
61
61
  requirements:
@@ -64,7 +64,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
64
64
  version: '0'
65
65
  segments:
66
66
  - 0
67
- hash: 1590172254316391884
67
+ hash: -2446057472428160296
68
68
  requirements: []
69
69
  rubyforge_project:
70
70
  rubygems_version: 1.8.10