Sha256: 861c6b370f9f2010a4e8454b0051367f1915979a8d640cd9f4daaad9811faa3f

Contents?: true

Size: 652 Bytes

Versions: 1

Compression:

Stored size: 652 Bytes

Contents

module Helium
  class Element < Resource
    attr_reader :name, :mac, :versions

    def initialize(client:, params:)
      super(client: client, params: params)

      @name     = params.dig("attributes", "name")
      @mac      = params.dig("meta", "mac")
      @versions = params.dig("meta", "versions")
    end

    # TODO these kinds of methods should be generalized into a Resource object
    def update(name:)
      @client.update_element(self, name: name)
    end

    # TODO can probably generalize this a bit more
    def as_json
      super.merge({
        name: name,
        mac: mac,
        versions: versions
      })
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
helium-ruby-0.4.0 lib/helium/element.rb