Module: Discerner::Methods::Models::ParameterCategory
- Included in:
- ParameterCategory
- Defined in:
- lib/discerner/methods/models/parameter_category.rb
Class Method Summary collapse
Instance Method Summary collapse
- #css_class_name ⇒ Object
- #exportable_parameters ⇒ Object
-
#initialize(*args) ⇒ Object
Instance Methods.
- #parameterized_name ⇒ Object
- #searchable_parameters ⇒ Object
Class Method Details
.included(base) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/discerner/methods/models/parameter_category.rb', line 5 def self.included(base) base.send :include, SoftDelete # Associations base.send :belongs_to, :dictionary, inverse_of: :parameter_categories base.send :has_many, :parameters, inverse_of: :parameter_category, dependent: :destroy # Validations base.send :validates, :name, presence: true, uniqueness: { scope: :dictionary_id, message: "for parameter category has already been taken"} base.send :validates, :dictionary, presence: { message: "for parameter category can't be blank" } # Scopes base.send(:scope, :searchable, -> {base.includes(:parameters).where('discerner_parameters.search_model IS NOT NULL AND discerner_parameters.search_method IS NOT NULL AND discerner_parameters.deleted_at IS NULL AND discerner_parameters.hidden_in_search = ?', false).references(:discerner_parameters)}) base.send(:scope, :exportable, -> {base.includes(:parameters).where('discerner_parameters.export_model IS NOT NULL AND discerner_parameters.export_method IS NOT NULL AND discerner_parameters.deleted_at IS NULL AND discerner_parameters.hidden_in_export = ?', false).references(:discerner_parameters)}) base.send(:scope, :ordered_by_name, -> {base.order('discerner_parameter_categories.name ASC')}) # Hooks base.send :after_commit, :cascade_delete_parameters, on: :update, if: Proc.new { |record| record.previous_changes.include?('deleted_at') } end |
Instance Method Details
#css_class_name ⇒ Object
42 43 44 |
# File 'lib/discerner/methods/models/parameter_category.rb', line 42 def css_class_name "parameter_category_#{parameterized_name}" end |
#exportable_parameters ⇒ Object
38 39 40 |
# File 'lib/discerner/methods/models/parameter_category.rb', line 38 def exportable_parameters parameters.exportable end |
#initialize(*args) ⇒ Object
Instance Methods
26 27 28 |
# File 'lib/discerner/methods/models/parameter_category.rb', line 26 def initialize(*args) super(*args) end |
#parameterized_name ⇒ Object
30 31 32 |
# File 'lib/discerner/methods/models/parameter_category.rb', line 30 def parameterized_name name.parameterize.underscore end |
#searchable_parameters ⇒ Object
34 35 36 |
# File 'lib/discerner/methods/models/parameter_category.rb', line 34 def searchable_parameters parameters.searchable end |