garage_client 2.4.0 → 2.4.5
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 +5 -5
- data/.travis.yml +4 -2
- data/CHANGELOG.md +18 -0
- data/README.md +1 -1
- data/garage_client.gemspec +1 -4
- data/lib/garage_client.rb +8 -5
- data/lib/garage_client/client.rb +14 -12
- data/lib/garage_client/railtie.rb +7 -1
- data/lib/garage_client/request/propagate_request_id.rb +2 -2
- data/lib/garage_client/resource.rb +12 -1
- data/lib/garage_client/version.rb +1 -1
- data/spec/features/tracing_spec.rb +47 -3
- data/spec/garage_client/cacher_spec.rb +2 -6
- data/spec/garage_client/request/propagate_request_id_spec.rb +4 -4
- data/spec/garage_client/resource_spec.rb +6 -0
- data/spec/spec_helper.rb +1 -1
- metadata +5 -20
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 | 
            -
             | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 2 | 
            +
            SHA256:
         | 
| 3 | 
            +
              metadata.gz: b719783d93f2fe8a23421f6a05946aa376623d953c99ba1a3cf5435a5d248ac0
         | 
| 4 | 
            +
              data.tar.gz: 40287bfa976d8608d43a67cd3b50135e1618a28232346508f6ad319d50cf1262
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: bebf81e6430a3765d0f4f970aeca63c6ee059050c2d5f1a9a58b611d17b80f0a6bc91f756f85dee2a2c3d5e7a091ef75a3b5fd87b282288e238494dac213b6cc
         | 
| 7 | 
            +
              data.tar.gz: 20a0ae03b1803f66a2b3f1ad47329990326f96004c667091600d474c63c7a2e0d65ea037aa026af6880677137e11432b6b284cbd8ba078e8593443aa5f6d7c8e
         | 
    
        data/.travis.yml
    CHANGED
    
    
    
        data/CHANGELOG.md
    CHANGED
    
    | @@ -1,3 +1,21 @@ | |
| 1 | 
            +
            ## 2.4.5
         | 
| 2 | 
            +
            - Drop support for Ruby 2.5
         | 
| 3 | 
            +
            - Remove implicit dependency on Active Support
         | 
| 4 | 
            +
             | 
| 5 | 
            +
            ## 2.4.4
         | 
| 6 | 
            +
            - Remove activesupport dependency
         | 
| 7 | 
            +
            - Fix request ID not being propagated
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            ## 2.4.3
         | 
| 10 | 
            +
            - Support query methods on GarageClient::Resource
         | 
| 11 | 
            +
            - Use Module#module_parent_name for Rails 6.0
         | 
| 12 | 
            +
             | 
| 13 | 
            +
            ## 2.4.2
         | 
| 14 | 
            +
            - Fixes for latest aws-xray gem. Require `aws/xray/faraday`.
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            ## 2.4.1
         | 
| 17 | 
            +
            - Record http request/response even if API returns errors.
         | 
| 18 | 
            +
             | 
| 1 19 | 
             
            ## 2.4.0
         | 
| 2 20 | 
             
            - Support distributed tracing.
         | 
| 3 21 |  | 
    
        data/README.md
    CHANGED
    
    | @@ -209,7 +209,7 @@ Choose one of supported tracers from below. If you want to add new tracer, pleas | |
