faraday_hal_middleware 0.1.0 → 0.1.1

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
- SHA1:
3
- metadata.gz: 7dfcf33673587d8a191c777693982e0a57fbb62c
4
- data.tar.gz: 4574a17a050286f76b88dcbe37dc0d48b79f36d5
2
+ SHA256:
3
+ metadata.gz: a7e094397fe655ac925713ff3747b751f468b1c7581b42b08784caafe1f58790
4
+ data.tar.gz: 1cc42cd8fe10bb81be514aa2a8a1a3cafad1ed7ced10a2ad0b774e721968cf2f
5
5
  SHA512:
6
- metadata.gz: b64e1ff0ae0429c6bea0d9cf35c186af9f813299599da0cea2485b5e5361a42e672adc2b4909237121c111e700e8eb535ce16843c2afde1e42aaf51ff9408942
7
- data.tar.gz: dbe371ddfa9e31b8d30ae33953e7a25d873d4f69e3bf36424af9c81aa1d82d646c2fdc69c2472de9a96fd64c721b7e2b8eb54d651a63ebef9584eea575396bf0
6
+ metadata.gz: 69362407c7e92bd6f24bd174dfc8dc3fa79a43e67f5b978618615c993497606a6d77d72de8ca9a2fa224b834dd6f5bfc8782b30b6243a641bbd147a724ffa7fc
7
+ data.tar.gz: 1d50efa0d668beb116a9a891442911a2d6b132bcbe06a6140ee16d2d2604ff9375458e0debc6c55d2cac1721cc51d8828e9d638423556066e342b43ff222be9a
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --color
2
2
  --require spec_helper
