module Queryko::Naming::ClassMethods

Public Instance Methods

abstract_class() click to toggle source
# File lib/queryko/naming.rb, line 41
def abstract_class
  @abstract_class = true
end
inferred_from_class_name(klass) click to toggle source
# File lib/queryko/naming.rb, line 45
def inferred_from_class_name(klass)
  # class names should be in plural form by default. No need to tableize
  klass.name.chomp('Query').split('::').last.underscore
end
inferred_model(klass) click to toggle source
# File lib/queryko/naming.rb, line 50
def inferred_model(klass)
  inferred_from_class_name(klass).singularize.camelize.constantize
end
model_class(name = nil) click to toggle source
# File lib/queryko/naming.rb, line 31
def model_class(name = nil)
  if name
    self.defined_model_class = name.to_s.constantize
  elsif self.defined_model_class.nil?
    self.defined_model_class = inferred_model(self)
  end

  return self.defined_model_class
end
table_name(name = nil) click to toggle source
# File lib/queryko/naming.rb, line 21
def table_name(name = nil)
  if name
    self.defined_table_name = name.to_s
  elsif self.defined_table_name.nil?
    self.defined_table_name = inferred_from_class_name(self)
  end

  return self.defined_table_name
end