Sha256: 572cd782a9cde73c510baa9bf2edd5341b6bf9a31abd79aaa0df74ebf0183d95

Contents?: true

Size: 448 Bytes

Versions: 5

Compression:

Stored size: 448 Bytes

Contents

require 'cross-stub/arguments/hash'
require 'cross-stub/arguments/array'
require 'cross-stub/arguments/proc'

module CrossStub
  module Arguments #:nodoc:
    class << self

      def parse(args, &block)
        (
          case args[0]
          when ::Hash then Hash.parse(args[0])
          when ::Symbol then Array.parse(args)
          else {}
          end
        ).merge(block_given? ? Proc.parse(&block) : {})
      end

    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cross-stub-0.2.4 lib/cross-stub/arguments.rb
cross-stub-0.2.3 lib/cross-stub/arguments.rb
cross-stub-0.2.2 lib/cross-stub/arguments.rb
cross-stub-0.2.1 lib/cross-stub/arguments.rb
cross-stub-0.2.0 lib/cross-stub/arguments.rb