Sha256: 85d80e971d57e1e47311d7b6e5f85335bd06f17c224cb8fcf963b131a23e1e23
Contents?: true
Size: 1.3 KB
Versions: 1
Compression:
Stored size: 1.3 KB
Contents
require 'multi_json' module Sellsy class CustomField attr_accessor :id, :value def initialize(id, value) @id = id @value = value end def self.set_values(entity, *custom_fields) command = { 'method' => 'CustomFields.recordValues', 'params' => { 'linkedtype' => linked_type(entity), 'linkedid' => entity.id, 'values' => custom_fields.select {|cf| !cf.nil? && !cf.value.blank?}.map {|cf| {'cfid' => cf.id, 'value' => cf.value}} } } response = MultiJson.load(Sellsy::Api.request command) response['status'] == 'success' end def self.linked_type(entity) case entity when Customer 'client' when Prospect 'prospect' when Opportunity 'opportunity' when Contact 'people' when Document 'document' else nil end end def self.all(nb_per_page = 30) command = { 'method' => 'CustomFields.getList', 'params' => { 'pagination' => { 'nbperpage' => nb_per_page } } } response = MultiJson.load(Sellsy::Api.request command) response['status'] == 'success' ? response['response']['result'] : {} end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
sellsy-client-0.10.0 | lib/sellsy/custom_field.rb |