class Bake::Type::Any
“‘
type = Bake::Type::Any(Bake::Type::String, Bake::Type::Integer)
“`ruby
An ordered list of types. The first type to match the input is used.
def self.parse(value)
def self.parse(value) value end
def composite?
Whether any of the listed types is a composite type.
def composite? @types.any?{|type| type.composite?} end
def initialize(types)
Initialize the instance with an array of types.
def initialize(types) @types = types end
def parse(input)
Parse an input string, trying the listed types in order, returning the first one which doesn't raise an exception.
def parse(input) @types.each do |type| return type.parse(input) rescue # Ignore. end end
def to_s
def to_s "any of #{@types.join(', ')}" end
def | other
Create a copy of the current instance with the other type appended.
def | other self.class.new([*@types, other]) end