Class: ActionTracker::Models::ApplicationRecord

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Validations
Defined in:
lib/action_tracker/models/application_record.rb

Direct Known Subclasses

Payload, StatisticRecord, TransitionRecord, User

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.infer_model_nameObject



22
23
24
25
26
27
# File 'lib/action_tracker/models/application_record.rb', line 22

def self.infer_model_name
  class_name = name.split('::').last
  return :form if class_name == 'Form'

  class_name.chomp('Form').underscore.to_sym
end

.mimic(model_name) ⇒ Object



14
15
16
# File 'lib/action_tracker/models/application_record.rb', line 14

def self.mimic(model_name)
  @model_name = model_name.to_s.underscore.to_sym
end

.mimicked_model_nameObject



18
19
20
# File 'lib/action_tracker/models/application_record.rb', line 18

def self.mimicked_model_name
  @model_name || infer_model_name
end

.model_nameObject



29
30
31
# File 'lib/action_tracker/models/application_record.rb', line 29

def self.model_name
  ActiveModel::Name.new(self, nil, mimicked_model_name.to_s.camelize)
end

Instance Method Details

#model_nameObject



33
34
35
# File 'lib/action_tracker/models/application_record.rb', line 33

def model_name
  self.class.model_name
end

#present_attributesObject



41
42
43
# File 'lib/action_tracker/models/application_record.rb', line 41

def present_attributes
  attributes.reject { |_key, value| value.blank? }
end

#to_keyObject



37
38
39
# File 'lib/action_tracker/models/application_record.rb', line 37

def to_key
  [id]
end