relax 0.2.1 → 0.3.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: e9a6f87140b7758340b4a69166c801d0953f84bb0f820f23d3d817e281985d4c
4
+ data.tar.gz: a11fd29fd730571425e4c4160e04a199e94cbab9488babd5485e8012454a694c
5
+ SHA512:
6
+ metadata.gz: 950f73a57eb7f5f7373c862e150a323814d5aba741b9ea4c62aed447f8cd9bb2dea48f8cb0213d8ee74c8e527853514bab77353ae7d16916b53c1c2a9508fcbb
7
+ data.tar.gz: e0e08e5b49c6b926d79e8910762e56cd73f0762b789fc22149c95038d6250bf0fec294205872979af7d71edbcc878ebe3ee999999f569e9adbad40ea490e8f09
@@ -0,0 +1,36 @@
1
+ name: Build
2
+ on:
3
+ - push
4
+ - pull_request
5
+
6
+ jobs:
7
+ build:
8
+ name: Ruby ${{ matrix.ruby }} / Faraday ${{ matrix.faraday }}
9
+ if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository
10
+ strategy:
11
+ fail-fast: false
12
+ matrix:
13
+ ruby:
14
+ - "2.6"
15
+ - "2.7"
16
+ - "3.0"
17
+ - "3.1"
18
+ faraday:
19
+ - "2.0"
20
+ - "2.7"
21
+
22
+ runs-on: "ubuntu-latest"
23
+
24
+ env:
25
+ BUNDLE_GEMFILE: gemfiles/faraday_${{ matrix.faraday }}.gemfile
26
+ RUBYOPT: "--disable-error_highlight"
27
+
28
+ steps:
29
+ - uses: actions/checkout@v2
30
+ - uses: ruby/setup-ruby@v1
31
+ with:
32
+ ruby-version: ${{ matrix.ruby }}
33
+ - name: Setup project
34
+ run: bundle install
35
+ - name: Run tests
36
+ run: bundle exec rspec
data/.gitignore CHANGED
@@ -10,6 +10,7 @@ _yardoc
10
10
  bin
11
11
  coverage
12
12
  doc
