Sha256: b58367523eac769230d367636886599e21e9da9cc0be1044af61a6229704a3dd

Contents?: true

Size: 327 Bytes

Versions: 8

Compression:

Stored size: 327 Bytes

Contents

module GoldenFleece
  class Type
    attr_reader :name, :classes

    def initialize(name, *classes)
      @name = name.to_sym
      @classes = classes
    end

    def matches?(value)
      classes.any? { |klass| value.is_a? klass }
    end

    def to_s
      ":#{name}"
    end

    def inspect
      to_s
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
golden_fleece-1.0.1 lib/golden_fleece/type.rb
golden_fleece-1.0.0 lib/golden_fleece/type.rb
golden_fleece-0.1.5 lib/golden_fleece/type.rb
golden_fleece-0.1.4 lib/golden_fleece/type.rb
golden_fleece-0.1.3 lib/golden_fleece/type.rb
golden_fleece-0.1.2 lib/golden_fleece/type.rb
golden_fleece-0.1.1 lib/golden_fleece/type.rb
golden_fleece-0.1.0 lib/golden_fleece/type.rb