Class: SalesforceRecord::Fields::BaseField

Inherits:
Object
  • Object
show all
Defined in:
lib/salesforce_record/fields.rb

Overview

The base class for the fields. No values parsing or encoding

Direct Known Subclasses

DateField, FloatField, IntegerField

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, opts) ⇒ BaseField

Returns a new instance of BaseField.



13
14
15
16
# File 'lib/salesforce_record/fields.rb', line 13

def initialize(name, opts)
  @local_name = name
  @remote_name = opts[:from]
end

Instance Attribute Details

#local_nameObject (readonly)

Returns the value of attribute local_name.



11
12
13
# File 'lib/salesforce_record/fields.rb', line 11

def local_name
  @local_name
end

Instance Method Details

#alias?Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/salesforce_record/fields.rb', line 32

def alias?
  !!@remote_name
end

#encode(value) ⇒ Object

Encode : local => SF



24
25
26
# File 'lib/salesforce_record/fields.rb', line 24

def encode(value)
  value
end

#is_alias_of(nested_hash) ⇒ Object

Check if matching nested hash



37
38
39
40
# File 'lib/salesforce_record/fields.rb', line 37

def is_alias_of(nested_hash)
  return false unless @remote_name
  deep_fetch(nested_hash, remote_name.split('.').map(&:to_sym))
end

#parse(value) ⇒ Object

Parse : SF => local



19
20
21
# File 'lib/salesforce_record/fields.rb', line 19

def parse(value)
  value
end

#remote_nameObject



28
29
30
# File 'lib/salesforce_record/fields.rb', line 28

def remote_name
  @remote_name || @local_name
end