13
+ gemfiles/*.lock
13
14
  lib/bundler/man
14
15
  pkg
15
16
  rdoc
data/.rspec CHANGED
@@ -1,2 +1 @@
1
- --color
2
- --format progress
1
+ --require spec_helper
data/.travis.yml ADDED
@@ -0,0 +1,5 @@
1
+ language: ruby
2
+ script: bundle exec rspec
3
+ rvm:
4
+ - 1.9.2
5
+ - 1.9.3
data/Appraisals ADDED
@@ -0,0 +1,7 @@
1
+ appraise "faraday-2.0" do
2
+ gem "faraday", "2.0.1"
3
+ end
4
+
5
+ appraise "faraday-2.7" do
6
+ gem "faraday", "2.7.1"
7
+ end
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0 - November 17, 2022
4
+
5
+ * Support Faraday ~> 2.0
6
+ * Require Ruby >= 2.6
7
+
8
+ ## 0.2.2 – June 7, 2012
9
+
10
+ * Move default configuration into `Config`.
11
+ * Add `Configurable` module to encapsulate `#config` and `#configure`.
12
+ * Improve documentation and examples.
13
+
3
14
  ## 0.2.1 – May 30, 2012
4
15
 
5
16
  * Add a timeout configuration option and use it on the resource connection
data/README.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Relax
2
2
 
3
+ [![Build Status][travis-image]][travis]
4
+
5
+ [travis]: http://travis-ci.org/tylerhunt/relax
6
+ [travis-image]: https://secure.travis-ci.org/tylerhunt/relax.png
7
+
3
8
  A library of simple modules for building web service wrappers.
4
9
 
5
10
 
@@ -21,6 +26,11 @@ Relax is made up of three primary modules:
21
26
  * `Relax::Delegator` — delegates class methods to an instance of the client
22
27
  allowing for simple client usage
23
28
 
29
+ It also includes a basic configuration class, `Relax::Config`, which defines
30
+ some of client defaults and can used as the basis for your own custom
31
+ configuration classes.
32
+
33
+
24
34
  ### Example
25
35
 
26
36
  ``` ruby
@@ -28,6 +38,8 @@ require 'relax'
28
38
  require 'faraday_middleware' # for JSON response parsing
29
39
 
30
40
  module Vimeo
41
+ extend Relax::Delegator[:client]
42
+
31
43
  class Client
32
44
  include Relax::Client
33
45
 
@@ -58,9 +70,9 @@ module Vimeo
58
70
  end
59
71
  end
60
72
 
61
- extend Relax::Delegator
62
-
63
- delegate_to Client
73
+ def self.client
74
+ @client ||= Client.new
75
+ end
64
76
  end
65
77
 
66
78
  Vimeo.user(ENV['VIMEO_USERNAME']).videos
@@ -1,19 +1,30 @@
1
+ # This example shows:
2
+ #
3
+ # - inheriting from Relax::Config and overriding Client#config to use it
4
+ # - customizing the resource to use basic auth and XML response parsing
5
+ # - instantiating multiple clients with distinct configurations
6
+ # - modifying a client instance endpoint to point to a different API
7
+
1
8
  require 'relax'
2
9
  require 'multi_xml'
3
10
  require 'faraday_middleware'
4
11
 
5
12
  module Delicious
6
- module Config
13
+ class Config < Relax::Config
7
14
  attr :username, true
8
15
  attr :password, true
16
+
17
+ def initialize
18
+ super
19
+ self.base_uri = 'https://api.del.icio.us/v1'
20
+ end
9
21
  end
10
22
 
11
23
  class Client
12
24
  include Relax::Client
13
25
 
14
- def initialize
15
- config.base_uri = 'https://api.del.icio.us/v1'
16
- config.extend(Config)
26
+ def config
27
+ @config ||= Config.new
17
28
  end
18
29
 
19
30
  def posts
data/examples/flickr.rb CHANGED
@@ -1,9 +1,15 @@
1
+ # This example shows:
2
+ #
3
+ # - overriding the default configuration values in Client#initialize
4
+ # - extending the configuration with custom values using config.extend
5
+ # - overriding Resource#get to merge in custom parameters
6
+ # - customizing the resource to use JSON response parsing
7
+ # - providing a module-level client accessor without using delegation
8
+
1
9
  require 'relax'
2
10
  require 'faraday_middleware'
3
11
 
4
12
  module Flickr
5
- extend Relax::Delegator[:client]
6
-
7
13
  module Config
8
14
  attr :api_key, true
9
15
  end
@@ -36,9 +42,7 @@ module Flickr
36
42
  end
37
43
 
38
44
  def connection
39
- super do |builder|
40
- builder.response(:json)
41
- end
45
+ super { |builder| builder.response(:json) }
42
46
  end
43
47
  end
44
48
 
@@ -57,10 +61,10 @@ module Flickr
57
61
  end
58
62
  end
59
63
 
60
- Flickr.configure do |config|
64
+ Flickr.client.configure do |config|
61
65
  config.api_key = ENV['FLICKR_API_KEY']
62
66
  end
63
67
 
64
- photos = Flickr.search.photos('ruby')
68
+ photos = Flickr.client.search.photos('ruby')
65
69
 
66
70
  puts photos.first(10).collect { |photo| photo['title'] }
data/examples/vimeo.rb CHANGED
@@ -1,3 +1,9 @@
1
+ # This example shows:
2
+ #
3
+ # - using Relax::Delegator to make the root module behave like a client
4
+ # - how to create resources that accept options for resource-level defaults
5
+ # - customizing the resource to use JSON response parsing
6
+
1
7
  require 'relax'
2
8
  require 'faraday_middleware'
3
9
 
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "faraday", "2.0.1"
6
+
7
+ gemspec path: "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "faraday", "2.7.1"
6
+
7
+ gemspec path: "../"
data/lib/relax/client.rb CHANGED
@@ -1,20 +1,5 @@
1
- require 'faraday'
2
-
3
1
  module Relax
4
2
  module Client
5
- USER_AGENT = "Relax Ruby Gem Client #{Relax::VERSION}"
6
- TIMEOUT = 60
7
-
8
- def config
9
- @config ||= Config.new.configure do |config|
10
- config.adapter = Faraday.default_adapter
11
- config.user_agent = USER_AGENT
12
- config.timeout = TIMEOUT
13
- end
14
- end
15
-
16
- def configure(&block)
17
- config.configure(&block)
18
- end
3
+ include Configurable
19
4
  end
20
5
  end
data/lib/relax/config.rb CHANGED
@@ -1,13 +1,19 @@
1
+ require 'faraday'
2
+
1
3
  module Relax
2
4
  class Config
5
+ USER_AGENT = "Relax Ruby Gem Client #{Relax::VERSION}"
6
+ TIMEOUT = 60
7
+
3
8
  attr :adapter, true
4
9
  attr :base_uri, true
5
10
  attr :timeout, true
6
11
  attr :user_agent, true
7
12
 
8
- def configure
9
- yield(self)
10
- self
13
+ def initialize
14
+ self.adapter = Faraday.default_adapter
15
+ self.user_agent = USER_AGENT
16
+ self.timeout = TIMEOUT
11
17
  end
12
18
  end
13
19
  end
@@ -0,0 +1,12 @@
1
+ module Relax
2
+ module Configurable
3
+ def config
4
+ @config ||= Config.new
5
+ end
6
+
7
+ def configure
8
+ yield(config)
9
+ self
10
+ end
11
+ end
12
+ end
data/lib/relax/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Relax
2
- VERSION = '0.2.1'
2
+ VERSION = '0.3.0'
3
3
  end
data/lib/relax.rb CHANGED
@@ -3,6 +3,7 @@ require 'relax/version'
3
3
  module Relax
4
4
  autoload :Client, 'relax/client'
5
5
  autoload :Config, 'relax/config'
6
+ autoload :Configurable, 'relax/configurable'
6
7
  autoload :Delegator, 'relax/delegator'
7
8
  autoload :Resource, 'relax/resource'
8
9
  end
data/relax.gemspec CHANGED
@@ -1,17 +1,21 @@
1
1
  require './lib/relax/version'
2
2
 
3
- Gem::Specification.new do |gem|
4
- gem.name = 'relax'
5
- gem.version = Relax::VERSION
6
- gem.summary = 'A flexible library for creating web service consumers.'
7
- gem.homepage = 'http://github.com/tylerhunt/relax'
8
- gem.author = 'Tyler Hunt'
3
+ Gem::Specification.new do |spec|
4
+ spec.name = 'relax'
5
+ spec.version = Relax::VERSION
6
+ spec.authors = ['Tyler Hunt']
7
+ spec.summary = 'A flexible library for creating web service consumers.'
8
+ spec.homepage = 'http://github.com/tylerhunt/relax'
9
+ spec.license = 'MIT'
9
10
 
10
- gem.add_dependency 'faraday', '~> 0.8.0'
11
- gem.add_development_dependency 'rspec', '~> 2.6'
11
+ spec.required_ruby_version = '>= 2.6'
12
12
 
13
- gem.files = `git ls-files`.split($\)
14
- gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
15
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
16
- gem.require_paths = ['lib']
13
+ spec.add_dependency 'faraday', '~> 2.0'
14
+ spec.add_development_dependency 'rspec', '~> 3.12'
15
+ spec.add_development_dependency 'appraisal', '~> 2.4'
16
+
17
+ spec.files = `git ls-files`.split($\)
18
+ spec.executables = spec.files.grep(%r{^bin/}).map { |f| File.basename(f) }
19
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
20
+ spec.require_paths = ['lib']
17
21
  end
@@ -1,40 +1,24 @@
1
- require 'spec_helper'
2
-
3
- describe Relax::Client do
4
- let(:client) { Class.new { include Relax::Client }.new }
5
-
6
- subject { client }
1
+ RSpec.describe Relax::Client do
2
+ subject(:client) { Class.new { include Relax::Client }.new }
7
3
 
8
4
  context '#config' do
9
5
  it 'returns an instance of Relax::Config' do
10
- subject.config.should be_a(Relax::Config)
6
+ expect(client.config).to be_a Relax::Config
11
7
  end
12
8
 
13
9
  it 'memoizes the configuration' do
14
- subject.config.should == subject.config
15
- end
16
-
17
- context 'defaults' do
18
- subject { client.config }
19
-
20
- its(:adapter) { should == Faraday.default_adapter }
21
- its(:base_uri) { should be_nil }
22
- its(:timeout) { should == 60 }
23
- its(:user_agent) { should == "Relax Ruby Gem Client #{Relax::VERSION}" }
10
+ expect(client.config).to eq client.config
24
11
  end
25
12
  end
26
13
 
27
14
  context '#configure' do
28
15
  it 'yields an instance of the configuration' do
29
- expect {
30
- subject.configure do |config|
31
- config.base_uri = 'http://api.example.com/v2'
32
- end
33
- }.to change(subject.config, :base_uri).to('http://api.example.com/v2')
16
+ expect { |block| client.configure &block }
17
+ .to yield_with_args(client.config)
34
18
  end
35
19
 
36
- it 'returns the configuration' do
37
- subject.configure { }.should == subject.config
20
+ it 'returns self' do
21
+ expect(client.configure {}).to eq client
38
22
  end
39
23
  end
40
24
  end
@@ -1,17 +1,38 @@
1
- require 'spec_helper'
1
+ RSpec.describe Relax::Config do
2
+ {
3
+ USER_AGENT: "Relax Ruby Gem Client #{Relax::VERSION}",
4
+ TIMEOUT: 60
5
+ }.each do |constant, value|
6
+ context "::#{constant}" do
7
+ subject { described_class.const_get(constant) }
2
8
 
3
- describe Relax::Config do
4
- context '#configure' do
5
- it 'yields an instance of the configuration' do
6
- expect {
7
- subject.configure do |config|
8
- config.base_uri = 'http://api.example.com/v2'
9
- end
10
- }.to change(subject, :base_uri).to('http://api.example.com/v2')
9
+ it { is_expected.to eq value }
11
10
  end
11
+ end
12
+
13
+ subject(:config) { described_class.new }
14
+
15
+ context '#adapter' do
16
+ it 'defaults to Faraday’s default adapter' do
17
+ expect(config.adapter).to eq Faraday.default_adapter
18
+ end
19
+ end
20
+
21
+ context '#base_uri' do
22
+ it 'defaults to nil' do
23
+ expect(config.base_uri).to be_nil
24
+ end
25
+ end
26
+
27
+ context '#adapter' do
28
+ it 'has a default value' do
29
+ expect(config.timeout).to eq 60
30
+ end
31
+ end
12
32
 
13
- it 'returns the configuration' do
14
- subject.configure { }.should == subject
33
+ context '#adapter' do
34
+ it 'has a default value' do
35
+ expect(config.user_agent).to eq "Relax Ruby Gem Client #{Relax::VERSION}"
15
36
  end
16
37
  end
17
38
  end
@@ -0,0 +1,24 @@
1
+ RSpec.describe Relax::Configurable do
2
+ subject(:configurable) { Class.new { include Relax::Configurable }.new }
3
+
4
+ context '#config' do
5
+ it 'returns an instance of Relax::Config' do
6
+ expect(configurable.config).to be_a Relax::Config
7
+ end
8
+
9
+ it 'memoizes the configuration' do
10
+ expect(configurable.config).to eq configurable.config
11
+ end
12
+ end
13
+
14
+ context '#configure' do
15
+ it 'yields an instance of the configuration' do
16
+ expect { |block| configurable.configure &block }
17
+ .to yield_with_args(configurable.config)
18
+ end
19
+
20
+ it 'returns self' do
21
+ expect(configurable.configure {}).to eq configurable
22
+ end
23
+ end
24
+ end
@@ -1,9 +1,7 @@
1
- require 'spec_helper'
2
-
3
- describe Relax::Delegator do
1
+ RSpec.describe Relax::Delegator do
4
2
  let(:client) { Class.new { include Relax::Client } }
5
3
 
6
- subject do
4
+ subject(:delegator) do
7
5
  Class.new do
8
6
  extend Relax::Delegator[:client]
9
7
 
@@ -13,19 +11,20 @@ describe Relax::Delegator do
13
11
  end
14
12
  end
15
13
 
16
- before { subject.client = client.new }
14
+ before { delegator.client = client.new }
17
15
 
18
16
  context '.[]' do
19
17
  it 'accepts a client method name and returns a module' do
20
- described_class[:client].should be_a(Module)
18
+ expect(described_class[:client]).to be_a Module
21
19
  end
22
20
  end
23
21
 
24
22
  context 'delegation' do
25
23
  Relax::Client.instance_methods.each do |method|
26
24
  it "delegates .#{method} to the client" do
27
- subject.client.should_receive(method)
28
- subject.send(method)
25
+ expect(delegator.client).to receive(method)
26
+
27
+ delegator.send method
29
28
  end
30
29
  end
31
30
  end
@@ -1,6 +1,4 @@
1
- require 'spec_helper'
2
-
3
- describe Relax::Resource do
1
+ RSpec.describe Relax::Resource do
4
2
  let(:client) do
5
3
  Class.new do
6
4
  include Relax::Client
@@ -13,7 +11,7 @@ describe Relax::Resource do
13
11
 
14
12
  let(:resource_class) { Class.new { include Relax::Resource } }
15
13
 
16
- subject { resource_class.new(client) }
14
+ subject(:resource) { resource_class.new(client) }
17
15
 
18
16
  context '.new' do
19
17
  it 'accepts an options hash' do
@@ -22,42 +20,50 @@ describe Relax::Resource do
22
20
  end
23
21
 
24
22
  context '#connection' do
25
- let(:connection) { subject.send(:connection) }
23
+ let(:connection) { resource.send(:connection) }
26
24
 
27
25
  it 'returns an instance of Faraday::Connection' do
28
- connection.should be_a(Faraday::Connection)
26
+ expect(connection).to be_a Faraday::Connection
29
27
  end
30
28
 
31
29
  it 'uses the configured base URI as the URL' do
32
- connection.url_prefix.should == URI.parse(client.config.base_uri)
30
+ expect(connection.url_prefix).to eq URI.parse(client.config.base_uri)
33
31
  end
34
32
 
35
33
  it 'uses the configured timeout' do
36
- connection.options[:timeout].should == client.config.timeout
34
+ expect(connection.options[:timeout]).to eq client.config.timeout
37
35
  end
38
36
 
39
37
  it 'accepts an options hash to be passed to Faraday::Connection' do
40
38
  headers = { user_agent: "#{described_class} Test" }
41
- connection = subject.send(:connection, headers: headers)
42
- connection.headers['User-Agent'].should == headers[:user_agent]
39
+ connection = resource.send(:connection, headers: headers)
40
+
41
+ expect(connection.headers['User-Agent']).to eq headers[:user_agent]
43
42
  end
44
43
 
45
44
  it 'yields a builder to allow the middleware to be customized' do
46
- subject.send(:connection) do |builder|
47
- builder.use(Faraday::Response::Logger)
48
- end.builder.handlers.should include(Faraday::Response::Logger)
45
+ connection = resource.send(:connection) { |builder|
46
+ builder.use Faraday::Response::Logger
47
+ }
48
+
49
+ expect(connection.builder.handlers).to include Faraday::Response::Logger
49
50
  end
50
51
  end
51
52
 
52
53
  context 'connection delegation' do
53
- let(:connection) { stub(:connection) }
54
+ let(:connection) { double(:connection) }
54
55
 
55
- before { subject.stub(:connection).and_return(connection) }
56
+ before do
57
+ allow(resource)
58
+ .to receive(:connection)
59
+ .and_return(connection)
60
+ end
56
61
 
57
62
  Faraday::Connection::METHODS.each do |method|
58
63
  it "delegates ##{method} to #connection" do
59
- connection.should_receive(method)
60
- subject.send(method)
64
+ expect(connection).to receive(method)
65
+
66
+ resource.send method
61
67
  end
62
68
  end
63
69
  end
data/spec/spec_helper.rb CHANGED
@@ -5,7 +5,6 @@ Dir[File.expand_path('../support/**/*.rb', __FILE__)].each do |file|
5
5
  end
