fruit_to_lime 2.5.1 → 2.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,34 @@
1
1
 
2
2
  module FruitToLime
3
+ class DealReference
4
+ include SerializeHelper
5
+ attr_accessor :id, :integration_id
6
+ def serialize_variables
7
+ [ :id, :integration_id ].map { |prop| {:id => prop, :type => :string} }
8
+ end
9
+
10
+ def initalize()
11
+ end
12
+
13
+ def to_s
14
+ return "(#{id}, #{integration_id})"
15
+ end
16
+
17
+ def empty?
18
+ return !@integration_id && !@id
19
+ end
20
+
21
+ def self.from_deal(deal)
22
+ if deal.nil?
23
+ return nil
24
+ elsif deal.is_a?(Deal)
25
+ return deal.to_reference
26
+ elsif person.is_a?(DealReference)
27
+ return deal
28
+ end
29
+ end
30
+ end
31
+
3
32
  class Deal
4
33
  include SerializeHelper, ModelHasCustomFields, ModelHasTags
5
34
 
@@ -48,6 +77,13 @@ module FruitToLime
48
77
  return "deal[id=#{@id}, integration_id=#{@integration_id}]"
49
78
  end
50
79
 
80
+ def to_reference
81
+ reference = DealReference.new
82
+ reference.id = @id
83
+ reference.integration_id = @integration_id
84
+ return reference
85
+ end
86
+
51
87
  def validate
52
88
  error = String.new
53
89
 
@@ -3,7 +3,7 @@ module FruitToLime
3
3
  include SerializeHelper
4
4
  attr_accessor :id, :text, :integration_id, :classification, :date
5
5
 
6
- attr_reader :organization, :created_by, :person
6
+ attr_reader :organization, :created_by, :person, :deal
7
7
 
8
8
  def initialize(opt = nil)
9
9
  if !opt.nil?
@@ -54,6 +54,10 @@ module FruitToLime
54
54
  @person = PersonReference.from_person(person)
55
55
  end
56
56
 
57
+ def deal=(deal)
58
+ @deal = DealReference.from_deal(deal)
59
+ end
60
+
57
61
  def validate
58
62
  error = String.new
59
63
 
data/spec/note_spec.rb CHANGED
@@ -52,4 +52,16 @@ describe "Note" do
52
52
  # then
53
53
  note.created_by.is_a?(FruitToLime::CoworkerReference).should eq true
54
54
  end
55
+
56
+ it "will auto convert deal to deal.ref during assignment" do
57
+ # given
58
+ deal = FruitToLime::Deal.new({:integration_id => "123" })
59
+ deal.name = "The new deal"
60
+
61
+ # when
62
+ note.deal = deal
63
+
64
+ # then
65
+ note.deal.is_a?(FruitToLime::DealReference).should eq true
66
+ end
55
67
  end
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.5.1
4
+ version: 2.5.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: