Sha256: 6bcc5c820bd5c36ed47dba534f027b6faac43d188956aec9d37f6e8cb7135039

Contents?: true

Size: 731 Bytes

Versions: 18

Compression:

Stored size: 731 Bytes

Contents

# frozen_string_literal: true

module Runby
  module Utility
    # Helps sanitize method parameters. (See RSpec documentation for examples)
    class ParameterSanitizer
      attr_reader :parameter

      def initialize(parameter)
        @parameter = parameter
      end

      def self.sanitize(parameter)
        ParameterSanitizer.new parameter
      end

      def as(type)
        return @parameter if @parameter.is_a?(type)
        raise "Unable to sanitize parameter of type #{type}. Missing 'parse' method." unless type.respond_to? :parse
        type.parse(@parameter)
      end
    end
  end

  # Just a shortcut method
  def self.sanitize(parameter)
    Runby::Utility::ParameterSanitizer.sanitize(parameter)
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
runby_pace-0.62.7 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.62.5 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.62.4 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.62.3 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.62.2 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.2.50.111 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.61.160 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.61.159 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.61.158 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.61.157 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.61.156 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.61.155 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.61.154 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.61.153 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.6.152 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.6.151 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.6.150 lib/runby_pace/utility/parameter_sanitizer.rb
runby_pace-0.6.149 lib/runby_pace/utility/parameter_sanitizer.rb