class Bake::Types::Any


“‘
type = Bake::Types::Any(Bake::Types::String, Bake::Types::Integer)
“`ruby
An ordered list of types. The first type to match the input is used.

def self.parse(value)

As a class type, accepts any value.
def self.parse(value)
	value
end

def composite?

Returns:
  • (Boolean) - true if any of the listed types is `composite?`.
def composite?
	@types.any?{|type| type.composite?}
end

def initialize(types)

Parameters:
  • types (Array) -- the array of types.
def initialize(types)
	@types = types
end

def parse(input)

Parameters:
  • input (String) -- the input to parse, e.g. `"5"`.
def parse(input)
	@types.each do |type|
		return type.parse(input)
	rescue
		# Ignore.
	end
end

def to_s

Generate a readable string representation of the listed types.
def to_s
	"any of #{@types.join(', ')}"
end

def | other

Parameters:
  • other (Type) -- the type instance to append.
def | other
	self.class.new([*@types, other])
end