module Geotrigger::Model::Taggable
Mixin for Trigger
and Device
to add tag functionality.
Public Instance Methods
add_tags(*names)
click to toggle source
Sets ‘addTags’ in this model’s +@data+ for POSTing to the API via +Model#save+.
device.add_tags 'foo', 'bar' device.save
# File lib/geotrigger/model.rb, line 111 def add_tags *names @data['addTags'] = names.flatten end
remove_tags(*names)
click to toggle source
Sets ‘removeTags’ in this model’s +@data+ for POSTing to the API via +Model#save+.
trigger.remove_tags 'foo', 'bar' trigger.save
# File lib/geotrigger/model.rb, line 121 def remove_tags *names names = names.flatten raise ArgumentError.new "default tag prohibited" if names.include? default_tag @data['removeTags'] = names end
tags(params = {})
click to toggle source
Returns this model’s tags as an Array
of Tag
objects.
# File lib/geotrigger/model.rb, line 101 def tags params = {} post_list 'tags', params, tags: @data['tags'] end
tags=(*names)
click to toggle source
Sets ‘setTags’ in this model’s +@data+ for POSTing to the API via +Model#save+.
trigger.tags = ['foo', 'bar'] trigger.save
# File lib/geotrigger/model.rb, line 134 def tags= *names names = names.flatten raise ArgumentError.new "default tag required" unless names.include? default_tag @data['setTags'] = names end