zendesk2 1.2.4 → 1.2.5

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: 930984502b3ffcce83fd01762bb8d48a07d760d5
4
- data.tar.gz: 901281d2b7f73eeedbb0405ab259f62d6ab920aa
3
+ metadata.gz: 281e65de8d7fc12c868312a9d3544dec44a584f7
4
+ data.tar.gz: 020d4a2cedceba691113f3bf5a18137a5c8df58d
5
5
  SHA512:
6
- metadata.gz: f642fe7199612809c97ec24c1f3a680ac33a270944d4205c6316bf4a6a4429224f0b09d331f1af5b4d671345b1450029be7af405d96471fadfb12064d277fa40
7
- data.tar.gz: 76141a4780845418663435b0ef1cd769d0fe5ba5cbcc277d31df3c8978587c5f497d3802e75e1b32497bcf5e6e627c97565241ce59e90b5c8c4fe7da917dbfe3
6
+ metadata.gz: f5a5ecc71d76557bc9e4dd70f64da853c70953f2a1040e87c72371f7fb005e3c7f56cac5537802e9a205103f42d994fa21cfaf5480b3cf7405f9881351c98f07
7
+ data.tar.gz: 877a512b7b15e43c6c9c882a1e063792c11a638aeea00bceb060340a922cff1aa92e0a208a6abb7c6a584b1016dc546340711a2e5ad83498d8ece93c584c7c08
data/lib/zendesk2.rb CHANGED
@@ -12,7 +12,7 @@ require 'forwardable'
12
12
  require 'logger'
13
13
  require 'time'
14
14
  require 'yaml'
15
- require 'uri'
15
+ require 'securerandom'
16
16
 
17
17
  module Zendesk2
18
18
  def self.defaults
@@ -24,20 +24,21 @@ module Zendesk2
24
24
  end
25
25
 
26
26
  def self.paging_parameters(options={})
27
- if url = options["url"]
28
- uri = Addressable::URI.parse(url)
29
- uri.query_values
30
- else
31
- Cistern::Hash.slice(options, "page", "per_page")
32
- end
27
+ params = if url = options["url"]
28
+ Addressable::URI.parse(url).query_values
29
+ else
30
+ options
31
+ end
32
+
33
+ Cistern::Hash.slice(params, "page", "per_page")
33
34
  end
34
35
 
35
36
  def self.uuid
36
- [8,4,4,4,12].map{|i| Cistern::Mock.random_hex(i)}.join("-")
37
+ SecureRandom.uuid
37
38
  end
38
39
 
39
40
  def self.stringify_keys(hash)
40
- hash.inject({}){|r,(k,v)| r.merge(k.to_s => v)}
41
+ hash.inject({}) { |r,(k,v)| r.merge(k.to_s => v) }
41
42
  end
42
43
 
43
44
  def self.blank?(string)
@@ -21,6 +21,7 @@ class Zendesk2::Client < Cistern::Service
21
21
  module Shared
22
22
  def require_parameters(_params, *requirements)
23
23
  params = Cistern::Hash.stringify_keys(_params)
24
+ params.reject! { |_,v| Zendesk2.blank?(v) }
24
25
 
25
26
  if (missing = requirements - params.keys).any?
26
27
  raise ArgumentError, "missing parameters: #{missing.join(", ")}"
@@ -42,7 +42,7 @@ class Zendesk2::Client < Cistern::Service
42
42
 
43
43
  def initialize(options={})
44
44
  @url = options[:url]
45
- @path = ::URI.parse(url).path
45
+ @path = Addressable::URI.parse(url).path
46
46
  @username, @password = options[:username], options[:password]
47
47
  @token = options[:token]
48
48
  @jwt_token = options[:jwt_token]
@@ -6,7 +6,7 @@ class Zendesk2::Client < Cistern::Service
6
6
 
7
7
  def initialize(options={})
8
8
  @url = if url = options[:url] || Zendesk2.defaults[:url]
9
- ::URI.parse(url).to_s
9
+ Addressable::URI.parse(url).to_s
10
10
  end
11
11
 
12
12
  @logger = options[:logger] || Logger.new(nil)
@@ -12,9 +12,9 @@ class Zendesk2::Client
12
12
 
13
13
  class Mock
14
14
  def get_user(params={})
15
- id = params["id"]
15
+ id = require_parameters(params, "id").to_i
16
16
 
17
- identities = self.data[:identities].values.select{|i| i["user_id"] == id}
17
+ identities = self.data[:identities].values.select { |i| i["user_id"] == id }
18
18
  identity = identities.find { |i| i["type"] == "email" && i["primary"] } || identities.find { |i| i["type"] == "email" }
19
19
 
20
20
  # @todo what happens if no identity?
@@ -5,9 +5,9 @@ class Zendesk2::Client
5
5
  page_params = Zendesk2.paging_parameters(params)
6
6
 
7
7
  request(
8
- :params => page_params,
9
- :method => :get,
10
- :path => "/users/#{user_id}/identities.json",
8
+ :params => page_params,
9
+ :method => :get,
10
+ :path => "/users/#{user_id}/identities.json",
11
11
  )
12
12
  end
13
13
  end # Real
@@ -1,3 +1,3 @@
1
1
  module Zendesk2
2
- VERSION = "1.2.4"
2
+ VERSION = "1.2.5"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zendesk2
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.4
4
+ version: 1.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Lane
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-26 00:00:00.000000000 Z
11
+ date: 2014-10-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable