module Todoist::Resource
Attributes
temp_id[RW]
Public Class Methods
new(attributes={})
click to toggle source
# File lib/todoist/resource.rb, line 18 def initialize(attributes={}) self.attributes = attributes || {} end
Public Instance Methods
attributes()
click to toggle source
# File lib/todoist/resource.rb, line 22 def attributes self.class.attributes.inject({}) do |attributes, attribute| value = send(attribute) if !value.nil? attributes[attribute] = value end; attributes end end
attributes=(attributes)
click to toggle source
# File lib/todoist/resource.rb, line 31 def attributes=(attributes) attributes.each do |attribute, value| if respond_to?(writer = attribute.to_s + '=') send(writer, value) else logger.warn "#{self.class} does not have an `#{attribute}' attribute" end end end
command_class()
click to toggle source
# File lib/todoist/resource.rb, line 53 def command_class @command_class ||= Command end
create_command(name, arguments, tmp_id = nil)
click to toggle source
# File lib/todoist/resource.rb, line 49 def create_command(name, arguments, tmp_id = nil) command_class.new(name, arguments, tmp_id) end
logger()
click to toggle source
# File lib/todoist/resource.rb, line 45 def logger @logger ||= Logger.new end
persisted?()
click to toggle source
# File lib/todoist/resource.rb, line 69 def persisted? !id.nil? end
resource_type()
click to toggle source
# File lib/todoist/resource.rb, line 65 def resource_type self.class.name.split('::').last.downcase end
to_hash()
click to toggle source
# File lib/todoist/resource.rb, line 41 def to_hash attributes end
to_submittable_hash()
click to toggle source
# File lib/todoist/resource.rb, line 57 def to_submittable_hash if self.class.read_only_attributes attributes.delete_if { |key, value| self.class.read_only_attributes.include?(key)} else attributes end end