Module: Discerner::Methods::Models::Dictionary

Included in:
Dictionary
Defined in:
lib/discerner/methods/models/dictionary.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# 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

Instance Method Details

#css_class_nameObject



24
25
26
# File 'lib/discerner/methods/models/dictionary.rb', line 24

def css_class_name
  "dictionary_#{parameterized_name}"
end

#exportable_categoriesObject



36
37
38
# File 'lib/discerner/methods/models/dictionary.rb', line 36

def exportable_categories
  parameter_categories.exportable
end

#initialize(*args) ⇒ Object

Instance Methods



20
21
22
# File 'lib/discerner/methods/models/dictionary.rb', line 20

def initialize(*args)
  super(*args)
end

#parameterized_nameObject



28
29
30
# File 'lib/discerner/methods/models/dictionary.rb', line 28

def parameterized_name
  name.parameterize.underscore
end

#searchable_categoriesObject



32
33
34
# File 'lib/discerner/methods/models/dictionary.rb', line 32

def searchable_categories
  parameter_categories.searchable
end