Class: Array

Inherits:
Object
  • Object
show all
Defined in:
lib/configurable/core_ext/extract_options.rb

Overview

Define Array#extract_options! and associated methods if they’re not already defined. Code taken from Rails’ ActiveSupport.

Instance Method Summary collapse

Instance Method Details

#extract_options!Object

Extracts options from a set of arguments. Removes and returns the last element in the array if it’s a hash, otherwise returns a blank hash.

def options(*args)
  args.extract_options!
end

options(1, 2)           # => {}
options(1, 2, :a => :b) # => {:a=>:b}


14
15
16
17
18
19
20
# File 'lib/configurable/core_ext/extract_options.rb', line 14

def extract_options!
  if last.is_a?(Hash) && last.extractable_options?
    pop
  else
    {}
  end
end

#to_args(box = true) ⇒ Object

Returns the array in a form suitable for expanding into a parameter list, that is, just the array itself.



25
26
27
# File 'lib/configurable/core_ext/extract_options.rb', line 25

def to_args(box = true)
  self
end