Sha256: 528fa91849f958d9f5dd33793be034957cca83082db56c1e91e961cbf8ac615b

Contents?: true

Size: 701 Bytes

Versions: 33

Compression:

Stored size: 701 Bytes

Contents

# frozen_string_literal: true

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

  def coerce(value)
    value = value.downcase if value.is_a?(String)
    case value
    when 0, '0', 'no', 'off', 'false'
      false
    when 1, '1', 'yes', 'on', 'true'
      true
    else
      value
    end
  end

  def passes?(attribute, value, validator)
    value = value.downcase if value.is_a?(String)
    value.is_a?(TrueClass) || value.is_a?(FalseClass) ||
      [1, 0, '1', '0', 'yes', 'no', 'on', 'off', 'true', 'false'].include?(value)
  end

  def message(attribute, value, validator)
    'The value must be a boolean, yes, no, on, off, 0 or 1.'
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

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