Sha256: 41c90b89d600d17f11ae29e4724cf2182e1782d82fcc34dd6e963fb5eab77506

Contents?: true

Size: 1.06 KB

Versions: 9

Compression:

Stored size: 1.06 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 do |records|
        yield(records)
        Card::Cache.reset_soft
      end
    else
      super
    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

9 entries across 9 versions & 1 rubygems

Version Path
card-1.104.2 mod/core/set/all/collection.rb
card-1.104.1 mod/core/set/all/collection.rb
card-1.104.0 mod/core/set/all/collection.rb
card-1.103.4 mod/core/set/all/collection.rb
card-1.103.3 mod/core/set/all/collection.rb
card-1.103.2 mod/core/set/all/collection.rb
card-1.103.1 mod/core/set/all/collection.rb
card-1.103.0 mod/core/set/all/collection.rb
card-1.102.0 mod/core/set/all/collection.rb