Sha256: d0b383f381e6372a7f7364ed524185c04e21e3a5743614c38066c8ea175dd746

Contents?: true

Size: 526 Bytes

Versions: 6

Compression:

Stored size: 526 Bytes

Contents

module TeamCity
  class ElementBuilder
    def initialize(attributes = {}, &block)
      @payload = attributes

      @payload['properties'] ||= {}
      @payload['properties']['property'] ||= []

      if block_given?
        properties = {}

        yield(properties)

        properties.each do |name, value|
          @payload['properties']['property'] << {
            :name  => name,
            :value => value
          }
        end
      end
    end

    def to_request_body
      @payload.to_json
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
teamcity_ruby-0.0.6 lib/teamcity_ruby/element_builder.rb
teamcity_ruby-0.0.5 lib/teamcity_ruby/element_builder.rb
teamcity_ruby-0.0.4 lib/teamcity_ruby/element_builder.rb
teamcity_ruby-0.0.3 lib/teamcity_ruby/element_builder.rb
teamcity_ruby-0.0.2 lib/teamcity_ruby/element_builder.rb
teamcity_ruby-0.0.1 lib/teamcity_ruby/element_builder.rb