ridley 0.12.2 → 0.12.3

Sign up to get free protection for your applications and to get access to all the features.
data/.travis.yml CHANGED
@@ -4,4 +4,8 @@ rvm:
4
4
  - 1.9.2
5
5
  - 1.9.3
6
6
  - 2.0.0
7
- # - jruby-19mode # temporarily disable until ChefZero works with JRuby
7
+ - jruby-19mode
8
+
9
+ matrix:
10
+ allow_failures:
11
+ - rvm: jruby-19mode # Allow failure for now: https://github.com/RiotGames/ridley/issues/143
data/Gemfile CHANGED
@@ -45,5 +45,5 @@ group :test do
45
45
  gem 'fuubar'
46
46
  gem 'json_spec'
47
47
  gem 'webmock'
48
- gem 'chef-zero', '>= 0.9.9'
48
+ gem 'chef-zero', '>= 1.0.1'
49
49
  end
@@ -140,7 +140,7 @@ WGET_PS
140
140
 
141
141
  # @return [String]
142
142
  def first_boot
143
- escape_and_echo(MultiJson.encode attributes.merge(run_list: run_list))
143
+ escape_and_echo(JSON.fast_generate(attributes.merge(run_list: run_list)))
144
144
  end
145
145
 
146
146
  # @return [String]
@@ -463,7 +463,7 @@ module Ridley::Chef
463
463
  end
464
464
 
465
465
  def from_json(json)
466
- from_hash MultiJson.decode(json)
466
+ from_hash JSON.parse(json)
467
467
  end
468
468
 
469
469
  private
@@ -154,7 +154,6 @@ module Ridley
154
154
  self.normal = self.normal.deep_merge(options[:attributes])
155
155
  end
156
156
 
157
- self.update
158
157
  self
159
158
  end
160
159
  end
@@ -1,6 +1,7 @@
1
1
  require 'open-uri'
2
2
  require 'retryable'
3
3
  require 'tempfile'
4
+ require 'zlib'
4
5
 
5
6
  module Ridley
6
7
  # @author Jamie Winsor <reset@riotgames.com>
@@ -48,6 +49,7 @@ module Ridley
48
49
 
49
50
  options[:builder] = Faraday::Builder.new do |b|
50
51
  b.response :json
52
+ b.response :gzip
51
53
  b.request :retry,
52
54
  max: @retries,
53
55
  interval: @retry_interval,
