Sha256: b93e7825128affbfe6c7ee0bfadac59783281650fa7f5751776cc8f1c28052c3

Contents?: true

Size: 753 Bytes

Versions: 38

Compression:

Stored size: 753 Bytes

Contents

module Refine::Conditions
  class Clause
    include HasMeta

    attr_reader :id, :rules
    attr_accessor :display

    I18N_PREFIX = "refine.refine_blueprints.clause."

    def initialize(id = nil, display = nil)
      @id = id
      @display = display || id.humanize(keep_id_suffix: true).titleize
      @rules = {}
      @messages
    end

    def with_rules(user_defined_hash)
      @rules.merge!(user_defined_hash)
      self
    end

    def requires_inputs(fields)
      # Coerce field to an array
      [*fields].each do |field|
        @rules.merge!({"#{field}": I18n.t("#{I18N_PREFIX}required")})
      end
      self
    end

    def to_array
      {
        id: @id,
        display: @display,
        meta: meta
      }
    end
  end
end

Version data entries

38 entries across 38 versions & 1 rubygems

Version Path
refine-rails-2.13.5 app/models/refine/conditions/clause.rb
refine-rails-2.13.4 app/models/refine/conditions/clause.rb
refine-rails-2.13.3 app/models/refine/conditions/clause.rb
refine-rails-2.13.2 app/models/refine/conditions/clause.rb
refine-rails-2.13.1 app/models/refine/conditions/clause.rb
refine-rails-2.13.0 app/models/refine/conditions/clause.rb
refine-rails-2.12.2 app/models/refine/conditions/clause.rb
refine-rails-2.12.1 app/models/refine/conditions/clause.rb
refine-rails-2.12.0 app/models/refine/conditions/clause.rb
refine-rails-2.11.12 app/models/refine/conditions/clause.rb
refine-rails-2.11.11 app/models/refine/conditions/clause.rb
refine-rails-2.11.10 app/models/refine/conditions/clause.rb
refine-rails-2.11.9 app/models/refine/conditions/clause.rb
refine-rails-2.11.8 app/models/refine/conditions/clause.rb
refine-rails-2.11.6 app/models/refine/conditions/clause.rb
refine-rails-2.11.5 app/models/refine/conditions/clause.rb
refine-rails-2.11.4 app/models/refine/conditions/clause.rb
refine-rails-2.11.3 app/models/refine/conditions/clause.rb
refine-rails-2.11.2 app/models/refine/conditions/clause.rb
refine-rails-2.11.1 app/models/refine/conditions/clause.rb