Sha256: 85302845cb3e6f03cd59bff8e52810db70aeed4628bccc8dcb33b98eb38063f9

Contents?: true

Size: 543 Bytes

Versions: 5

Compression:

Stored size: 543 Bytes

Contents

module Virtus
  class Coercion

    # Coerce Object values
    class Object < Coercion
      primitive ::Object

      COERCION_METHOD_REGEXP = /\Ato_/.freeze

      # Passthrough given value
      #
      # @param [Object] value
      #
      # @return [Object]
      #
      # @api private
      def self.method_missing(method, *args)
        if method.to_s =~ COERCION_METHOD_REGEXP && args.size == 1
          args.first
        else
          super
        end
      end

    end # class Object
  end # class Coercion
end # module Virtus

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
virtus-0.2.0 lib/virtus/coercion/object.rb
virtus-0.1.0 lib/virtus/coercion/object.rb
virtus-0.0.10 lib/virtus/coercion/object.rb
virtus-0.0.9 lib/virtus/coercion/object.rb
virtus-0.0.8 lib/virtus/coercion/object.rb