zendesk_api 1.3.7 → 1.3.8

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: a8b73e0b2eea3b49827b9c51e491844b3b1c8aaa
4
- data.tar.gz: 2fc0ef98f91e5e7b72233f60cd486975b099f830
3
+ metadata.gz: e9b5cc8be9234d6da4cd1b90cbdf4462bf7d1fa7
4
+ data.tar.gz: ae424a078cd9a89561d9acc2be8e31b979611139
5
5
  SHA512:
6
- metadata.gz: 7914bfee9601f839db64cd49a025f27f693ba0ffee305db7e259494da1664f8837c56e1434738b2be972283ebdf381b9dc11bd227d334faaa32d4d8cff18c89a
7
- data.tar.gz: 6a847c4d6996077966632fd9d07cf2568c93180246d2561707b61b617dca9161e0833d8baf402eaa82b8c62bedcd8359f4cd2b6c0bbc57f7b6019c69442c9d4f
6
+ metadata.gz: 9fc5f11d463221cb917757de68241566ea3ea972ccacb68a10d8e2ecd4f7a17101493af05de639f18cc04263fe02d292083bff7acbdfb60f21fb2c9712730083
7
+ data.tar.gz: 40bbdf4e474b4662f395deaf59c04ccd854c74d609da8af4187be052c30d79ebc54c3a0671efb15d22a02eb1e0a6d656b866c71d1e8072fecff6d8fc2ea18881
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- zendesk_api (1.3.7)
4
+ zendesk_api (1.3.8)
5
5
  faraday (~> 0.9)
6
6
  hashie (>= 1.2)
7
7
  inflection
@@ -38,7 +38,7 @@ GEM
38
38
  erubis (2.7.0)
39
39
  faraday (0.9.0)
40
40
  multipart-post (>= 1.2, < 3)
41
- hashie (2.1.1)
41
+ hashie (3.0.0)
42
42
  hike (1.2.3)
43
43
  i18n (0.6.9)
44
44
  inflection (1.0.0)
@@ -25,7 +25,7 @@ module ZendeskAPI
25
25
  yield req if block_given?
26
26
  end
27
27
 
28
- handle_response
28
+ handle_response(@response)
29
29
 
30
30
  @attributes.clear_changes
31
31
  clear_associations
@@ -70,12 +70,6 @@ module ZendeskAPI
70
70
  end
71
71
  end
72
72
  end
73
-
74
- def handle_response
75
- if @response.body && @response.body[self.class.singular_resource_name]
76
- @attributes.replace @attributes.deep_merge(@response.body[self.class.singular_resource_name] || {})
77
- end
78
- end
79
73
  end
80
74
 
81
75
  module Read
@@ -102,7 +96,8 @@ module ZendeskAPI
102
96
  yield req if block_given?
103
97
  end
104
98
 
105
- new(client, response.body[singular_resource_name]).tap do |resource|
99
+ new(client).tap do |resource|
100
+ resource.handle_response(response)
106
101
  resource.set_includes(resource, includes, response.body)
107
102
  resource.attributes.clear_changes
108
103
  end
@@ -143,6 +143,12 @@ module ZendeskAPI
143
143
  class DataResource < Data
144
144
  attr_accessor :error, :error_message
145
145
  extend Verbs
146
+
147
+ def handle_response(response)
148
+ if response.body && response.body[self.class.singular_resource_name]
149
+ @attributes.replace(@attributes.deep_merge(response.body[self.class.singular_resource_name]))
150
+ end
151
+ end
146
152
  end
147
153
 
148
154
  # Represents a resource that can only GET
@@ -117,6 +117,9 @@ module ZendeskAPI
117
117
  has_many Tag, :extend => Tag::Update, :inline => :create
118
118
  end
119
119
 
120
+ class Brand < Resource
121
+ end
122
+
120
123
  class ForumSubscription < Resource
121
124
  has Forum
122
125
  has User
@@ -347,6 +350,7 @@ module ZendeskAPI
347
350
  has Group
348
351
  has :forum_topic, :class => Topic
349
352
  has Organization
353
+ has Brand
350
354
  has :related, :class => TicketRelated
351
355
 
352
356
  has Comment, :inline => true
@@ -628,8 +632,8 @@ module ZendeskAPI
628
632
  attributes.changes
629
633
  end
630
634
 
631
- def handle_response
632
- @attributes.replace(@response.body) if @response.body
635
+ def handle_response(response)
636
+ @attributes.replace(response.body) if response.body
633
637
  end
634
638
  end
635
639
 
@@ -645,16 +649,12 @@ module ZendeskAPI
645
649
  attributes.changes
646
650
  end
647
651
 
648
- def handle_response
649
- @attributes.replace(@response.body) if @response.body
652
+ def handle_response(response)
653
+ @attributes.replace(response.body) if response.body
650
654
  end
