Sha256: bf957ba637dd6b43d4364d506c2e76a7551dc4e55bf1829049004b2f97e6a248

Contents?: true

Size: 542 Bytes

Versions: 10

Compression:

Stored size: 542 Bytes

Contents

module Legato
  class ListParameter

    attr_reader :name, :elements

    def initialize(name, elements=[])
      @name = name
      @elements = Array.wrap(elements)
    end

    def name
      @name.to_s
    end

    def <<(element)
      (@elements += Array.wrap(element)).compact!
      self
    end

    def to_params
      value = elements.map{|element| Legato.to_ga_string(element)}.join(',')
      value.empty? ? {} : {name => value}
    end

    def ==(other)
      name == other.name && elements == other.elements
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
legato-0.1.0 lib/legato/list_parameter.rb
legato-0.0.10 lib/legato/list_parameter.rb
legato-0.0.9 lib/legato/list_parameter.rb
legato-0.0.8 lib/legato/list_parameter.rb
legato-0.0.7 lib/legato/list_parameter.rb
legato-0.0.6 lib/legato/list_parameter.rb
legato-0.0.5 lib/legato/list_parameter.rb
legato-0.0.4 lib/legato/list_parameter.rb
legato-0.0.2 lib/legato/list_parameter.rb
legato-0.0.1 lib/legato/list_parameter.rb