module T::Props::GeneratedCodeValidation
def self.validate_serialize(source)
def self.validate_serialize(source) parsed = parse(source) # def %<name>(strict) # ... # end assert_equal(:def, parsed.type) name, args, body = parsed.children assert_equal(:__t_props_generated_serialize, name) assert_equal(s(:args, s(:arg, :strict)), args) assert_equal(:begin, body.type) init, *prop_clauses, ret = body.children # h = {} # ... # h assert_equal(s(:lvasgn, :h, s(:hash)), init) assert_equal(s(:lvar, :h), ret) prop_clauses.each do |clause| validate_serialize_clause(clause) end end