class Protip::Transformers::PrimitivesTransformer::ArrayTransformer

Helper transformer for repeated types.

Public Class Methods

new(transform) click to toggle source
# File lib/protip/transformers/primitives_transformer.rb, line 60
def initialize(transform)
  @transform = transform
end

Public Instance Methods

to_message(object, field) click to toggle source
# File lib/protip/transformers/primitives_transformer.rb, line 68
def to_message(object, field)
  values = (object.is_a?(::Enumerable) ? object : [object]).map do |value|
    @transform[value]
  end
  field.subtype.msgclass.new(values: values)
end
to_object(message, field) click to toggle source
# File lib/protip/transformers/primitives_transformer.rb, line 64
def to_object(message, field)
  message.values.to_a.freeze
end