Sha256: d3addd167ab82114c336ef605ecfd845876b4cc0b7284a9a22cd673a24d75823

Contents?: true

Size: 1.12 KB

Versions: 60

Compression:

Stored size: 1.12 KB

Contents

# Search operation with {Metasploit::Model::Search::Operation::Base#operator} with `#type` `:boolean`.  Validates that
# value is a proper boolean (`false` or `true`) or the `String` version of either.
class Metasploit::Model::Search::Operation::Boolean < Metasploit::Model::Search::Operation::Base
  #
  # CONSTANTS
  #

  # Take a String formatted {#value} and returns its unformatted value for validation.
  FORMATTED_VALUE_TO_VALUE = {
      'false' => false,
      'true' => true
  }

  #
  # Validations
  #

  validates :value,
            :inclusion => {
                :in => [
                    false,
                    true
                ],
                :message => :boolean
            }

  # Sets {Metasploit::Model::Search::Operation::Base#value} by type casting String boolean to actual `false` or `true`.
  #
  # @param formatted_value [Object]
  # @return [false] if `formatted_value` is `'false'`.
  # @return [true] if `formatted_value` is `'true'`.
  # @return [Object] `formatted_value` otherwise.
  def value=(formatted_value)
    @value = FORMATTED_VALUE_TO_VALUE.fetch(formatted_value, formatted_value)
  end
end

Version data entries

60 entries across 60 versions & 1 rubygems

Version Path
metasploit-model-5.0.2 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-5.0.1 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-5.0.0 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-4.0.6 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-4.0.5 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-4.0.4 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-4.0.3 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-4.0.2 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-4.0.1 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-4.0.0 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-3.1.4 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-3.1.3 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-3.1.2 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-3.1.1 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-3.1.0 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-3.0.0 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-2.0.4 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-2.0.3 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-2.0.2 app/models/metasploit/model/search/operation/boolean.rb
metasploit-model-2.0.1 app/models/metasploit/model/search/operation/boolean.rb