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 +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)
|