20 lines
572 B
Ruby
20 lines
572 B
Ruby
|
module ActiveSupport #:nodoc:
|
||
|
module CoreExtensions #:nodoc:
|
||
|
module Array #:nodoc:
|
||
|
module ExtractOptions
|
||
|
# Extract 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}
|
||
|
def extract_options!
|
||
|
last.is_a?(::Hash) ? pop : {}
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|