Sha256: 6ac23df4179563b0fd111d24c15b6870ba07cf9a4c299198fbb496c5dba878de

Contents?: true

Size: 838 Bytes

Versions: 24

Compression:

Stored size: 838 Bytes

Contents

class Array
  #Find in collection where :search condition is matched and return a fields if param :get is passed
  #otherwise it return the item
  #Example1 Articles.quickly :search => {:id => 1}, :get => :title
  #Example2 People.quickly :search => {:fiscal_code => ABCDFG01H02I100J}
  def item(options={})
    #:search     => {:id => 3}
    #:get        => :name
    options = {
      :search   => nil,
      :get      => nil
    }.merge(options)
    raise "Array.trova: specify required parameters!" unless options[:search]
    self.each do |item|
      condition = nil
      options[:search].each do |label, value|
        condition = (item[label] == value)
        break unless condition
      end
      next unless condition
      return (options[:get] ? item[options[:get]] : item)
    end
    nil
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
active_leonardo-0.9.0 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.8.1 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.8.0 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.7.0 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.6.1 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.6.0 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.5.3 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.5.2 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.5.1 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.5.0 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.4.1 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.2.3 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.2.2 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.2.1 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.2.0 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.1.0 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.0.7 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.0.6 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.0.6.beta2 lib/generators/leolay/templates/lib/upd_array.rb
active_leonardo-0.0.6.beta1 lib/generators/leolay/templates/lib/upd_array.rb