@@ -141,7 +143,14 @@ module Ridley
141
143
  defer {
142
144
  retryable(tries: retries, on: OpenURI::HTTPError, sleep: retry_interval) do
143
145
  open(target, 'rb', headers) do |remote|
144
- local.write(remote.read)
146
+ body = remote.read
147
+ case remote.content_encoding
148
+ when ['gzip']
149
+ body = Zlib::GzipReader.new(StringIO.new(body), encoding: 'ASCII-8BIT').read
150
+ when ['deflate']
151
+ body = Zlib::Inflate.inflate(body)
152
+ end
153
+ local.write(body)
145
154
  end
146
155
  end
147
156
 
@@ -87,6 +87,13 @@ module Ridley
87
87
  # @return [WinRM::WinRMWebService]
88
88
  def winrm
89
89
  @winrm_client ||= begin
90
+ require 'active_support/core_ext/kernel/reporting'
91
+ # Silencing warnings because not all versions of GSSAPI support all of the GSSAPI methods
92
+ # the gssapi gem attempts to attach to and these warnings are dumped to STDERR.
93
+ silence_warnings do
94
+ require 'winrm'
95
+ end
96
+
90
97
  client = ::WinRM::WinRMWebService.new(winrm_endpoint, :plaintext,
91
98
  user: user, pass: password, disable_sspi: true, basic_auth_only: true)
92
99
  client.set_timeout(6000)
@@ -87,3 +87,5 @@ module Ridley
87
87
  end
88
88
  end
89
89
  end
90
+
91
+ Faraday.register_middleware(:request, chef_auth: Ridley::Middleware::ChefAuth)
@@ -19,7 +19,7 @@ module Ridley
19
19
  def on_complete(env)
20
20
  log.debug { "==> handling Chef response" }
21
21
  log.debug { "request env: #{env}" }
22
-
22
+
23
23
  unless self.class.success?(env)
24
24
  log.debug { "** error encounted in Chef response" }
25
25
  raise Errors::HTTPError.fabricate(env)
@@ -28,3 +28,5 @@ module Ridley
28
28
  end
29
29
  end
30
30
  end
31
+
32
+ Faraday.register_middleware(:response, chef_response: Ridley::Middleware::ChefResponse)
@@ -131,3 +131,5 @@ module Ridley
131
131
  end
132
132
  end
133
133
  end
134
+
135
+ Faraday.register_middleware(:response, follow_redirects: Ridley::Middleware::FollowRedirects)
@@ -0,0 +1,19 @@
1
+ require 'zlib'
2
+
3
+ module Ridley
4
+ module Middleware
5
+ # @author Jamie Winsor <reset@riotgames.com>
6
+ class Gzip < Faraday::Response::Middleware
7
+ def on_complete(env)
8
+ case env[:response_headers][CONTENT_ENCODING].to_s.downcase
9
+ when 'gzip'
10
+ env[:body] = Zlib::GzipReader.new(StringIO.new(env[:body]), encoding: 'ASCII-8BIT').read
11
+ when 'deflate'
12
+ env[:body] = Zlib::Inflate.inflate(env[:body])
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+
19
+ Faraday.register_middleware(:response, gzip: Ridley::Middleware::ChefResponse)
@@ -5,8 +5,8 @@ module Ridley
5
5
  include Ridley::Logging
6
6
 
7
7
  JSON_TYPE = 'application/json'.freeze
8
-
9
- BRACKETS = [
8
+
9
+ BRACKETS = [
10
10
  "[",
11
11
  "{"
12
12
  ].freeze
@@ -17,10 +17,10 @@ module Ridley
17
17
  "\r",
18
18
  "\t"
19
19
  ].freeze
20
-
20
+
21
21
  class << self
22
22
  include Ridley::Logging
23
-
23
+
24
24
  # Takes a string containing JSON and converts it to a Ruby hash
25
25
  # symbols for keys
26
26
  #
@@ -28,13 +28,13 @@ module Ridley
28
28
  #
29
29
  # @return [Hash]
30
30
  def parse(body)
31
- result = MultiJson.decode(body)
31
+ result = JSON.parse(body)
32
32
  result.is_a?(Hash) ? Hashie::Mash.new(result) : result
33
33
  end
34
34
 
35
35
  # Extracts the type of the response from the response headers
36
36
  # of a Faraday request env. 'text/html' will be returned if no
37
- # content-type is specified in the response
37
+ # content-type is specified in the response
38
38
  #
39
39
  # @example
40
40
  # env = {
@@ -108,3 +108,5 @@ module Ridley
108
108
  end
109
109
  end
110
110
  end
111
+
112
+ Faraday.register_middleware(:response, json: Ridley::Middleware::ParseJson)
@@ -58,3 +58,5 @@ module Ridley
58
58
  end
59
59
  end
60
60
  end
61
+
62
+ Faraday.register_middleware(:request, retry: Ridley::Middleware::Retry)
@@ -1,27 +1,11 @@
1
1
  module Ridley
2
2
  # @author Jamie Winsor <reset@riotgames.com>
3
3
  module Middleware
4
- CONTENT_TYPE = 'content-type'.freeze
5
-
6
- require_relative 'middleware/parse_json'
7
- require_relative 'middleware/chef_response'
8
- require_relative 'middleware/chef_auth'
9
- require_relative 'middleware/follow_redirects'
10
- require_relative 'middleware/retry'
11
-
12
- Faraday.register_middleware :request,
13
- chef_auth: -> { Ridley::Middleware::ChefAuth }
14
-
15
- Faraday.register_middleware :request,
16
- retry: -> { Ridley::Middleware::Retry }
17
-
18
- Faraday.register_middleware :response,
19
- json: -> { Ridley::Middleware::ParseJson }
20
-
21
- Faraday.register_middleware :response,
22
- follow_redirects: -> { Ridley::Middleware::FollowRedirects }
23
-
24
- Faraday.register_middleware :response,
25
- chef_response: -> { Ridley::Middleware::ChefResponse }
4
+ CONTENT_TYPE = 'content-type'.freeze
5
+ CONTENT_ENCODING = 'content-encoding'.freeze
26
6
  end
27
7
  end
8
+
9
+ Dir["#{File.dirname(__FILE__)}/middleware/*.rb"].sort.each do |path|
10
+ require_relative "middleware/#{File.basename(path, '.rb')}"
11
+ end
@@ -54,7 +54,7 @@ module Ridley
54
54
 
55
55
  # @return [String]
56
56
  def first_boot
57
- MultiJson.encode attributes.merge(run_list: run_list)
57
+ JSON.fast_generate(attributes.merge(run_list: run_list))
58
58
  end
59
59
 
60
60
  # The validation key to create a new client for the node
@@ -74,4 +74,4 @@ module Ridley
74
74
  end
75
75
 
76
76
  end
77
- end
77
+ end
@@ -18,7 +18,7 @@ module Ridley
18
18
  def cookbook_versions(environment, run_list = [])
19
19
  run_list = Array(run_list).flatten
20
20
  chef_id = environment.respond_to?(:chef_id) ? environment.chef_id : environment
21
- request(:post, "#{self.class.resource_path}/#{chef_id}/cookbook_versions", MultiJson.encode(run_list: run_list))
21
+ request(:post, "#{self.class.resource_path}/#{chef_id}/cookbook_versions", JSON.fast_generate(run_list: run_list))
22
22
  rescue AbortError => ex
23
23
  if ex.cause.is_a?(Errors::HTTPNotFound)
24
24
  abort Errors::ResourceNotFound.new(ex)
@@ -161,12 +161,16 @@ module Ridley
161
161
  # @option options [Hash] :attributes
162
162
  # attributes of normal precedence to merge
163
163
  #
164
- # @raise [Errors::HTTPNotFound]
164
+ # @raise [Errors::ResourceNotFound]
165
165
  # if the target node is not found
166
166
  #
167
167
  # @return [Ridley::NodeResource]
168
168
  def merge_data(target, options = {})
169
- find(target).merge_data(options)
169
+ unless node = find(target)
170
+ abort Errors::ResourceNotFound.new
171
+ end
172
+
173
+ update(node.merge_data(options))
170
174
  end
171
175
  end
172
176
  end
@@ -34,7 +34,7 @@ module Ridley
34
34
  sumhash = { checksums: Hash.new }.tap do |chks|
35
35
  Array(checksums).each { |chk| chks[:checksums][chk] = nil }
36
36
  end
37
- new(request(:post, self.class.resource_path, MultiJson.encode(sumhash)))
37
+ new(request(:post, self.class.resource_path, JSON.fast_generate(sumhash)))
38
38
  end
39
39
 
40
40
  # @param [#chef_id] object
@@ -46,7 +46,7 @@ module Ridley
46
46
  # @return [Hash]
47
47
  def commit(object)
48
48
  chef_id = object.respond_to?(:chef_id) ? object.chef_id : object
49
- request(:put, "#{self.class.resource_path}/#{chef_id}", MultiJson.encode(is_completed: true))
49
+ request(:put, "#{self.class.resource_path}/#{chef_id}", JSON.fast_generate(is_completed: true))
50
50
  rescue AbortError => ex
51
51
  case ex.cause
52
52
  when Ridley::Errors::HTTPBadRequest; abort Ridley::Errors::SandboxCommitError.new(ex.message)
@@ -1,3 +1,3 @@
1
1
  module Ridley
2
- VERSION = "0.12.2"
2
+ VERSION = "0.12.3"
3
3
  end
data/lib/ridley.rb CHANGED
@@ -1,27 +1,13 @@
1
- require 'active_support/core_ext/kernel/reporting'
2
- # Silencing warnings because not all versions of GSSAPI support all of the GSSAPI methods
3
- # the gssapi gem attempts to attach to and these warnings are dumped to STDERR.
4
- silence_warnings do
5
- # Requiring winrm before all other gems because of https://github.com/WinRb/WinRM/issues/39
6
- require 'winrm'
7
- end
8
-
9
1
  require 'active_support/inflector'
10
2
  require 'addressable/uri'
11
3
  require 'celluloid'
12
4
  require 'chozo'
13
5
  require 'faraday'
14
6
  require 'forwardable'
15
- require 'multi_json'
7
+ require 'json'
16
8
  require 'pathname'
17
9
  require 'solve'
18
10
 
19
- if jruby?
20
- require 'json/pure'
21
- else
22
- require 'json/ext'
23
- end
24
-
25
11
  JSON.create_id = nil
26
12
 
27
13
  # @author Jamie Winsor <reset@riotgames.com>
data/ridley.gemspec CHANGED
@@ -17,21 +17,18 @@ Gem::Specification.new do |s|
17
17
  s.version = Ridley::VERSION
18
18
  s.required_ruby_version = ">= 1.9.1"
19
19
 
20
- s.add_runtime_dependency 'json', '>= 1.5.0'
21
- s.add_runtime_dependency 'multi_json', '>= 1.0.4'
22
- s.add_runtime_dependency 'chozo', '>= 0.6.0'
23
- s.add_runtime_dependency 'mixlib-log', '>= 1.3.0'
24
- s.add_runtime_dependency 'mixlib-shellout', '>= 1.1.0'
25
- s.add_runtime_dependency 'mixlib-config', '>= 1.1.0'
26
- s.add_runtime_dependency 'mixlib-authentication', '>= 1.3.0'
27
20
  s.add_runtime_dependency 'addressable'
28
- s.add_runtime_dependency 'faraday', '>= 0.8.4'
29
- s.add_runtime_dependency 'activesupport', '>= 3.2.0'
30
- s.add_runtime_dependency 'solve', '>= 0.4.4'
31
- s.add_runtime_dependency 'celluloid', '~> 0.14.0'
32
- s.add_runtime_dependency 'net-ssh'
21
+ s.add_runtime_dependency 'chozo', '>= 0.6.0'
22
+ s.add_runtime_dependency 'celluloid', '~> 0.14.0'
33
23
  s.add_runtime_dependency 'erubis'
34
- s.add_runtime_dependency 'net-http-persistent', '>= 2.8'
24
+ s.add_runtime_dependency 'faraday', '>= 0.8.4'
25
+ s.add_runtime_dependency 'mixlib-log', '>= 1.3.0'
26
+ s.add_runtime_dependency 'mixlib-shellout', '>= 1.1.0'
27
+ s.add_runtime_dependency 'mixlib-config', '>= 1.1.0'
28
+ s.add_runtime_dependency 'mixlib-authentication', '>= 1.3.0'
29
+ s.add_runtime_dependency 'net-http-persistent', '>= 2.8'
30
+ s.add_runtime_dependency 'net-ssh'
35
31
  s.add_runtime_dependency 'retryable'
36
- s.add_runtime_dependency 'winrm', '~> 1.1.0'
32
+ s.add_runtime_dependency 'solve', '>= 0.4.4'
33
+ s.add_runtime_dependency 'winrm', '~> 1.1.0'
37
34
  end
data/spec/spec_helper.rb CHANGED
@@ -19,15 +19,11 @@ def setup_rspec
19
19
  config.filter_run focus: true
20
20
  config.run_all_when_everything_filtered = true
21
21
 
22
+ config.before(:suite) { Ridley::RSpec::ChefServer.start }
23
+
22
24
  config.before(:all) do
23
- Celluloid.logger = nil
24
- Ridley.logger = nil
25
+ Ridley.logger = Celluloid.logger = nil
25
26
  WebMock.disable_net_connect!(allow_localhost: true, net_http_connect_on_start: true)
26
- Ridley::RSpec::ChefServer.start
27
- end
28
-
29
- config.after(:all) do
30
- Ridley::RSpec::ChefServer.stop
31
27
  end
32
28
 
33
29
  config.before(:each) do
@@ -36,10 +32,6 @@ def setup_rspec
36
32
  clean_tmp_path
37
33
  Ridley::RSpec::ChefServer.server.clear_data
38
34
  end
39
-
40
- config.after(:each) do
41
- Ridley::RSpec::ChefServer.server.clear_data
42
- end
43
35
  end
44
36
  end
45
37
 
@@ -17,15 +17,14 @@ module Ridley::RSpec
17
17
  end
18
18
 
19
19
  def server
20
- @server ||= ChefZero::Server.new(port: PORT, signals: false, log_requests: true)
20
+ @server ||= ChefZero::Server.new(port: PORT)
21
21
  end
22
22
 
23
23
  def server_url
24
- "http://localhost:#{PORT}"
24
+ (@server && @server.url) || "http://localhost/#{PORT}"
25
25
  end
26
26
 
27
27
  def start
28
- Thin::Logging.silent = true
29
28
  server.start_background
30
29
  server.on_response do |request, response|
31
30
  request_log << [ request, response ]
@@ -71,7 +70,7 @@ module Ridley::RSpec
71
70
  private
72
71
 
73
72
  def load_data(key, name, hash)
74
- ChefServer.server.load_data(key.to_s => { name => MultiJson.encode(hash) })
73
+ ChefServer.server.load_data(key.to_s => { name => JSON.fast_generate(hash) })
75
74
  end
76
75
  end
77
76
  end
@@ -46,7 +46,7 @@ describe Ridley::Chef::Cookbook do
46
46
  before do
47
47
  FileUtils.mkdir_p(cookbook_path)
48
48
  File.open(File.join(cookbook_path, 'metadata.json'), 'w+') do |f|
49
- f.write MultiJson.encode(name: "rspec_test")
49
+ f.write JSON.fast_generate(name: "rspec_test")
50
50
  end
51
51
  end
52
52
 
@@ -209,10 +209,7 @@ describe Ridley::NodeObject do
209
209
  end
210
210
 
211
211
  describe "#merge_data" do
212
- before(:each) do
213
- subject.name = "reset.riotgames.com"
214
- subject.should_receive(:update)
215
- end
212
+ before(:each) { subject.name = "reset.riotgames.com" }
216
213
 
217
214
  it "appends items to the run_list" do
218
215
  subject.merge_data(run_list: ["cook::one", "cook::two"])
@@ -25,7 +25,9 @@ describe Ridley::HostConnector::WinRM::Worker do
25
25
  describe "#winrm" do
26
26
  subject { winrm_worker.winrm }
27
27
 
28
- it { should be_a(WinRM::WinRMWebService) }
28
+ it "returns a WinRM::WinRMWebService" do
29
+ expect(subject).to be_a(::WinRM::WinRMWebService)
30
+ end
29
31
  end
30
32
 
31
33
  describe "#get_command" do
@@ -83,7 +85,7 @@ describe Ridley::HostConnector::WinRM::Worker do
83
85
  it "returns an :error with the response" do
84
86
  status, response = run
85
87
  expect(status).to eq(:error)
86
- expect(response.stderr).to eq("stderr")
88
+ expect(response.stderr).to eq("stderr")
87
89
  end
88
90
  end
89
91
 
@@ -0,0 +1,59 @@
1
+ require 'spec_helper'
2
+
3
+ describe Ridley::Middleware::Gzip do
4
+ let(:env) do
5
+ Hashie::Mash.new(
6
+ 'response_headers' => {
7
+ 'content-encoding' => nil
8
+ },
9
+ 'body' => nil
10
+ )
11
+ end
12
+
13
+ subject { described_class.new }
14
+
15
+ describe "#on_complete" do
16
+ let(:run) { subject.on_complete(env) }
17
+
18
+ context "when content-encoding is set to 'gzip'" do
19
+ let(:secret) { "this is a secret zipped message" }
20
+
21
+ before do
22
+ env['response_headers']['content-encoding'] = 'gzip'
23
+ io = StringIO.new
24
+ writer = Zlib::GzipWriter.new(io)
25
+ writer.write(secret)
26
+ writer.close
27
+ env['body'] = io.string
28
+ end
29
+
30
+ it "unzips the commpressed body" do
31
+ run
32
+ expect(env['body']).to eq(secret)
33
+ end
34
+ end
35
+
36
+ context "when content-encoding is set to 'deflate'" do
37
+ let(:secret) { "this is a secret deflated message" }
38
+
39
+ before do
40
+ env['response_headers']['content-encoding'] = 'deflate'
41
+ env['body'] = Zlib::Deflate.deflate(secret)
42
+ end
43
+
44
+ it "inflates the compressed body" do
45
+ run
46
+ expect(env['body']).to eq(secret)
47
+ end
48
+ end
49
+
50
+ context "when content-encoding is set to nothing" do
51
+ before { env['body'] = 'not changed' }
52
+
53
+ it "does not manipulate the body of the request" do
54
+ run
55
+ expect(env['body']).to eq('not changed')
56
+ end
57
+ end
58
+ end
59
+ end
@@ -136,14 +136,31 @@ describe Ridley::NodeResource do
136
136
 
137
137
  describe "#merge_data" do
138
138
  subject { instance }
139
+ let(:node) { double('node') }
140
+ let(:data) { double('data') }
139
141
 
140
- it "finds the target node and sends it the merge_data message" do
141
- data = double('data')
142
- node = double('node')
143
- node.should_receive(:merge_data).with(data)
144
- subject.should_receive(:find).and_return(node)
142
+ before { subject.stub(find: nil) }
145
143
 
146
- subject.merge_data(node, data)
144
+ context "when a node with the given name exists" do
145
+ before { subject.should_receive(:find).and_return(node) }
146
+
147
+ it "finds the target node, sends it the merge_data message, and updates it" do
148
+ updated = double('updated')
149
+ node.should_receive(:merge_data).with(data).and_return(updated)
150
+ subject.should_receive(:update).with(updated)
151
+
152
+ subject.merge_data(node, data)
153
+ end
154
+ end
155
+
156
+ context "when a node with the given name does not exist" do
157
+ before { subject.should_receive(:find).with(node).and_return(nil) }
158
+
159
+ it "raises a ResourceNotFound error" do
160
+ expect {
161
+ subject.merge_data(node, data)
162
+ }.to raise_error(Ridley::Errors::ResourceNotFound)
163
+ end
147
164
  end
148
165
  end
149
166
  end
@@ -17,7 +17,7 @@ describe Ridley::SandboxResource do
17
17
 
18
18
  before(:each) do
19
19
  connection.stub(:post).
20
- with(subject.class.resource_path, MultiJson.encode(checksums: checksums)).
20
+ with(subject.class.resource_path, JSON.fast_generate(checksums: checksums)).
21
21
  and_return(response)
22
22
  end
23
23
 
@@ -77,7 +77,7 @@ describe Ridley::SandboxResource do
77
77
  end
78
78
 
79
79
  it "sends a /PUT to the sandbox resource with is_complete set to true" do
80
- connection.should_receive(:put).with(sandbox_path, MultiJson.encode(is_completed: true)).and_return(response)
80
+ connection.should_receive(:put).with(sandbox_path, JSON.fast_generate(is_completed: true)).and_return(response)
81
81
 
82
82
  subject.commit(sandbox_id)
83
83
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ridley
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.2
4
+ version: 0.12.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,32 +9,16 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-17 00:00:00.000000000 Z
12
+ date: 2013-05-25 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: json
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
18
- requirements:
19
- - - ! '>='
20
- - !ruby/object:Gem::Version
21
- version: 1.5.0
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ! '>='
28
- - !ruby/object:Gem::Version
29
- version: 1.5.0
30
- - !ruby/object:Gem::Dependency
31
- name: multi_json
15
+ name: addressable
32
16
  requirement: !ruby/object:Gem::Requirement
33
17
  none: false
34
18
  requirements:
35
19
  - - ! '>='
36
20
  - !ruby/object:Gem::Version
37
- version: 1.0.4
21
+ version: '0'
38
22
  type: :runtime
39
23
  prerelease: false
40
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -42,7 +26,7 @@ dependencies:
42
26
  requirements:
43
27
  - - ! '>='
44
28
  - !ruby/object:Gem::Version
45
- version: 1.0.4
29
+ version: '0'
46
30
  - !ruby/object:Gem::Dependency
47
31
  name: chozo
48
32
  requirement: !ruby/object:Gem::Requirement
@@ -60,29 +44,29 @@ dependencies:
60
44
  - !ruby/object:Gem::Version
61
45
  version: 0.6.0
62
46
  - !ruby/object:Gem::Dependency
63
- name: mixlib-log
47
+ name: celluloid
64
48
  requirement: !ruby/object:Gem::Requirement
65
49
  none: false
66
50
  requirements:
67
- - - ! '>='
51
+ - - ~>
68
52
  - !ruby/object:Gem::Version
69
- version: 1.3.0
53
+ version: 0.14.0
70
54
  type: :runtime
71
55
  prerelease: false
72
56
  version_requirements: !ruby/object:Gem::Requirement
73
57
  none: false
74
58
  requirements:
75
- - - ! '>='
59
+ - - ~>
76
60
  - !ruby/object:Gem::Version
77
- version: 1.3.0
61
+ version: 0.14.0
78
62
  - !ruby/object:Gem::Dependency
79
- name: mixlib-shellout
63
+ name: erubis
80
64
  requirement: !ruby/object:Gem::Requirement
81
65
  none: false
82
66
  requirements:
83
67
  - - ! '>='
84
68
  - !ruby/object:Gem::Version
85
- version: 1.1.0
69
+ version: '0'
86
70
  type: :runtime
87
71
  prerelease: false
88
72
  version_requirements: !ruby/object:Gem::Requirement
@@ -90,15 +74,15 @@ dependencies:
90
74
  requirements:
91
75
  - - ! '>='
92
76
  - !ruby/object:Gem::Version
93
- version: 1.1.0
77
+ version: '0'
94
78
  - !ruby/object:Gem::Dependency
95
- name: mixlib-config
79
+ name: faraday
96
80
  requirement: !ruby/object:Gem::Requirement
97
81
  none: false
98
82
  requirements:
99
83
  - - ! '>='
100
84
  - !ruby/object:Gem::Version
101
- version: 1.1.0
85
+ version: 0.8.4
102
86
  type: :runtime
103
87
  prerelease: false
104
88
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,9 +90,9 @@ dependencies:
106
90
  requirements:
107
91
  - - ! '>='
108
92
  - !ruby/object:Gem::Version
109
- version: 1.1.0
93
+ version: 0.8.4
110
94
  - !ruby/object:Gem::Dependency
111
- name: mixlib-authentication
95
+ name: mixlib-log
112
96
  requirement: !ruby/object:Gem::Requirement
113
97
  none: false
114
98
  requirements:
@@ -124,13 +108,13 @@ dependencies:
124
108
  - !ruby/object:Gem::Version
125
109
  version: 1.3.0
126
110
  - !ruby/object:Gem::Dependency
127
- name: addressable
111
+ name: mixlib-shellout
128
112
  requirement: !ruby/object:Gem::Requirement
129
113
  none: false
130
114
  requirements:
131
115
  - - ! '>='
132
116
  - !ruby/object:Gem::Version
133
- version: '0'
117
+ version: 1.1.0
134
118
  type: :runtime
135
119
  prerelease: false
136
120
  version_requirements: !ruby/object:Gem::Requirement
@@ -138,15 +122,15 @@ dependencies:
138
122
  requirements:
139
123
  - - ! '>='
140
124
  - !ruby/object:Gem::Version
141
- version: '0'
125
+ version: 1.1.0
142
126
  - !ruby/object:Gem::Dependency
143
- name: faraday
127
+ name: mixlib-config
144
128
  requirement: !ruby/object:Gem::Requirement
145
129
  none: false
146
130
  requirements:
147
131
  - - ! '>='
148
132
  - !ruby/object:Gem::Version
149
- version: 0.8.4
133
+ version: 1.1.0
150
134
  type: :runtime
151
135
  prerelease: false
152
136
  version_requirements: !ruby/object:Gem::Requirement
@@ -154,15 +138,15 @@ dependencies:
154
138
  requirements:
155
139
  - - ! '>='
156
140
  - !ruby/object:Gem::Version
157
- version: 0.8.4
141
+ version: 1.1.0
158
142
  - !ruby/object:Gem::Dependency
159
- name: activesupport
143
+ name: mixlib-authentication
160
144
  requirement: !ruby/object:Gem::Requirement
161
145
  none: false
162
146
  requirements:
163
147
  - - ! '>='
164
148
  - !ruby/object:Gem::Version
165
- version: 3.2.0
149
+ version: 1.3.0
166
150
  type: :runtime
167
151
  prerelease: false
168
152
  version_requirements: !ruby/object:Gem::Requirement
@@ -170,15 +154,15 @@ dependencies:
170
154
  requirements:
171
155
  - - ! '>='
172
156
  - !ruby/object:Gem::Version
173
- version: 3.2.0
157
+ version: 1.3.0
174
158
  - !ruby/object:Gem::Dependency
175
- name: solve
159
+ name: net-http-persistent
176
160
  requirement: !ruby/object:Gem::Requirement
177
161
  none: false
178
162
  requirements:
179
163
  - - ! '>='
180
164
  - !ruby/object:Gem::Version
181
- version: 0.4.4
165
+ version: '2.8'
182
166
  type: :runtime
183
167
  prerelease: false
184
168
  version_requirements: !ruby/object:Gem::Requirement
@@ -186,23 +170,7 @@ dependencies:
186
170
  requirements:
187
171
  - - ! '>='
188
172
  - !ruby/object:Gem::Version
189
- version: 0.4.4
190
- - !ruby/object:Gem::Dependency
191
- name: celluloid
192
- requirement: !ruby/object:Gem::Requirement
193
- none: false
194
- requirements:
195
- - - ~>
196
- - !ruby/object:Gem::Version
197
- version: 0.14.0
198
- type: :runtime
199
- prerelease: false
200
- version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
- requirements:
203
- - - ~>
204
- - !ruby/object:Gem::Version
205
- version: 0.14.0
173
+ version: '2.8'
206
174
  - !ruby/object:Gem::Dependency
207
175
  name: net-ssh
208
176
  requirement: !ruby/object:Gem::Requirement
@@ -220,7 +188,7 @@ dependencies:
220
188
  - !ruby/object:Gem::Version
221
189
  version: '0'
222
190
  - !ruby/object:Gem::Dependency
223
- name: erubis
191
+ name: retryable
224
192
  requirement: !ruby/object:Gem::Requirement
225
193
  none: false
226
194
  requirements:
@@ -236,29 +204,13 @@ dependencies:
236
204
  - !ruby/object:Gem::Version
237
205
  version: '0'
238
206
  - !ruby/object:Gem::Dependency
239
- name: net-http-persistent
240
- requirement: !ruby/object:Gem::Requirement
241
- none: false
242
- requirements:
243
- - - ! '>='
244
- - !ruby/object:Gem::Version
245
- version: '2.8'
246
- type: :runtime
247
- prerelease: false
248
- version_requirements: !ruby/object:Gem::Requirement
249
- none: false
250
- requirements:
251
- - - ! '>='
252
- - !ruby/object:Gem::Version
253
- version: '2.8'
254
- - !ruby/object:Gem::Dependency
255
- name: retryable
207
+ name: solve
256
208
  requirement: !ruby/object:Gem::Requirement
257
209
  none: false
258
210
  requirements:
259
211
  - - ! '>='
260
212
  - !ruby/object:Gem::Version
261
- version: '0'
213
+ version: 0.4.4
262
214
  type: :runtime
263
215
  prerelease: false
264
216
  version_requirements: !ruby/object:Gem::Requirement
@@ -266,7 +218,7 @@ dependencies:
266
218
  requirements:
267
219
  - - ! '>='
268
220
  - !ruby/object:Gem::Version
269
- version: '0'
221
+ version: 0.4.4
270
222
  - !ruby/object:Gem::Dependency
271
223
  name: winrm
272
224
  requirement: !ruby/object:Gem::Requirement
@@ -339,6 +291,7 @@ files:
339
291
  - lib/ridley/middleware/chef_auth.rb
340
292
  - lib/ridley/middleware/chef_response.rb
341
293
  - lib/ridley/middleware/follow_redirects.rb
294
+ - lib/ridley/middleware/gzip.rb
342
295
  - lib/ridley/middleware/parse_json.rb
343
296
  - lib/ridley/middleware/retry.rb
344
297
  - lib/ridley/mixin.rb
@@ -420,6 +373,7 @@ files:
420
373
  - spec/unit/ridley/host_connector_spec.rb
421
374
  - spec/unit/ridley/middleware/chef_auth_spec.rb
422
375
  - spec/unit/ridley/middleware/chef_response_spec.rb
376
+ - spec/unit/ridley/middleware/gzip_spec.rb
423
377
  - spec/unit/ridley/middleware/parse_json_spec.rb
424
378
  - spec/unit/ridley/mixin/bootstrap_binding_spec.rb
425
379
  - spec/unit/ridley/resource_spec.rb
@@ -455,7 +409,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
455
409
  version: '0'
456
410
  segments:
457
411
  - 0
458
- hash: 1382072884355944447
412
+ hash: 3894427319828211488
459
413
  requirements: []
460
414
  rubyforge_project:
461
415
  rubygems_version: 1.8.23
@@ -524,6 +478,7 @@ test_files:
524
478
  - spec/unit/ridley/host_connector_spec.rb
525
479
  - spec/unit/ridley/middleware/chef_auth_spec.rb
526
480
  - spec/unit/ridley/middleware/chef_response_spec.rb
481
+ - spec/unit/ridley/middleware/gzip_spec.rb
527
482
  - spec/unit/ridley/middleware/parse_json_spec.rb
528
483
  - spec/unit/ridley/mixin/bootstrap_binding_spec.rb
529
484
  - spec/unit/ridley/resource_spec.rb