Sha256: 8fff11a87026a522eb3676d08d0a849b6c2e8498c9182e0a79399efd97bd53ab
Contents?: true
Size: 1.33 KB
Versions: 4
Compression:
Stored size: 1.33 KB
Contents
module CTM class Sale < Base ReadWriteFields = [:conversion, :sale_date, :score, :service_rep_name, :value] attr_reader :call_id attr_accessor(*ReadWriteFields) def initialize(data, token=nil) super(data, token) [ :call_id, *ReadWriteFields].each do |k| instance_variable_set "@#{k}", data[k.to_s] end end def name @service_rep_name end def name=(n) @service_rep_name = n @service_rep_name end def release! path_str ="/api/v1/#{@list_type_path}/#{@call_id}/sale.json" res = self.class.delete path_str, body: {auth_token: @token} res.parsed_response end def save(options = {}) path_str = "/api/v1/#{@list_type_path}/#{@call_id}/sale.json" options = {} ReadWriteFields.each do |k| v = self.send k case k.to_s when 'conversion' then v = v ? 'on' : 'off' when 'service_rep_name' then k = :name end options[k] = v end options[:id] = @call_id #self.class.debug_output $stderr res = self.class.post path_str, body: options.merge(auth_token: @token) #self.class.debug_output nil return nil unless res (res['status'] == 'success') ? true : (res['message'] || res['reason']) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
ctm-0.5.4 | lib/ctm/sale.rb |
ctm-0.5.3 | lib/ctm/sale.rb |
ctm-0.5.1 | lib/ctm/sale.rb |
ctm-0.5.0 | lib/ctm/sale.rb |