Class: Infold::SearchCondition
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Infold::SearchCondition
- Defined in:
- app/models/infold/search_condition.rb
Instance Attribute Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#model ⇒ Object
54 55 56 |
# File 'app/models/infold/search_condition.rb', line 54 def model @model ||= model_column&.model end |
Instance Method Details
#enable_form_kinds ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'app/models/infold/search_condition.rb', line 20 def enable_form_kinds return nil if model_column.blank? if model_column.is_foreign_key? { self.class.form_kinds_i18n["reference"] => "reference" } else _kinds = case model_column.kind.to_sym when :enum [:check, :select] when :boolean [:check] else [:text] end self.class.form_kinds_i18n.invert.select{ |k,v| _kinds.include?(v.to_sym) } end end |
#enable_signs ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'app/models/infold/search_condition.rb', line 38 def enable_signs return [] if model_column.blank? if model_column.is_foreign_key? { self.class.signs_i18n["eq"] => "eq" } elsif model_column.kind_enum? && form_kind_check? { self.class.signs_i18n["any"] => "any" } else case model_column.kind.to_sym when :enum, :boolean { self.class.signs_i18n["eq"] => "eq" } else self.class.signs_i18n.invert end end end |
#model_id ⇒ Object
58 59 60 |
# File 'app/models/infold/search_condition.rb', line 58 def model_id model&.id end |