fruit_to_lime 2.6.2 → 2.6.3
Sign up to get free protection for your applications and to get access to all the features.
@@ -31,9 +31,9 @@ module FruitToLime
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def get_import_rows
|
34
|
-
(serialize_variables+[
|
35
|
-
{:id
|
36
|
-
{:id
|
34
|
+
(serialize_variables + [
|
35
|
+
{ :id => :organization, :type => :organization_reference},
|
36
|
+
{ :id => :person, :type => :person_reference}
|
37
37
|
]).map do |p|
|
38
38
|
map_to_row p
|
39
39
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'date'
|
1
2
|
module FruitToLime
|
2
3
|
class OrganizationReference
|
3
4
|
include SerializeHelper
|
@@ -43,6 +44,10 @@ module FruitToLime
|
|
43
44
|
attr_accessor :id, :integration_id, :name, :organization_number, :email, :web_site,
|
44
45
|
:postal_address, :visit_address, :central_phone_number, :source_data
|
45
46
|
|
47
|
+
# Sets/gets the date when this organization's relation was
|
48
|
+
# changed. Default is Now.
|
49
|
+
attr_reader :relation_last_modified
|
50
|
+
|
46
51
|
attr_reader :employees, :responsible_coworker, :relation
|
47
52
|
# you add custom values by using {#set_custom_value}
|
48
53
|
attr_reader :custom_values
|
@@ -135,11 +140,21 @@ module FruitToLime
|
|
135
140
|
if relation == Relation::NoRelation || relation == Relation::WorkingOnIt ||
|
136
141
|
relation == Relation::IsACustomer || relation == Relation::WasACustomer || relation == Relation::BeenInTouch
|
137
142
|
@relation = relation
|
143
|
+
@relation_last_modified = Time.now.strftime("%Y-%m-%d") if @relation_last_modified.nil? &&
|
144
|
+
@relation != Relation::NoRelation
|
138
145
|
else
|
139
146
|
raise InvalidRelationError
|
140
147
|
end
|
141
148
|
end
|
142
149
|
|
150
|
+
def relation_last_modified=(date)
|
151
|
+
begin
|
152
|
+
@relation_last_modified = @relation != Relation::NoRelation ? Date.parse(date).strftime("%Y-%m-%d") : nil
|
153
|
+
rescue
|
154
|
+
raise InvalidValueError, date
|
155
|
+
end
|
156
|
+
end
|
157
|
+
|
143
158
|
def find_employee_by_integration_id(integration_id)
|
144
159
|
return nil if @employees.nil?
|
145
160
|
return @employees.find do |e|
|
@@ -163,7 +178,8 @@ module FruitToLime
|
|
163
178
|
{ :id => :custom_values, :type => :custom_values },
|
164
179
|
{ :id => :tags, :type => :tags },
|
165
180
|
{ :id => :responsible_coworker, :type => :coworker_reference},
|
166
|
-
{ :id => :relation, :type => :string }
|
181
|
+
{ :id => :relation, :type => :string },
|
182
|
+
{ :id => :relation_last_modified, :type => :string }
|
167
183
|
]
|
168
184
|
end
|
169
185
|
|
data/spec/organization_spec.rb
CHANGED
@@ -63,6 +63,54 @@ describe "Organization" do
|
|
63
63
|
organization.relation = "hubbabubba"
|
64
64
|
}.to raise_error(FruitToLime::InvalidRelationError)
|
65
65
|
end
|
66
|
+
|
67
|
+
it "should not have a relation modified date if relation is NoRelation" do
|
68
|
+
# given, when
|
69
|
+
organization.relation = FruitToLime::Relation::NoRelation
|
70
|
+
|
71
|
+
# then
|
72
|
+
organization.relation_last_modified.nil?.should eq true
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should have a relation modified date if relation is IsACustomer" do
|
76
|
+
# given, when
|
77
|
+
organization.relation = FruitToLime::Relation::IsACustomer
|
78
|
+
|
79
|
+
# then
|
80
|
+
organization.relation_last_modified.nil?.should eq false
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should set relation last modified when relation is set" do
|
84
|
+
# given
|
85
|
+
organization.relation = FruitToLime::Relation::IsACustomer
|
86
|
+
|
87
|
+
# when
|
88
|
+
organization.relation_last_modified = "2014-07-01"
|
89
|
+
|
90
|
+
# then
|
91
|
+
organization.relation_last_modified.should eq "2014-07-01"
|
92
|
+
end
|
93
|
+
|
94
|
+
it "should not set relation last modified when relation is NoRelation" do
|
95
|
+
# given
|
96
|
+
organization.relation = FruitToLime::Relation::NoRelation
|
97
|
+
|
98
|
+
# when
|
99
|
+
organization.relation_last_modified = "2014-07-01"
|
100
|
+
|
101
|
+
# then
|
102
|
+
organization.relation_last_modified.nil?.should eq true
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should only set relation last modified to valid date" do
|
106
|
+
# given
|
107
|
+
organization.relation = FruitToLime::Relation::IsACustomer
|
108
|
+
|
109
|
+
# when, then
|
110
|
+
expect {
|
111
|
+
organization.relation_last_modified = "hubbabubba"
|
112
|
+
}.to raise_error(FruitToLime::InvalidValueError)
|
113
|
+
end
|
66
114
|
end
|
67
115
|
|
68
116
|
describe "OrganizationReference" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fruit_to_lime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.6.
|
4
|
+
version: 2.6.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2014-07-
|
15
|
+
date: 2014-07-17 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: iso_country_codes
|