| 209 209 | 
             
            Bundle [aws-xray](https://github.com/taiki45/aws-xray) gem in your `Gemfile`, then configure `GarageClient::Client` instance with `tracing.service` option:
         | 
| 210 210 |  | 
| 211 211 | 
             
            ```ruby
         | 
| 212 | 
            -
            require 'aws/xray'
         | 
| 212 | 
            +
            require 'aws/xray/faraday'
         | 
| 213 213 | 
             
            GarageClient::Client.new(..., tracing: { tracer: 'aws-xray', service: 'user' })
         | 
| 214 214 | 
             
            ```
         | 
| 215 215 |  | 
    
        data/garage_client.gemspec
    CHANGED
    
    | @@ -16,14 +16,11 @@ Gem::Specification.new do |s| | |
| 16 16 | 
             
              s.authors       = ['Cookpad Inc.']
         | 
| 17 17 | 
             
              s.email         = ['kaihatsu@cookpad.com']
         | 
| 18 18 |  | 
| 19 | 
            -
              s.add_dependency 'activesupport', '> 3.2.0'
         | 
| 20 19 | 
             
              s.add_dependency 'faraday', '>= 0.8.0'
         | 
| 21 20 | 
             
              s.add_dependency 'faraday_middleware'
         | 
| 22 21 | 
             
              s.add_dependency 'hashie', '>= 1.2.0'
         | 
| 23 22 | 
             
              s.add_dependency 'link_header'
         | 
| 24 23 |  | 
| 25 | 
            -
              s.add_dependency 'system_timer' if RUBY_VERSION < '1.9'
         | 
| 26 | 
            -
             | 
| 27 24 | 
             
              s.add_development_dependency "rails"
         | 
| 28 25 | 
             
              s.add_development_dependency "rake", ">= 0.9.2"
         | 
| 29 26 | 
             
              s.add_development_dependency "rspec"
         | 
| @@ -32,5 +29,5 @@ Gem::Specification.new do |s| | |
| 32 29 | 
             
              s.add_development_dependency "pry"
         | 
| 33 30 | 
             
              # Until bug fixed: https://github.com/colszowka/simplecov/issues/281
         | 
| 34 31 | 
             
              s.add_development_dependency "simplecov", "~> 0.7.1"
         | 
| 35 | 
            -
              s.add_development_dependency "aws-xray"
         | 
| 32 | 
            +
              s.add_development_dependency "aws-xray", ">= 0.30.0"
         | 
| 36 33 | 
             
            end
         | 
    
        data/lib/garage_client.rb
    CHANGED
    
    | @@ -1,4 +1,3 @@ | |
| 1 | 
            -
            require 'active_support/all'
         | 
| 2 1 | 
             
            require 'faraday'
         | 
| 3 2 | 
             
            require 'faraday_middleware'
         | 
| 4 3 |  | 
| @@ -24,11 +23,15 @@ end | |
| 24 23 |  | 
| 25 24 | 
             
            module GarageClient
         | 
| 26 25 | 
             
              class << self
         | 
| 27 | 
            -
                GarageClient::Configuration.keys.each do |key|
         | 
| 28 | 
            -
                   | 
| 29 | 
            -
             | 
| 26 | 
            +
                [*GarageClient::Configuration.keys, :default_headers].each do |key|
         | 
| 27 | 
            +
                  define_method(key) do
         | 
| 28 | 
            +
                    configuration.public_send(key)
         | 
| 29 | 
            +
                  end
         | 
| 30 30 |  | 
| 31 | 
            -
             | 
| 31 | 
            +
                  define_method("#{key}=") do |value|
         | 
| 32 | 
            +
                    configuration.public_send("#{key}=", value)
         | 
| 33 | 
            +
                  end
         | 
| 34 | 
            +
                end
         | 
| 32 35 |  | 
| 33 36 | 
             
                def configuration
         | 
| 34 37 | 
             
                  @configuration ||= GarageClient::Configuration.new
         | 
    
        data/lib/garage_client/client.rb
    CHANGED
    
    | @@ -27,7 +27,7 @@ module GarageClient | |
| 27 27 | 
             
                end
         | 
| 28 28 |  | 
| 29 29 | 
             
                def headers
         | 
| 30 | 
            -
                  @headers ||= GarageClient.configuration.headers.merge(given_headers. | 
| 30 | 
            +
                  @headers ||= GarageClient.configuration.headers.merge(given_headers.transform_keys(&:to_s))
         | 
| 31 31 | 
             
                end
         | 
| 32 32 | 
             
                alias :default_headers :headers
         | 
| 33 33 |  | 
| @@ -58,17 +58,6 @@ module GarageClient | |
| 58 58 |  | 
| 59 59 | 
             
                def connection
         | 
| 60 60 | 
             
                  Faraday.new(headers: headers, url: endpoint) do |builder|
         | 
| 61 | 
            -
                    if options[:tracing]
         | 
| 62 | 
            -
                      case options[:tracing][:tracer]
         | 
| 63 | 
            -
                      when 'aws-xray'
         | 
| 64 | 
            -
                        service = options[:tracing][:service]
         | 
| 65 | 
            -
                        raise 'Configure target service name with `tracing.service`' unless service
         | 
| 66 | 
            -
                        builder.use Aws::Xray::Faraday, service
         | 
| 67 | 
            -
                      else
         | 
| 68 | 
            -
                        raise "`tracing` option specified but GarageClient does not support the tracer: #{options[:tracing][:tracer]}"
         | 
| 69 | 
            -
                      end
         | 
| 70 | 
            -
                    end
         | 
| 71 | 
            -
             | 
| 72 61 | 
             
                    # Response Middlewares
         | 
| 73 62 | 
             
                    builder.use Faraday::Response::Logger if verbose
         | 
| 74 63 | 
             
                    builder.use FaradayMiddleware::Mashify
         | 
| @@ -81,6 +70,19 @@ module GarageClient | |
| 81 70 | 
             
                    builder.use GarageClient::Request::JsonEncoded
         | 
| 82 71 | 
             
                    builder.use GarageClient::Request::PropagateRequestId
         | 
| 83 72 |  | 
| 73 | 
            +
                    # Tracing Middlewares
         | 
| 74 | 
            +
                    if options[:tracing]
         | 
| 75 | 
            +
                      case options[:tracing][:tracer]
         | 
| 76 | 
            +
                      when 'aws-xray'
         | 
| 77 | 
            +
                        service = options[:tracing][:service]
         | 
| 78 | 
            +
                        raise 'Configure target service name with `tracing.service`' unless service
         | 
| 79 | 
            +
                        require 'aws/xray/faraday'
         | 
| 80 | 
            +
                        builder.use Aws::Xray::Faraday, service
         | 
| 81 | 
            +
                      else
         | 
| 82 | 
            +
                        raise "`tracing` option specified but GarageClient does not support the tracer: #{options[:tracing][:tracer]}"
         | 
| 83 | 
            +
                      end
         | 
| 84 | 
            +
                    end
         | 
| 85 | 
            +
             | 
| 84 86 | 
             
                    # Low-level Middlewares
         | 
| 85 87 | 
             
                    apply_auth_middleware builder
         | 
| 86 88 | 
             
                    builder.adapter(*adapter)
         | 
| @@ -9,7 +9,13 @@ module GarageClient | |
| 9 9 | 
             
                def self.set_default_name
         | 
| 10 10 | 
             
                  unless GarageClient.configuration.options[:name]
         | 
| 11 11 | 
             
                    GarageClient.configure do |c|
         | 
| 12 | 
            -
                       | 
| 12 | 
            +
                      klass = ::Rails.application.class
         | 
| 13 | 
            +
                      parent_name = if klass.respond_to?(:module_parent_name)
         | 
| 14 | 
            +
                        klass.module_parent_name
         | 
| 15 | 
            +
                      else
         | 
| 16 | 
            +
                        klass.parent_name
         | 
| 17 | 
            +
                      end
         | 
| 18 | 
            +
                      c.name = parent_name.underscore
         | 
| 13 19 | 
             
                    end
         | 
| 14 20 | 
             
                  end
         | 
| 15 21 | 
             
                end
         | 
| @@ -2,8 +2,8 @@ module GarageClient | |
| 2 2 | 
             
              module Request
         | 
| 3 3 | 
             
                class PropagateRequestId < Faraday::Middleware
         | 
| 4 4 | 
             
                  def call(env)
         | 
| 5 | 
            -
                    if Thread.current[:request_id] && !env[:request_headers][" | 
| 6 | 
            -
                      env[:request_headers][" | 
| 5 | 
            +
                    if Thread.current[:request_id] && !env[:request_headers]["X-Request-Id"]
         | 
| 6 | 
            +
                      env[:request_headers]["X-Request-Id"] = Thread.current[:request_id]
         | 
| 7 7 | 
             
                    end
         | 
| 8 8 | 
             
                    @app.call(env)
         | 
| 9 9 | 
             
                  end
         | 
| @@ -41,6 +41,8 @@ module GarageClient | |
| 41 41 | 
             
                    else
         | 
| 42 42 | 
             
                      value
         | 
| 43 43 | 
             
                    end
         | 
| 44 | 
            +
                  elsif query_method?(name)
         | 
| 45 | 
            +
                    data.__send__(name)
         | 
| 44 46 | 
             
                  elsif links.include?(name)
         | 
| 45 47 | 
             
                    path = data._links[name].href
         | 
| 46 48 | 
             
                    client.get(path, *args)
         | 
| @@ -53,11 +55,20 @@ module GarageClient | |
| 53 55 | 
             
                end
         | 
| 54 56 |  | 
| 55 57 | 
             
                def respond_to_missing?(name, include_private)
         | 
| 56 | 
            -
                  !!(properties.include?(name) || links.include?(name) || nested_resource_creation_method?(name))
         | 
| 58 | 
            +
                  !!(properties.include?(name) || query_method?(name) || links.include?(name) || nested_resource_creation_method?(name))
         | 
| 57 59 | 
             
                end
         | 
| 58 60 |  | 
| 59 61 | 
             
                def nested_resource_creation_method?(name)
         | 
| 60 62 | 
             
                  !!(name =~ /\Acreate_(.+)\z/ && links.include?($1.to_sym))
         | 
| 61 63 | 
             
                end
         | 
| 64 | 
            +
             | 
| 65 | 
            +
                private
         | 
| 66 | 
            +
             | 
| 67 | 
            +
                def query_method?(name)
         | 
| 68 | 
            +
                  if name.to_s.end_with?('?')
         | 
| 69 | 
            +
                    key = name.to_s[0..-2]
         | 
| 70 | 
            +
                    properties.include?(key.to_sym)
         | 
| 71 | 
            +
                  end
         | 
| 72 | 
            +
                end
         | 
| 62 73 | 
             
              end
         | 
| 63 74 | 
             
            end
         | 
| @@ -5,6 +5,7 @@ RSpec.describe 'Tracing support' do | |
| 5 5 | 
             
              context 'when `tracing` option is specified' do
         | 
| 6 6 | 
             
                around do |ex|
         | 
| 7 7 | 
             
                  Aws::Xray.config.client_options = { sock: io }
         | 
| 8 | 
            +
                  Aws::Xray.config.sampling_rate = 1
         | 
| 8 9 | 
             
                  Aws::Xray.trace(name: 'test-app') { ex.run }
         | 
| 9 10 | 
             
                end
         | 
| 10 11 |  | 
| @@ -21,13 +22,13 @@ RSpec.describe 'Tracing support' do | |
| 21 22 | 
             
                end
         | 
| 22 23 | 
             
                let(:stubs) do
         | 
| 23 24 | 
             
                  Faraday::Adapter::Test::Stubs.new do |stub|
         | 
| 24 | 
            -
                    stub.get('/ | 
| 25 | 
            +
                    stub.get('/campaign') { |env| [200, {'Content-Type' => 'application/json'}, '{"campaign": false}'] }
         | 
| 25 26 | 
             
                  end
         | 
| 26 27 | 
             
                end
         | 
| 27 28 |  | 
| 28 29 | 
             
                specify 'client enables tracing and sends trace data to a local agent' do
         | 
| 29 | 
            -
                  res = client.get('/ | 
| 30 | 
            -
                  expect(res.body. | 
| 30 | 
            +
                  res = client.get('/campaign')
         | 
| 31 | 
            +
                  expect(res.body.campaign).to eq(false)
         | 
| 31 32 |  | 
| 32 33 | 
             
                  io.rewind
         | 
| 33 34 | 
             
                  sent_jsons = io.read.split("\n")
         | 
| @@ -35,5 +36,48 @@ RSpec.describe 'Tracing support' do | |
| 35 36 | 
             
                  body = JSON.parse(sent_jsons[1])
         | 
| 36 37 | 
             
                  expect(body['name']).to eq('target-app')
         | 
| 37 38 | 
             
                end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
                context 'API returns client errors' do
         | 
| 41 | 
            +
                  let(:stubs) do
         | 
| 42 | 
            +
                    Faraday::Adapter::Test::Stubs.new do |stub|
         | 
| 43 | 
            +
                      stub.get('/campaign') { |env| [404, {'Content-Type' => 'application/json'}, '{"error": "not_found"}'] }
         | 
| 44 | 
            +
                    end
         | 
| 45 | 
            +
                  end
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                  specify 'client traces HTTP request and response and records errors' do
         | 
| 48 | 
            +
                    expect { client.get('/campaign') }.to raise_error(GarageClient::NotFound)
         | 
| 49 | 
            +
             | 
| 50 | 
            +
                    io.rewind
         | 
| 51 | 
            +
                    sent_jsons = io.read.split("\n")
         | 
| 52 | 
            +
                    expect(sent_jsons.size).to eq(2)
         | 
| 53 | 
            +
                    body = JSON.parse(sent_jsons[1])
         | 
| 54 | 
            +
                    expect(body['name']).to eq('target-app')
         | 
| 55 | 
            +
                    expect(body['error']).to eq(true)
         | 
| 56 | 
            +
                    expect(body['http']['request']['method']).to eq('GET')
         | 
| 57 | 
            +
                    expect(body['http']['response']['status']).to eq(404)
         | 
| 58 | 
            +
                  end
         | 
| 59 | 
            +
                end
         | 
| 60 | 
            +
             | 
| 61 | 
            +
                context 'API returns server errors' do
         | 
| 62 | 
            +
                  let(:stubs) do
         | 
| 63 | 
            +
                    Faraday::Adapter::Test::Stubs.new do |stub|
         | 
| 64 | 
            +
                      stub.get('/campaign') { |env| [500, {'Content-Type' => 'application/json'}, '{"error": "internal_server_error"}'] }
         | 
| 65 | 
            +
                    end
         | 
| 66 | 
            +
                  end
         | 
| 67 | 
            +
             | 
| 68 | 
            +
                  specify 'client traces HTTP request and response and marks as fault' do
         | 
| 69 | 
            +
                    expect { client.get('/campaign') }.to raise_error(GarageClient::InternalServerError)
         | 
| 70 | 
            +
             | 
| 71 | 
            +
                    io.rewind
         | 
| 72 | 
            +
                    sent_jsons = io.read.split("\n")
         | 
| 73 | 
            +
                    expect(sent_jsons.size).to eq(2)
         | 
| 74 | 
            +
                    body = JSON.parse(sent_jsons[1])
         | 
| 75 | 
            +
                    expect(body['name']).to eq('target-app')
         | 
| 76 | 
            +
                    expect(body['error']).to eq(false)
         | 
| 77 | 
            +
                    expect(body['fault']).to eq(true)
         | 
| 78 | 
            +
                    expect(body['http']['request']['method']).to eq('GET')
         | 
| 79 | 
            +
                    expect(body['http']['response']['status']).to eq(500)
         | 
| 80 | 
            +
                  end
         | 
| 81 | 
            +
                end
         | 
| 38 82 | 
             
              end
         | 
| 39 83 | 
             
            end
         | 
| @@ -64,10 +64,6 @@ describe GarageClient::Cachers::Base do | |
| 64 64 |  | 
| 65 65 | 
             
              # Check dump data. Because cache data not broken on the version up of faraday.
         | 
| 66 66 | 
             
              describe "check Faraday::Response marshal" do
         | 
| 67 | 
            -
                specify do
         | 
| 68 | 
            -
                  expect(Faraday::VERSION).to be < "1.0.0", "This spec is no longer needed. Delete this 'describe' section!"
         | 
| 69 | 
            -
                end
         | 
| 70 | 
            -
             | 
| 71 67 | 
             
                context "v0.9.1's marshal data" do
         | 
| 72 68 | 
             
                  let(:res) do
         | 
| 73 69 | 
             
                    Marshal.load(File.read(File.expand_path('../fixtures/faraday_0.9.1_response.dump', __dir__)))
         | 
| @@ -75,7 +71,7 @@ describe GarageClient::Cachers::Base do | |
| 75 71 |  | 
| 76 72 | 
             
                  it "load data" do
         | 
| 77 73 | 
             
                    expect(res).to be_instance_of Faraday::Response
         | 
| 78 | 
            -
                    expect(res.env[:body]).to eq fixture("example.yaml")[ | 
| 74 | 
            +
                    expect(res.env[:body]).to eq fixture("example.yaml")["body"]
         | 
| 79 75 | 
             
                  end
         | 
| 80 76 | 
             
                end
         | 
| 81 77 |  | 
| @@ -86,7 +82,7 @@ describe GarageClient::Cachers::Base do | |
| 86 82 |  | 
| 87 83 | 
             
                  it "load data" do
         | 
| 88 84 | 
             
                    expect(res).to be_instance_of Faraday::Response
         | 
| 89 | 
            -
                    expect(res.env[:body]).to eq fixture("example.yaml")[ | 
| 85 | 
            +
                    expect(res.env[:body]).to eq fixture("example.yaml")["body"]
         | 
| 90 86 | 
             
                  end
         | 
| 91 87 | 
             
                end
         | 
| 92 88 | 
             
              end
         | 
| @@ -13,7 +13,7 @@ describe GarageClient::Request::PropagateRequestId do | |
| 13 13 | 
             
              end
         | 
| 14 14 |  | 
| 15 15 | 
             
              it 'sends request_id via header' do
         | 
| 16 | 
            -
                stub_get("/examples").with(headers: { ' | 
| 16 | 
            +
                stub_get("/examples").with(headers: { 'X-Request-Id' => 'request_id' })
         | 
| 17 17 | 
             
                expect { client.get("/examples") }.not_to raise_error
         | 
| 18 18 | 
             
              end
         | 
| 19 19 |  | 
| @@ -24,7 +24,7 @@ describe GarageClient::Request::PropagateRequestId do | |
| 24 24 |  | 
| 25 25 | 
             
                it 'does not send request_id via header' do
         | 
| 26 26 | 
             
                  stub_get("/examples").with do |request|
         | 
| 27 | 
            -
                    !request.headers.include?(' | 
| 27 | 
            +
                    !request.headers.include?('X-Request-Id')
         | 
| 28 28 | 
             
                  end
         | 
| 29 29 | 
             
                  expect { client.get("/examples") }.not_to raise_error
         | 
| 30 30 | 
             
                end
         | 
| @@ -32,11 +32,11 @@ describe GarageClient::Request::PropagateRequestId do | |
| 32 32 |  | 
| 33 33 | 
             
              context 'if already has request_id' do
         | 
| 34 34 | 
             
                let(:client) do
         | 
| 35 | 
            -
                  GarageClient::Client.new(headers: { ' | 
| 35 | 
            +
                  GarageClient::Client.new(headers: { 'X-Request-Id' => 'another_id' })
         | 
| 36 36 | 
             
                end
         | 
| 37 37 |  | 
| 38 38 | 
             
                it 'does not overwrite request_id' do
         | 
| 39 | 
            -
                  stub_get("/examples").with(headers: { ' | 
| 39 | 
            +
                  stub_get("/examples").with(headers: { 'X-Request-Id' => 'another_id' })
         | 
| 40 40 | 
             
                  expect { client.get("/examples") }.not_to raise_error
         | 
| 41 41 | 
             
                end
         | 
| 42 42 | 
             
              end
         | 
| @@ -84,6 +84,12 @@ describe GarageClient::Resource do | |
| 84 84 | 
             
                    resource.user.should be_kind_of(GarageClient::Resource)
         | 
| 85 85 | 
             
                  end
         | 
| 86 86 | 
             
                end
         | 
| 87 | 
            +
             | 
| 88 | 
            +
                context 'with property query' do
         | 
| 89 | 
            +
                  it 'returns presence' do
         | 
| 90 | 
            +
                    resource.name?.should == true
         | 
| 91 | 
            +
                  end
         | 
| 92 | 
            +
                end
         | 
| 87 93 | 
             
              end
         | 
| 88 94 |  | 
| 89 95 | 
             
              describe 'link' do
         | 
    
        data/spec/spec_helper.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,29 +1,15 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: garage_client
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.4. | 
| 4 | 
            +
              version: 2.4.5
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Cookpad Inc.
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2021-03-17 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 | 
            -
            - !ruby/object:Gem::Dependency
         | 
| 14 | 
            -
              name: activesupport
         | 
| 15 | 
            -
              requirement: !ruby/object:Gem::Requirement
         | 
| 16 | 
            -
                requirements:
         | 
| 17 | 
            -
                - - ">"
         | 
| 18 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 19 | 
            -
                    version: 3.2.0
         | 
| 20 | 
            -
              type: :runtime
         | 
| 21 | 
            -
              prerelease: false
         | 
| 22 | 
            -
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 23 | 
            -
                requirements:
         | 
| 24 | 
            -
                - - ">"
         | 
| 25 | 
            -
                  - !ruby/object:Gem::Version
         | 
| 26 | 
            -
                    version: 3.2.0
         | 
| 27 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 28 14 | 
             
              name: faraday
         | 
| 29 15 | 
             
              requirement: !ruby/object:Gem::Requirement
         | 
| @@ -184,14 +170,14 @@ dependencies: | |
| 184 170 | 
             
                requirements:
         | 
| 185 171 | 
             
                - - ">="
         | 
| 186 172 | 
             
                  - !ruby/object:Gem::Version
         | 
| 187 | 
            -
                    version:  | 
| 173 | 
            +
                    version: 0.30.0
         | 
| 188 174 | 
             
              type: :development
         | 
| 189 175 | 
             
              prerelease: false
         | 
| 190 176 | 
             
              version_requirements: !ruby/object:Gem::Requirement
         | 
| 191 177 | 
             
                requirements:
         | 
| 192 178 | 
             
                - - ">="
         | 
| 193 179 | 
             
                  - !ruby/object:Gem::Version
         | 
| 194 | 
            -
                    version:  | 
| 180 | 
            +
                    version: 0.30.0
         | 
| 195 181 | 
             
            description: Ruby client library for the Garage API
         | 
| 196 182 | 
             
            email:
         | 
| 197 183 | 
             
            - kaihatsu@cookpad.com
         | 
| @@ -260,8 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 260 246 | 
             
                - !ruby/object:Gem::Version
         | 
| 261 247 | 
             
                  version: '0'
         | 
| 262 248 | 
             
            requirements: []
         | 
| 263 | 
            -
             | 
| 264 | 
            -
            rubygems_version: 2.6.11
         | 
| 249 | 
            +
            rubygems_version: 3.1.4
         | 
| 265 250 | 
             
            signing_key: 
         | 
| 266 251 | 
             
            specification_version: 4
         | 
| 267 252 | 
             
            summary: Ruby client library for the Garage API
         |