zendesk2 1.3.3 → 1.4.0

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.
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: