Sha256: 9a85cb9ff4652a4a104190ea5f5f6aa01eb87d4b1ef08d80cc385adf228c9fd0
Contents?: true
Size: 1017 Bytes
Versions: 1
Compression:
Stored size: 1017 Bytes
Contents
module Helium class Label < Resource attr_reader :name def initialize(client:, params:) super(client: client, params: params) @name = params.dig("attributes", "name") end def update(name:) @client.update_label(self, name: name) end def destroy @client.delete_label(self) end # TODO: would be nice to wrap this in a proxy collection, that way # we could do something like label.sensors << new_sensor def sensors @client.label_sensors(self) end def add_sensors(sensors_to_add = []) sensors_to_add = Array(sensors_to_add) @client.update_label_sensors(self, sensors: sensors + sensors_to_add) end def remove_sensors(sensors_to_remove = []) sensors_to_remove = Array(sensors_to_remove) @client.update_label_sensors(self, sensors: sensors - sensors_to_remove) end # TODO can probably generalize this a bit more def as_json super.merge({ name: name }) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
helium-ruby-0.4.0 | lib/helium/label.rb |