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 +4 -4
- data/lib/zendesk2/client/collections/memberships.rb +6 -4
- data/lib/zendesk2/client/requests/get_organization_memberships.rb +1 -3
- data/lib/zendesk2/client/requests/get_user_memberships.rb +1 -3
- data/lib/zendesk2/paged_collection.rb +15 -3
- data/lib/zendesk2/version.rb +1 -1
- data/spec/memberships_spec.rb +5 -5
- data/spec/shared/zendesk_resource.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d3fcbdbdb4b58bb78f1860e9674718eca73bb298
|
4
|
+
data.tar.gz: 6b69e843cb4cafd7dd347ee2e1158c40c5f27548
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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" => [
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
|
data/lib/zendesk2/version.rb
CHANGED
data/spec/memberships_spec.rb
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe "memberships" do
|
4
|
-
let(:client)
|
5
|
-
let(:user)
|
6
|
-
let(:organization)
|
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:
|
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 =>
|
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)
|