class Vorpal::Dsl::DefaultsGenerator

Public Class Methods

new(domain_class, db_driver) click to toggle source
# File lib/vorpal/dsl/defaults_generator.rb, line 9
def initialize(domain_class, db_driver)
  @domain_class = domain_class
  @db_driver = db_driver
end

Public Instance Methods

associated_class(association_name) click to toggle source
# File lib/vorpal/dsl/defaults_generator.rb, line 38
def associated_class(association_name)
  module_parent.const_get(ActiveSupport::Inflector.classify(association_name.to_s))
end
build_db_class(user_table_name) click to toggle source
# File lib/vorpal/dsl/defaults_generator.rb, line 14
def build_db_class(user_table_name)
  @db_driver.build_db_class(@domain_class, user_table_name || table_name)
end
deserializer(attrs) click to toggle source
# File lib/vorpal/dsl/defaults_generator.rb, line 28
def deserializer(attrs)
  Class.new(SimpleSerializer::Deserializer) do
    object_attributes *attrs
  end
end
foreign_key(name) click to toggle source
# File lib/vorpal/dsl/defaults_generator.rb, line 34
def foreign_key(name)
  ActiveSupport::Inflector.foreign_key(name.to_s)
end
serializer(attrs) click to toggle source
# File lib/vorpal/dsl/defaults_generator.rb, line 22
def serializer(attrs)
  Class.new(SimpleSerializer::Serializer) do
    hash_attributes *attrs
  end
end
table_name() click to toggle source
# File lib/vorpal/dsl/defaults_generator.rb, line 18
def table_name
  ActiveSupport::Inflector.tableize(@domain_class.name)
end

Private Instance Methods

module_parent() click to toggle source
# File lib/vorpal/dsl/defaults_generator.rb, line 44
def module_parent
  if (ActiveSupport::VERSION::MAJOR == 5)
    # Module#parent comes from 'active_support/core_ext/module/introspection'
    @domain_class.parent
  else
    # Module#module_parent comes from 'active_support/core_ext/module/introspection'
    @domain_class.module_parent
  end
end