Sha256: 9dd01a4268b63a739428b495e52375bfc22551448bce0fe45e1275a034c0e24a

Contents?: true

Size: 1.07 KB

Versions: 3

Compression:

Stored size: 1.07 KB

Contents

# shared methods for card collections (Pointers, Searches, Sets, etc.)
module ClassMethods
  def search spec, comment=nil, &block
    results = ::Card::Query.run(spec, comment)
    results.each(&block) if block_given? && results.is_a?(Array)
    results
  end

  def count_by_cql spec
    spec = spec.clone
    spec.delete(:offset)
    search spec.merge(return: "count")
  end

  def find_each options={}, &block
    # this is a copy from rails (3.2.16) and is needed because this
    # is performed by a relation (ActiveRecord::Relation)
    find_in_batches(options) do |records|
      records.each(&block)
    end
  end

  def find_in_batches options={}
    if block_given?
      super(options) do |records|
        yield(records)
        Card::Cache.reset_soft
      end
    else
      super(options)
    end
  end
end

def collection?
  item_cards != [self]
end

format do
  view :count do
    card.item_names.size
  end
end

format :html do
  view :carousel do
    bs_carousel unique_id, 0 do
      nest_item_array.each do |rendered_item|
        item(rendered_item)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
card-1.101.7 mod/core/set/all/collection.rb
card-1.101.6 mod/core/set/all/collection.rb
card-1.101.5 mod/core/set/all/collection.rb