Module: Queryko::Naming::ClassMethods

Defined in:
lib/queryko/naming.rb

Instance Method Summary collapse

Instance Method Details

#abstract_classObject



41
42
43
# File 'lib/queryko/naming.rb', line 41

def abstract_class
  @abstract_class = true
end

#inferred_from_class_name(klass) ⇒ Object



45
46
47
48
# 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) ⇒ Object



50
51
52
# File 'lib/queryko/naming.rb', line 50

def inferred_model(klass)
  inferred_from_class_name(klass).singularize.camelize.constantize
end

#model_class(name = nil) ⇒ Object



31
32
33
34
35
36
37
38
39
# 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) ⇒ Object



21
22
23
24
25
26
27
28
29
# 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