module Siphon::Boilerplate::InstanceMethods
Public Class Methods
new( params = {})
click to toggle source
Calls superclass method
# File lib/siphon/boilerplate.rb, line 24 def initialize( params = {}) @params = params || {} @params_ransack= @params.slice(*self.class.ransack_set) @params_siphon= @params.except(*self.class.ransack_set) self.order_by= @params["order_by"] super @params_siphon end
Public Instance Methods
merge(relation)
click to toggle source
# File lib/siphon/boilerplate.rb, line 42 def merge(relation) @relation = @relation.merge(relation) self end
ransack()
click to toggle source
# File lib/siphon/boilerplate.rb, line 38 def ransack @relation.search( params_ransack ) end
result()
click to toggle source
memoized or it'll break after attributes reconciled
# File lib/siphon/boilerplate.rb, line 52 def result @result ||= begin relation = siphoned.merge(ransack.result) # reconcile all params for the search form (?) self.attributes= attributes.merge(params_ransack) relation end end
siphoned()
click to toggle source
# File lib/siphon/boilerplate.rb, line 47 def siphoned Siphon::Base.new(@relation).scope( self ) end
table_name()
click to toggle source
# File lib/siphon/boilerplate.rb, line 34 def table_name self.class.model.table_name end