berkshelf-api-client 3.0.0 → 4.0.0

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: bb9c9893aad0bb70543e6ba21dc3732f96e309d4
4
- data.tar.gz: 96d75a8777c7eb87a5d81176b6ed7fce66d3956c
3
+ metadata.gz: 1c6cca0ab5fbcdaf780a643ffd05bf882111e71c
4
+ data.tar.gz: a1c9e7d31d5a5a2812ed74ad40c146735ca84fc8
5
5
  SHA512:
6
- metadata.gz: 491641676bda8db8174d5d8076ffc22ce082589892d5f9fbd1404d5e3317535423adf1afd4e33787acc944cc79571a70fb80aa066bbc2d141d49688d86fe27c0
7
- data.tar.gz: f6071fd364d0c83851f847551cdc02d62d73a1eef928e582094020af687933d97cf104e6d843ff81a9fea5f134cbb084b2b3555aeb73a1df899c422a3e3e24ce
6
+ metadata.gz: '056878d2fb9267c2b4f1c1c72da60e22f05312ff323ff1f38b469af5afd753b22118d226db832433c33f523ef71427c46a188fc1764940e38c09cf8b947c9c27'
7
+ data.tar.gz: 96c8e8364cd7cf9b39685b051b71e3524c2c11ef87f3ed3e5d59f24b19f92a786b005ed9155d0cb906d5451c60133328dbec3eda1eff1384205cfd03e2f52080
data/.travis.yml CHANGED
@@ -12,7 +12,7 @@ addons:
12
12
  - libarchive-dev
13
13
  matrix:
14
14
  include:
15
- - rvm: 2.2.5
16
- - rvm: 2.3.1
15
+ - rvm: 2.3.4
16
+ - rvm: 2.4.1
17
17
  - rvm: ruby-head
18
18
  script: bundle exec rake spec
data/Gemfile CHANGED
@@ -2,35 +2,9 @@ source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- group :guard do
6
- gem 'coolline'
7
- gem 'guard'
8
- gem 'guard-cucumber'
9
- gem 'guard-rspec'
10
- gem 'guard-spork'
11
-
12
- require 'rbconfig'
13
-
14
- if RbConfig::CONFIG['target_os'] =~ /darwin/i
15
- gem 'growl', require: false
16
- gem 'rb-fsevent', require: false
17
-
18
- if `uname`.strip == 'Darwin' && `sw_vers -productVersion`.strip >= '10.8'
19
- gem 'terminal-notifier-guard', '~> 1.5.3', require: false
20
- end rescue Errno::ENOENT
21
-
22
- elsif RbConfig::CONFIG['target_os'] =~ /linux/i
23
- gem 'libnotify', '~> 0.8.0', require: false
24
- gem 'rb-inotify', require: false
25
-
26
- elsif RbConfig::CONFIG['target_os'] =~ /mswin|mingw/i
27
- gem 'rb-notifu', '>= 0.0.4', require: false
28
- gem 'wdm', require: false
29
- gem 'win32console', require: false
30
- end
31
- end
32
-
33
- group :test do
34
- gem "berkshelf-api"
35
- gem "reel"
5
+ group :test, :development do
6
+ gem "rake"
7
+ gem "rspec"
8
+ gem "rspec-its"
9
+ gem "webmock"
36
10
  end
data/README.md CHANGED
@@ -1,5 +1,6 @@
1
1
  # Berkshelf::APIClient
