zendesk2 1.3.3 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: aeacdd1baed3d95569ba4f094e5019e896802326
4
- data.tar.gz: 1fa4b658c4a044099e3662b675d032825d784d87
3
+ metadata.gz: ea32a42fea79611932cae7f6a9a7c5e36f857fe4
4
+ data.tar.gz: 9911f329d17548596da4d41e3e3bb257016e2637
5
5
  SHA512:
6
- metadata.gz: bfc438e64a48e5909ab3567cb0c11ebef385955de7393b67840a870213f643e3949098dd1abbc41536b75335fb161bb0edbfa89017a9dc65436d9741a783d62d
7
- data.tar.gz: 4946663f0020af266949b279c73243a16387909a89f67f4dd32049fa6c1cd81ddfe80454bf125504f4c10b3e041475f6bf3c37a63276a7ada49dbb186f03f058
6
+ metadata.gz: 5908502c65ce8cc6fd8a21a6b5024a4f590af73dcf3286fe1eb5e3469e94266e536976699ba4613a9ce60679574f4fe52924ad27c1f2d376a7d1524e86ef8f14
7
+ data.tar.gz: 0578599e099c25f33b0dd43d1a4af95aeb6409ddf35da14f343577919502a289a2a4936118aa39b195bdba044649d1b713c8a99ca2a1c4e396c7e30bf17595a7
@@ -20,6 +20,24 @@ class Zendesk2::PagedCollection < Zendesk2::Collection
20
20
  page
21
21
  end
22
22
 
23
+ def each_page
24
+ return to_enum(:each_page) unless block_given?
25
+ page = self
26
+ while page
27
+ yield page
28
+ page = page.next_page
29
+ end
30
+ end
31
+
32
+ def each_entry
33
+ return to_enum(:each_entry) unless block_given?
34
+ page = self
35
+ while page
36
+ page.records.each { |r| yield r }
37
+ page = page.next_page
38
+ end
39
+ end
40
+
23
41
  def next_page
24
42
  new_page.all("url" => next_page_link) if next_page_link
25
43
  end
@@ -1,3 +1,3 @@
1
1
  module Zendesk2
2
- VERSION = "1.3.3"
2
+ VERSION = "1.4.0"
3
3
  end
@@ -0,0 +1,32 @@
1
+ require 'spec_helper'
2
+
3
+ describe Zendesk2::PagedCollection, :mock_only do
4
+ let!(:client) { create_client }
5
+
6
+ let!(:records) { 333.times.map { client.organizations.create(name: mock_uuid) } }
7
+
8
+ context "#each_page" do
9
+ it "should enumerate pages" do
10
+ found_records = []
11
+ client.organizations.all.each_page { |page| page.each { |entry| found_records << entry } }
12
+
13
+ expect(records).to match_array(found_records)
14
+ end
15
+ end
16
+
17
+ context "#each_entry" do
18
+ it "should enumerate entries" do
19
+ found_records = []
20
+ client.organizations.all.each_entry { |entry| found_records << entry }
21
+
22
+ expect(records).to match_array(found_records)
23
+ end
24
+
25
+ it "should chain enumerables" do
26
+ target = records.sample
27
+ found = client.organizations.all.each_entry.find { |entry| entry.id == target.id }
28
+
29
+ expect(target).to eq(found)
30
+ end
31
+ end
32
+ end
@@ -33,6 +33,16 @@ describe "organizations" do
33
33
  expect(model.errors).to eq({"name" => ["Name: has already been taken"]})
34
34
  end
35
35
 
36
+ it "should update name" do
37
+ old_name = organization.name
38
+ proxy = organization.dup
39
+ new_name = proxy.name = mock_uuid
40
+
41
+ expect {
42
+ proxy.save!
43
+ }.to change { organization.reload.name }.from(old_name).to(new_name)
44
+ end
45
+
36
46
  it "should be able to find organizations by external id" do
37
47
  external_id = organization.external_id = mock_uuid
38
48
  organization.save!
data/zendesk2.gemspec CHANGED
@@ -16,9 +16,9 @@ Gem::Specification.new do |gem|
16
16
  gem.require_paths = ["lib"]
17
17
  gem.version = Zendesk2::VERSION
18
18
 
19
- gem.add_dependency "addressable", "~> 2.2"
20
- gem.add_dependency "cistern", "~> 0.11"
21
- gem.add_dependency "faraday", "~> 0.9"
19
+ gem.add_dependency "addressable", "~> 2.2"
20
+ gem.add_dependency "cistern", "~> 0.11"
21
+ gem.add_dependency "faraday", "~> 0.9"
22
22
  gem.add_dependency "faraday_middleware", "~> 0.9"
23
- gem.add_dependency "jwt", "~> 1.0"
23
+ gem.add_dependency "jwt", "~> 1.0"
24
24
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.3
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Lane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-08 00:00:00.000000000 Z
11
+ date: 2015-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -250,6 +250,7 @@ files:
250
250
  - spec/help_center/articles_spec.rb
251
251
  - spec/help_center/categories_spec.rb
252
252
  - spec/help_center/sections_spec.rb
253
+ - spec/lib/paged_collection_spec.rb
253
254
  - spec/memberships_spec.rb
254
255
  - spec/organizations_spec.rb
255
256
  - spec/shared/zendesk_resource.rb
@@ -284,7 +285,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
284
285
  version: '0'
285
286
  requirements: []
286
287
  rubyforge_project:
287
- rubygems_version: 2.2.2
288
+ rubygems_version: 2.4.5
288
289
  signing_key:
289
290
  specification_version: 4
290
291
  summary: Zendesk V2 API client
@@ -295,6 +296,7 @@ test_files:
295
296
  - spec/help_center/articles_spec.rb
296
297
  - spec/help_center/categories_spec.rb
297
298
  - spec/help_center/sections_spec.rb
299
+ - spec/lib/paged_collection_spec.rb
298
300
  - spec/memberships_spec.rb
299
301
  - spec/organizations_spec.rb
300
302
  - spec/shared/zendesk_resource.rb
@@ -308,4 +310,3 @@ test_files:
308
310
  - spec/user_fields_spec.rb
309
311
  - spec/user_identities_spec.rb
310
312
  - spec/users_spec.rb
311
- has_rdoc: