Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
strategy:
fail-fast: false
matrix:
ruby: ["3.0", "3.1", "3.2", "3.3"]
ruby: ["3.2", "3.3", "3.4", "4.0"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Set up Ruby 3.1.4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: "3.1.4"
ruby-version: "3.2.0"

- name: Build and test
run: |
Expand Down
206 changes: 124 additions & 82 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,133 +2,175 @@ PATH
remote: .
specs:
maremma (5.0.0)
activesupport (>= 4.2.5)
addressable (>= 2.3.6)
activesupport (~> 8.1, >= 8.1.2)
addressable (~> 2.8, >= 2.8.9)
builder (~> 3.2, >= 3.2.2)
excon (~> 0.71.0)
excon (~> 1.3, >= 1.3.2)
faraday (>= 2.0)
faraday-encoding (~> 0.0.5)
faraday-excon (~> 2.1.0)
faraday-follow_redirects (~> 0.3.0)
faraday-gzip (~> 0.1.0)
faraday-multipart (~> 1.0.4)
nokogiri (~> 1.16, >= 1.16.2)
oj (>= 2.8.3)
faraday-encoding (~> 0.0.6)
faraday-excon (~> 2.4.0)
faraday-follow_redirects (~> 0.5.0)
faraday-gzip (~> 3.1.0)
faraday-multipart (~> 1.2.0)
nokogiri (~> 1.19, >= 1.19.1)
oj (~> 3.16, >= 3.16.15)
oj_mimic_json (~> 1.0, >= 1.0.1)

GEM
remote: https://rubygems.org/
specs:
activesupport (6.1.7)
concurrent-ruby (~> 1.0, >= 1.0.2)
activesupport (8.1.2)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.3.1)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
json
logger (>= 1.4.2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
ast (2.4.2)
securerandom (>= 0.3)
tzinfo (~> 2.0, >= 2.0.5)
uri (>= 0.13.1)
addressable (2.8.9)
public_suffix (>= 2.0.2, < 8.0)
ast (2.4.3)
base64 (0.3.0)
bigdecimal (4.0.1)
builder (3.2.4)
concurrent-ruby (1.1.10)
crack (0.4.5)
concurrent-ruby (1.3.6)
connection_pool (3.0.2)
crack (1.0.1)
bigdecimal
rexml
diff-lcs (1.5.0)
docile (1.4.0)
excon (0.71.1)
faraday (2.6.0)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-encoding (0.0.5)
diff-lcs (1.6.2)
docile (1.4.1)
drb (2.2.3)
excon (1.4.0)
logger
faraday (2.14.1)
faraday-net_http (>= 2.0, < 3.5)
json
logger
faraday-encoding (0.0.6)
faraday
faraday-excon (2.1.0)
excon (>= 0.27.4)
faraday (~> 2.0)
faraday-follow_redirects (0.3.0)
faraday-excon (2.4.0)
excon (>= 1.0.0)
faraday (>= 2.11.0, < 3)
faraday-follow_redirects (0.5.0)
faraday (>= 1, < 3)
faraday-gzip (0.1.0)
faraday (>= 1.0)
zlib (~> 2.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-gzip (3.1.0)
faraday (>= 2.0, < 3)
zlib (~> 3.0)
faraday-multipart (1.2.0)
multipart-post (~> 2.0)
faraday-net_http (3.0.1)
hashdiff (1.0.1)
hashdiff (1.2.1)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
jaro_winkler (1.5.4)
json (2.18.1)
json-schema (6.1.0)
addressable (~> 2.8)
bigdecimal (>= 3.1, < 5)
language_server-protocol (3.17.0.5)
lint_roller (1.1.0)
logger (1.7.0)
mcp (0.7.1)
json-schema (>= 4.1)
mini_portile2 (2.8.5)
minitest (5.16.3)
minitest (6.0.2)
drb (~> 2.0)
prism (~> 1.5)
multipart-post (2.2.3)
nokogiri (1.16.2)
nokogiri (1.19.1)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
oj (3.13.21)
oj (3.16.15)
bigdecimal (>= 3.0)
ostruct (>= 0.2)
oj_mimic_json (1.0.1)
parallel (1.22.1)
parser (3.1.2.1)
ostruct (0.6.3)
parallel (1.27.0)
parser (3.3.10.2)
ast (~> 2.4.1)
racc
prism (1.9.0)
public_suffix (5.0.0)
racc (1.6.0)
rack (2.2.6.4)
rack-test (0.8.3)
rack (>= 1.0, < 3)
rack (3.2.5)
rack-test (2.2.0)
rack (>= 1.3)
rainbow (3.1.1)
rake (13.0.6)
rexml (3.2.5)
rspec (3.11.0)
rspec-core (~> 3.11.0)
rspec-expectations (~> 3.11.0)
rspec-mocks (~> 3.11.0)
rspec-core (3.11.0)
rspec-support (~> 3.11.0)
rspec-expectations (3.11.1)
rake (13.3.1)
regexp_parser (2.11.3)
rexml (3.4.4)
rspec (3.13.2)
rspec-core (~> 3.13.0)
rspec-expectations (~> 3.13.0)
rspec-mocks (~> 3.13.0)
rspec-core (3.13.6)
rspec-support (~> 3.13.0)
rspec-expectations (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-mocks (3.11.1)
rspec-support (~> 3.13.0)
rspec-mocks (3.13.8)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.11.0)
rspec-support (3.11.1)
rubocop (0.77.0)
jaro_winkler (~> 1.5.1)
rspec-support (~> 3.13.0)
rspec-support (3.13.7)
rubocop (1.85.0)
json (~> 2.3)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
mcp (~> 0.6)
parallel (~> 1.10)
parser (>= 2.6)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.49.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 1.7)
rubocop-performance (1.6.1)
rubocop (>= 0.71.0)
ruby-progressbar (1.11.0)
ruby2_keywords (0.0.5)
simplecov (0.21.2)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.49.0)
parser (>= 3.3.7.2)
prism (~> 1.7)
rubocop-performance (1.26.1)
lint_roller (~> 1.1)
rubocop (>= 1.75.0, < 2.0)
rubocop-ast (>= 1.47.1, < 2.0)
ruby-progressbar (1.13.0)
securerandom (0.4.1)
simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-html (0.12.3)
simplecov-html (0.13.2)
simplecov_json_formatter (0.1.4)
tzinfo (2.0.5)
concurrent-ruby (~> 1.0)
unicode-display_width (1.6.1)
vcr (3.0.3)
webmock (3.18.1)
unicode-display_width (3.2.0)
unicode-emoji (~> 4.1)
unicode-emoji (4.2.0)
uri (1.1.1)
vcr (6.4.0)
webmock (3.26.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
zeitwerk (2.6.1)
zlib (2.1.1)
zlib (3.2.2)

PLATFORMS
ruby

DEPENDENCIES
bundler (~> 2.0)
bundler (~> 2.5.5)
maremma!
rack-test (~> 0)
rake
rspec (~> 3.4)
rubocop (~> 0.77.0)
rubocop-performance (~> 1.5, >= 1.5.1)
simplecov
vcr (~> 3.0, >= 3.0.3)
webmock (~> 3.0, >= 3.0.1)
rack-test (~> 2.2)
rake (~> 13.3, >= 13.3.1)
rspec (~> 3.13, >= 3.13.2)
rubocop (~> 1.85)
rubocop-performance (~> 1.26, >= 1.26.1)
simplecov (~> 0.22.0)
vcr (~> 6.4)
webmock (~> 3.26, >= 3.26.1)

BUNDLED WITH
2.5.5
40 changes: 20 additions & 20 deletions maremma.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -13,32 +13,32 @@ Gem::Specification.new do |s|
s.version = Maremma::VERSION
s.extra_rdoc_files = ["README.md"]
s.license = "MIT"
s.required_ruby_version = ['>=2.3']
s.required_ruby_version = ['>=3.2.0']

s.files = `git ls-files`.split("\n")
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")

# Declary dependencies here, rather than in the Gemfile
s.add_dependency "activesupport", ">= 4.2.5"
s.add_dependency "addressable", ">= 2.3.6"
s.add_dependency "activesupport", "~> 8.1", ">= 8.1.2"
s.add_dependency "addressable", "~> 2.8", ">= 2.8.9"
s.add_dependency "builder", "~> 3.2", ">= 3.2.2"
s.add_dependency "excon", "~> 0.71.0"
s.add_dependency "excon", "~> 1.3", ">= 1.3.2"
s.add_dependency "faraday", ">=2.0"
s.add_dependency "faraday-follow_redirects", "~> 0.3.0"
s.add_dependency "faraday-encoding", "~> 0.0.5"
s.add_dependency "faraday-excon", "~>2.1.0"
s.add_dependency "faraday-gzip", "~> 0.1.0"
s.add_dependency "faraday-multipart", "~> 1.0.4"
s.add_dependency "nokogiri", "~> 1.16", ">= 1.16.2"
s.add_dependency "oj", ">= 2.8.3"
s.add_dependency "faraday-follow_redirects", "~> 0.5.0"
s.add_dependency "faraday-encoding", "~> 0.0.6"
s.add_dependency "faraday-excon", "~>2.4.0"
s.add_dependency "faraday-gzip", "~> 3.1.0"
s.add_dependency "faraday-multipart", "~> 1.2.0"
s.add_dependency "nokogiri", "~> 1.19", ">= 1.19.1"
s.add_dependency "oj", "~> 3.16", ">= 3.16.15"
s.add_dependency "oj_mimic_json", "~> 1.0", ">= 1.0.1"
s.add_development_dependency "bundler", "~> 2.0"
s.add_development_dependency "rack-test", "~> 0"
s.add_development_dependency "rake"
s.add_development_dependency "rspec", "~> 3.4"
s.add_development_dependency "rubocop", "~> 0.77.0"
s.add_development_dependency "rubocop-performance", "~> 1.5", ">= 1.5.1"
s.add_development_dependency "simplecov"
s.add_development_dependency "vcr", "~> 3.0", ">= 3.0.3"
s.add_development_dependency "webmock", "~> 3.0", ">= 3.0.1"
s.add_development_dependency "bundler", "~> 2.5.5"
s.add_development_dependency "rack-test", "~> 2.2"
s.add_development_dependency "rake", "~> 13.3", ">= 13.3.1"
s.add_development_dependency "rspec", "~> 3.13", ">= 3.13.2"
s.add_development_dependency "rubocop", "~> 1.85"
s.add_development_dependency "rubocop-performance", "~> 1.26", ">= 1.26.1"
s.add_development_dependency "simplecov", "~> 0.22.0"
s.add_development_dependency "vcr", "~> 6.4"
s.add_development_dependency "webmock", "~> 3.26", ">= 3.26.1"
end
14 changes: 7 additions & 7 deletions spec/maremma_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -96,8 +96,8 @@
it "get utf8 bad encoding", vcr: true do
response = subject.get("https://pub.sandbox.orcid.org/v3.0/0000-0002-5721-4355", accept: "json")
expect(response.body["data"]).to be_a(Hash)
expect(response.body["data"]["person"]["name"]["given-names"]["value"]).to eq("DataC??t??")
expect(response.body["data"]["person"]["name"]["family-name"]["value"]).to eq("UTF8 T??st")
expect(response.body["data"]["person"]["name"]["given-names"]["value"]).to eq("DataCíté")
expect(response.body["data"]["person"]["name"]["family-name"]["value"]).to eq("UTF8 Tést")
end

it "get utf8 skip encoding", vcr: true do
Expand All @@ -113,7 +113,7 @@
stub = stub_request(:head, url).to_return(status: 200, headers: { "Content-Type" => "text/html" })
response = subject.head(url, accept: "html")
expect(response.body).to be_nil
expect(response.headers).to eq("Content-Length" => 0, "Content-Type" => "text/html")
expect(response.headers).to eq("Content-Type" => "text/html")
expect(stub).to have_been_requested
end
end
Expand Down Expand Up @@ -165,23 +165,23 @@
stub = stub_request(:get, url).to_return(body: nil, status: 200, headers: { "Content-Type" => "application/json" })
response = subject.get(url)
expect(response.body).to eq("data" => nil)
expect(response.headers).to eq("Content-Length" => 0, "Content-Type" => "application/json")
expect(response.headers).to eq("Content-Type" => "application/json")
expect(stub).to have_been_requested
end

it "get xml" do
stub = stub_request(:get, url).to_return(body: nil, status: 200, headers: { "Content-Type" => "application/xml" })
response = subject.get(url, accept: "xml")
expect(response.body).to eq("data" => nil)
expect(response.headers).to eq("Content-Length" => 0, "Content-Type" => "application/xml")
expect(response.headers).to eq("Content-Type" => "application/xml")
expect(stub).to have_been_requested
end

it "get html" do
stub = stub_request(:get, url).to_return(body: nil, status: 200, headers: { "Content-Type" => "text/html" })
response = subject.get(url, accept: "html")
expect(response.body).to eq("data" => nil)
expect(response.headers).to eq("Content-Length" => 0, "Content-Type" => "text/html")
expect(response.headers).to eq("Content-Type" => "text/html")
expect(stub).to have_been_requested
end

Expand Down Expand Up @@ -333,7 +333,7 @@
stub = stub_request(:delete, url).to_return(status: 204, headers: { "Content-Type" => "text/html" })
response = subject.delete(url)
expect(response.body).to eq("data" => nil)
expect(response.headers).to eq("Content-Length" => 0, "Content-Type" => "text/html")
expect(response.headers).to eq("Content-Type" => "text/html")
expect(response.status).to eq(204)
expect(stub).to have_been_requested
end
Expand Down
1 change: 1 addition & 0 deletions spec/spec_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
require "simplecov"
SimpleCov.start

require "ostruct"
require "maremma"
require "rspec"
require "rack/test"
Expand Down