desk 1.0.7 → 1.0.8

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: 4f2df94009980b5fd0bd066e0e3c40a6b9b69f85
4
- data.tar.gz: 8950846b275c3695dc2d3e621a94f94f5bfeb9d5
3
+ metadata.gz: 6a9aa7d85fd6f664f33aa22ca041d54c50d13a13
4
+ data.tar.gz: d75f64fc8370b1e6535fc9db8284c4f5c6633c2f
5
5
  SHA512:
6
- metadata.gz: 5dc8d6505dbc24a2417d93592ae2503fad74d936fff7801ef6359d7be304f657beb968ab4d41d9ccb5e80554f20f80ee41c7a7944d91e9162eb3d3029d69e753
7
- data.tar.gz: bac5d38723b50e0a2ec667149f430eee02b286285afd6979a9b4784c15f001de72c37fbfe5a8e921d8dec5b883c971dab0fbb9658bec7f3f6b0a991ecb9430b9
6
+ metadata.gz: f5a548d4329f1d30b69396a94b230f2e7bba42a75f483ab00a344eaebe23b3a6afbd3a270e3e00cfef3a907c4031724a9dacd81d008e4485ac2437078c833ce2
7
+ data.tar.gz: a6bff0a201abff9eccca566d88657d70f8145d7551eb3253b002918b37163a7b665cf7e3043618c7519a2bec177e2e5f4e70be20fc94cafe78d3e63622adc6e9
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.add_development_dependency('webmock', '~> 1.6')
13
13
  s.add_development_dependency('yard', '~> 0.6')
14
14
  s.add_runtime_dependency('json', '~> 1.7') if RUBY_VERSION < '1.9'
15
- s.add_runtime_dependency 'hashie', '~> 3.3', '>= 3.3.2'
15
+ s.add_runtime_dependency 'hashie', '3.4.1'
16
16
  s.add_runtime_dependency('faraday', '~> 0.9.0')
17
17
  s.add_runtime_dependency('faraday_middleware', '~> 0.9.0')
18
18
  s.add_runtime_dependency('jruby-openssl', '~> 0.7.2') if RUBY_PLATFORM == 'java'
@@ -93,6 +93,118 @@ module Desk
93
93
  Hash[VALID_OPTIONS_KEYS.map {|key| [key, send(key)] }]
94
94
  end
95
95
 
96
+ def adapter
97
+ Thread.current[:adapter] ||= DEFAULT_ADAPTER
98
+ end
99
+
100
+ def adapter=(val)
101
+ Thread.current[:adapter] = val
102
+ end
103
+
104
+ def consumer_key
105
+ Thread.current[:consumer_key] ||= DEFAULT_CONSUMER_KEY
106
+ end
107
+
108
+ def consumer_key=(val)
109
+ Thread.current[:consumer_key] = val
110
+ end
111
+
112
+ def consumer_secret
113
+ Thread.current[:consumer_secret] ||= DEFAULT_CONSUMER_SECRET
114
+ end
115
+
116
+ def consumer_secret=(val)
117
+ Thread.current[:consumer_secret] = val
118
+ end
119
+
120
+ def format
121
+ Thread.current[:format] ||= DEFAULT_FORMAT
122
+ end
123
+
124
+ def format=(val)
125
+ Thread.current[:format] = val
126
+ end
127
+
128
+ def logger
129
+ Thread.current[:logger] ||= DEFAULT_LOGGER
130
+ end
131
+
132
+ def logger=(val)
133
+ Thread.current[:logger] = val
134
+ end
135
+
136
+ def max_requests
137
+ Thread.current[:max_requests] ||= DEFAULT_MAX_REQUESTS
138
+ end
139
+
140
+ def max_requests=(val)
141
+ Thread.current[:max_requests] = val
142
+ end
143
+
144
+ def oauth_token
145
+ Thread.current[:oauth_token] ||= DEFAULT_OAUTH_TOKEN
146
+ end
147
+
148
+ def oauth_token=(val)
149
+ Thread.current[:oauth_token] = val
150
+ end
151
+
152
+ def oauth_token_secret
153
+ Thread.current[:oauth_token_secret] ||= DEFAULT_OAUTH_TOKEN_SECRET
154
+ end
155
+
156
+ def oauth_token_secret=(val)
157
+ Thread.current[:oauth_token_secret] = val
158
+ end
159
+
160
+ def proxy
161
+ Thread.current[:proxy] ||= DEFAULT_PROXY
162
+ end
163
+
164
+ def proxy=(val)
165
+ Thread.current[:proxy] = val
166
+ end
167
+
168
+ def subdomain
169
+ Thread.current[:subdomain] ||= DEFAULT_SUBDOMAIN
170
+ end
171
+
172
+ def subdomain=(val)
173
+ Thread.current[:subdomain] = val
174
+ end
175
+
176
+ def support_email
177
+ Thread.current[:support_email] ||= DEFAULT_SUPPORT_EMAIL
178
+ end
179
+
180
+ def support_email=(val)
181
+ Thread.current[:support_email] = val
182
+ end
183
+
184
+ def use_max_requests
185
+ Thread.current[:use_max_requests] ||= DEFAULT_USE_MAX_REQUESTS
186
+ end
187
+
188
+ def use_max_requests=(val)
189
+ Thread.current[:use_max_requests] = val
190
+ end
191
+
192
+ def user_agent
193
+ Thread.current[:user_agent] ||= DEFAULT_USER_AGENT
194
+ end
195
+
196
+ def user_agent=(val)
197
+ Thread.current[:user_agent] = val
198
+ end
199
+
200
+ def version
201
+ Thread.current[:version] ||= DEFAULT_VERSION
202
+ end
203
+
204
+ def version=(val)
205
+ Thread.current[:version] = val
206
+ end
207
+
96
208
  # Reset all configuration options to defaults
