class Retrospec::Puppet::SchemaDumper
Public Instance Methods
do_dump(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 44 def do_dump(o) @@dump_visitor.visit_this_0(self, o) end
dump(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 40 def dump(o) do_dump(o) end
dump_AccessExpression(o)
click to toggle source
x prints as (slice x y)
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 99 def dump_AccessExpression o if o.keys.size <= 1 ["slice", do_dump(o.left_expr), do_dump(o.keys[0])] else ["slice", do_dump(o.left_expr), do_dump(o.keys)] end end
dump_AndExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 151 def dump_AndExpression o ["&&", do_dump(o.left_expr), do_dump(o.right_expr)] end
dump_Application(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 90 def dump_Application o ["application", o.name, do_dump(o.parameters), do_dump(o.body)] end
dump_ArithmeticExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 94 def dump_ArithmeticExpression o [o.operator.to_s, do_dump(o.left_expr), do_dump(o.right_expr)] end
dump_Array(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 48 def dump_Array o 'seq' #o.collect {|e| do_dump(e) } end
dump_AssignmentExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 163 def dump_AssignmentExpression o [o.operator.to_s, do_dump(o.left_expr), do_dump(o.right_expr)] end
dump_AttributeOperation(o)
click to toggle source
Produces (name => expr) or (name +> expr)
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 168 def dump_AttributeOperation o [o.attribute_name, o.operator, do_dump(o.value_expr)] end
dump_AttributesOperation(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 172 def dump_AttributesOperation o ['* =>', do_dump(o.expr)] end
dump_BlockExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 255 def dump_BlockExpression o result = ["block", :indent] o.statements.each {|x| result << :break; result << do_dump(x) } result << :dedent << :break result end
dump_CollectExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 111 def dump_CollectExpression o result = ["collect", do_dump(o.type_expr), :indent, :break, do_dump(o.query), :indent] o.operations do |ao| result << :break << do_dump(ao) end result += [:dedent, :dedent ] result end
dump_ComparisonExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 147 def dump_ComparisonExpression o [o.operator.to_s, do_dump(o.left_expr), do_dump(o.right_expr)] end
dump_ConcatenatedString(o)
click to toggle source
Interpolated strings are shown as (cat seg0 seg1 … segN)
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 263 def dump_ConcatenatedString o ["cat"] + o.segments.collect {|x| do_dump(x)} end
dump_EppExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 120 def dump_EppExpression o result = ["epp"] # result << ["parameters"] + o.parameters.collect {|p| do_dump(p) } if o.parameters.size() > 0 if o.body result << do_dump(o.body) else result << [] end result end
dump_ExportedQuery(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 131 def dump_ExportedQuery o result = ["<<| |>>"] result += dump_QueryExpression(o) unless is_nop?(o.expr) result end
dump_Expression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 86 def dump_Expression o do_dump(o.value) end
dump_InExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 159 def dump_InExpression o ["in", do_dump(o.left_expr), do_dump(o.right_expr)] end
dump_KeyedEntry(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 186 def dump_KeyedEntry o [do_dump(o.key), do_dump(o.value)] end
dump_LambdaExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 199 def dump_LambdaExpression o result = ["lambda"] result << ["parameters"] + o.parameters.collect {|p| do_dump(p) } if o.parameters.size > 0 if o.body result << do_dump(o.body) else result << [] end result end
dump_LiteralBoolean(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 78 def dump_LiteralBoolean o 'bool' end
dump_LiteralDefault(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 210 def dump_LiteralDefault o ":default" end
dump_LiteralFloat(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 70 def dump_LiteralFloat o 'float' end
dump_LiteralHash(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 181 def dump_LiteralHash o 'map' #["{}"] + o.entries.collect {|x| do_dump(x)} end
dump_LiteralInteger(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 74 def dump_LiteralInteger o 'int' end
dump_LiteralList(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 176 def dump_LiteralList o 'seq' #["[]"] + o.values.collect {|x| do_dump(x)} end
dump_LiteralRegularExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 218 def dump_LiteralRegularExpression o "/#{o.value.source}/" end
dump_LiteralString(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 194 def dump_LiteralString o 'str' #"'#{o.value}'" end
dump_LiteralUndef(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 214 def dump_LiteralUndef o ":undef" end
dump_LiteralValue(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 82 def dump_LiteralValue o type_table[o.class.to_s] || 'any' end
dump_MatchExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 190 def dump_MatchExpression o [o.operator.to_s, do_dump(o.left_expr), do_dump(o.right_expr)] end
dump_MatchesExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 107 def dump_MatchesExpression o [o.operator.to_s, do_dump(o.left_expr), do_dump(o.right_expr)] end
dump_NamedAccessExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 226 def dump_NamedAccessExpression o [".", do_dump(o.left_expr), do_dump(o.right_expr)] end
dump_NilClass(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 230 def dump_NilClass o 'any' end
dump_Nop(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 222 def dump_Nop o ":nop" end
dump_NotExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 234 def dump_NotExpression o ['!', dump(o.expr)] end
dump_Object(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 36 def dump_Object o [o.class.to_s, o.to_s] end
dump_OrExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 155 def dump_OrExpression o ["||", do_dump(o.left_expr), do_dump(o.right_expr)] end
dump_Parameter(o)
click to toggle source
Produces parameters as name, or (= name value)
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 272 def dump_Parameter o name_prefix = o.captures_rest ? '*' : '' name_part = "#{name_prefix}#{o.name}" if o.value && o.type_expr {:type => do_dump(o.type_expr), :name => name_part, :default_value => do_dump(o.value)} elsif o.value {:type => nil, :name => name_part, :default_value => do_dump(o.value)} elsif o.type_expr {:type => do_dump(o.type_expr), :name => name_part, :default_value => nil} else {:type => nil, :name => name_part, :default_value => nil} end end
dump_QualifiedName(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 66 def dump_QualifiedName o 'any' # return any until we can lookup the value of this variable name end
dump_QueryExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 143 def dump_QueryExpression o [do_dump(o.expr)] end
dump_ReservedWord(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 267 def dump_ReservedWord o [ 'reserved', o.word ] end
dump_TextExpression(o)
click to toggle source
Interpolation (to string) shown as (str expr)
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 243 def dump_TextExpression o ["str", do_dump(o.expr)] end
dump_UnaryMinusExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 247 def dump_UnaryMinusExpression o ['-', do_dump(o.expr)] end
dump_UnfoldExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 251 def dump_UnfoldExpression o ['unfold', do_dump(o.expr)] end
dump_VariableExpression(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 238 def dump_VariableExpression o do_dump(o.expr) end
dump_VirtualQuery(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 137 def dump_VirtualQuery o result = ["<| |>"] result += dump_QueryExpression(o) unless is_nop?(o.expr) result end
indent()
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 53 def indent " " * indent_count end
is_nop?(o)
click to toggle source
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 286 def is_nop? o o.nil? || o.is_a?(Puppet::Pops::Model::Nop) end
to_kwalify_type(value)
click to toggle source
convert the given class to a kwalify class, defaults to any
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 58 def to_kwalify_type(value) if x = dump(value) x else 'any' end end
type_table()
click to toggle source
conversion table from ruby types to kwalify types
# File lib/retrospec/plugins/v1/plugin/generators/serializers/schema_dumper.rb, line 11 def type_table @type_table ||= { 'Array'=>"seq", 'Hash'=>"map", 'string' => 'str', 'String'=>"str", 'Integer'=>"int", 'Float'=>"float", 'Numeric'=>"number", 'Date'=>"date", 'Time'=>"timestamp", 'Object'=>"any", 'FalseClass' => 'bool', 'TrueClass' => 'bool', 'Fixnum' => 'number', 'NilClass' => 'any', 'Puppet::Pops::Model::LiteralBoolean' => 'bool', 'Puppet::Parser::AST::Variable' => 'any', 'Puppet::Parser::AST::Boolean' => 'bool', 'Puppet::Parser::AST::String' => 'str', 'Puppet::Parser::AST::ASTHash' => 'map', 'Puppet::Parser::AST::ASTArray' => 'seq', } end