651
655
  end
652
656
 
653
- class App < DataResource
654
- include Create
655
- include Update
656
- include Destroy
657
-
657
+ class App < Resource
658
658
  def initialize(client, attributes = {})
659
659
  attributes[:upload_id] ||= nil
660
660
 
@@ -717,8 +717,8 @@ module ZendeskAPI
717
717
  attributes.changes
718
718
  end
719
719
 
720
- def handle_response
721
- @attributes.replace(@response.body) if @response.body
720
+ def handle_response(response)
721
+ @attributes.replace(response.body) if response.body
722
722
  end
723
723
  end
724
724
  end
@@ -1,3 +1,3 @@
1
1
  module ZendeskAPI
2
- VERSION = "1.3.7"
2
+ VERSION = "1.3.8"
3
3
  end
@@ -34,7 +34,7 @@ describe ZendeskAPI::Client do
34
34
  it "should handle valid url" do
35
35
  expect do
36
36
  ZendeskAPI::Client.new do |config|
37
- config.url = "https://example.zendesk.com/"
37
+ config.url = "https://example.zendesk.com/api/v2"
38
38
  end.to_not raise_error
39
39
  end
40
40
  end
@@ -42,7 +42,7 @@ describe ZendeskAPI::Client do
42
42
  context "basic_auth" do
43
43
  subject do
44
44
  ZendeskAPI::Client.new do |config|
45
- config.url = "https://example.zendesk.com"
45
+ config.url = "https://example.zendesk.com/api/v2"
46
46
  config.username = "hello"
47
47
  config.password = "token"
48
48
  end
@@ -60,7 +60,7 @@ describe ZendeskAPI::Client do
60
60
  context "access token" do
61
61
  subject do
62
62
  ZendeskAPI::Client.new do |config|
63
- config.url = "https://example.zendesk.com"
63
+ config.url = "https://example.zendesk.com/api/v2"
64
64
  config.access_token = "hello"
65
65
  end
66
66
  end
@@ -77,7 +77,7 @@ describe ZendeskAPI::Client do
77
77
  context "#token" do
78
78
  let(:client) do
79
79
  ZendeskAPI::Client.new do |config|
80
- config.url = "https://example.zendesk.com"
80
+ config.url = "https://example.zendesk.com/api/v2"
81
81
  config.username = username
82
82
  config.token = "token"
83
83
  end
@@ -116,7 +116,7 @@ describe ZendeskAPI::Client do
116
116
  context "#logger" do
117
117
  before(:each) do
118
118
  @client = ZendeskAPI::Client.new do |config|
119
- config.url = "https://example.zendesk.com/"
119
+ config.url = "https://example.zendesk.com/api/v2"
120
120
  config.logger = subject
121
121
  end
122
122
 
@@ -391,7 +391,7 @@ describe ZendeskAPI::Collection do
391
391
  end
392
392
 
393
393
  context "with a hash" do
394
- let(:object) { mock('ZendeskAPI::TestResource', :changes => [:xxx], :changed? => true, :destroyed? => false) }
394
+ let(:object) { double('ZendeskAPI::TestResource', :changes => [:xxx], :changed? => true, :destroyed? => false) }
395
395
 
396
396
  it "should call create with those options" do
397
397
  ZendeskAPI::TestResource.should_receive(:new).
@@ -425,7 +425,7 @@ describe ZendeskAPI::Collection do
425
425
 
426
426
  context "with everything else" do
427
427
  it "should pass to new, since this is how attachment handles it" do
428
- attachment = mock(:changes => [:xxx], :changed? => true, :destroyed? => false)
428
+ attachment = double(:changes => [:xxx], :changed? => true, :destroyed? => false)
429
429
  ZendeskAPI::TestResource.should_receive(:new).
430
430
  with(client, :id => "img.jpg", :association => instance_of(ZendeskAPI::Association)).
431
431
  and_return attachment
@@ -21,6 +21,30 @@ describe ZendeskAPI::ReadResource do
21
21
  }.to raise_error("No :id given")
22
22
  end
23
23
 
