module Riveter::Enquiry
Attributes
query[R]
Public Class Methods
i18n_scope()
click to toggle source
# File lib/riveter/enquiry.rb, line 12 def i18n_scope :enquiries end
new()
click to toggle source
# File lib/riveter/enquiry.rb, line 79 def initialize # sanity check base_message = "#{self.class.name} enquiry not configured correctly." raise "#{base_message} No query filter specified. Use the `filter_with` method to provide the query filter to use." unless self.class.respond_to?(:query_filter_class) raise "#{base_message} No query specified. Use the `query_with` method to provide the query to use." unless self.class.respond_to?(:query_class) end
Public Instance Methods
find_each(&block)
click to toggle source
# File lib/riveter/enquiry.rb, line 110 def find_each(&block) self.query && self.query.find_each(&block) end
has_data?()
click to toggle source
# File lib/riveter/enquiry.rb, line 114 def has_data? self.query && self.query.has_data? end
query_filter()
click to toggle source
# File lib/riveter/enquiry.rb, line 86 def query_filter @query_filter ||= query_filter_class.new() end
Also aliased as: filter
query_filter_attributes()
click to toggle source
# File lib/riveter/enquiry.rb, line 91 def query_filter_attributes query_filter_class.attributes end
query_results()
click to toggle source
# File lib/riveter/enquiry.rb, line 118 def query_results self.query ? self.query.relation : nil end
submit(*args)
click to toggle source
# File lib/riveter/enquiry.rb, line 95 def submit(*args) params = args.extract_options! # filter and clean params before applying @query_filter = create_query_filter(params) # perform validations, and proceed if valid return false unless @query_filter.valid? # all good... @query = create_query(@query_filter) end
Protected Instance Methods
create_query(query_filter)
click to toggle source
# File lib/riveter/enquiry.rb, line 128 def create_query(query_filter) query_class.new(query_filter) end
create_query_filter(params)
click to toggle source
# File lib/riveter/enquiry.rb, line 124 def create_query_filter(params) query_filter_class.new(params) end