landslider 0.5.5 → 0.5.6
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION.yml +1 -1
- data/landslider.gemspec +2 -11
- data/lib/landslider.rb +115 -101
- data/test/ws_account_note_search_test.rb +1 -1
- data/test/ws_search_test.rb +3 -3
- metadata +4 -10
data/VERSION.yml
CHANGED
data/landslider.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{landslider}
|
8
|
-
s.version = "0.5.
|
8
|
+
s.version = "0.5.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Jay Prall"]
|
12
|
-
s.date = %q{2011-05-
|
12
|
+
s.date = %q{2011-05-07}
|
13
13
|
s.default_executable = %q{generate_api_key.rb}
|
14
14
|
s.description = %q{Landslider is a ruby interface to the Landslide SOAP-based API}
|
15
15
|
s.email = %q{jay@j4y.net}
|
@@ -42,15 +42,6 @@ Gem::Specification.new do |s|
|
|
42
42
|
s.require_paths = ["lib"]
|
43
43
|
s.rubygems_version = %q{1.6.2}
|
44
44
|
s.summary = %q{Landslide Ruby}
|
45
|
-
s.test_files = [
|
46
|
-
"test/landslider_test.rb",
|
47
|
-
"test/test_helper.rb",
|
48
|
-
"test/ws_account_note_search_test.rb",
|
49
|
-
"test/ws_contact_note_search_test.rb",
|
50
|
-
"test/ws_lead_note_search_test.rb",
|
51
|
-
"test/ws_opportunity_note_search_test.rb",
|
52
|
-
"test/ws_search_test.rb"
|
53
|
-
]
|
54
45
|
|
55
46
|
if s.respond_to? :specification_version then
|
56
47
|
s.specification_version = 3
|
data/lib/landslider.rb
CHANGED
@@ -2,6 +2,121 @@
|
|
2
2
|
require 'handsoap'
|
3
3
|
|
4
4
|
class Landslider < Handsoap::Service
|
5
|
+
|
6
|
+
class WsSearch
|
7
|
+
attr_writer :first_result_position, :total_results_requested, :updated_on
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
end
|
11
|
+
|
12
|
+
# @param [Handsoap::XmlMason::Node] msg
|
13
|
+
# @return [Handsoap::XmlMason::Node]
|
14
|
+
def soapify_for(msg)
|
15
|
+
msg.add 'firstResultPosition', @first_result_position || DEFAULT_FIRST_RESULT_POSITION
|
16
|
+
msg.add 'totalResultsRequested', @total_results_requested || DEFAULT_TOTAL_RESULTS_REQUESTED
|
17
|
+
msg.add 'updatedOn', @updated_on unless @updated_on.nil?
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
class WsSearchCriterion
|
23
|
+
attr_reader :field_id, :operator, :query_value
|
24
|
+
|
25
|
+
def initialize(field_id, operator, query_value)
|
26
|
+
@field_id = field_id
|
27
|
+
@operator = operator
|
28
|
+
@query_value = query_value
|
29
|
+
end
|
30
|
+
|
31
|
+
# @param [Handsoap::XmlMason::Node] msg
|
32
|
+
# @return [Handsoap::XmlMason::Node]
|
33
|
+
def soapify_for(msg)
|
34
|
+
msg.add('searchCriteria') { |crit|
|
35
|
+
crit.add 'fieldId', @field_id
|
36
|
+
crit.add 'operator', @operator
|
37
|
+
crit.add 'queryValue', @query_value unless @query_value.nil?
|
38
|
+
}
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
class WsAccountNoteSearch < WsSearch
|
43
|
+
attr_reader :account_id
|
44
|
+
|
45
|
+
# alias :super_soapify_for :soapify_for
|
46
|
+
|
47
|
+
def initialize(account_id)
|
48
|
+
@account_id = account_id
|
49
|
+
end
|
50
|
+
|
51
|
+
# @param [Handsoap::XmlMason::Node] msg
|
52
|
+
# @return [Handsoap::XmlMason::Node]
|
53
|
+
def soapify_for(msg)
|
54
|
+
msg.add('accountNoteSearch') { |crit|
|
55
|
+
crit.add 'accountId', @account_id
|
56
|
+
crit.add 'firstResultPosition', @first_result_position || DEFAULT_FIRST_RESULT_POSITION
|
57
|
+
crit.add 'totalResultsRequested', @total_results_requested || DEFAULT_TOTAL_RESULTS_REQUESTED
|
58
|
+
crit.add 'updatedOn', @updated_on unless @updated_on.nil?
|
59
|
+
}
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
class WsContactNoteSearch < WsSearch
|
64
|
+
attr_reader :contact_id
|
65
|
+
|
66
|
+
def initialize(contact_id)
|
67
|
+
@contact_id = contact_id
|
68
|
+
end
|
69
|
+
|
70
|
+
# @param [Handsoap::XmlMason::Node] msg
|
71
|
+
# @return [Handsoap::XmlMason::Node]
|
72
|
+
def soapify_for(msg)
|
73
|
+
msg.add('contactNote') { |crit|
|
74
|
+
crit.add 'contactId', @contact_id
|
75
|
+
crit.add 'firstResultPosition', @first_result_position || DEFAULT_FIRST_RESULT_POSITION
|
76
|
+
crit.add 'totalResultsRequested', @total_results_requested || DEFAULT_TOTAL_RESULTS_REQUESTED
|
77
|
+
crit.add 'updatedOn', @updated_on unless @updated_on.nil?
|
78
|
+
}
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
class WsLeadNoteSearch < WsSearch
|
83
|
+
attr_reader :lead_id
|
84
|
+
|
85
|
+
def initialize(lead_id)
|
86
|
+
@lead_id = lead_id
|
87
|
+
end
|
88
|
+
|
89
|
+
# @param [Handsoap::XmlMason::Node] msg
|
90
|
+
# @return [Handsoap::XmlMason::Node]
|
91
|
+
def soapify_for(msg)
|
92
|
+
msg.add('leadNote') { |crit|
|
93
|
+
crit.add 'leadId', @lead_id
|
94
|
+
crit.add 'firstResultPosition', @first_result_position || DEFAULT_FIRST_RESULT_POSITION
|
95
|
+
crit.add 'totalResultsRequested', @total_results_requested || DEFAULT_TOTAL_RESULTS_REQUESTED
|
96
|
+
crit.add 'updatedOn', @updated_on unless @updated_on.nil?
|
97
|
+
}
|
98
|
+
end
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
class WsOpportunityNoteSearch < WsSearch
|
103
|
+
attr_reader :opportunity_id
|
104
|
+
|
105
|
+
def initialize(opportunity_id)
|
106
|
+
@opportunity_id = opportunity_id
|
107
|
+
end
|
108
|
+
|
109
|
+
# @param [Handsoap::XmlMason::Node] msg
|
110
|
+
# @return [Handsoap::XmlMason::Node]
|
111
|
+
def soapify_for(msg)
|
112
|
+
msg.add('opportunityNote') { |crit|
|
113
|
+
crit.add 'opportunityId', @opportunity_id
|
114
|
+
crit.add 'firstResultPosition', @first_result_position || DEFAULT_FIRST_RESULT_POSITION
|
115
|
+
crit.add 'totalResultsRequested', @total_results_requested || DEFAULT_TOTAL_RESULTS_REQUESTED
|
116
|
+
crit.add 'updatedOn', @updated_on unless @updated_on.nil?
|
117
|
+
}
|
118
|
+
end
|
119
|
+
end
|
5
120
|
|
6
121
|
LS_API_NAMESPACE='http://www.landslide.com/webservices/SoapService'
|
7
122
|
LS_API_ENDPOINT = {
|
@@ -595,106 +710,5 @@ class Landslider < Handsoap::Service
|
|
595
710
|
:start_date => xml_to_date(node, './startDate/text()')
|
596
711
|
}
|
597
712
|
end
|
598
|
-
|
599
|
-
class WsSearch
|
600
|
-
attr_reader :field_id, :operator, :query_value
|
601
|
-
|
602
|
-
def initialize(field_id, operator, query_value)
|
603
|
-
@field_id = field_id
|
604
|
-
@operator = operator
|
605
|
-
@query_value = query_value
|
606
|
-
end
|
607
|
-
|
608
|
-
# @param [Handsoap::XmlMason::Node] msg
|
609
|
-
# @return [Handsoap::XmlMason::Node]
|
610
|
-
def soapify_for(msg)
|
611
|
-
msg.add('searchCriteria') { |crit|
|
612
|
-
crit.add 'fieldId', @field_id
|
613
|
-
crit.add 'operator', @operator
|
614
|
-
crit.add 'queryValue', @query_value unless @query_value.nil?
|
615
|
-
}
|
616
|
-
end
|
617
|
-
end
|
618
|
-
|
619
|
-
class WsAccountNoteSearch
|
620
|
-
attr_reader :account_id
|
621
|
-
attr_writer :first_result_position, :total_results_requested, :updated_on
|
622
|
-
|
623
|
-
def initialize(account_id)
|
624
|
-
@account_id = account_id
|
625
|
-
end
|
626
|
-
|
627
|
-
# @param [Handsoap::XmlMason::Node] msg
|
628
|
-
# @return [Handsoap::XmlMason::Node]
|
629
|
-
def soapify_for(msg)
|
630
|
-
msg.add('accountNoteSearch') { |crit|
|
631
|
-
crit.add 'accountId', @account_id
|
632
|
-
crit.add 'firstResultPosition', @first_result_position || DEFAULT_FIRST_RESULT_POSITION
|
633
|
-
crit.add 'totalResultsRequested', @total_results_requested || DEFAULT_TOTAL_RESULTS_REQUESTED
|
634
|
-
crit.add 'updatedOn', @updated_on unless @updated_on.nil?
|
635
|
-
}
|
636
|
-
end
|
637
|
-
end
|
638
|
-
|
639
|
-
class WsContactNoteSearch
|
640
|
-
attr_reader :contact_id
|
641
|
-
attr_writer :first_result_position, :total_results_requested, :updated_on
|
642
|
-
|
643
|
-
def initialize(contact_id)
|
644
|
-
@contact_id = contact_id
|
645
|
-
end
|
646
|
-
|
647
|
-
# @param [Handsoap::XmlMason::Node] msg
|
648
|
-
# @return [Handsoap::XmlMason::Node]
|
649
|
-
def soapify_for(msg)
|
650
|
-
msg.add('contactNote') { |crit|
|
651
|
-
crit.add 'contactId', @contact_id
|
652
|
-
crit.add 'firstResultPosition', @first_result_position || DEFAULT_FIRST_RESULT_POSITION
|
653
|
-
crit.add 'totalResultsRequested', @total_results_requested || DEFAULT_TOTAL_RESULTS_REQUESTED
|
654
|
-
crit.add 'updatedOn', @updated_on unless @updated_on.nil?
|
655
|
-
}
|
656
|
-
end
|
657
|
-
end
|
658
|
-
|
659
|
-
class WsLeadNoteSearch
|
660
|
-
attr_reader :lead_id
|
661
|
-
attr_writer :first_result_position, :total_results_requested, :updated_on
|
662
|
-
|
663
|
-
def initialize(lead_id)
|
664
|
-
@lead_id = lead_id
|
665
|
-
end
|
666
|
-
|
667
|
-
# @param [Handsoap::XmlMason::Node] msg
|
668
|
-
# @return [Handsoap::XmlMason::Node]
|
669
|
-
def soapify_for(msg)
|
670
|
-
msg.add('leadNote') { |crit|
|
671
|
-
crit.add 'leadId', @lead_id
|
672
|
-
crit.add 'firstResultPosition', @first_result_position || DEFAULT_FIRST_RESULT_POSITION
|
673
|
-
crit.add 'totalResultsRequested', @total_results_requested || DEFAULT_TOTAL_RESULTS_REQUESTED
|
674
|
-
crit.add 'updatedOn', @updated_on unless @updated_on.nil?
|
675
|
-
}
|
676
|
-
end
|
677
|
-
|
678
|
-
end
|
679
|
-
|
680
|
-
class WsOpportunityNoteSearch
|
681
|
-
attr_reader :opportunity_id
|
682
|
-
attr_writer :first_result_position, :total_results_requested, :updated_on
|
683
|
-
|
684
|
-
def initialize(opportunity_id)
|
685
|
-
@opportunity_id = opportunity_id
|
686
|
-
end
|
687
|
-
|
688
|
-
# @param [Handsoap::XmlMason::Node] msg
|
689
|
-
# @return [Handsoap::XmlMason::Node]
|
690
|
-
def soapify_for(msg)
|
691
|
-
msg.add('opportunityNote') { |crit|
|
692
|
-
crit.add 'opportunityId', @opportunity_id
|
693
|
-
crit.add 'firstResultPosition', @first_result_position || DEFAULT_FIRST_RESULT_POSITION
|
694
|
-
crit.add 'totalResultsRequested', @total_results_requested || DEFAULT_TOTAL_RESULTS_REQUESTED
|
695
|
-
crit.add 'updatedOn', @updated_on unless @updated_on.nil?
|
696
|
-
}
|
697
|
-
end
|
698
|
-
end
|
699
713
|
|
700
714
|
end
|
@@ -11,7 +11,7 @@ class WsAccountNoteSearchTest < Test::Unit::TestCase
|
|
11
11
|
search = Landslider::WsAccountNoteSearch.new(55647822)
|
12
12
|
result = Landslider.get_account_notes($sid3, search)
|
13
13
|
assert_equal false, result[:error]
|
14
|
-
assert_equal
|
14
|
+
assert_equal 8, result[:results_returned]
|
15
15
|
end
|
16
16
|
|
17
17
|
def test_account_note_search_limit_by_updated_on
|
data/test/ws_search_test.rb
CHANGED
@@ -8,7 +8,7 @@ class WsSearchTest < Test::Unit::TestCase
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def test_ws_search_object
|
11
|
-
search = Landslider::
|
11
|
+
search = Landslider::WsSearchCriterion.new('AccountName', 'Equals', 'Boston')
|
12
12
|
assert_equal 'AccountName', search.field_id
|
13
13
|
assert_equal 'Equals', search.operator
|
14
14
|
assert_equal 'Boston', search.query_value
|
@@ -22,7 +22,7 @@ class WsSearchTest < Test::Unit::TestCase
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def test_get_accounts_with_search_criteria
|
25
|
-
search = Landslider::
|
25
|
+
search = Landslider::WsSearchCriterion.new('AccountName', 'Equals', 'Boston')
|
26
26
|
result = Landslider.get_accounts($sid2, 1, 25, search)
|
27
27
|
|
28
28
|
assert_equal false, result[:error]
|
@@ -38,7 +38,7 @@ class WsSearchTest < Test::Unit::TestCase
|
|
38
38
|
|
39
39
|
def test_get_opportunities_with_search_criteria
|
40
40
|
target_phase_name = 'Prospect'
|
41
|
-
search = Landslider::
|
41
|
+
search = Landslider::WsSearchCriterion.new('CurrentPhaseName', 'Contains', target_phase_name)
|
42
42
|
result = Landslider.get_opportunities($sid2, 1, 25, search)
|
43
43
|
|
44
44
|
assert_equal false, result[:error]
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: landslider
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.5.
|
5
|
+
version: 0.5.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Jay Prall
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2011-05-
|
13
|
+
date: 2011-05-07 00:00:00 -04:00
|
14
14
|
default_executable: generate_api_key.rb
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
@@ -112,11 +112,5 @@ rubygems_version: 1.6.2
|
|
112
112
|
signing_key:
|
113
113
|
specification_version: 3
|
114
114
|
summary: Landslide Ruby
|
115
|
-
test_files:
|
116
|
-
|
117
|
-
- test/test_helper.rb
|
118
|
-
- test/ws_account_note_search_test.rb
|
119
|
-
- test/ws_contact_note_search_test.rb
|
120
|
-
- test/ws_lead_note_search_test.rb
|
121
|
-
- test/ws_opportunity_note_search_test.rb
|
122
|
-
- test/ws_search_test.rb
|
115
|
+
test_files: []
|
116
|
+
|