Sha256: ad6166241be531ae36458cfec0863bc5c2829f8a8934d44a8fbe52f27566b575
Contents?: true
Size: 1.44 KB
Versions: 3
Compression:
Stored size: 1.44 KB
Contents
class SearchEngine < ActiveRecord::Base attr_accessible :name, :display_name, :url, :base_url, :http_method, :query_param, :additional_param, :note default_scope { order('search_engines.position') } acts_as_list validates :name, presence: true validates :query_param, presence: true validates :http_method, presence: true, inclusion: %w(get post) validates :url, presence: true, url: true, length: { maximum: 255 } validates :base_url, presence: true, url: true, length: { maximum: 255 } after_save :clear_all_cache after_destroy :clear_all_cache paginates_per 10 def clear_all_cache Rails.cache.delete('search_engine_all') end def search_params(query) params = {} if additional_param additional_param.gsub('{query}', query).to_s.split.each do |param| p = param.split('=') params[p[0].to_sym] = p[1] end return params end end end # == Schema Information # # Table name: search_engines # # id :integer not null, primary key # name :string(255) not null # display_name :text # url :string(255) not null # base_url :text not null # http_method :text not null # query_param :text not null # additional_param :text # note :text # position :integer # created_at :datetime not null # updated_at :datetime not null #
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
enju_library-0.1.0.pre39 | app/models/search_engine.rb |
enju_library-0.1.0.pre38 | app/models/search_engine.rb |
enju_library-0.1.0.pre37 | app/models/search_engine.rb |