# File lib/spark_api/models/photo.rb, line 22 def primary? @attributes["Primary"] == true end
class SparkApi::Models::Photo
Constants
- EDITABLE_FIELDS
- FileName
- Picture
Attributes
update_path[RW]
Public Class Methods
new(opts={})
click to toggle source
Calls superclass method
SparkApi::Models::Base::new
# File lib/spark_api/models/photo.rb, line 13 def initialize(opts={}) defaulted_opts = {} EDITABLE_FIELDS.each do |k| key = k.to_s() defaulted_opts[key] = opts[key] || nil end super(opts.merge(defaulted_opts)) end
Public Instance Methods
delete(args={})
click to toggle source
# File lib/spark_api/models/photo.rb, line 53 def delete(args={}) connection.delete("#{update_path}/#{self.Id}", args) end
exists?()
click to toggle source
# File lib/spark_api/models/photo.rb, line 71 def exists? @attributes.include?("Id") end
load_picture(file_name)
click to toggle source
# File lib/spark_api/models/photo.rb, line 48 def load_picture(file_name) self.Picture = Base64.encode64(File.open(file_name, 'rb').read).gsub(/\n/, '') self.FileName = File.basename(file_name) end
primary?()
click to toggle source
rollback(version)
click to toggle source
# File lib/spark_api/models/photo.rb, line 57 def rollback(version) payload = {"Version" => version} connection.put "#{update_path}/#{self.Id}/versions/current", payload end
rotate!(direction)
click to toggle source
# File lib/spark_api/models/photo.rb, line 63 def rotate!(direction) unless [:clockwise, :counterclockwise].include? direction.to_sym raise ArgumentError, "Photo rotate failed. '#{direction}' is not supported." end payload = { 'Photos' => [{'Rotate' => direction.to_s }] } connection.put "#{self.update_path}/#{self.Id}", payload end
save(arguments={})
click to toggle source
# File lib/spark_api/models/photo.rb, line 26 def save(arguments={}) begin return save!(arguments) rescue BadResourceRequest => e SparkApi.logger.warn("Failed to save resource #{self}: #{e.message}") rescue NotFound => e SparkApi.logger.error("Failed to save resource #{self}: #{e.message}") end false end
save!(arguments={})
click to toggle source
# File lib/spark_api/models/photo.rb, line 36 def save!(arguments={}) payload = {"Photos" => [ build_photo_hash]} if exists? results = connection.put "#{update_path}/#{self.Id}", payload, arguments else results = connection.post update_path, payload, arguments end result = results.first load(result) true end
Private Instance Methods
build_photo_hash()
click to toggle source
# File lib/spark_api/models/photo.rb, line 77 def build_photo_hash results_hash = {} EDITABLE_FIELDS.each do |k| key = k.to_s results_hash[key] = @attributes[key] unless @attributes[key].nil? end results_hash end