97
209
  def reset
98
210
  self.adapter = DEFAULT_ADAPTER
@@ -17,7 +17,7 @@ module Hashie
17
17
  end
18
18
 
19
19
  class Deash < Mash
20
- # Object#type is deprecated
20
+ # Object#type is deprecated
21
21
  Mash.send :undef_method, :type
22
22
 
23
23
  def count
@@ -54,6 +54,14 @@ module Hashie
54
54
  return super
55
55
  end
56
56
 
57
+ def dynamic_cached_method(meth, value)
58
+ (class << self; self; end).class_eval do
59
+ define_method meth do
60
+ instance_variable_set("@#{meth}", value)
61
+ end
62
+ end
63
+ end
64
+
57
65
  def id(parent_id = false)
58
66
  id = nil
59
67
  if includes_key_chain?("raw._links.self.href") ||
@@ -1,4 +1,4 @@
1
1
  module Desk
2
2
  # The version of the gem
3
- VERSION = '1.0.7'.freeze unless defined?(::Desk::VERSION)
3
+ VERSION = '1.0.8'.freeze unless defined?(::Desk::VERSION)
4
4
  end
@@ -45,6 +45,23 @@ describe Desk::API do
45
45
  :version => "amazing",
46
46
  :logger => double('logger')
47
47
  }
48
+
49
+ @alternative_configuration = {
50
+ :consumer_key => 'Louie',
51
+ :consumer_secret => 'CounterStrike',
52
+ :oauth_token => 'plOT',
53
+ :oauth_token_secret => 'OperatingSystem',
54
+ :adapter => :sueohpyt,
55
+ :format => :json,
56
+ :max_requests => 5,
57
+ :proxy => 'http://tsuk:public@proxy.example.com:8080',
58
+ :subdomain => 'stresscoder',
59
+ :support_email => 'problem@stresscoder.com',
60
+ :use_max_requests => false,
61
+ :user_agent => 'Generic User Agent',
62
+ :version => "boring",
63
+ :logger => double('logger')
64
+ }
48
65
  end
49
66
 
50
67
  context "during initialization"
@@ -67,6 +84,26 @@ describe Desk::API do
67
84
  api.send(key).should == @configuration[key]
68
85
  end
69
86
  end
87
+
88
+ it 'should keep different configurations for each thread' do
89
+ Thread.new do
90
+ api = Desk::API.new
91
+ @configuration.each do |key, value|
92
+ api.send("#{key}=", value)
93
+ end
94
+
95
+ Thread.new do
96
+ alt_api = Desk::API.new
97
+ @alternative_configuration.each do |key, value|
98
+ alt_api.send("#{key}=", value)
99
+ end
100
+ end.join
101
+
102
+ @configuration.each do |key, value|
103
+ api.send(key).should eq(value)
104
+ end
105
+ end.join
106
+ end
70
107
  end
71
108
  end
72
109
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: desk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Warren
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-22 00:00:00.000000000 Z
11
+ date: 2015-11-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -132,22 +132,16 @@ dependencies:
132
132
  name: hashie
133
133
  requirement: !ruby/object:Gem::Requirement
134
134
  requirements:
135
- - - "~>"
136
- - !ruby/object:Gem::Version
137
- version: '3.3'
138
- - - ">="
135
+ - - '='
139
136
  - !ruby/object:Gem::Version
140
- version: 3.3.2
137
+ version: 3.4.1
141
138
  type: :runtime
142
139
  prerelease: false
143
140
  version_requirements: !ruby/object:Gem::Requirement
144
141
  requirements:
145
- - - "~>"
146
- - !ruby/object:Gem::Version
147
- version: '3.3'
148
- - - ">="
142
+ - - '='
149
143
  - !ruby/object:Gem::Version
150
- version: 3.3.2
144
+ version: 3.4.1
151
145
  - !ruby/object:Gem::Dependency
152
146
  name: faraday
153
147
  requirement: !ruby/object:Gem::Requirement
@@ -429,7 +423,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
429
423
  version: 1.3.6
430
424
  requirements: []
431
425
  rubyforge_project: desk
432
- rubygems_version: 2.4.5
426
+ rubygems_version: 2.4.6
433
427
  signing_key:
434
428
  specification_version: 4
435
429
  summary: Ruby wrapper for the Desk.com API
@@ -557,4 +551,3 @@ test_files:
557
551
  - spec/helper.rb
558
552
  - spec/shared_context.rb
559
553
  - spec/shared_examples.rb
560
- has_rdoc: