Module: Discerner::Methods::Models::Parameter
- Included in:
- Parameter
- Defined in:
- lib/discerner/methods/models/parameter.rb
Class Method Summary collapse
Instance Method Summary collapse
- #css_class_name ⇒ Object
- #display_name ⇒ Object
-
#initialize(*args) ⇒ Object
Instance Methods.
- #used_in_search? ⇒ Boolean
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 24 25 26 27 28 |
# File 'lib/discerner/methods/models/parameter.rb', line 5 def self.included(base) base.send :include, SoftDelete # Associations base.send :belongs_to, :parameter_category, inverse_of: :parameters base.send :belongs_to, :parameter_type, inverse_of: :parameters base.send :has_many, :parameter_values, inverse_of: :parameter, dependent: :destroy base.send :has_many, :search_parameters, inverse_of: :parameter, dependent: :destroy base.send :has_many, :export_parameters, inverse_of: :parameter, dependent: :destroy base.send :has_many, :parameter_value_categories, inverse_of: :parameter, dependent: :destroy #Validations base.send :validates, :name, :unique_identifier, :parameter_category, presence: { message: "for parameter can't be blank" } base.send :validate, :validate_unique_identifier base.send :validate, :validate_search_attributes base.send :validate, :validate_export_attributes # Scopes base.send(:scope, :searchable, -> {base.not_deleted.where('search_model is not null and search_method is not null and hidden_in_search = ?', false)}) base.send(:scope, :exportable, -> {base.not_deleted.where('export_model is not null and export_method is not null and hidden_in_export = ?', false)}) # Hooks base.send :after_commit, :cascade_delete_parameter_values, on: :update, if: Proc.new { |record| record.previous_changes.include?('deleted_at') } end |
Instance Method Details
#css_class_name ⇒ Object
43 44 45 46 47 |
# File 'lib/discerner/methods/models/parameter.rb', line 43 def css_class_name css_class_array = [parameter_type.name, parameter_category.css_class_name, parameter_category.dictionary.css_class_name] css_class_array << 'exclusive' if exclusive css_class_array.join(' ') end |
#display_name ⇒ Object
39 40 41 |
# File 'lib/discerner/methods/models/parameter.rb', line 39 def display_name "#{parameter_category.name} - #{name}" end |
#initialize(*args) ⇒ Object
Instance Methods
31 32 33 |
# File 'lib/discerner/methods/models/parameter.rb', line 31 def initialize(*args) super(*args) end |
#used_in_search? ⇒ Boolean
35 36 37 |
# File 'lib/discerner/methods/models/parameter.rb', line 35 def used_in_search? search_parameters.any? || export_parameters.any? end |