in codegen/projections/rails_json/lib/rails_json/builders.rb [661:689]
def self.build(input)
data = {}
case input
when Types::MyUnion::StringValue
data[:string_value] = input
when Types::MyUnion::BooleanValue
data[:boolean_value] = input
when Types::MyUnion::NumberValue
data[:number_value] = input
when Types::MyUnion::BlobValue
data[:blob_value] = Base64::encode64(input).strip
when Types::MyUnion::TimestampValue
data[:timestamp_value] = Seahorse::TimeHelper.to_date_time(input)
when Types::MyUnion::EnumValue
data[:enum_value] = input
when Types::MyUnion::ListValue
data[:list_value] = (Builders::StringList.build(input) unless input.nil?)
when Types::MyUnion::MapValue
data[:map_value] = (Builders::StringMap.build(input) unless input.nil?)
when Types::MyUnion::StructureValue
data[:structure_value] = (Builders::GreetingStruct.build(input) unless input.nil?)
else
raise ArgumentError,
"Expected input to be one of the subclasses of Types::MyUnion"
end
data
end