Module: RubyZoho

Defined in:
lib/ruby_zoho.rb

Defined Under Namespace

Classes: Configuration, Crm

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



20
21
22
# File 'lib/ruby_zoho.rb', line 20

def configuration
  @configuration
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



23
24
25
26
27
28
29
30
31
32
# 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) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
# 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