aboutsummaryrefslogblamecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/array/extract_options.rb
blob: 9ca32dc7aa445c80b4744e6219a85835203e9021 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12











                                                                          

     
class Array
  # 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}
  def extract_options!
    last.is_a?(::Hash) ? pop : {}
  end
end