6
6
 
7
7
  RSpec.configure do |config|
8
- config.treat_symbols_as_metadata_keys_with_true_values = true
9
8
  config.run_all_when_everything_filtered = true
10
9
  config.filter_run :focus
11
10
  end
metadata CHANGED
@@ -1,56 +1,68 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relax
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
5
- prerelease:
4
+ version: 0.3.0
6
5
  platform: ruby
7
6
  authors:
8
7
  - Tyler Hunt
9
- autorequire:
8
+ autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2012-05-31 00:00:00.000000000 Z
11
+ date: 2022-11-18 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: faraday
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ~>
17
+ - - "~>"
20
18
  - !ruby/object:Gem::Version
21
- version: 0.8.0
19
+ version: '2.0'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ~>
24
+ - - "~>"
28
25
  - !ruby/object:Gem::Version
29
- version: 0.8.0
26
+ version: '2.0'
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rspec
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ~>
31
+ - - "~>"
36
32
  - !ruby/object:Gem::Version
37
- version: '2.6'
33
+ version: '3.12'
38
34
  type: :development
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ~>
38
+ - - "~>"
44
39
  - !ruby/object:Gem::Version
45
- version: '2.6'
46
- description:
47
- email:
40
+ version: '3.12'
41
+ - !ruby/object:Gem::Dependency
42
+ name: appraisal
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.4'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.4'
55
+ description:
56
+ email:
48
57
  executables: []
