From 9f847b89544b16382cf886d05aa290eab17b09fa Mon Sep 17 00:00:00 2001 From: Adam Rice Date: Mon, 18 Nov 2019 18:15:25 +1100 Subject: [PATCH] Include rake and convenience bin scripts --- Rakefile | 6 ++++++ bin/console | 13 +++++++++++++ bin/setup | 8 ++++++++ eml.gemspec | 56 ++++++++++++++++++++++++++++------------------------- 4 files changed, 57 insertions(+), 26 deletions(-) create mode 100644 Rakefile create mode 100755 bin/console create mode 100755 bin/setup diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..b7e9ed5 --- /dev/null +++ b/Rakefile @@ -0,0 +1,6 @@ +require "bundler/gem_tasks" +require "rspec/core/rake_task" + +RSpec::Core::RakeTask.new(:spec) + +task :default => :spec diff --git a/bin/console b/bin/console new file mode 100755 index 0000000..7cf80a7 --- /dev/null +++ b/bin/console @@ -0,0 +1,13 @@ +#!/usr/bin/env ruby + +require "bundler/setup" +require "eml" + +# You can add fixtures and/or initialization code here to make experimenting +# with your gem easier. You can also use a different console, if you like. + +require "pry" +Pry.start + +require "irb" +IRB.start(__FILE__) diff --git a/bin/setup b/bin/setup new file mode 100755 index 0000000..dce67d8 --- /dev/null +++ b/bin/setup @@ -0,0 +1,8 @@ +#!/usr/bin/env bash +set -euo pipefail +IFS=$'\n\t' +set -vx + +bundle install + +# Do any other automated setup that you need to do here diff --git a/eml.gemspec b/eml.gemspec index ccc6c56..c9cd53a 100644 --- a/eml.gemspec +++ b/eml.gemspec @@ -4,34 +4,38 @@ $LOAD_PATH.unshift(::File.join(::File.dirname(__FILE__), "lib")) require "eml/version" -Gem::Specification.new do |s| - s.name = "eml" - s.version = EML::VERSION - s.required_ruby_version = ">= 2.6.0" - s.summary = "Ruby bindings for the EML API" - s.description = "Connect to the EML payments APIs and " \ +Gem::Specification.new do |spec| + spec.name = "eml" + spec.version = EML::VERSION + spec.required_ruby_version = ">= 2.6.0" + spec.summary = "Ruby bindings for the EML API" + spec.description = "Connect to the EML payments APIs and " \ "Transaction Notification Serices" - s.author = "Morning Coffee" - s.email = "developers@morningcoffee.com.au" - s.homepage = "https://github.com/MorningCoffeeDev/eml_ruby" - s.license = "MIT" + spec.author = "Morning Coffee" + spec.email = "developers@morningcoffee.com.au" + spec.homepage = "https://github.com/MorningCoffeeDev/eml_ruby" + spec.license = "MIT" - s.files = `git ls-files`.split("\n") - s.test_files = `git ls-files -- test/*`.split("\n") - s.require_paths = ["lib"] + spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do + `git ls-files -z`.split("\x0"). + reject { |f| f.match(%r{^(test|spec|features)/}) } + end + spec.require_paths = ["lib"] - s.add_dependency "http", "~> 4.0.0" - s.add_dependency "sorbet-runtime" + spec.add_dependency "http", "~> 4.0.0" + spec.add_dependency "sorbet-runtime" - s.add_development_dependency "dotenv" - s.add_development_dependency "faker" - s.add_development_dependency "pry-byebug" - s.add_development_dependency "rspec", "~> 3.8" - s.add_development_dependency "rubocop", "~> 0.71" - s.add_development_dependency "rubocop-performance" - s.add_development_dependency "rubocop-rspec" - s.add_development_dependency "simplecov" - s.add_development_dependency "sorbet" - s.add_development_dependency "vcr" - s.add_development_dependency "webmock" + spec.add_development_dependency "bundler", "~> 2.0" + spec.add_development_dependency "dotenv" + spec.add_development_dependency "faker" + spec.add_development_dependency "pry-byebug" + spec.add_development_dependency "rake", "~> 10.0" + spec.add_development_dependency "rspec", "~> 3.8" + spec.add_development_dependency "rubocop", "~> 0.71" + spec.add_development_dependency "rubocop-performance" + spec.add_development_dependency "rubocop-rspec" + spec.add_development_dependency "simplecov" + spec.add_development_dependency "sorbet" + spec.add_development_dependency "vcr" + spec.add_development_dependency "webmock" end