Sha256: 4d7614887b3ed64206c10dfc31e3e6f79d541e8236a6bf1b4dc3ff5baf2889cb

Contents?: true

Size: 1.9 KB

Versions: 9

Compression:

Stored size: 1.9 KB

Contents

# -*- encoding : utf-8 -*-
class Card; module Set; class Abstract
# Set: Abstract (Search)
#
module Search;
extend Card::Set
def self.source_location; "/Users/ethan/dev/decko/gem/card/mod/search/set/abstract/search.rb"; end
include_set Abstract::Paging
include_set Abstract::SearchParams
include_set Abstract::Filter

def search _args={}
  raise Error, "search not overridden"
end

def cached_search args={}
  @search_results ||= {}
  @search_results[args.to_s] ||= search args
end

def returning item, args
  args[:return] = item
  yield
end

def item_cards args={}
  args[:limit] ||= 0
  returning(:card, args) { search args }
end

def item_names args={}
  args[:limit] ||= 0
  returning(:name, args) { search args }
end

def item_ids args={}
  args[:limit] ||= 0
  returning(:id, args) { search args }
end

def count args={}
  args[:offset] = 0
  args[:limit] = 0
  returning(:count, args) { search args }
end

# for override
def item_type
  nil
end

def each_item_name_with_options _content=nil
  options = {}
  item = fetch_query.statement[:view]
  options[:view] = item if item
  item_names.each do |name|
    yield name, options
  end
end

module Format; parent.send :register_set_format, Card::Format, self; extend Card::Set::AbstractFormat
  def search_with_params
    search_with_rescue search_params
  end

  def count_with_params
    search_with_rescue search_params.merge(return: :count)
  end

  def search_with_rescue query_args
    card.cached_search query_args
  rescue Error::BadQuery => e
    e
  end

  def implicit_item_view
    view = voo_items_view || item_view_from_query || default_item_view
    Card::View.normalize view
  end

  # override if query can specify item view
  def item_view_from_query
    nil
  end

  def with_results
    return render_no_search_results if search_with_params.empty?
    yield
  end
end
end;end;end;end;
# ~~ generated from /Users/ethan/dev/decko/gem/card/mod/search/set/abstract/search.rb ~~

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
card-1.99.4 tmpsets/set/mod020-search/abstract/search.rb
card-1.99.3 tmpsets/set/mod020-search/abstract/search.rb
card-1.99.2 tmpsets/set/mod020-search/abstract/search.rb
card-1.99.1 tmpsets/set/mod020-search/abstract/search.rb
card-1.99.0 tmpsets/set/mod020-search/abstract/search.rb
card-1.98.3 tmpsets/set/mod020-search/abstract/search.rb
card-1.98.2 tmpsets/set/mod020-search/abstract/search.rb
card-1.98.1 tmpsets/set/mod020-search/abstract/search.rb
card-1.98.0 tmpsets/set/mod020-search/abstract/search.rb