2
- [![Build Status](https://travis-ci.org/berkshelf/berkshelf-api-client.png?branch=master)](https://travis-ci.org/berkshelf/berkshelf-api-client)
2
+
3
+ [![Build Status](https://travis-ci.org/berkshelf/berkshelf-api-client.svg?branch=master)](https://travis-ci.org/berkshelf/berkshelf-api-client) [![Gem Version](https://badge.fury.io/rb/berkshelf-api-client.svg)](https://badge.fury.io/rb/berkshelf-api-client)
3
4
 
4
5
  A Ruby library for communicating with the [Berkshelf API server](https://github.com/berkshelf/berkshelf-api)
5
6
 
@@ -7,19 +8,27 @@ A Ruby library for communicating with the [Berkshelf API server](https://github.
7
8
 
8
9
  Add this line to your application's Gemfile:
9
10
 
10
- gem 'berkshelf-api-client'
11
+ ```ruby
12
+ gem 'berkshelf-api-client'
13
+ ```
11
14
 
12
15
  And then execute:
13
16
 
14
- $ bundle
17
+ ```shell
18
+ $ bundle
19
+ ```
15
20
 
16
21
  Or install it yourself as:
17
22
 
18
- $ gem install berkshelf-api-client
23
+ ```shell
24
+ $ gem install berkshelf-api-client
25
+ ```
19
26
 
20
27
  ## Usage
21
28
 
22
- require 'berkshelf/api-client'
29
+ ```ruby
30
+ require 'berkshelf/api-client'
31
+ ```
23
32
 
24
33
  ## Contributing
25
34
 
@@ -28,4 +37,3 @@ Or install it yourself as:
28
37
  3. Commit your changes (`git commit -am 'Add some feature'`)
29
38
  4. Push to the branch (`git push origin my-new-feature`)
30
39
  5. Create new Pull Request
31
-
@@ -20,22 +20,12 @@ Gem::Specification.new do |spec|
20
20
  spec.summary = spec.description
21
21
  spec.homepage = "http://berkshelf.com"
22
22
  spec.license = "Apache 2.0"
23
- spec.required_ruby_version = ">= 2.2"
23
+ spec.required_ruby_version = ">= 2.3"
24
24
 
25
25
  spec.files = `git ls-files`.split($/)
26
26
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
27
27
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
28
28
  spec.require_paths = ["lib"]
29
29
 
30
- spec.add_dependency "faraday", "~> 0.9"
31
- spec.add_dependency "httpclient", "~> 2.7"
32
- spec.add_dependency "ridley", ">= 4.5", "< 6.0"
33
-
34
- spec.add_development_dependency "bundler"
35
- spec.add_development_dependency "rake"
36
- spec.add_development_dependency "fuubar"
37
- spec.add_development_dependency "rspec"
38
- spec.add_development_dependency "rspec-its"
39
- spec.add_development_dependency "spork"
40
- spec.add_development_dependency "yard"
30
+ spec.add_dependency "chef", ">= 12.0"
41
31
  end
@@ -1,3 +1,4 @@
1
+ require 'berkshelf/ridley_compat'
1
2
 
2
3
  module Berkshelf::APIClient
3
4
  require_relative 'errors'
@@ -6,12 +7,12 @@ module Berkshelf::APIClient
6
7
  attr_reader :client
7
8
 
8
9
  def initialize(*args)
9
- @client = Ridley.new(*args)
10
+ @client = Berkshelf::RidleyCompat.new(*args)
10
11
  @url = args[0][:server_url]
11
12
  end
12
13
 
13
14
  def universe
14
- response = client.universe
15
+ response = client.get("universe")
15
16
 
16
17
  [].tap do |cookbooks|
17
18
  response.each do |name, versions|
@@ -1,9 +1,9 @@
1
- require 'faraday'
1
+ require 'berkshelf/ridley_compat'
2
2
 
3
3
  module Berkshelf::APIClient
4
4
  require_relative 'errors'
5
5
 
6
- class Connection < Faraday::Connection
6
+ class Connection
7
7
  # @return [String]
8
8
  attr_reader :url
9
9
 
@@ -26,29 +26,15 @@ module Berkshelf::APIClient
26
26
  # @option options [Float] :retry_interval (0.5)
27
27
  # how long to wait (in seconds) between each retry
28
28
  def initialize(url, options = {})
29
+ # it looks like Faraday mutates the URI argument it is given, when we ripped Faraday out of this
30
+ # API it stopped doing that. this may or may not be a breaking change (it broke some fairly
31
+ # brittle berkshelf tests). if it causes too much berkshelf chaos we could revert by uncommenting
32
+ # the next line. as it is removing this behavior feels more like fixing a bug.
33
+ #@url = url.normalize! if url.is_a?(Addressable::URI)
29
34
  options = {retries: 3, retry_interval: 0.5, open_timeout: 30, timeout: 30}.merge(options)
30
- @url = url
31
- @retries = options.delete(:retries)
32
- @retry_interval = options.delete(:retry_interval)
35
+ options[:server_url] = url
33
36
 
34
- options[:builder] ||= Faraday::RackBuilder.new do |b|
35
- b.response :parse_json
36
- b.request :retry,
37
- max: self.retries,
38
- interval: self.retry_interval,
39
- exceptions: [
40
- Faraday::Error::TimeoutError,
41
- Errno::ETIMEDOUT
42
- ]
43
-
44
- b.adapter :httpclient
45
- end
46
-
47
- open_timeout = options.delete(:open_timeout)
48
- timeout = options.delete(:timeout)
49
- super(self.url, options)
50
- @options[:open_timeout] = open_timeout
51
- @options[:timeout] = timeout
37
+ @client = Berkshelf::RidleyCompatJSON.new(**options)
52
38
  end
53
39
 
54
40
  # Retrieves the entire universe of known cookbooks from the API source
@@ -57,26 +43,13 @@ module Berkshelf::APIClient
57
43
  #
58
44
  # @return [Array<APIClient::RemoteCookbook>]
59
45
  def universe
60
- response = get("universe")
46
+ response = @client.get("universe")
61
47
 
62
- case response.status
63
- when 200
64
- [].tap do |cookbooks|
65
- response.body.each do |name, versions|
66
- versions.each { |version, attributes| cookbooks << RemoteCookbook.new(name, version, attributes) }
67
- end
48
+ [].tap do |cookbooks|
49
+ response.each do |name, versions|
50
+ versions.each { |version, attributes| cookbooks << RemoteCookbook.new(name, version, attributes) }
68
51
  end
69
- when 404
70
- raise ServiceNotFound, "service not found at: #{url}"
71
- when 500..504
72
- raise ServiceUnavaiable, "service unavailable at: #{url}"
73
- else
74
- raise BadResponse, "bad response #{response.inspect}"
75
52
  end
76
- rescue Faraday::Error::TimeoutError, Errno::ETIMEDOUT
77
- raise TimeoutError, "Unable to connect to: #{url}"
78
- rescue Faraday::Error::ConnectionFailed => ex
79
- raise ServiceUnavaiable, ex
80
53
  end
81
54
  end
82
55
  end
@@ -4,7 +4,7 @@ module Berkshelf
4
4
  module APIClient
5
5
  class TimeoutError < APIClientError; end
6
6
  class BadResponse < APIClientError; end
7
- class ServiceUnavaiable < APIClientError; end
7
+ class ServiceUnavailable < APIClientError; end
8
8
  class ServiceNotFound < APIClientError; end
9
9
  end
10
10
  end
@@ -1,4 +1,5 @@
1
1
  require 'json'
2
+ require 'chef/mash'
2
3
 
3
4
  module Berkshelf::APIClient
4
5
  # A representation of cookbook metadata indexed by a Berkshelf API Server. Returned
@@ -16,7 +17,7 @@ module Berkshelf::APIClient
16
17
  def initialize(name, version, attributes = {})
17
18
  @name = name
18
19
  @version = version
19
- @attributes = attributes
20
+ @attributes = ::Mash.new(attributes)
20
21
  end
21
22
 
22
23
  # @return [Hash]
@@ -1,5 +1,5 @@
1
1
  module Berkshelf
2
2
  module APIClient
3
- VERSION = "3.0.0"
3
+ VERSION = "4.0.0"
4
4
  end
5
5
  end
@@ -0,0 +1,73 @@
1
+ require 'chef/server_api'
2
+ require 'chef/http/simple_json'
3
+ require 'chef/http/simple'
4
+ require 'berkshelf/api_client/errors'
5
+
6
+ module Berkshelf
7
+ module RidleyCompatAPI
8
+ def initialize(**opts)
9
+ opts = opts.dup
10
+ opts[:ssl] ||= {}
11
+ chef_opts = {
12
+ rest_timeout: opts[:timeout], # opts[:open_timeout] is ignored on purpose
13
+ client_name: opts[:client_name],
14
+ signing_key_filename: opts[:client_key],
15
+ ssl_verify_mode: opts[:verify] ? :verify_none : :verify_peer,
16
+ ssl_ca_path: opts[:ssl][:ca_path],
17
+ ssl_ca_file: opts[:ssl][:ca_file],
18
+ ssl_client_cert: opts[:ssl][:client_cert],
19
+ ssl_client_key: opts[:ssl][:client_key],
20
+ }
21
+ super(opts[:server_url].to_s, **chef_opts)
22
+ end
23
+
24
+ def get(url)
25
+ super(url)
26
+ rescue Net::HTTPExceptions => e
27
+ case e.response.code
28
+ when "404"
29
+ raise Berkshelf::APIClient::ServiceNotFound, "service not found at: #{url}"
30
+ when /^5/
31
+ raise Berkshelf::APIClient::ServiceUnavailable, "service unavailable at: #{url}"
32
+ else
33
+ raise Berkshelf::APIClient::BadResponse, "bad response #{e.response}"
34
+ end
35
+ rescue Errno::ETIMEDOUT, Timeout::Error
36
+ raise Berkshelf::APIClient::TimeoutError, "Unable to connect to: #{url}"
37
+ rescue Errno::EHOSTUNREACH, Errno::ECONNREFUSED => e
38
+ raise Berkshelf::APIClient::ServiceUnavailable, e
39
+ end
40
+ end
41
+
42
+ class RidleyCompatSimple < Chef::ServerAPI
43
+ use Chef::HTTP::Decompressor
44
+ use Chef::HTTP::CookieManager
45
+ use Chef::HTTP::ValidateContentLength
46
+
47
+ include RidleyCompatAPI
48
+ end
49
+
50
+ class RidleyCompatJSON < Chef::HTTP::SimpleJSON
51
+ use Chef::HTTP::JSONInput
52
+ use Chef::HTTP::JSONOutput
53
+ use Chef::HTTP::CookieManager
54
+ use Chef::HTTP::Decompressor
55
+ use Chef::HTTP::RemoteRequestID
56
+ use Chef::HTTP::ValidateContentLength
57
+
58
+ include RidleyCompatAPI
59
+ end
60
+
61
+ class RidleyCompat < Chef::HTTP::Simple
62
+ use Chef::HTTP::JSONInput
63
+ use Chef::HTTP::JSONOutput
64
+ use Chef::HTTP::CookieManager
65
+ use Chef::HTTP::Decompressor
66
+ use Chef::HTTP::Authenticator
67
+ use Chef::HTTP::RemoteRequestID
68
+ use Chef::HTTP::APIVersions
69
+ use Chef::HTTP::ValidateContentLength
70
+
71
+ include RidleyCompatAPI
72
+ end
73
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,28 +1,16 @@
1
- require 'bundler'
2
1
  require 'rspec'
3
2
  require 'rspec/its'
4
- require 'spork'
5
- require 'berkshelf/api/rspec'
3
+ require 'webmock/rspec'
4
+ require 'berkshelf/api-client'
6
5
 
7
- Spork.prefork do
8
- Dir[File.join(File.expand_path("../../spec/support/**/*.rb", __FILE__))].each { |f| require f }
6
+ WebMock.disable_net_connect!(allow_localhost: false)
9
7
 
10
- RSpec.configure do |config|
11
- config.include Berkshelf::API::RSpec
12
-
13
- config.expect_with :rspec do |c|
14
- c.syntax = :expect
15
- end
16
-
17
- config.mock_with :rspec
18
- config.filter_run focus: true
19
- config.run_all_when_everything_filtered = true
20
-
21
- config.before(:suite) { Berkshelf::API::RSpec::Server.start }
22
- config.before(:all) { Berkshelf::API::Logging.init(location: '/dev/null') }
8
+ RSpec.configure do |config|
9
+ config.expect_with :rspec do |c|
10
+ c.syntax = :expect
23
11
  end
24
- end
25
12
 
26
- Spork.each_run do
27
- require 'berkshelf/api-client'
13
+ config.mock_with :rspec
14
+ config.filter_run focus: true
15
+ config.run_all_when_everything_filtered = true
28
16
  end
@@ -1,13 +1,14 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Berkshelf::APIClient::Connection do
4
- let(:instance) { described_class.new("http://localhost:26210") }
4
+ let(:instance) { described_class.new("http://supermarket.getchef.com") }
5
5
 
6
6
  describe "#universe" do
7
7
  before do
8
- berks_dependency("ruby", "1.2.3", dependencies: { "build-essential" => ">= 1.2.2" })
9
- berks_dependency("ruby", "2.0.0", dependencies: { "build-essential" => ">= 1.2.2" })
10
- berks_dependency("elixir", "1.0.0", platforms: { "CentOS" => "6.0" })
8
+ body_response = %Q{{"ruby":{"1.2.3":{"endpoint_priority":0,"platforms":{},"dependencies":{"build-essential":">= 1.2.2"},"location_type":"supermarket","location_path":"https://supermarket.getchef.com/"},"2.0.0":{"endpoint_priority":0,"platforms":{},"dependencies":{"build-essential":">= 1.2.2"},"location_type":"supermarket","location_path":"https://supermarket.getchef.com/"}},"elixir":{"1.0.0":{"endpoint_priority":0,"platforms":{"CentOS":"= 6.0.0"},"dependencies":{},"location_type":"supermarket","location_path":"https://supermarket.getchef.com/"}}}}
9
+
10
+ stub_request(:get, "http://supermarket.getchef.com/universe")
11
+ .to_return(status: 200, body: body_response, headers: { "Content-Type" => "application/json; charset=utf-8" })
11
12
  end
12
13
 
13
14
  subject { instance.universe }
@@ -53,15 +54,47 @@ describe Berkshelf::APIClient::Connection do
53
54
  expect(remote.location_type).to_not be_nil
54
55
  end
55
56
  end
57
+ end
56
58
 
57
- context "when the connection to the service fails" do
58
- before do
59
- expect(instance).to receive(:get).and_raise(Faraday::Error::ConnectionFailed.new(StandardError))
60
- end
59
+ describe "non-200s" do
60
+ before do
61
+ Chef::Config[:http_retry_delay] = 0.001
62
+ Chef::Config[:http_retry_count] = 0
63
+ end
61
64
 
62
- it "raises a Berkshelf::APIClient::ServiceUnavaiable" do
63
- expect { subject }.to raise_error(Berkshelf::APIClient::ServiceUnavaiable)
64
- end
65
+ subject { instance.universe }
66
+
67
+ it "follows 301 redirects correctly" do
68
+ stub_request(:get, "http://supermarket.getchef.com/universe").to_return(:status => 301, :headers => { 'Location' => "http://arglebargle.com/universe" })
69
+ body_response = %Q{{"ruby":{"1.2.3":{"endpoint_priority":0,"platforms":{},"dependencies":{"build-essential":">= 1.2.2"},"location_type":"supermarket","location_path":"https://supermarket.getchef.com/"},"2.0.0":{"endpoint_priority":0,"platforms":{},"dependencies":{"build-essential":">= 1.2.2"},"location_type":"supermarket","location_path":"https://supermarket.getchef.com/"}},"elixir":{"1.0.0":{"endpoint_priority":0,"platforms":{"CentOS":"= 6.0.0"},"dependencies":{},"location_type":"supermarket","location_path":"https://supermarket.getchef.com/"}}}}
70
+ stub_request(:get, "http://arglebargle.com/universe")
71
+ .to_return(status: 200, body: body_response, headers: { "Content-Type" => "application/json; charset=utf-8" })
72
+ expect(subject.size).to eq(3)
73
+ end
74
+
75
+ it "raises Berkshelf::APIClient::ServiceUnavailable for 500s" do
76
+ stub_request(:get, "http://supermarket.getchef.com/universe").to_return(:status => [500, "Internal Server Error"])
77
+ expect { subject }.to raise_error(Berkshelf::APIClient::ServiceUnavailable)
78
+ end
79
+
80
+ it "raises Berkshelf::APIClient::ServiceNotFound for 404s" do
81
+ stub_request(:get, "http://supermarket.getchef.com/universe").to_return(:status => [404, "Not Found"])
82
+ expect { subject }.to raise_error(Berkshelf::APIClient::ServiceNotFound)
83
+ end
84
+
85
+ it "raises Net::HTTPBadRequest for 400s" do
86
+ stub_request(:get, "http://supermarket.getchef.com/universe").to_return(:status => [400, "Bad Request"])
87
+ expect { subject }.to raise_error(Berkshelf::APIClient::BadResponse)
88
+ end
89
+
90
+ it "raises Berkshelf::APIClient::TimeoutError for timeouts" do
91
+ stub_request(:get, "http://supermarket.getchef.com/universe").to_timeout
92
+ expect { subject }.to raise_error(Berkshelf::APIClient::TimeoutError)
93
+ end
94
+
95
+ it "raises Berkshelf::APIClient::TimeoutError for timeouts" do
96
+ stub_request(:get, "http://supermarket.getchef.com/universe").to_raise(Errno::ECONNREFUSED)
97
+ expect { subject }.to raise_error(Berkshelf::APIClient::ServiceUnavailable)
65
98
  end
66
99
  end
67
100
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: berkshelf-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jamie Winsor
@@ -10,154 +10,22 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2016-08-05 00:00:00.000000000 Z
13
+ date: 2017-06-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
- name: faraday
17
- requirement: !ruby/object:Gem::Requirement
18
- requirements:
19
- - - "~>"
20
- - !ruby/object:Gem::Version
21
- version: '0.9'
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- requirements:
26
- - - "~>"
27
- - !ruby/object:Gem::Version
28
- version: '0.9'
29
- - !ruby/object:Gem::Dependency
30
- name: httpclient
31
- requirement: !ruby/object:Gem::Requirement
32
- requirements:
33
- - - "~>"
34
- - !ruby/object:Gem::Version
35
- version: '2.7'
36
- type: :runtime
37
- prerelease: false
38
- version_requirements: !ruby/object:Gem::Requirement
39
- requirements:
40
- - - "~>"
41
- - !ruby/object:Gem::Version
42
- version: '2.7'
43
- - !ruby/object:Gem::Dependency
44
- name: ridley
16
+ name: chef
45
17
  requirement: !ruby/object:Gem::Requirement
46
18
  requirements:
47
19
  - - ">="
48
20
  - !ruby/object:Gem::Version
49
- version: '4.5'
50
- - - "<"
51
- - !ruby/object:Gem::Version
52
- version: '6.0'
21
+ version: '12.0'
53
22
  type: :runtime
54
23
  prerelease: false
55
24
  version_requirements: !ruby/object:Gem::Requirement
56
25
  requirements:
57
26
  - - ">="
58
27
  - !ruby/object:Gem::Version
59
- version: '4.5'
60
- - - "<"
61
- - !ruby/object:Gem::Version
62
- version: '6.0'
63
- - !ruby/object:Gem::Dependency
64
- name: bundler
65
- requirement: !ruby/object:Gem::Requirement
66
- requirements:
67
- - - ">="
68
- - !ruby/object:Gem::Version
69
- version: '0'
70
- type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- requirements:
74
- - - ">="
75
- - !ruby/object:Gem::Version
76
- version: '0'
77
- - !ruby/object:Gem::Dependency
78
- name: rake
79
- requirement: !ruby/object:Gem::Requirement
80
- requirements:
81
- - - ">="
82
- - !ruby/object:Gem::Version
83
- version: '0'
84
- type: :development
85
- prerelease: false
86
- version_requirements: !ruby/object:Gem::Requirement
87
- requirements:
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: '0'
91
- - !ruby/object:Gem::Dependency
92
- name: fuubar
93
- requirement: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - ">="
96
- - !ruby/object:Gem::Version
97
- version: '0'
98
- type: :development
99
- prerelease: false
100
- version_requirements: !ruby/object:Gem::Requirement
101
- requirements:
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: '0'
105
- - !ruby/object:Gem::Dependency
106
- name: rspec
107
- requirement: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- version: '0'
112
- type: :development
113
- prerelease: false
114
- version_requirements: !ruby/object:Gem::Requirement
115
- requirements:
116
- - - ">="
117
- - !ruby/object:Gem::Version
118
- version: '0'
119
- - !ruby/object:Gem::Dependency
120
- name: rspec-its
121
- requirement: !ruby/object:Gem::Requirement
122
- requirements:
123
- - - ">="
124
- - !ruby/object:Gem::Version
125
- version: '0'
126
- type: :development
127
- prerelease: false
128
- version_requirements: !ruby/object:Gem::Requirement
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: '0'
133
- - !ruby/object:Gem::Dependency
134
- name: spork
135
- requirement: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - ">="
138
- - !ruby/object:Gem::Version
139
- version: '0'
140
- type: :development
141
- prerelease: false
142
- version_requirements: !ruby/object:Gem::Requirement
143
- requirements:
144
- - - ">="
145
- - !ruby/object:Gem::Version
146
- version: '0'
147
- - !ruby/object:Gem::Dependency
148
- name: yard
149
- requirement: !ruby/object:Gem::Requirement
150
- requirements:
151
- - - ">="
152
- - !ruby/object:Gem::Version
153
- version: '0'
154
- type: :development
155
- prerelease: false
156
- version_requirements: !ruby/object:Gem::Requirement
157
- requirements:
158
- - - ">="
159
- - !ruby/object:Gem::Version
160
- version: '0'
28
+ version: '12.0'
161
29
  description: API Client for communicating with a Berkshelf API server
162
30
  email:
163
31
  - jamie@vialstudios.com
@@ -170,7 +38,6 @@ files:
170
38
  - ".gitignore"
171
39
  - ".travis.yml"
172
40
  - Gemfile
173
- - Guardfile
174
41
  - LICENSE
175
42
  - README.md
176
43
  - Rakefile
@@ -182,6 +49,7 @@ files:
182
49
  - lib/berkshelf/api_client/errors.rb
183
50
  - lib/berkshelf/api_client/remote_cookbook.rb
184
51
  - lib/berkshelf/api_client/version.rb
52
+ - lib/berkshelf/ridley_compat.rb
185
53
  - spec/spec_helper.rb
186
54
  - spec/unit/berkshelf/api_client/connection_spec.rb
187
55
  - spec/unit/berkshelf/api_client/remote_cookbook_spec.rb
@@ -198,7 +66,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
198
66
  requirements:
199
67
  - - ">="
200
68
  - !ruby/object:Gem::Version
201
- version: '2.2'
69
+ version: '2.3'
202
70
  required_rubygems_version: !ruby/object:Gem::Requirement
203
71
  requirements:
204
72
  - - ">="
@@ -206,7 +74,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
74
  version: '0'
207
75
  requirements: []
208
76
  rubyforge_project:
209
- rubygems_version: 2.4.8
77
+ rubygems_version: 2.6.11
210
78
  signing_key:
211
79
  specification_version: 4
212
80
  summary: API Client for communicating with a Berkshelf API server
data/Guardfile DELETED
@@ -1,10 +0,0 @@
1
- guard 'spork' do
2
- watch('Gemfile')
3
- watch('spec/spec_helper.rb') { :rspec }
4
- end
5
-
6
- guard 'rspec', cli: '--color --drb --format Fuubar', all_on_start: false, all_after_pass: false do
7
- watch(%r{^spec/unit/.+_spec\.rb$})
8
- watch(%r{^lib/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}_spec.rb" }
9
- watch('spec/spec_helper.rb') { 'spec' }
10
- end