Module: Discerner::Methods::Models::Operator

Included in:
Operator
Defined in:
lib/discerner/methods/models/operator.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/operator.rb', line 5

def self.included(base)
  base.send :include, SoftDelete

  # Associations
  base.send :has_many,                :search_parameter_values, inverse_of: :operator
  base.send :has_many,                :search_combinations,     inverse_of: :operator
  base.send :has_and_belongs_to_many, :parameter_types, join_table: :discerner_operators_parameter_types

  # Validations
  base.send :validates, :symbol, presence: true, uniqueness: {message: "for operator has already been taken"}
  base.send :validates, :operator_type, presence: true
  base.send :validate,  :type_supported?
end

Instance Method Details

#css_class_nameObject



24
25
26
27
28
# File 'lib/discerner/methods/models/operator.rb', line 24

def css_class_name
  css_class = parameter_types.map{ |t| t.name }
  css_class << operator_type unless operator_type.blank?
  css_class.join(' ')
end

#initialize(*args) ⇒ Object

Instance Methods



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

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