module Ansr::Model::ClassMethods
Public Instance Methods
build_default_scope()
click to toggle source
# File lib/ansr/model.rb, line 47 def build_default_scope Ansr::Relation.new(model(), table()) end
column_types()
click to toggle source
# File lib/ansr/model.rb, line 51 def column_types TypeProxy.new(table()) end
engine()
click to toggle source
# File lib/ansr/model.rb, line 39 def engine model() end
inherited(subclass)
click to toggle source
Calls superclass method
# File lib/ansr/model.rb, line 10 def inherited(subclass) super # a hack for sanitize sql overrides to work, and some others where @klass used in place of klass() subclass.instance_variable_set("@klass", subclass) # a hack for the intermediate abstract model classes to work with table_name subclass.instance_variable_set("@table_name", subclass.name) end
model()
click to toggle source
# File lib/ansr/model.rb, line 18 def model m = begin instance_variable_get "@klass" end raise "#{name()}.model() -> nil" unless m m end
references()
click to toggle source
# File lib/ansr/model.rb, line 26 def references [] end
spawn()
click to toggle source
# File lib/ansr/model.rb, line 5 def spawn s = build_default_scope s.references!(references()) end
table()
click to toggle source
# File lib/ansr/model.rb, line 30 def table type = (config[:table_class] || Ansr::Arel::BigTable) if @table # allow the table class to be reconfigured @table = nil unless @table.class == type end @table ||= type.new(self) end