49
58
  extensions: []
50
59
  extra_rdoc_files: []
51
60
  files:
52
- - .gitignore
53
- - .rspec
61
+ - ".github/workflows/build.yml"
62
+ - ".gitignore"
63
+ - ".rspec"
64
+ - ".travis.yml"
65
+ - Appraisals
54
66
  - CHANGELOG.md
55
67
  - Gemfile
56
68
  - LICENSE
@@ -59,45 +71,49 @@ files:
59
71
  - examples/delicious.rb
60
72
  - examples/flickr.rb
61
73
  - examples/vimeo.rb
74
+ - gemfiles/faraday_2.0.gemfile
75
+ - gemfiles/faraday_2.7.gemfile
62
76
  - lib/relax.rb
63
77
  - lib/relax/client.rb
64
78
  - lib/relax/config.rb
79
+ - lib/relax/configurable.rb
65
80
  - lib/relax/delegator.rb
66
81
  - lib/relax/resource.rb
67
82
  - lib/relax/version.rb
68
83
  - relax.gemspec
69
84
  - spec/relax/client_spec.rb
70
85
  - spec/relax/config_spec.rb
86
+ - spec/relax/configurable_spec.rb
71
87
  - spec/relax/delegator_spec.rb
72
88
  - spec/relax/resource_spec.rb
