Sha256: f903fd58968f3ef6108396c866c88b2588558a00b93fd03e0492c9f5d33f3f57

Contents?: true

Size: 502 Bytes

Versions: 1

Compression:

Stored size: 502 Bytes

Contents

require 'contracts'
require 'hamster'

module Contracts
  class IsA
    def self.[](val)
      @lookup ||= {}
      @lookup[val] ||= new(val)
    end

    def initialize(val)
      @val = val
    end

    def valid?(val)
      val.is_a? @val.constantize
    end
  end

  VectorOf = ::Contracts::CollectionOf::Factory.new(::Hamster::Vector)
  ResourceList = ::Contracts::ArrayOf[IsA['Middleman::Sitemap::Resource']]
  PATH_MATCHER = Or[String, RespondTo[:match], RespondTo[:call], RespondTo[:to_s]]
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
middleman-core-4.1.0.rc.2 lib/middleman-core/contracts.rb