zendesk2 1.5.10 → 1.5.11

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