24
+ context "with overriden handle_response" do
25
+ subject do
26
+ Class.new(ZendeskAPI::TestResource) do
27
+ def self.singular_resource_name
28
+ 'hello'
29
+ end
30
+
31
+ def handle_response(response)
32
+ @attributes.replace(response.body)
33
+ end
34
+ end
35
+ end
36
+
37
+ before(:each) do
38
+ stub_json_request(:get, %r{hellos/#{id}}, json(:testing => 1))
39
+ end
40
+
41
+ it "should return instance of resource" do
42
+ object = subject.find(client, :id => id)
43
+ object.should be_instance_of(subject)
44
+ object.testing.should == 1
45
+ end
46
+ end
47
+
24
48
  context "with side loads" do
25
49
  before(:each) do
26
50
  stub_json_request(:get, %r{test_resources/#{id}\?include=nil_resource}, json(
@@ -496,10 +496,14 @@ describe ZendeskAPI::Resource do
496
496
 
497
497
  context "SingularTestResource" do
498
498
  context "#find" do
499
+ before do
500
+ stub_json_request(:get, %r{/singular_test_resource})
501
+ end
502
+
499
503
  it "should not require an id" do
500
504
  expect do
501
505
  ZendeskAPI::SingularTestResource.find(client)
502
- end.to_not raise_error(ArgumentError)
506
+ end.to_not raise_error
503
507
  end
504
508
  end
505
509
 
@@ -23,6 +23,8 @@ require File.join(File.dirname(__FILE__), '..', 'macros', 'resource_macros')
23
23
  require File.join(File.dirname(__FILE__), '..', 'fixtures', 'zendesk')
24
24
  require File.join(File.dirname(__FILE__), '..', 'fixtures', 'test_resources')
25
25
 
26
+ $credentials_warning = false
27
+
26
28
  # tests fail when this is included in a Module (someone else also defines client)
27
29
  def client
28
30
  credentials = File.join(File.dirname(__FILE__), '..', 'fixtures', 'credentials.yml')
@@ -60,8 +62,12 @@ def client
60
62
  config.allow_http = true
61
63
  end
62
64
  else
63
- puts "using default credentials: live specs will fail."
64
- puts "add your credentials to spec/fixtures/credentials.yml (see: spec/fixtures/credentials.yml.example)"
65
+ unless $credentials_warning
66
+ STDERR.puts "using default credentials: live specs will fail."
67
+ STDERR.puts "add your credentials to spec/fixtures/credentials.yml (see: spec/fixtures/credentials.yml.example)"
68
+ $credentials_warning = true
69
+ end
70
+
65
71
  config.username = "please.change"
66
72
  config.password = "me"
67
73
  config.url = "https://my.zendesk.com/api/v2"
@@ -82,5 +82,11 @@ module ZendeskAPI
82
82
  @organization ||= current_user.organization
83
83
  end
84
84
  end
85
+
86
+ def brand
87
+ VCR.use_cassette('valid_brand') do
88
+ @brand ||= current_user.brand
89
+ end
90
+ end
85
91
  end
86
92
  end
@@ -42,6 +42,7 @@ describe ZendeskAPI::AppInstallation do
42
42
 
43
43
  installations = client.app.installations
44
44
  VCR.use_cassette("app_install_fetch") { installations.fetch! }
45
+ VCR.use_cassette("app_install_find") { client.app.installations.find!(:id => install.id) }
45
46
 
46
47
  installations.should include(install)
47
48
 
@@ -22,6 +22,7 @@ describe ZendeskAPI::App do
22
22
 
23
23
  app.author_name.should == "Mr. Sprinkles"
24
24
 
25
+ VCR.use_cassette("app_find") { client.apps.find!(:id => app.id) }
25
26
  VCR.use_cassette("app_destroy") { app.destroy! }
26
27
  end
27
28
 
@@ -0,0 +1,12 @@
1
+ require 'core/spec_helper'
2
+
3
+ describe ZendeskAPI::Brand, :delete_after do
4
+ def valid_attributes
5
+ { :name => "Awesome-O" }
6
+ end
7
+
8
+ it_should_be_creatable
9
+ it_should_be_updatable :name
10
+ it_should_be_deletable
11
+ it_should_be_readable :brands, :create => true
12
+ end
@@ -21,6 +21,7 @@ describe ZendeskAPI::Ticket do
21
21
  it_should_be_readable user, :requested_tickets
22
22
  it_should_be_readable agent, :ccd_tickets
23
23
  it_should_be_readable organization, :tickets
24
+ it_should_be_readable brand, :tickets
24
25
 
25
26
  context "recent tickets" do
26
27
  before(:all) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.7
4
+ version: 1.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steven Davidovitz
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-05-20 00:00:00.000000000 Z
12
+ date: 2014-06-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bump
@@ -274,6 +274,7 @@ files:
274
274
  - spec/live/audit_spec.rb
275
275
  - spec/live/automation_spec.rb
276
276
  - spec/live/bookmark_spec.rb
277
+ - spec/live/brand_spec.rb
277
278
  - spec/live/category_spec.rb
278
279
  - spec/live/collection_spec.rb
279
280
  - spec/live/custom_role_spec.rb
@@ -384,6 +385,7 @@ test_files:
384
385
  - spec/live/audit_spec.rb
385
386
  - spec/live/automation_spec.rb
386
387
  - spec/live/bookmark_spec.rb
388
+ - spec/live/brand_spec.rb
387
389
  - spec/live/category_spec.rb
388
390
  - spec/live/collection_spec.rb
389
391
  - spec/live/custom_role_spec.rb