berkshelf-api-client 3.0.0 → 4.0.0

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: 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