pipejump 0.3.1 → 0.3.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.
- data/Gemfile +2 -1
- data/Gemfile.lock +3 -1
- data/lib/pipejump/base/collection.rb +8 -4
- data/lib/pipejump/version.rb +1 -1
- data/spec/pipejump/resources/deal_spec.rb +17 -1
- metadata +4 -4
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -4,6 +4,7 @@ GEM
|
|
4
4
|
addressable (2.2.6)
|
5
5
|
crack (0.1.8)
|
6
6
|
diff-lcs (1.1.3)
|
7
|
+
json (1.5.3)
|
7
8
|
rake (0.9.2)
|
8
9
|
rcov (0.9.10)
|
9
10
|
rspec (2.6.0)
|
@@ -16,13 +17,14 @@ GEM
|
|
16
17
|
rspec-mocks (2.6.0)
|
17
18
|
vcr (1.11.2)
|
18
19
|
webmock (1.7.5)
|
19
|
-
addressable (
|
20
|
+
addressable (> 2.2.5, ~> 2.2)
|
20
21
|
crack (>= 0.1.7)
|
21
22
|
|
22
23
|
PLATFORMS
|
23
24
|
ruby
|
24
25
|
|
25
26
|
DEPENDENCIES
|
27
|
+
json
|
26
28
|
rake
|
27
29
|
rcov
|
28
30
|
rspec
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'cgi'
|
2
|
+
|
1
3
|
module Pipejump
|
2
4
|
|
3
5
|
# Represents a collection Resources available in the Pipejump API
|
@@ -83,8 +85,10 @@ module Pipejump
|
|
83
85
|
end
|
84
86
|
|
85
87
|
# Returns an Array of Resource objects
|
86
|
-
def all
|
87
|
-
|
88
|
+
def all(params = {})
|
89
|
+
query = params.map { |key, value| "#{CGI.escape(key.to_s)}=#{CGI.escape(value.to_s)}" }.join("&")
|
90
|
+
query = "?" + query unless query.empty?
|
91
|
+
code, data = @session.get(collection_path + '.json' + query)
|
88
92
|
data.collect { |data|
|
89
93
|
key = @resource.name.to_s.split('::').last.downcase
|
90
94
|
@resource.new(data[key].merge(:session => @session, :prefix => @prefix))
|
@@ -104,7 +108,7 @@ module Pipejump
|
|
104
108
|
all.inspect
|
105
109
|
end
|
106
110
|
|
107
|
-
['first', 'last', 'each', 'size', 'collect', 'reject'].each do |method|
|
111
|
+
['first', 'last', 'each', 'size', 'collect', 'reject', 'inject'].each do |method|
|
108
112
|
class_eval <<-STR
|
109
113
|
def #{method}(*args, &block)
|
110
114
|
all.#{method}(*args, &block)
|
@@ -114,4 +118,4 @@ module Pipejump
|
|
114
118
|
|
115
119
|
end
|
116
120
|
|
117
|
-
end
|
121
|
+
end
|
data/lib/pipejump/version.rb
CHANGED
@@ -12,6 +12,22 @@ describe Pipejump::Deal do
|
|
12
12
|
@client.destroy
|
13
13
|
end
|
14
14
|
|
15
|
+
describe '#all' do
|
16
|
+
it "should filter deals by stage" do
|
17
|
+
deal = @session.deals.create(:name => 'New deal' + uuid, :entity_id => @client.id, :stage_name => "won")
|
18
|
+
deals = @session.deals.all(:stage => "won")
|
19
|
+
deals.size.should == 1
|
20
|
+
deals[0].id.should == deal.id
|
21
|
+
end
|
22
|
+
|
23
|
+
it "by default fetches incoming deals" do
|
24
|
+
deal = @session.deals.create(:name => 'New deal 2' + uuid, :entity_id => @client.id, :stage_name => "incoming")
|
25
|
+
deals = @session.deals.all
|
26
|
+
deals.size.should == 1
|
27
|
+
deals[0].id.should == deal.id
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
15
31
|
describe '#create' do
|
16
32
|
|
17
33
|
it "should create deal with valid params" do
|
@@ -118,4 +134,4 @@ describe Pipejump::Deal do
|
|
118
134
|
|
119
135
|
end
|
120
136
|
|
121
|
-
end
|
137
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pipejump
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 3
|
9
|
-
-
|
10
|
-
version: 0.3.
|
9
|
+
- 2
|
10
|
+
version: 0.3.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Marcin Bunsch
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-09-
|
18
|
+
date: 2011-09-26 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|