class Troles::Adapters::ActiveRecord::Config
Attributes
models[R]
Public Class Methods
new(subject_class, options = {})
click to toggle source
Calls superclass method
Troles::Common::Config::new
# File lib/troles/adapters/active_record/config.rb, line 6 def initialize subject_class, options = {} super puts "models classes: #{subject_class}, #{object_model}, #{join_model}" @models = ::Schemaker::Models.new(subject_class, object_model, join_model) end
Public Instance Methods
configure_field()
click to toggle source
AR sets this up ont its own using DB Table info
# File lib/troles/adapters/active_record/config.rb, line 25 def configure_field end
configure_relation()
click to toggle source
# File lib/troles/adapters/active_record/config.rb, line 12 def configure_relation case strategy when :join_ref_many configure_join_model when :ref_many return configure_join_model if join_model? subject.quick_join when :embed_many raise "Embed many configuration not yet implemented for ActiveRecord" end end
Protected Instance Methods
configure_join_model()
click to toggle source
# File lib/troles/adapters/active_record/config.rb, line 63 def configure_join_model if Troles::Common::Config.log_on? puts "configuring join model..." puts "Subject class: #{subject_class}" puts "Role class: #{object_model}" puts "Join class: #{join_model}" end [:object, :subject, :join].each do |type| clazz = "Schemaker::#{type.to_s.camelize}Model".constantize clazz.new(model).configure end end
join_key()
click to toggle source
# File lib/troles/adapters/active_record/config.rb, line 59 def join_key make_key join_model end
join_model()
click to toggle source
# File lib/troles/adapters/active_record/config.rb, line 38 def join_model @join_model_found ||= begin find_first_class(@join_model, join_model_best_guess) end rescue ClassExt::ClassNotFoundError nil end
join_model=(model_class)
click to toggle source
# File lib/troles/adapters/active_record/config.rb, line 54 def join_model= model_class @join_model = model_class and return if model_class.any_kind_of?(Class, String, Symbol) raise "The join model must be a Class, was: #{model_class}" end
join_model?()
click to toggle source
# File lib/troles/adapters/active_record/config.rb, line 46 def join_model? join_model end
join_model_best_guess()
click to toggle source
# File lib/troles/adapters/active_record/config.rb, line 50 def join_model_best_guess "#{subject_class.to_s.pluralize}#{object_model.to_s.pluralize}" end
main_field()
click to toggle source
# File lib/troles/adapters/active_record/config.rb, line 34 def main_field role_field end
subject()
click to toggle source
# File lib/troles/adapters/active_record/config.rb, line 30 def subject @subject ||= models.subject_model end