module Connectwise::Model
Public Class Methods
included(klass)
click to toggle source
# File lib/connectwise/model.rb, line 80 def self.included(klass) klass.extend ClassMethods end
new(**attributes)
click to toggle source
# File lib/connectwise/connectwise.rb, line 76 def initialize(**attributes) attributes.each do |attr, value| public_send "#{attr}=", value end end
Public Instance Methods
defined_attributes()
click to toggle source
# File lib/connectwise/model.rb, line 113 def defined_attributes instance_vars = instance_variables.map {|name| name.to_s.gsub(/@/, '').to_sym} public_methods.select{|method| instance_vars.include?(method) } end
destroy()
click to toggle source
# File lib/connectwise/model.rb, line 96 def destroy connection.call self.class.cw_api_name, "delete_#{self.class.cw_model_name}".to_sym, {id: id} self end
persisted?()
click to toggle source
# File lib/connectwise/model.rb, line 101 def persisted? !!id end
save()
click to toggle source
# File lib/connectwise/model.rb, line 91 def save attrs = connection.call self.class.cw_api_name, "add_or_update_#{self.class.cw_model_name}".to_sym, {self.class.cw_model_name => to_cw_h} self.class.new(connection, self.class.save_transform(attrs)) end
to_cw_h()
click to toggle source
# File lib/connectwise/model.rb, line 109 def to_cw_h defined_attributes.each_with_object({}) {|name, memo| key = name.to_s.extend(Extensions::String); memo[key.camelize] = public_send(name)} end
to_h()
click to toggle source
# File lib/connectwise/model.rb, line 105 def to_h defined_attributes.each_with_object({}) {|name, memo| memo[name] = public_send(name)} end
Protected Instance Methods
connection()
click to toggle source
# File lib/connectwise/model.rb, line 119 def connection @connection end