54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'lib/membrane/schema_parser.rb', line 54
def deparse(schema)
case schema
when Membrane::Schemas::Any
"any"
when Membrane::Schemas::Bool
"bool"
when Membrane::Schemas::Class
schema.klass.name
when Membrane::Schemas::Dictionary
"dict(%s, %s)" % [deparse(schema.key_schema),
deparse(schema.value_schema)]
when Membrane::Schemas::Enum
"enum(%s)" % [schema.elem_schemas.map { |es| deparse(es) }.join(", ")]
when Membrane::Schemas::List
"[%s]" % [deparse(schema.elem_schema)]
when Membrane::Schemas::Record
deparse_record(schema)
when Membrane::Schemas::Regexp
schema.regexp.inspect
when Membrane::Schemas::Tuple
"tuple(%s)" % [schema.elem_schemas.map { |es| deparse(es) }.join(", ")]
when Membrane::Schemas::Value
schema.value.inspect
when Membrane::Schemas::Base
schema.inspect
else
emsg = "Expected instance of Membrane::Schemas::Base, given instance of" \
+ " #{schema.class}"
raise ArgumentError.new(emsg)
end
end
|