module Discerner::Methods::Models::Dictionary
Public Class Methods
included(base)
click to toggle source
# File lib/discerner/methods/models/dictionary.rb, line 5 def self.included(base) base.send :include, SoftDelete # Associations base.send :has_many, :parameter_categories, dependent: :destroy base.send :has_many, :searches #Validations base.send :validates, :name, presence: true, uniqueness: {message: "for dictionary has already been taken"} # Hooks base.send :after_commit, :cascade_delete_parameter_categories, on: :update, if: Proc.new { |record| record.previous_changes.include?('deleted_at') } end
new(*args)
click to toggle source
Instance Methods
Calls superclass method
# File lib/discerner/methods/models/dictionary.rb, line 20 def initialize(*args) super(*args) end
Public Instance Methods
css_class_name()
click to toggle source
# File lib/discerner/methods/models/dictionary.rb, line 24 def css_class_name "dictionary_#{parameterized_name}" end
exportable_categories()
click to toggle source
# File lib/discerner/methods/models/dictionary.rb, line 36 def exportable_categories parameter_categories.exportable end
parameterized_name()
click to toggle source
# File lib/discerner/methods/models/dictionary.rb, line 28 def parameterized_name name.parameterize.underscore end
searchable_categories()
click to toggle source
# File lib/discerner/methods/models/dictionary.rb, line 32 def searchable_categories parameter_categories.searchable end
Private Instance Methods
cascade_delete_parameter_categories()
click to toggle source
# File lib/discerner/methods/models/dictionary.rb, line 41 def cascade_delete_parameter_categories return unless deleted? parameter_categories.each do |pc| pc.deleted_at = Time.now pc.save end end