self.build

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