zendesk2 1.5.10 → 1.5.11

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: de5470cb6dcb955c1ef2d479cc686a57fd13429c
4
- data.tar.gz: 37533b2cf4e9549230883682315009c429fe7512
3
+ metadata.gz: d3fcbdbdb4b58bb78f1860e9674718eca73bb298
4
+ data.tar.gz: 6b69e843cb4cafd7dd347ee2e1158c40c5f27548
5
5
  SHA512:
6
- metadata.gz: b21ea4b0b5d8bfc20e6a2949b5cf8aa75635b5266967c6bc8360ecaa55e2dc139e8e27ba81a7665291bac96c3f64e7fec1a84605d3baf8aa22e16d007c0e33c6
7
- data.tar.gz: c0cb2db884e230cdd63b406711018ce2354d726ccc08d6754fd126e3d700ae59a5c3b3f0353ebdebe730bd8fe5c3f45bb84bd432221bdbc0dfaa62d89d048e7d
6
+ metadata.gz: f4c24ea86731f7cdd3e02d50d784fdb33da1977c89d4d823a7e3c3044d649b376e8829e385489e5cb84e4324c09759b7d8539f647fed14b7e5aa92737e3e0614
7
+ data.tar.gz: 27b45d88a7854e86f1999ace2a1b01b9d54d4a9ae1df5374611284fbdbd3d6e8cf8c8cd00ae784b4709becdb99b531378674b519dd97aac1737e89b3ece5b09d
@@ -1,11 +1,11 @@
1
1
  class Zendesk2::Client::Memberships < Zendesk2::Client::Collection
2
+ include Zendesk2::PagedCollection
2
3
  extend Zendesk2::Attributes
3
4
 
4
5
  model Zendesk2::Client::Membership
5
6
 
6
7
  attribute :user_id, type: :integer
7
8
  attribute :organization_id, type: :integer
8
- attribute :count, type: :integer
9
9
 
10
10
  assoc_accessor :organization
11
11
  assoc_accessor :user
@@ -19,12 +19,14 @@ class Zendesk2::Client::Memberships < Zendesk2::Client::Collection
19
19
 
20
20
  body = if self.user_id && self.organization_id
21
21
  {
22
- "organization_memberships" => [ service.get_membership("user_id" => self.user_id, "organization_id" => self.organization_id).body["organization_membership"] ]
22
+ "organization_memberships" => [
23
+ service.get_membership("user_id" => self.user_id, "organization_id" => self.organization_id).body["organization_membership"]
24
+ ]
23
25
  }
24
26
  elsif self.user_id
25
- service.get_user_memberships("membership" => { "user_id" => self.user_id }).body
27
+ service.get_user_memberships({"membership" => { "user_id" => self.user_id }}.merge(params)).body
26
28
  else
27
- service.get_organization_memberships("membership" => { "organization_id" => self.organization_id }).body
29
+ service.get_organization_memberships({"membership" => { "organization_id" => self.organization_id }}.merge(params)).body
28
30
  end
29
31
 
30
32
  self.load(body[collection_root])
@@ -9,8 +9,6 @@ class Zendesk2::Client::GetOrganizationMemberships < Zendesk2::Client::Request
9
9
  end
10
10
 
11
11
  def mock
12
- memberships = self.data[:memberships].values.select { |m| m["organization_id"] == organization_id }
13
-
14
- resources(memberships, root: "organization_memberships")
12
+ page(self.data[:memberships].values.select { |m| m["organization_id"] == organization_id }, root: "organization_memberships")
15
13
  end
16
14
  end
@@ -9,8 +9,6 @@ class Zendesk2::Client::GetUserMemberships < Zendesk2::Client::Request
9
9
  end
10
10
 
11
11
  def mock
12
- collection = self.data[:memberships].values.select { |m| m["user_id"] == user_id }
13
-
14
- resources(collection, root: "organization_memberships")
12
+ page(self.data[:memberships].values.select { |m| m["user_id"] == user_id }, root: "organization_memberships")
15
13
  end
16
14
  end
@@ -41,11 +41,23 @@ module Zendesk2::PagedCollection
41
41
  end
42
42
 
43
43
  def next_page
44
- new_page.all("url" => next_page_link, "filtered" => self.filtered) if next_page_link
44
+ if next_page_link
45
+ options = {"url" => next_page_link}
46
+ if self.respond_to?(:filtered) # searchable
47
+ options.merge!("filtered" => self.filtered)
48
+ end
49
+ new_page.all(options)
50
+ end
45
51
  end
46
52
 
47
53
  def previous_page
48
- new_page.all("url" => previous_page_link, "filtered" => self.filtered) if previous_page_link
54
+ if previous_page_link
55
+ options = {"url" => previous_page_link}
56
+ if self.respond_to?(:filtered) # searchable
57
+ options.merge!("filtered" => self.filtered)
58
+ end
59
+ new_page.all(options)
60
+ end
49
61
  end
50
62
 
51
63
  # Attempt creation of resource and explode if unsuccessful
@@ -53,7 +65,7 @@ module Zendesk2::PagedCollection
53
65
  # @raise [Zendesk2::Error] if creation was unsuccessful
54
66
  # @return [Zendesk::Client::Model]
55
67
  def create!(attributes={})
56
- model = self.new(attributes.merge(Zendesk2.stringify_keys(self.attributes)))
68
+ model = self.new(Zendesk2.stringify_keys(attributes).merge(Zendesk2.stringify_keys(self.attributes)))
57
69
  model.save!
58
70
  end
59
71
 
@@ -1,3 +1,3 @@
1
1
  module Zendesk2
2
- VERSION = "1.5.10"
2
+ VERSION = "1.5.11"
3
3
  end
@@ -1,14 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe "memberships" do
4
- let(:client) { create_client }
5
- let(:user) { client.users.create!(email: mock_email, name: mock_uuid, verified: true) }
6
- let(:organization) { client.organizations.create!(name: mock_uuid) }
4
+ let!(:client) { create_client }
5
+ let!(:user) { client.users.create!(email: mock_email, name: mock_uuid, verified: true) }
6
+ let(:organization) { client.organizations.create!(name: mock_uuid) }
7
7
 
8
8
  include_examples "zendesk resource", {
9
- :create_params => lambda { { organization_id: organization.id, user_id: user.id } },
9
+ :create_params => lambda { { organization_id: client.organizations.create!(name: mock_uuid).identity, user_id: user.id } },
10
10
  :collection => lambda { client.memberships(user: user) },
11
- :paged => false,
11
+ :paged => true,
12
12
  :update => false,
13
13
  :search => false,
14
14
  }
@@ -25,7 +25,7 @@ shared_examples "zendesk resource" do |options={}|
25
25
  @resources = 3.times.map { collection.create!(instance_exec(&options[:create_params])) }
26
26
  end
27
27
 
28
- after(:each) { @resources.each { |r| r.destroy } }
28
+ after(:each) { (@resources || []).each { |r| r.destroy } }
29
29
 
30
30
  it "should retrieve first page" do
31
31
  expect(collection.all("per_page" => "1").size).to eq(1)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.10
4
+ version: 1.5.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Lane