Class: FruitToLime::DealClassSettings
Instance Attribute Summary collapse
#custom_fields
Instance Method Summary
collapse
#serialize_name, #set_custom_field
#get_import_rows, #serialize, #serialize_to_file
Constructor Details
Returns a new instance of DealClassSettings.
6
7
8
9
10
11
12
13
14
|
# File 'lib/fruit_to_lime/model/deal_class_settings.rb', line 6
def initialize(opt = nil)
@statuses = []
if opt != nil
serialize_variables.each do |myattr|
val = opt[myattr[:id]]
instance_variable_set("@" + myattr[:id].to_s, val) if val != nil
end
end
end
|
Instance Attribute Details
#statuses ⇒ Object
Returns the value of attribute statuses.
4
5
6
|
# File 'lib/fruit_to_lime/model/deal_class_settings.rb', line 4
def statuses
@statuses
end
|
Instance Method Details
#add_status(obj) ⇒ Object
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
# File 'lib/fruit_to_lime/model/deal_class_settings.rb', line 20
def add_status(obj)
@statuses = [] if @statuses.nil?
if obj.is_a?(DealStatusSetting)
status = obj
else
status = DealStatusSetting.new(obj)
end
if status.label.nil? || status.label.empty?
raise InvalidDealStatusError, "Deal status must have a label"
end
if status.assessment.nil?
status.assessment = DealState::NotAnEndState
end
index = @statuses.find_index do |deal_status|
deal_status.same_as?(status)
end
if index
@statuses.delete_at index
end
@statuses.push status
return status
end
|
#find_status_by_id(id) ⇒ Object
65
66
67
68
69
70
71
|
# File 'lib/fruit_to_lime/model/deal_class_settings.rb', line 65
def find_status_by_id(id)
return nil if @statuses.nil?
return @statuses.find do |status|
!status.id.nil? && status.id.casecmp(integration_id) == 0
end
end
|
#find_status_by_integration_id(integration_id) ⇒ Object
57
58
59
60
61
62
63
|
# File 'lib/fruit_to_lime/model/deal_class_settings.rb', line 57
def find_status_by_integration_id(integration_id)
return nil if @statuses.nil? || integration_id.nil?
return @statuses.find do |status|
!status.integration_id.nil? && status.integration_id.casecmp(integration_id) == 0
end
end
|
#find_status_by_label(label) ⇒ Object
49
50
51
52
53
54
55
|
# File 'lib/fruit_to_lime/model/deal_class_settings.rb', line 49
def find_status_by_label(label)
return nil if @statuses.nil? || label.nil?
return @statuses.find do |status|
!status.label.nil? && status.label.casecmp(label) == 0
end
end
|
#serialize_variables ⇒ Object
16
17
18
|
# File 'lib/fruit_to_lime/model/deal_class_settings.rb', line 16
def serialize_variables
super() + [{:id => :statuses, :type => :statuses }]
end
|