Sha256: 91f0a6d5b06f458fd140ce38ca61141f168c266f49a629e5fa76492901295cb0

Contents?: true

Size: 664 Bytes

Versions: 17

Compression:

Stored size: 664 Bytes

Contents

module Moysklad::Resources::WhereFilter

  # Возвращает список элементов по переданному фильтру.
  # Например:
  # > universe.features.where goodUuid: uuid
  #
  # @return [Array of Moysklad::Entities::Base]
  #
  def where filter
    values.select { |v| filtered? v, filter }
  end

  # Возвращает первый найденный по фильтру элемент или
  # nil
  #
  # @return Moysklad::Entities::Base || nil
  def findWhere filter
    where(filter).first
  end

  private

  def filtered? o, filter={}
    filter.select { |k,v| o.send(k)==v }.count == filter.keys.count
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
moysklad-0.5 lib/moysklad/resources/where_filter.rb
moysklad-0.4.10 lib/moysklad/resources/where_filter.rb
moysklad-0.4.9 lib/moysklad/resources/where_filter.rb
moysklad-0.4.8 lib/moysklad/resources/where_filter.rb
moysklad-0.4.7 lib/moysklad/resources/where_filter.rb
moysklad-0.4.6 lib/moysklad/resources/where_filter.rb
moysklad-0.4.5 lib/moysklad/resources/where_filter.rb
moysklad-0.4.4 lib/moysklad/resources/where_filter.rb
moysklad-0.4.3 lib/moysklad/resources/where_filter.rb
moysklad-0.4.2 lib/moysklad/resources/where_filter.rb
moysklad-0.4.1 lib/moysklad/resources/where_filter.rb
moysklad-0.4.0 lib/moysklad/resources/where_filter.rb
moysklad-0.3.4 lib/moysklad/resources/where_filter.rb
moysklad-0.3.3 lib/moysklad/resources/where_filter.rb
moysklad-0.3.2 lib/moysklad/resources/where_filter.rb
moysklad-0.3.1 lib/moysklad/resources/where_filter.rb
moysklad-0.3.0 lib/moysklad/resources/where_filter.rb