ribbon 0.4.2 → 0.4.3

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.
@@ -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