module RubyZoho

Attributes

configuration[RW]

Public Class Methods

configure() { |configuration| ... } click to toggle source
# File lib/ruby_zoho.rb, line 23
def self.configure
  self.configuration ||= Configuration.new
  yield(configuration) if block_given?
  self.configuration.crm_modules ||= []
  self.configuration.crm_modules = %w[Accounts Calls Contacts Events Leads Potentials Tasks].concat(
      self.configuration.crm_modules).uniq
  self.configuration.api = init_api(self.configuration.api_key,
                                    self.configuration.crm_modules, self.configuration.cache_fields)
  RubyZoho::Crm.setup_classes()
end
init_api(api_key, modules, cache_fields) click to toggle source
# File lib/ruby_zoho.rb, line 34
def self.init_api(api_key, modules, cache_fields)
  base_path = File.join(File.dirname(__FILE__), '..', 'spec', 'fixtures')
  if File.exists?(File.join(base_path, 'fields.snapshot')) && cache_fields == true
    fields = YAML.load(File.read(File.join(base_path, 'fields.snapshot')))
    zoho = ZohoApi::Crm.new(api_key, modules,
                            self.configuration.ignore_fields_with_bad_names, fields)
  else
    zoho = ZohoApi::Crm.new(api_key, modules, self.configuration.ignore_fields_with_bad_names)
    fields = zoho.module_fields
    File.open(File.join(base_path, 'fields.snapshot'), 'wb') { |file| file.write(fields.to_yaml) } if cache_fields == true
  end
  zoho
end