Class: LeapSalesforce::SoqlObject

Inherits:
Object
  • Object
show all
Defined in:
lib/leap_salesforce/soql_object.rb

Overview

Container for information regarding a SoqlObject

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(description) ⇒ SoqlObject

Create a representation of a Soql object from a description (usually in .leap_salesforce.yml)

Examples:

Specific Salesforce object ‘Case’ to be represented

'Case'

Represent Broker object by class with different name

{ 'Broker' => Broker__c }

Represent Group object, specifying to ignore enums

{"Group"=>nil, "create_enum"=>true} }

Represent User object, specifying to ignore enum with name of Timezone

{"User"=>nil, "create_enum"=>{"exclude"=>["Timezone"]}}


27
28
29
30
31
# File 'lib/leap_salesforce/soql_object.rb', line 27

def initialize(description)
  self.description = description
  interpret_description
  self.reference = @class_name.snakecase
end

Instance Attribute Details

#backend_nameString



9
10
11
# File 'lib/leap_salesforce/soql_object.rb', line 9

def backend_name
  @backend_name
end

#class_nameString



7
8
9
# File 'lib/leap_salesforce/soql_object.rb', line 7

def class_name
  @class_name
end

#create_enumBoolean, Hash



15
16
17
# File 'lib/leap_salesforce/soql_object.rb', line 15

def create_enum
  @create_enum
end

#descriptionString



13
14
15
# File 'lib/leap_salesforce/soql_object.rb', line 13

def description
  @description
end

#referenceString



11
12
13
# File 'lib/leap_salesforce/soql_object.rb', line 11

def reference
  @reference
end

Instance Method Details

#excludes?(picklist) ⇒ Boolean



35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/leap_salesforce/soql_object.rb', line 35

def excludes?(picklist)
  if create_enum.is_a? Hash
    if create_enum['exclude']
      picklist_class = picklist.to_class_name
      create_enum['exclude'].any? do |exclusion_list|
        !picklist.to_s[Regexp.new(exclusion_list)].nil? || !picklist_class[Regexp.new(exclusion_list)].nil?
      end
    else
      false
    end
  else
    false
  end
end