Module: Yoda::Model::Types

Defined in:
lib/yoda/model/types.rb,
lib/yoda/model/types/base.rb,
lib/yoda/model/types/any_type.rb,
lib/yoda/model/types/duck_type.rb,
lib/yoda/model/types/union_type.rb,
lib/yoda/model/types/value_type.rb,
lib/yoda/model/types/module_type.rb,
lib/yoda/model/types/generic_type.rb,
lib/yoda/model/types/unknown_type.rb,
lib/yoda/model/types/function_type.rb,
lib/yoda/model/types/instance_type.rb,
lib/yoda/model/types/sequence_type.rb

Defined Under Namespace

Modules: Parsing Classes: AnyType, Base, DuckType, FunctionType, GenericType, InstanceType, ModuleType, SequenceType, UnionType, UnknownType, ValueType

Class Method Summary collapse

Class Method Details

.parse(string) ⇒ Types::Base

Parameters:

  • string (String)

Returns:



20
21
22
23
24
# File 'lib/yoda/model/types.rb', line 20

def self.parse(string)
  Parsing::Generator.new.apply(Parsing::Parser.new.parse(string))
rescue Parslet::ParseFailed => failure
  Types::UnknownType.new(string)
end

.parse_type_strings(strings) ⇒ Types::Base

Parameters:

  • strings (Array<String>)

Returns:



28
29
30
# File 'lib/yoda/model/types.rb', line 28

def self.parse_type_strings(strings)
  Types::UnionType.new(strings.map { |string| parse(string) })
end