Sha256: a4c66fb20b3f1e6ceea8175a9a6cb1d1cb2b8d8b78ef32a2697a04b2eef85c27

Contents?: true

Size: 568 Bytes

Versions: 41

Compression:

Stored size: 568 Bytes

Contents

# frozen_string_literal: true

class MiniDefender::Rules::In < MiniDefender::Rule
  def initialize(values)
    raise ArgumentError, 'Expected an array of values.' unless values.is_a?(Array)

    @values = values
  end

  def self.signature
    'in'
  end

  def self.make(args)
    raise ArgumentError, 'Expected at least one argument.' unless args.length > 0

    new(args)
  end

  def passes?(attribute, value, validator)
    @values.include?(value)
  end

  def message(attribute, value, validator)
    "The value must be one of #{@values.to_sentence}."
  end
end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
mini_defender-0.6.8 lib/mini_defender/rules/in.rb
mini_defender-0.6.7 lib/mini_defender/rules/in.rb
mini_defender-0.6.5 lib/mini_defender/rules/in.rb
mini_defender-0.6.4 lib/mini_defender/rules/in.rb
mini_defender-0.6.3 lib/mini_defender/rules/in.rb
mini_defender-0.6.2 lib/mini_defender/rules/in.rb
mini_defender-0.6.1 lib/mini_defender/rules/in.rb
mini_defender-0.6.0 lib/mini_defender/rules/in.rb
mini_defender-0.5.8 lib/mini_defender/rules/in.rb
mini_defender-0.5.7 lib/mini_defender/rules/in.rb
mini_defender-0.5.6 lib/mini_defender/rules/in.rb
mini_defender-0.5.5 lib/mini_defender/rules/in.rb
mini_defender-0.5.4 lib/mini_defender/rules/in.rb
mini_defender-0.5.3 lib/mini_defender/rules/in.rb
mini_defender-0.5.2 lib/mini_defender/rules/in.rb
mini_defender-0.5.1 lib/mini_defender/rules/in.rb
mini_defender-0.5.0 lib/mini_defender/rules/in.rb
mini_defender-0.4.1 lib/mini_defender/rules/in.rb
mini_defender-0.4.0 lib/mini_defender/rules/in.rb
mini_defender-0.3.14 lib/mini_defender/rules/in.rb