class Civil::Array

Public Class Methods

new(*args, &block) click to toggle source
Calls superclass method
# File lib/civil/array.rb, line 3
def initialize(*args, &block)
  if args[0].is_a? ::Array
    args[0] = args[0].map { |e| e.is_a?(::Hash) ? Civil::Hash.new.merge(e) : e }
  end

  super
end

Public Instance Methods

<<(o) click to toggle source
Calls superclass method
# File lib/civil/array.rb, line 11
def <<(o)
  o and o.is_a?(::Hash) and o = Civil::Hash.new.merge(o)

  super
end
pluck(key) click to toggle source
# File lib/civil/array.rb, line 25
def pluck(key)
  raise ArgumentError, "key must be a symbol" unless key.is_a? Symbol

  self.inject(Civil::Array.new) { |arr, item|
    item.is_a?(Civil::Hash) and arr << item[key]

    arr
  }
end
where(attrs) click to toggle source
# File lib/civil/array.rb, line 17
def where(attrs)
  self.inject(Civil::Array.new) { |arr, item|
    item.is_a?(Civil::Hash) and item =~ attrs and arr << item

    arr
  }
end