Skip to content

Commit

Permalink
Drop support for ruby versions older than 3.1 (#7)
Browse files Browse the repository at this point in the history
* drop support for ruby less than 3.1

* remove juwelier

* hash shorthand syntax

* specify dependencies in gemspec only

* replace byebug with debug

* require newer faker and eliminate psych pinning
  • Loading branch information
lavaturtle committed Oct 17, 2023
1 parent 864f1c9 commit 3a3f2fb
Show file tree
Hide file tree
Showing 9 changed files with 32 additions and 94 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ jobs:

strategy:
matrix:
ruby-version: ['2.7', '3.0', '3.1', '3.2']
ruby-version: ['3.1', '3.2']

steps:
- uses: actions/checkout@v2
Expand All @@ -23,7 +23,7 @@ jobs:

strategy:
matrix:
ruby-version: ['2.7', '3.0', '3.1', '3.2']
ruby-version: ['3.1', '3.2']

steps:
- uses: actions/checkout@v2
Expand Down
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.7.4
3.1.4
16 changes: 2 additions & 14 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,5 @@

source 'https://rubygems.org'

gem 'faraday', '>= 1.0'
gem 'faraday_middleware'

group :development do
gem 'faker', '> 1.9'
gem 'psych', '3.3.2' # See https://github.com/faker-ruby/faker/issues/2330

gem 'faraday-detailed_logger', '>= 2.1.2'
gem 'juwelier', git: 'https://github.com/flajann2/juwelier.git'
gem 'pry-byebug', '> 3.6'
gem 'rspec', '>= 0'
gem 'rubocop'
gem 'webmock', '> 3.4'
end
# Gem's dependencies are specified in engaging-networks-rest.gemspec
gemspec
15 changes: 0 additions & 15 deletions Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,21 +11,6 @@ rescue Bundler::BundlerError => e
end
require 'rake'

require 'juwelier'
Juwelier::Tasks.new do |gem|
# gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
gem.name = 'engaging-networks-rest'
gem.homepage = 'http://github.com/controlshift/engaging-networks-rest'
gem.license = 'MIT'
gem.summary = %(Client gem for the ENS API to Engaging Networks)
gem.description = %(Client gem for the ENS API to Engaging Networks)
gem.email = 'grey@controlshiftlabs.com'
gem.authors = ['Grey Moore']

# dependencies defined in Gemfile
end
Juwelier::RubygemsDotOrgTasks.new

require 'rspec/core/rake_task'
desc 'Run specs'
RSpec::Core::RakeTask.new do |t|
Expand Down
73 changes: 19 additions & 54 deletions engaging-networks-rest.gemspec
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
# Generated by juwelier
# DO NOT EDIT THIS FILE DIRECTLY
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
# -*- encoding: utf-8 -*-
# stub: engaging-networks-rest 0.7.0 ruby lib
# frozen_string_literal: true

Gem::Specification.new do |s|
s.name = "engaging-networks-rest".freeze
Expand All @@ -13,65 +9,34 @@ Gem::Specification.new do |s|
s.authors = ["Grey Moore".freeze]
s.date = "2023-10-16"
s.description = "Client gem for the ENS API to Engaging Networks".freeze
s.email = "grey@controlshiftlabs.com".freeze
s.email = "systems@controlshiftlabs.com".freeze
s.extra_rdoc_files = [
"LICENSE",
"LICENSE.txt",
"README.md"
]
s.files = [
".github/workflows/ci.yml",
".rubocop.yml",
".ruby-gemset",
".ruby-version",
"CHANGELOG.md",
"Gemfile",
"LICENSE",
"LICENSE.txt",
"README.md",
"Rakefile",
"VERSION",
"engaging-networks-rest.gemspec",
"example.rb",
"lib/engaging_networks_rest.rb",
"lib/engaging_networks_rest/client.rb",
"lib/engaging_networks_rest/client/pages.rb",
"lib/engaging_networks_rest/response/raise_error.rb",
"spec/client/pages_spec.rb",
"spec/client_spec.rb",
"spec/spec_helper.rb"
]
s.homepage = "http://github.com/controlshift/engaging-networks-rest".freeze

# Specify which files should be added to the gem when it is released.
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
s.files = Dir.chdir(File.expand_path(__dir__)) do
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
end

s.homepage = 'https://github.com/controlshift/engaging-networks-rest'.freeze
s.licenses = ["MIT".freeze]
s.rubygems_version = "3.1.6".freeze
s.summary = "Client gem for the ENS API to Engaging Networks".freeze

if s.respond_to? :specification_version then
s.specification_version = 4
end

if s.respond_to? :add_runtime_dependency then
s.add_runtime_dependency(%q<faraday>.freeze, [">= 1.0"])
s.add_runtime_dependency(%q<faraday_middleware>.freeze, [">= 0"])
s.add_development_dependency(%q<faker>.freeze, ["> 1.9"])
s.add_development_dependency(%q<psych>.freeze, ["= 3.3.2"])
s.add_development_dependency(%q<faraday-detailed_logger>.freeze, [">= 2.1.2"])
s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
s.add_development_dependency(%q<pry-byebug>.freeze, ["> 3.6"])
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
s.add_development_dependency(%q<rubocop>.freeze, [">= 0"])
s.add_development_dependency(%q<webmock>.freeze, ["> 3.4"])
else
s.add_dependency(%q<faraday>.freeze, [">= 1.0"])
s.add_dependency(%q<faraday_middleware>.freeze, [">= 0"])
s.add_dependency(%q<faker>.freeze, ["> 1.9"])
s.add_dependency(%q<psych>.freeze, ["= 3.3.2"])
s.add_dependency(%q<faraday-detailed_logger>.freeze, [">= 2.1.2"])
s.add_dependency(%q<juwelier>.freeze, [">= 0"])
s.add_dependency(%q<pry-byebug>.freeze, ["> 3.6"])
s.add_dependency(%q<rspec>.freeze, [">= 0"])
s.add_dependency(%q<rubocop>.freeze, [">= 0"])
s.add_dependency(%q<webmock>.freeze, ["> 3.4"])
end
end
s.add_runtime_dependency(%q<faraday>.freeze, [">= 1.0"])
s.add_runtime_dependency(%q<faraday_middleware>.freeze, [">= 0"])

s.add_development_dependency(%q<faker>.freeze, ["> 2.20.0"])
s.add_development_dependency(%q<faraday-detailed_logger>.freeze, [">= 2.1.2"])
s.add_development_dependency(%q<debug>.freeze, ["> 0"])
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
s.add_development_dependency(%q<rubocop>.freeze, [">= 0"])
s.add_development_dependency(%q<webmock>.freeze, ["> 3.4"])
end
2 changes: 1 addition & 1 deletion lib/engaging_networks_rest.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
module EngagingNetworksRest
class << self
def new(api_key:, host:)
EngagingNetworksRest::Client.new(api_key: api_key, host: host)
EngagingNetworksRest::Client.new(api_key:, host:)
end
end
end
4 changes: 2 additions & 2 deletions lib/engaging_networks_rest/client.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,11 @@ def authenticated?
end

def get(path:, params: {})
request(method: :get, path: path, params: params)
request(method: :get, path:, params:)
end

def post(path:, body: {})
request(method: :post, path: path, body: body)
request(method: :post, path:, body:)
end

include EngagingNetworksRest::Client::Pages
Expand Down
8 changes: 4 additions & 4 deletions spec/client/pages_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
let(:ens_auth_key) { 'tmp-auth-key-456' }
let(:standard_headers) { { 'Content-Type' => 'application/json', 'Ens-Auth-Token' => ens_auth_key } }

subject { EngagingNetworksRest::Client.new(api_key: api_key, host: host) }
subject { EngagingNetworksRest::Client.new(api_key:, host:) }

describe '#pages' do
let(:page_type) { 'dcf' }
Expand Down Expand Up @@ -82,7 +82,7 @@
headers: { content_type: 'application/json; charset=utf-8' },
body: response.to_json)

