module Discerner::Methods::Models::Operator
Public Class Methods
included(base)
click to toggle source
# 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
new(*args)
click to toggle source
Instance Methods
Calls superclass method
# File lib/discerner/methods/models/operator.rb, line 20 def initialize(*args) super(*args) end
Public Instance Methods
css_class_name()
click to toggle source
# 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
Private Instance Methods
type_supported?()
click to toggle source
# File lib/discerner/methods/models/operator.rb, line 31 def type_supported? return if self.operator_type.blank? supported_types = ['comparison', 'text_comparison', 'range', 'list', 'presence'] errors.add(:base,"Operator type '#{self.operator_type}' is not supported, please use one of the following types: #{supported_types.join(', ')}") unless supported_types.include?(self.operator_type) end