class Copperegg::Revealmetrics::Tag
Attributes
name[RW]
objects[RW]
Public Instance Methods
delete()
click to toggle source
# File lib/copperegg/revealmetrics/tag.rb, line 64 def delete self.class.request_200({:id => name, :request_type => "delete"}) end
load_attributes(attributes)
click to toggle source
# File lib/copperegg/revealmetrics/tag.rb, line 11 def load_attributes(attributes) @objects = [] @objects_original = [] attributes.each do |name, value| if name.to_s == "id" @id = value elsif !respond_to?("#{name}=") next elsif name.to_s == "objects" @objects = value.map { |object| object["idv"].to_s.gsub(/\|$/, "") } @objects_original = @objects.clone else send "#{name}=", value end end end
save()
click to toggle source
# File lib/copperegg/revealmetrics/tag.rb, line 68 def save unless valid? raise ValidationError.new(@error) end remove_objects(@objects_original - @objects) add_objects(@objects - @objects_original) @objects_original = @objects.clone end
to_hash()
click to toggle source
# File lib/copperegg/revealmetrics/tag.rb, line 82 def to_hash {"tag" => name, "ids" => objects} end
update()
click to toggle source
# File lib/copperegg/revealmetrics/tag.rb, line 78 def update save end
valid?()
click to toggle source
# File lib/copperegg/revealmetrics/tag.rb, line 33 def valid? @error = nil if self.name.nil? || self.name.to_s.strip.empty? @error = "Name can't be blank." return false end if self.name.to_s.match(/[^\w-]/) @error = "Name contains invalid characters." return false end if self.objects.nil? || self.objects.empty? @error = "You must define at least one object." return false end unless self.objects.kind_of?(Array) @error = "Invalid objects field." return false end if self.objects.any? { |object| !object.kind_of?(String) } @error = "Invalid object identifier." return false end true end
Private Instance Methods
add_objects(ids)
click to toggle source
# File lib/copperegg/revealmetrics/tag.rb, line 92 def add_objects(ids) self.class.request_200({:tag => name, :ids => ids, :request_type => "post"}) unless ids.empty? end
remove_objects(ids)
click to toggle source
# File lib/copperegg/revealmetrics/tag.rb, line 88 def remove_objects(ids) self.class.request_200({:id => name, :ids => ids, :request_type => "delete"}) unless ids.empty? end