73
89
  - spec/spec_helper.rb
74
90
  homepage: http://github.com/tylerhunt/relax
75
- licenses: []
76
- post_install_message:
91
+ licenses:
92
+ - MIT
93
+ metadata: {}
94
+ post_install_message:
77
95
  rdoc_options: []
78
96
  require_paths:
79
97
  - lib
80
98
  required_ruby_version: !ruby/object:Gem::Requirement
81
- none: false
82
99
  requirements:
83
- - - ! '>='
100
+ - - ">="
84
101
  - !ruby/object:Gem::Version
85
- version: '0'
102
+ version: '2.6'
86
103
  required_rubygems_version: !ruby/object:Gem::Requirement
87
- none: false
88
104
  requirements:
89
- - - ! '>='
105
+ - - ">="
90
106
  - !ruby/object:Gem::Version
91
107
  version: '0'
92
108
  requirements: []
93
- rubyforge_project:
94
- rubygems_version: 1.8.24
95
- signing_key:
96
- specification_version: 3
109
+ rubygems_version: 3.3.7
110
+ signing_key:
111
+ specification_version: 4
97
112
  summary: A flexible library for creating web service consumers.
98
113
  test_files:
99
114
  - spec/relax/client_spec.rb
100
115
  - spec/relax/config_spec.rb
116
+ - spec/relax/configurable_spec.rb
101
117
  - spec/relax/delegator_spec.rb
102
118
  - spec/relax/resource_spec.rb
103
119
  - spec/spec_helper.rb