pipeline_deals 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. data/Gemfile +1 -0
  2. data/lib/pipeline_deals.rb +2 -5
  3. data/lib/pipeline_deals/collection.rb +1 -1
  4. data/lib/pipeline_deals/resources.rb +6 -0
  5. data/lib/pipeline_deals/resources/company.rb +4 -3
  6. data/lib/pipeline_deals/resources/deal.rb +7 -6
  7. data/lib/pipeline_deals/resources/document.rb +9 -0
  8. data/lib/pipeline_deals/resources/person.rb +2 -2
  9. data/lib/pipeline_deals/resources/user.rb +1 -1
  10. data/lib/pipeline_deals/version.rb +1 -1
  11. data/spec/cassettes/PipelineDeals_Company_documents.yml +49 -0
  12. data/spec/cassettes/PipelineDeals_Company_items.yml +335 -0
  13. data/spec/cassettes/PipelineDeals_Company_next_page.yml +53 -0
  14. data/spec/cassettes/PipelineDeals_Company_people.yml +51 -0
  15. data/spec/cassettes/PipelineDeals_Company_per_page.yml +63 -0
  16. data/spec/cassettes/PipelineDeals_Company_six_things.yml +60 -0
  17. data/spec/cassettes/PipelineDeals_Deal_different_page.yml +55 -0
  18. data/spec/cassettes/PipelineDeals_Deal_documents.yml +49 -0
  19. data/spec/cassettes/PipelineDeals_Deal_items.yml +291 -0
  20. data/spec/cassettes/PipelineDeals_Deal_next_page.yml +55 -0
  21. data/spec/cassettes/PipelineDeals_Deal_per_page.yml +68 -0
  22. data/spec/cassettes/PipelineDeals_Deal_six_things.yml +65 -0
  23. data/spec/cassettes/company_deals.yml +50 -0
  24. data/spec/cassettes/company_people.yml +51 -0
  25. data/spec/cassettes/deal_documents.yml +49 -0
  26. data/spec/cassettes/deal_with_company.yml +49 -0
  27. data/spec/cassettes/deal_with_primary_contact.yml +49 -0
  28. data/spec/cassettes/deals_filtered_by_stage.yml +109 -0
  29. data/spec/cassettes/get_a_company.yml +48 -0
  30. data/spec/cassettes/get_deals.yml +291 -0
  31. data/spec/pipeline_deals/companies_spec.rb +77 -0
  32. data/spec/pipeline_deals/custom_fields_spec.rb +2 -0
  33. data/spec/pipeline_deals/deals_spec.rb +66 -32
  34. data/spec/pipeline_deals/has_documents.rb +9 -0
  35. data/spec/pipeline_deals/has_people.rb +10 -0
  36. data/spec/pipeline_deals/pagination_spec.rb +38 -0
  37. data/spec/spec_helper.rb +9 -1
  38. metadata +55 -5
@@ -0,0 +1,9 @@
1
+ shared_examples_for "an object that can have documents" do
2
+ it "should have documents" do
3
+ VCR.use_cassette(cassette('documents')) do
4
+ docs_obj.documents.size.should == 1
5
+ docs_obj.documents.first.should be_an_instance_of PipelineDeals::Document
6
+ end
7
+ end
8
+ end
9
+
@@ -0,0 +1,10 @@
1
+ shared_examples_for "an object that can have people" do
2
+ it "should have people" do
3
+ VCR.use_cassette(cassette('people')) do
4
+ people_obj.people.size.should == 1
5
+ people_obj.people.first.should be_an_instance_of PipelineDeals::Person
6
+ end
7
+ end
8
+ end
9
+
10
+
@@ -0,0 +1,38 @@
1
+
2
+ shared_examples_for "a paginated collection" do
3
+ let(:paginated_items) { VCR.use_cassette(cassette('items')) { described_class.find(:all) } }
4
+
5
+ it "should have a pagination object" do
6
+ paginated_items.pagination.should_not be_nil
7
+ end
8
+
9
+ describe "the pagination object" do
10
+ let(:pagination) { paginated_items.pagination }
11
+
12
+ it "should have a total" do
13
+ pagination[:total].should_not be_nil
14
+ end
15
+
16
+ it "should have a page number" do
17
+ pagination[:page].should_not be_nil
18
+ end
19
+ end
20
+
21
+ describe "specify per_page" do
22
+ let(:per_page) { VCR.use_cassette(cassette('per_page')) { described_class.where(per_page: 7) } }
23
+
24
+ it "should be able to specify a per_page" do
25
+ per_page.size.should == 7
26
+ end
27
+ end
28
+
29
+ describe "getting a different page" do
30
+ let(:six_things) { VCR.use_cassette(cassette('six_things')) { described_class.where(page: 1, per_page: 6) } }
31
+ let(:next_page) { VCR.use_cassette(cassette('next_page')) { described_class.where(page: 2, per_page: 3) } }
32
+ it "should get the next page of stuff" do
33
+ six_things[3..5].map(&:id).should == next_page.map(&:id)
34
+ end
35
+ end
36
+ end
37
+
38
+
@@ -3,9 +3,13 @@ require 'vcr'
3
3
  require 'pipeline_deals'