3
+ --format documentation
@@ -0,0 +1,5 @@
1
+ AllCops:
2
+ Exclude:
3
+ - vendor/**/*
4
+
5
+ inherit_from: .rubocop_todo.yml
@@ -0,0 +1,36 @@
1
+ # This configuration was generated by
2
+ # `rubocop --auto-gen-config`
3
+ # on 2018-01-10 10:44:07 -0500 using RuboCop version 0.52.1.
4
+ # The point is for the user to remove these configuration records
5
+ # one by one as the offenses are removed from the code base.
6
+ # Note that changes in the inspected code, or installation of new
7
+ # versions of RuboCop, may require this file to be generated again.
8
+
9
+ # Offense count: 2
10
+ # Configuration parameters: CountComments, ExcludedMethods.
11
+ Metrics/BlockLength:
12
+ Max: 72
13
+
14
+ # Offense count: 1
15
+ # Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist, MethodDefinitionMacros.
16
+ # NamePrefix: is_, has_, have_
17
+ # NamePrefixBlacklist: is_, has_, have_
18
+ # NameWhitelist: is_a?
19
+ # MethodDefinitionMacros: define_method, define_singleton_method
20
+ Naming/PredicateName:
21
+ Exclude:
22
+ - 'spec/**/*'
23
+ - 'lib/faraday_middleware/request/encode_hal_json.rb'
24
+
25
+ # Offense count: 2
26
+ Style/Documentation:
27
+ Exclude:
28
+ - 'spec/**/*'
29
+ - 'test/**/*'
30
+ - 'lib/faraday_hal_middleware.rb'
31
+
32
+ # Offense count: 1
33
+ # Configuration parameters: MinBodyLength.
34
+ Style/GuardClause:
35
+ Exclude:
36
+ - 'lib/faraday_middleware/request/encode_hal_json.rb'
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+
3
+ cache: bundler
4
+
5
+ rvm:
6
+ - 2.6.6
@@ -0,0 +1,14 @@
1
+ ### 0.1.1 (2020/05/10)
2
+
3
+ * [#6](https://github.com/fetch/faraday_hal_middleware/pull/6): Added CHANGELOG, CONTRIBUTING and RELEASING - [@dblock](https://github.com/dblock).
4
+ * [#5](https://github.com/fetch/faraday_hal_middleware/pull/5): Added RuboCop, Ruby-style linter - [@dblock](https://github.com/dblock).
5
+ * [#4](https://github.com/fetch/faraday_hal_middleware/pull/4): Added Travis-CI - [@dblock](https://github.com/dblock).
6
+ * [#7](https://github.com/fetch/faraday_hal_middleware/pull/7): Require `faraday_middleware` >= 0.9 - [@dblock](https://github.com/dblock).
7
+
8
+ ### 0.1.0 (2018/01/10)
9
+
10
+ * [#1](https://github.com/fetch/faraday_hal_middleware/pull/1): Loosen Faraday dependency - [@espen](https://github.com/espen).
11
+
12
+ ### 0.0.1 (2014/12/01)
13
+
14
+ * Initial public release - [@koenpunt](https://github.com/koenpunt).
@@ -0,0 +1,125 @@
1
+ # Contributing to FaradayHalMiddleware
2
+
3
+ This project is work of [many contributors](https://github.com/fetch/faraday_hal_middleware/graphs/contributors).
4
+
5
+ You're encouraged to submit [pull requests](https://github.com/fetch/faraday_hal_middleware/pulls), [propose features and discuss issues](https://github.com/fetch/faraday_hal_middleware/issues).
6
+
7
+ In the examples below, substitute your Github username for `contributor` in URLs.
8
+
9
+ ### Fork the Project
10
+
11
+ Fork the [project on Github](https://github.com/fetch/faraday_hal_middleware) and check out your copy.
12
+
13
+ ```
14
+ git clone https://github.com/contributor/faraday_hal_middleware.git
15
+ cd faraday_hal_middleware
16
+ git remote add upstream https://github.com/fetch/faraday_hal_middleware.git
17
+ ```
18
+
19
+ ### Bundle Install and Test
20
+
21
+ Ensure that you can build the project and run tests.
22
+
23
+ ```
24
+ bundle install
25
+ bundle exec rake
26
+ ```
27
+
28
+ ## Contribute Code
29
+
30
+ ### Create a Topic Branch
31
+
32
+ Make sure your fork is up-to-date and create a topic branch for your feature or bug fix.
33
+
34
+ ```
35
+ git checkout master
36
+ git pull upstream master
37
+ git checkout -b my-feature-branch
38
+ ```
39
+
40
+ ### Write Tests
41
+
42
+ Try to write a test that reproduces the problem you're trying to fix or describes a feature that you want to build. Add tests to [spec](spec).
43
+
44
+ We definitely appreciate pull requests that highlight or reproduce a problem, even without a fix.
45
+
46
+ ### Write Code
47
+
48
+ Implement your feature or bug fix.
49
+
50
+ Ruby style is enforced with [Rubocop](https://github.com/bbatsov/rubocop). Run `bundle exec rubocop` and fix any style issues highlighted, auto-correct issues when possible with `bundle exec rubocop -a`. To silence generally ingored issues, including line lengths or code complexity metrics, run `bundle exec rubocop --auto-gen-config`.
51
+
52
+ Make sure that `bundle exec rake` completes without errors.
53
+
54
+ ### Write Documentation
55
+
56
+ Document any external behavior in the [README](README.md).
57
+
58
+ ### Update Changelog
59
+
60
+ Add a line to [CHANGELOG](CHANGELOG.md) under *Next Release*. Don't remove *Your contribution here*.
61
+
62
+ Make it look like every other line, including a link to the issue being fixed, your name and link to your Github account.
63
+
64
+ ### Commit Changes
65
+
66
+ Make sure git knows your name and email address:
67
+
68
+ ```
69
+ git config --global user.name "Your Name"
70
+ git config --global user.email "contributor@example.com"
71
+ ```
72
+
73
+ Writing good commit logs is important. A commit log should describe what changed and why.
74
+
75
+ ```
76
+ git add ...
77
+ git commit
78
+ ```
79
+
80
+ ### Push
81
+
82
+ ```
83
+ git push origin my-feature-branch
84
+ ```
85
+
86
+ ### Make a Pull Request
87
+
88
+ Go to https://github.com/contributor/faraday_hal_middleware and select your feature branch. Click the 'Pull Request' button and fill out the form. Pull requests are usually reviewed within a few days.
89
+
90
+ ### Update CHANGELOG Again
91
+
92
+ Update the [CHANGELOG](CHANGELOG.md) with the pull request number. A typical entry looks as follows.
93
+
94
+ ```
95
+ * [#123](https://github.com/fetch/faraday_hal_middleware/pull/123): Reticulated splines - [@contributor](https://github.com/contributor).
96
+ ```
97
+
98
+ Amend your previous commit and force push the changes.
99
+
100
+ ```
101
+ git commit --amend
102
+ git push origin my-feature-branch -f
103
+ ```
104
+
105
+ ### Rebase
106
+
107
+ If you've been working on a change for a while, rebase with upstream/master.
108
+
109
+ ```
110
+ git fetch upstream
111
+ git rebase upstream/master
112
+ git push origin my-feature-branch -f
113
+ ```
114
+
115
+ ### Check on Your Pull Request
116
+
117
+ Go back to your pull request after a few minutes and see whether it passed muster with Travis-CI. Everything should look green, otherwise fix issues and amend your commit as described above.
118
+
119
+ ### Be Patient
120
+
121
+ It's likely that your change will not be merged and that the nitpicky maintainers will ask you to do more, or fix seemingly benign problems. Hang on there!
122
+
123
+ ## Thank You
124
+
125
+ Please do know that we really appreciate and value your time and work. We love you, really.
data/Gemfile CHANGED
@@ -3,6 +3,10 @@ source 'https://rubygems.org'
3
3
  gem 'json'
4
4
  gem 'rake', '>= 0.9'
5
5
 
6
+ group :development do
7
+ gem 'rubocop', '0.52.1'
8
+ end
9
+
6
10
  group :test do
7
11
  gem 'rspec', '>= 3'
8
12
  gem 'webmock'
@@ -1,4 +1,4 @@
1
- Copyright (c) 2014 Koen Punt <koen@fetch.nl>
1
+ Copyright (c) 2014-2018 Koen Punt <koen@fetch.nl> and contributors.
2
2
 
3
3
  MIT License
4
4
 
data/README.md CHANGED
@@ -1,29 +1,40 @@
1
1
  # FaradayHalMiddleware
2
2
 
3
- Faraday Middleware for JSON HAL requests and responses
3
+ [Faraday](https://github.com/lostisland/faraday) Middleware for JSON HAL requests and responses with `application/hal+json` content-type.
4
+
5
+ [![Build Status](https://travis-ci.org/fetch/faraday_hal_middleware.svg?branch=master)](https://travis-ci.org/fetch/faraday_hal_middleware)
4
6
 
5
7
  ## Installation
6
8
 
7
9
  Add this line to your application's Gemfile:
8
10
 
9
- gem 'faraday_hal_middleware'
11
+ ```ruby
12
+ gem 'faraday_hal_middleware'
13
+ ```
10
14
 
11
- And then execute:
15
+ ## Usage
12
16
 
13
- $ bundle
17
+ Use `faraday_hal_middleware` in a similar way to [other Faraday middleware](https://github.com/lostisland/faraday_middleware).
14
18
 
15
- Or install it yourself as:
19
+ ```ruby
20
+ require 'faraday_hal_middleware'
16
21
 
17
- $ gem install faraday_hal_middleware
22
+ connection = Faraday.new 'http://example.com/api' do |conn|
23
+ conn.request :hal_json
24
+ conn.response :hal_json, content_type: /\bjson$/
18
25
 
19
- ## Usage
26
+ conn.adapter Faraday.default_adapter
27
+ end
28
+ ```
20
29
 
21
- TODO: Write usage instructions here
30
+ This gem is notably used in [Hyperclient](https://github.com/codegram/hyperclient), see [hyperclient#81](https://github.com/codegram/hyperclient/pull/81) for details.
22
31
 
23
32
  ## Contributing
24
33
 
25
- 1. Fork it ( https://github.com/fetch/faraday_hal_middleware/fork )
26
- 2. Create your feature branch (`git checkout -b my-new-feature`)
27
- 3. Commit your changes (`git commit -am 'Add some feature'`)
28
- 4. Push to the branch (`git push origin my-new-feature`)
29
- 5. Create a new Pull Request
34
+ See [CONTRIBUTING](CONTRIBUTING.md).
35
+
36
+ ## Copyright & License
37
+
38
+ Copyright (c) 2014-2018 Koen Punt <koen@fetch.nl> and contributors.
39
+
40
+ MIT License, see [LICENSE.txt](LICENSE.txt) for details.
@@ -0,0 +1,61 @@
1
+ # Releasing FaradayHalMiddleware
2
+
3
+ There're no hard rules about when to release faraday_hal_middleware. Release bug fixes frequently, features not so frequently and breaking API changes rarely.
4
+
5
+ ### Release
6
+
7
+ Run tests, check that all tests succeed locally.
8
+
9
+ ```
10
+ bundle install
11
+ rake
12
+ ```
13
+
14
+ Check that the last build succeeded in [Travis CI](https://travis-ci.org/fetch/faraday_hal_middleware) for all supported platforms.
15
+
16
+ Change "Next" in [CHANGELOG.md](CHANGELOG.md) to the current date.
17
+
18
+ ```
19
+ ### 0.2.2 (7/10/2015)
20
+ ```
21
+
22
+ Remove the line with "Your contribution here.", since there will be no more contributions to this release.
23
+
24
+ Commit your changes.
25
+
26
+ ```
27
+ git add CHANGELOG.md
28
+ git commit -m "Preparing for release, 0.2.2."
29
+ git push origin master
30
+ ```
31
+
32
+ Release.
33
+
34
+ ```
35
+ $ rake release
36
+
37
+ faraday_hal_middleware 0.2.2 built to pkg/faraday_hal_middleware-0.2.2.gem.
38
+ Tagged v0.2.2.
39
+ Pushed git commits and tags.
40
+ Pushed faraday_hal_middleware 0.2.2 to rubygems.org.
41
+ ```
42
+
43
+ ### Prepare for the Next Version
44
+
45
+ Add the next release to [CHANGELOG.md](CHANGELOG.md).
46
+
47
+ ```
48
+ ### 0.2.3 (Next)
49
+
50
+ * Your contribution here.
51
+ ```
52
+
53
+ Increment the third version number in [lib/google-finance/version.rb](lib/google-finance/version.rb).
54
+
55
+ Commit your changes.
56
+
57
+ ```
58
+ git add CHANGELOG.md lib/google-finance/version.rb
59
+ git commit -m "Preparing for next development iteration, 0.2.3."
60
+ git push origin master
61
+ ```
data/Rakefile CHANGED
@@ -1,6 +1,9 @@
1
1
  require 'bundler/gem_tasks'
2
2
 
3
- task :default => [:spec]
4
-
5
3
  require 'rspec/core/rake_task'
6
4
  RSpec::Core::RakeTask.new(:spec)
5
+
6
+ require 'rubocop/rake_task'
7
+ RuboCop::RakeTask.new
8
+
9
+ task default: %i[rubocop spec]
@@ -1,4 +1,4 @@
1
- # coding: utf-8
1
+
2
2
  lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
  require 'faraday_hal_middleware/version'
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
8
8
  spec.version = FaradayHalMiddleware::VERSION
9
9
  spec.authors = ['Koen Punt']
10
10
  spec.email = ['koen@fetch.nl']
11
- spec.summary = %q{Faraday Middleware for JSON HAL requests and responses}
12
- spec.description = %q{Faraday Middleware for JSON HAL requests and responses}
11
+ spec.summary = 'Faraday Middleware for JSON HAL requests and responses.'
12
+ spec.description = 'Faraday Middleware for JSON HAL requests and responses.'
13
13
  spec.homepage = 'https://github.com/fetch/faraday_hal_middleware'
14
14
  spec.license = 'MIT'
15
15
 
@@ -18,8 +18,5 @@ Gem::Specification.new do |spec|
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
20
 
21
- spec.add_development_dependency 'bundler', '~> 1.6'
22
-
23
- spec.add_dependency 'faraday_middleware', ['~> 0.9']
24
-
21
+ spec.add_dependency 'faraday_middleware', '>= 0.9'
25
22
  end
@@ -3,7 +3,6 @@ require 'faraday'
3
3
  require 'faraday_middleware'
4
4
 
5
5
  module FaradayHalMiddleware
6
-
7
6
  end
8
7
 
9
8
  module FaradayMiddleware
@@ -12,9 +11,9 @@ module FaradayMiddleware
12
11
 
13
12
  if Faraday::Middleware.respond_to? :register_middleware
14
13
  Faraday::Request.register_middleware \
15
- :hal_json => lambda { EncodeHalJson }
14
+ hal_json: -> { EncodeHalJson }
16
15
 
17
16
  Faraday::Response.register_middleware \
18
- :hal_json => lambda { ParseHalJson }
17
+ hal_json: -> { ParseHalJson }
19
18
  end
20
- end
19
+ end
@@ -1,3 +1,3 @@
1
1
  module FaradayHalMiddleware
2
- VERSION = "0.1.0"
2
+ VERSION = '0.1.1'.freeze
3
3
  end
@@ -36,11 +36,11 @@ module FaradayMiddleware
36
36
 
37
37
  def process_request?(env)
38
38
  type = request_type(env)
39
- has_body?(env) and (type.empty? or type == MIME_TYPE)
39
+ has_body?(env) && (type.empty? || (type == MIME_TYPE))
40
40
  end
41
41
 
42
42
  def has_body?(env)
43
- body = env[:body] and !(body.respond_to?(:to_str) and body.empty?)
43
+ (body = env[:body]) && !(body.respond_to?(:to_str) && body.empty?)
44
44
  end
45
45
 
46
46
  def request_type(env)
@@ -14,20 +14,20 @@ end
14
14
 
15
15
  module ResponseMiddlewareExampleGroup
16
16
  def self.included(base)
17
- base.let(:options) { Hash.new }
18
- base.let(:headers) { Hash.new }
19
- base.let(:middleware) {
20
- described_class.new(lambda {|env|
17
+ base.let(:options) { {} }
18
+ base.let(:headers) { {} }
19
+ base.let(:middleware) do
20
+ described_class.new(lambda { |env|
21
21
  Faraday::Response.new(env)
22
22
  }, options)
23
- }
23
+ end
24
24
  end
25
25
 
26
26
  def process(body, content_type = nil, options = {})
27
27
  env = {
28
- :body => body, :request => options,
29
- :request_headers => Faraday::Utils::Headers.new,
30
- :response_headers => Faraday::Utils::Headers.new(headers)
28
+ body: body, request: options,
29
+ request_headers: Faraday::Utils::Headers.new,
30
+ response_headers: Faraday::Utils::Headers.new(headers)
31
31
  }
32
32
  env[:response_headers]['content-type'] = content_type if content_type
33
33
  yield(env) if block_given?
@@ -37,7 +37,7 @@ end
37
37
 
38
38
  RSpec.configure do |config|
39
39
  config.include EnvCompatibility
40
- config.include ResponseMiddlewareExampleGroup, :type => :response
40
+ config.include ResponseMiddlewareExampleGroup, type: :response
41
41
  config.expect_with :rspec do |c|
42
42
  c.syntax = :expect
43
43
  end
@@ -1,18 +1,23 @@
1
1
  require 'faraday_middleware/request/encode_hal_json'
2
2
 
3
3
  describe FaradayMiddleware::EncodeHalJson do
4
- let(:middleware) { described_class.new(lambda{|env| env}) }
4
+ let(:middleware) { described_class.new(->(env) { env }) }
5
5
 
6
6
  def process(body, content_type = nil)
7
- env = {:body => body, :request_headers => Faraday::Utils::Headers.new}
7
+ env = { body: body, request_headers: Faraday::Utils::Headers.new }
8
8
  env[:request_headers]['content-type'] = content_type if content_type
9
9
  middleware.call(faraday_env(env))
10
10
  end
11
11
 
12
- def result_body() result[:body] end
13
- def result_type() result[:request_headers]['content-type'] end
12
+ def result_body
13
+ result[:body]
14
+ end
15
+
16
+ def result_type
17
+ result[:request_headers]['content-type']
18
+ end
14
19
 
15
- context "no body" do
20
+ context 'no body' do
16
21
  let(:result) { process(nil) }
17
22
 
18
23
  it "doesn't change body" do
@@ -24,7 +29,7 @@ describe FaradayMiddleware::EncodeHalJson do
24
29
  end
25
30
  end
26
31
 
27
- context "empty body" do
32
+ context 'empty body' do
28
33
  let(:result) { process('') }
29
34
 
30
35
  it "doesn't change body" do
@@ -36,42 +41,42 @@ describe FaradayMiddleware::EncodeHalJson do
36
41
  end
37
42
  end
38
43
 
39
- context "string body" do
44
+ context 'string body' do
40
45
  let(:result) { process('{"a":1}') }
41
46
 
42
47
  it "doesn't change body" do
43
48
  expect(result_body).to eq('{"a":1}')
44
49
  end
45
50
 
46
- it "adds content type" do
51
+ it 'adds content type' do
47
52
  expect(result_type).to eq('application/hal+json')
48
53
  end
49
54
  end
50
55
 
51
- context "object body" do
52
- let(:result) { process({:a => 1}) }
56
+ context 'object body' do
57
+ let(:result) { process(a: 1) }
53
58
 
54
- it "encodes body" do
59
+ it 'encodes body' do
55
60
  expect(result_body).to eq('{"a":1}')
56
61
  end
57
62
 
58
- it "adds content type" do
63
+ it 'adds content type' do
59
64
  expect(result_type).to eq('application/hal+json')
60
65
  end
61
66
  end
62
67
 
63
- context "empty object body" do
68
+ context 'empty object body' do
64
69
  let(:result) { process({}) }
65
70
 
66
- it "encodes body" do
71
+ it 'encodes body' do
67
72
  expect(result_body).to eq('{}')
68
73
  end
69
74
  end
70
75
 
71
- context "object body with json type" do
72
- let(:result) { process({:a => 1}, 'application/hal+json; charset=utf-8') }
76
+ context 'object body with json type' do
77
+ let(:result) { process({ a: 1 }, 'application/hal+json; charset=utf-8') }
73
78
 
74
- it "encodes body" do
79
+ it 'encodes body' do
75
80
  expect(result_body).to eq('{"a":1}')
76
81
  end
77
82
 
@@ -80,11 +85,11 @@ describe FaradayMiddleware::EncodeHalJson do
80
85
  end
81
86
  end
82
87
 
83
- context "object body with incompatible type" do
84
- let(:result) { process({:a => 1}, 'application/xml; charset=utf-8') }
88
+ context 'object body with incompatible type' do
89
+ let(:result) { process({ a: 1 }, 'application/xml; charset=utf-8') }
85
90
 
86
91
  it "doesn't change body" do
87
- expect(result_body).to eq({:a => 1})
92
+ expect(result_body).to eq(a: 1)
88
93
  end
89
94
 
90
95
  it "doesn't change content type" do
@@ -1,71 +1,71 @@
1
1
  require 'faraday_middleware/response/parse_hal_json'
2
2
 
3
- describe FaradayMiddleware::ParseHalJson, :type => :response do
4
- context "no type matching" do
3
+ describe FaradayMiddleware::ParseHalJson, type: :response do
4
+ context 'no type matching' do
5
5
  it "doesn't change nil body" do
6
6
  expect(process(nil).body).to be_nil
7
7
  end
8
8
 
9
- it "nullifies empty body" do
9
+ it 'nullifies empty body' do
10
10
  expect(process('').body).to be_nil
11
11
  end
12
12
 
13
- it "parses json body" do
13
+ it 'parses json body' do
14
14
  response = process('{"a":1}')
15
15
  expect(response.body).to eq('a' => 1)
16
16
  expect(response.env[:raw_body]).to be_nil
17
17
  end
18
18
  end
19
19
 
20
- context "with preserving raw" do
21
- let(:options) { {:preserve_raw => true} }
20
+ context 'with preserving raw' do
21
+ let(:options) { { preserve_raw: true } }
22
22
 
23
- it "parses json body" do
23
+ it 'parses json body' do
24
24
  response = process('{"a":1}')
25
25
  expect(response.body).to eq('a' => 1)
26
26
  expect(response.env[:raw_body]).to eq('{"a":1}')
27
27
  end
28
28
 
29
- it "can opt out of preserving raw" do
30
- response = process('{"a":1}', nil, :preserve_raw => false)
29
+ it 'can opt out of preserving raw' do
30
+ response = process('{"a":1}', nil, preserve_raw: false)
31
31
  expect(response.env[:raw_body]).to be_nil
32
32
  end
33
33
  end
34
34
 
35
- context "with regexp type matching" do
36
- let(:options) { {:content_type => /\bjson$/} }
35
+ context 'with regexp type matching' do
36
+ let(:options) { { content_type: /\bjson$/ } }
37
37
 
38
- it "parses json body of correct type" do
38
+ it 'parses json body of correct type' do
39
39
  response = process('{"a":1}', 'application/x-json')
40
40
  expect(response.body).to eq('a' => 1)
41
41
  end
42
42
 
43
- it "ignores json body of incorrect type" do
43
+ it 'ignores json body of incorrect type' do
44
44
  response = process('{"a":1}', 'text/json-xml')
45
45
  expect(response.body).to eq('{"a":1}')
46
46
  end
47
47
  end
48
48
 
49
- context "with array type matching" do
50
- let(:options) { {:content_type => %w[a/b c/d]} }
49
+ context 'with array type matching' do
50
+ let(:options) { { content_type: %w[a/b c/d] } }
51
51
 
52
- it "parses json body of correct type" do
52
+ it 'parses json body of correct type' do
53
53
  expect(process('{"a":1}', 'a/b').body).to be_a(Hash)
54
54
  expect(process('{"a":1}', 'c/d').body).to be_a(Hash)
55
55
  end
56
56
 
57
- it "ignores json body of incorrect type" do
57
+ it 'ignores json body of incorrect type' do
58
58
  expect(process('{"a":1}', 'a/d').body).not_to be_a(Hash)
59
59
  end
60
60
  end
61
61
 
62
- it "chokes on invalid json" do
62
+ it 'chokes on invalid json' do
63
63
  ['{!', '"a'].each do |data|
64
- expect{ process(data) }.to raise_error(Faraday::ParsingError)
64
+ expect { process(data) }.to raise_error(Faraday::ParsingError)
65
65
  end
66
66
  end
67
67
 
68
- context "HEAD responses" do
68
+ context 'HEAD responses' do
69
69
  it "nullifies the body if it's only one space" do
70
70
  response = process(' ')
71
71
  expect(response.body).to be_nil
metadata CHANGED
@@ -1,44 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: faraday_hal_middleware
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Koen Punt
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-01-10 00:00:00.000000000 Z
11
+ date: 2020-05-10 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '1.6'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '1.6'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: faraday_middleware
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - "~>"
17
+ - - ">="
32
18
  - !ruby/object:Gem::Version
33
19
  version: '0.9'
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
- - - "~>"
24
+ - - ">="
39
25
  - !ruby/object:Gem::Version
40
26
  version: '0.9'
41
- description: Faraday Middleware for JSON HAL requests and responses
27
+ description: Faraday Middleware for JSON HAL requests and responses.
42
28
  email:
43
29
  - koen@fetch.nl
44
30
  executables: []
@@ -47,9 +33,15 @@ extra_rdoc_files: []
47
33
  files:
48
34
  - ".gitignore"
49
35
  - ".rspec"
36
+ - ".rubocop.yml"
37
+ - ".rubocop_todo.yml"
38
+ - ".travis.yml"
39
+ - CHANGELOG.md
40
+ - CONTRIBUTING.md
50
41
  - Gemfile
51
42
  - LICENSE.txt
52
43
  - README.md
44
+ - RELEASING.md
53
45
  - Rakefile
54
46
  - faraday_hal_middleware.gemspec
55
47
  - lib/faraday_hal_middleware.rb
@@ -78,11 +70,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
70
  - !ruby/object:Gem::Version
79
71
  version: '0'
80
72
  requirements: []
81
- rubyforge_project:
82
- rubygems_version: 2.6.8
73
+ rubygems_version: 3.0.3
83
74
  signing_key:
84
75
  specification_version: 4
85
- summary: Faraday Middleware for JSON HAL requests and responses
76
+ summary: Faraday Middleware for JSON HAL requests and responses.
86
77
  test_files:
87
78
  - spec/spec_helper.rb
88
79
  - spec/unit/encode_hal_json_spec.rb