Sha256: e1ddf46ab3c8681e9cfa873e2b1cf87620b7fee85754ee7644e1c8aa10511115

Contents?: true

Size: 1.15 KB

Versions: 8

Compression:

Stored size: 1.15 KB

Contents

format :html do

  view :title do |args|
    vars = root.search_params[:vars]
    if vars && vars[:keyword]
       args.merge! title: %{Search results for: <span class="search-keyword">#{ vars[:keyword] }</span>}
    end
    super args
  end
end


format :json do

  view :complete do |args|
    term = params['_keyword']
    if term =~ /^\+/ && main = params['main']
      term = main+term
    end

    exact = Card.fetch term, new: {}
    goto_cards = Card.search goto_wql(term)
    goto_cards.unshift exact.name if exact.known? && !goto_cards.map{|n| n.to_name.key}.include?(exact.key)

    {
      search: true, # card.ok?( :read ),
      add:    (exact.new_card? && exact.cardname.valid? && !exact.virtual? && exact.ok?( :create ) && exact.name),
      new:    (exact.type_id==Card::CardtypeID &&
                  Card.new(type_id: exact.type_id).ok?(:create) &&
                  [exact.name, exact.cardname.url_key]
                 ),
      goto:   goto_cards.map { |name| [name, highlight(name, term), name.to_name.url_key] }
    }

  end

  #hacky.  here for override
  def goto_wql(term)
   { complete: term, limit: 8, sort: 'name', return: 'name' }
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
card-1.16.14 mod/05_standard/set/self/search.rb
card-1.16.13 mod/05_standard/set/self/search.rb
card-1.16.12 mod/05_standard/set/self/search.rb
card-1.16.11 mod/05_standard/set/self/search.rb
card-1.16.10 mod/05_standard/set/self/search.rb
card-1.16.9 mod/05_standard/set/self/search.rb
card-1.16.8 mod/05_standard/set/self/search.rb
card-1.16.7 mod/05_standard/set/self/search.rb