Module: Queryko::Naming::ClassMethods

Defined in:
lib/queryko/naming.rb

Instance Method Summary collapse

Instance Method Details

#abstract_classObject



43
44
45
# File 'lib/queryko/naming.rb', line 43

def abstract_class
  @abstract_class = true
end

#inferred_from_class_name(klass) ⇒ Object



47
48
49
50
# File 'lib/queryko/naming.rb', line 47

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



52
53
54
# File 'lib/queryko/naming.rb', line 52

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
40
41
# 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

  # require 'byebug'
  # byebug
  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