4
4
  require 'pry'
5
5
 
6
+ require 'pipeline_deals/pagination_spec'
7
+ require 'pipeline_deals/has_documents'
8
+ require 'pipeline_deals/has_people'
9
+
6
10
  PipelineDeals::Resource.site = "http://localhost:3000"
7
11
 
8
- ActiveResource::Base.logger = Logger.new(STDOUT)
12
+ #ActiveResource::Base.logger = Logger.new(STDOUT)
9
13
 
10
14
  VCR.configure do |c|
11
15
  c.cassette_library_dir = './spec/cassettes'
@@ -16,3 +20,7 @@ end
16
20
  RSpec.configure do |c|
17
21
  c.extend VCR::RSpec::Macros
18
22
  end
23
+
24
+ def cassette(append)
25
+ "#{described_class.to_s}_#{append}"
26
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pipeline_deals
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-15 00:00:00.000000000 Z
12
+ date: 2013-06-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activeresource
@@ -46,6 +46,7 @@ files:
46
46
  - lib/pipeline_deals/admin_resource.rb
47
47
  - lib/pipeline_deals/collection.rb
48
48
  - lib/pipeline_deals/resource.rb
49
+ - lib/pipeline_deals/resources.rb
49
50
  - lib/pipeline_deals/resources/company.rb
50
51
  - lib/pipeline_deals/resources/company_custom_field_label.rb
51
52
  - lib/pipeline_deals/resources/custom_field_label_dropdown_entry.rb
@@ -53,6 +54,7 @@ files:
53
54
  - lib/pipeline_deals/resources/deal_custom_field_label.rb
54
55
  - lib/pipeline_deals/resources/deal_stage.rb
55
56
  - lib/pipeline_deals/resources/definitions.rb
57
+ - lib/pipeline_deals/resources/document.rb
56
58
  - lib/pipeline_deals/resources/event_category.rb
57
59
  - lib/pipeline_deals/resources/lead_source.rb
58
60
  - lib/pipeline_deals/resources/lead_status.rb
@@ -63,15 +65,40 @@ files:
63
65
  - lib/pipeline_deals/resources/user.rb
64
66
  - lib/pipeline_deals/version.rb
65
67
  - pipeline_deals.gemspec
68
+ - spec/cassettes/PipelineDeals_Company_documents.yml
69
+ - spec/cassettes/PipelineDeals_Company_items.yml
70
+ - spec/cassettes/PipelineDeals_Company_next_page.yml
71
+ - spec/cassettes/PipelineDeals_Company_people.yml
72
+ - spec/cassettes/PipelineDeals_Company_per_page.yml
73
+ - spec/cassettes/PipelineDeals_Company_six_things.yml
74
+ - spec/cassettes/PipelineDeals_Deal_different_page.yml
75
+ - spec/cassettes/PipelineDeals_Deal_documents.yml
76
+ - spec/cassettes/PipelineDeals_Deal_items.yml
77
+ - spec/cassettes/PipelineDeals_Deal_next_page.yml
78
+ - spec/cassettes/PipelineDeals_Deal_per_page.yml
79
+ - spec/cassettes/PipelineDeals_Deal_six_things.yml
80
+ - spec/cassettes/company_deals.yml
81
+ - spec/cassettes/company_people.yml
82
+ - spec/cassettes/deal_documents.yml
66
83
  - spec/cassettes/deal_user.yml