subject.process_page_request(page_id: page_id,
subject.process_page_request(page_id:,
generic_data: { 'txn1' => 'foo',
'txn2' => 'bar',
'suppressAutoResponder' => true },
Expand All @@ -96,7 +96,7 @@
headers: { content_type: 'application/json; charset=utf-8' },
body: response.to_json)

result = subject.process_page_request(page_id: page_id, supporter_data: supporter_hash)
result = subject.process_page_request(page_id:, supporter_data: supporter_hash)

expect(result['id']).to eq '1234567'
expect(result['supporterId']).to eq '98765'
Expand All @@ -111,7 +111,7 @@
body: failure_response.to_json)

expect do
subject.process_page_request(page_id: page_id,
subject.process_page_request(page_id:,
supporter_data: supporter_hash)
end.to raise_error(RuntimeError, /Unexpected 'status' value on response.*Something went wrong/)
end
Expand Down
2 changes: 1 addition & 1 deletion spec/client_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
let(:api_key) { 'abc123' }
let(:content_type_header) { { 'Content-Type' => 'application/json' } }

subject { EngagingNetworksRest::Client.new(api_key: api_key, host: host) }
subject { EngagingNetworksRest::Client.new(api_key:, host:) }

describe '#authenticate!' do
let(:auth_url) { "https://#{host}/ens/service/authenticate" }
Expand Down

0 comments on commit 3a3f2fb

Please sign in to comment.