Class: ActiveRecord::Events::Naming

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record/events/naming.rb

Instance Method Summary collapse

Constructor Details

#initialize(infinitive, options = {}) ⇒ Naming

Returns a new instance of Naming.



6
7
8
9
10
11
# File 'lib/active_record/events/naming.rb', line 6

def initialize(infinitive, options = {})
  @infinitive = infinitive
  @object = options[:object].presence
  @field_name = options[:field_name].to_s
  @field_type = options[:field_type].try(:to_sym)
end

Instance Method Details

#actionObject



37
38
39
# File 'lib/active_record/events/naming.rb', line 37

def action
  concatenate(infinitive, object)
end

#boolean_attributeObject



25
26
27
# File 'lib/active_record/events/naming.rb', line 25

def boolean_attribute
  concatenate('is', object, past_participle)
end

#collective_actionObject



53
54
55
# File 'lib/active_record/events/naming.rb', line 53

def collective_action
  concatenate(infinitive, 'all', plural_object)
end

#fieldObject



13
14
15
16
17
18
19
# File 'lib/active_record/events/naming.rb', line 13

def field
  return field_name if field_name.present?

  suffix = field_type == :date ? 'on' : 'at'

  concatenate(object, past_participle, suffix)
end

#field_database_typeObject



21
22
23
# File 'lib/active_record/events/naming.rb', line 21

def field_database_type
  field_type || :datetime
end

#inverse_actionObject



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

def inverse_action
  concatenate('not', infinitive, object)
end

#inverse_predicateObject



33
34
35
# File 'lib/active_record/events/naming.rb', line 33

def inverse_predicate
  concatenate(object, 'not', past_participle) + '?'
end

#inverse_safe_actionObject



49
50
51
# File 'lib/active_record/events/naming.rb', line 49

def inverse_safe_action
  concatenate('not', infinitive, object) + '!'
end

#inverse_scopeObject



61
62
63
# File 'lib/active_record/events/naming.rb', line 61

def inverse_scope
  concatenate(object, 'not', past_participle)
end

#predicateObject



29
30
31
# File 'lib/active_record/events/naming.rb', line 29

def predicate
  concatenate(object, past_participle) + '?'
end

#safe_actionObject



45
46
47
# File 'lib/active_record/events/naming.rb', line 45

def safe_action
  concatenate(infinitive, object) + '!'
end

#scopeObject



57
58
59
# File 'lib/active_record/events/naming.rb', line 57

def scope
  concatenate(object, past_participle)
end