84
+ - spec/cassettes/deal_with_company.yml
85
+ - spec/cassettes/deal_with_primary_contact.yml
86
+ - spec/cassettes/deals_filtered_by_stage.yml
87
+ - spec/cassettes/get_a_company.yml
67
88
  - spec/cassettes/get_a_deal.yml
89
+ - spec/cassettes/get_deals.yml
68
90
  - spec/cassettes/list_deal_stages.yml
69
91
  - spec/cassettes/list_deals.yml
70
92
  - spec/cassettes/paginate_deals.yml
71
93
  - spec/cassettes/update_deal.yml
72
94
  - spec/cassettes/update_lead_source.yml
73
95
  - spec/pipeline_deals/admin_spec.rb
96
+ - spec/pipeline_deals/companies_spec.rb
97
+ - spec/pipeline_deals/custom_fields_spec.rb
74
98
  - spec/pipeline_deals/deals_spec.rb
99
+ - spec/pipeline_deals/has_documents.rb
100
+ - spec/pipeline_deals/has_people.rb
101
+ - spec/pipeline_deals/pagination_spec.rb
75
102
  - spec/spec_helper.rb
76
103
  homepage: https://github.com/PipelineDeals/pipelinedeals_api
77
104
  licenses: []
@@ -85,9 +112,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
85
112
  - - ! '>='
86
113
  - !ruby/object:Gem::Version
87
114
  version: '0'
88
- segments:
89
- - 0
90
- hash: 171927393080445298
91
115
  required_rubygems_version: !ruby/object:Gem::Requirement
92
116
  none: false
93
117
  requirements:
@@ -101,13 +125,39 @@ signing_key:
101
125
  specification_version: 3
102
126
  summary: The pipeline_deals gem is a nice ruby wrapper around the PipelineDeals API.
103
127
  test_files:
128
+ - spec/cassettes/PipelineDeals_Company_documents.yml
129
+ - spec/cassettes/PipelineDeals_Company_items.yml
130
+ - spec/cassettes/PipelineDeals_Company_next_page.yml
131
+ - spec/cassettes/PipelineDeals_Company_people.yml
132
+ - spec/cassettes/PipelineDeals_Company_per_page.yml
133
+ - spec/cassettes/PipelineDeals_Company_six_things.yml
134
+ - spec/cassettes/PipelineDeals_Deal_different_page.yml
135
+ - spec/cassettes/PipelineDeals_Deal_documents.yml
136
+ - spec/cassettes/PipelineDeals_Deal_items.yml
137
+ - spec/cassettes/PipelineDeals_Deal_next_page.yml
138
+ - spec/cassettes/PipelineDeals_Deal_per_page.yml
139
+ - spec/cassettes/PipelineDeals_Deal_six_things.yml
140
+ - spec/cassettes/company_deals.yml
141
+ - spec/cassettes/company_people.yml
142
+ - spec/cassettes/deal_documents.yml
104
143
  - spec/cassettes/deal_user.yml
144
+ - spec/cassettes/deal_with_company.yml
145
+ - spec/cassettes/deal_with_primary_contact.yml
146
+ - spec/cassettes/deals_filtered_by_stage.yml
147
+ - spec/cassettes/get_a_company.yml
105
148
  - spec/cassettes/get_a_deal.yml
149
+ - spec/cassettes/get_deals.yml
106
150
  - spec/cassettes/list_deal_stages.yml
107
151
  - spec/cassettes/list_deals.yml
108
152
  - spec/cassettes/paginate_deals.yml
109
153
  - spec/cassettes/update_deal.yml
110
154
  - spec/cassettes/update_lead_source.yml
111
155
  - spec/pipeline_deals/admin_spec.rb
156
+ - spec/pipeline_deals/companies_spec.rb
157
+ - spec/pipeline_deals/custom_fields_spec.rb
112
158
  - spec/pipeline_deals/deals_spec.rb
159
+ - spec/pipeline_deals/has_documents.rb
160
+ - spec/pipeline_deals/has_people.rb
161
+ - spec/pipeline_deals/pagination_spec.rb
113
162
  - spec/spec_helper.rb
163
+ has_rdoc: