Sha256: 8ed3ee9b65f50cd04a631fb23383c6ef3060c67dd5e0c35e04a4d4bac1c8f259

Contents?: true

Size: 483 Bytes

Versions: 8

Compression:

Stored size: 483 Bytes

Contents

# frozen_string_literal: true

class MiniDefender::Rules::Boolean < MiniDefender::Rule
  def self.signature
    'boolean'
  end

  def coerce(value)
    case value
    when 0, '0'
      false
    when 1, '1'
      true
    else
      value
    end
  end

  def passes?(attribute, value, validator)
    value.is_a?(TrueClass) || value.is_a?(FalseClass) || [1, 0, '1', '0'].include?(value)
  end

  def message(attribute, value, validator)
    "The value must be a boolean."
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mini_defender-0.1.9 lib/mini_defender/rules/boolean.rb
mini_defender-0.1.8 lib/mini_defender/rules/boolean.rb
mini_defender-0.1.6 lib/mini_defender/rules/boolean.rb
mini_defender-0.1.4 lib/mini_defender/rules/boolean.rb
mini_defender-0.1.3 lib/mini_defender/rules/boolean.rb
mini_defender-0.1.2 lib/mini_defender/rules/boolean.rb
mini_defender-0.1.1 lib/mini_defender/rules/boolean.rb
mini_defender-0.1.0 lib/mini_defender/rules/boolean.rb