Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: use standard #661

Open
wants to merge 13 commits into
base: master
Choose a base branch
from
9 changes: 5 additions & 4 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,16 +63,17 @@ jobs:
bundle exec rake

jruby:
runs-on: ubuntu-20.04 # ubuntu-latest is currently 22.04, which doesn't have a supported JRuby 9 build yet
runs-on: ubuntu-22.04
timeout-minutes: 10
strategy:
matrix:
ruby:
- 'jruby-9.2.14.0'
- 'jruby-9.4.9.0'
gemfile:
- rails6.1.gemfile
# TODO
# - rails7.0.gemfile
- rails7.0.gemfile
- rails7.1.gemfile
- rails7.2.gemfile

# Has to be top level to cache properly
env:
Expand Down
23 changes: 23 additions & 0 deletions .github/workflows/standard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Standard

on:
pull_request:
branches:
- 'master'

jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 5

steps:
- uses: actions/checkout@v4

- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true

- name: Run standard
run: |
bundle exec standardrb .
3 changes: 3 additions & 0 deletions .standard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ruby_version: 2.3.0
fix: true
parallel: true
37 changes: 19 additions & 18 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -1,22 +1,23 @@
source 'https://rubygems.org'
source "https://rubygems.org"

gemspec

gem 'allocation_stats', platforms: :mri, require: false
gem 'appraisal', '~> 2.1'
gem 'aruba', '~> 2.0'
gem 'rspec', '~> 3.0'
gem "allocation_stats", platforms: :mri, require: false
gem "appraisal", "~> 2.1"
gem "aruba", "~> 2.0"
gem "rspec", "~> 3.0"
gem "rspec-its", "~> 1.3.1"
gem 'ruby-prof', platforms: :mri, require: false
gem 'timecop'
gem 'webmock'
gem 'bigdecimal'
gem 'base64'
gem 'mutex_m'
gem "ruby-prof", platforms: :mri, require: false
gem "timecop"
gem "webmock"
gem "bigdecimal"
gem "base64"
gem "mutex_m"
gem "rdoc" # Used in Rakefile, removed from default gems in Ruby 3.5.0

# Required by feature specs.
gem 'capistrano'
gem 'rake'
gem "capistrano"
gem "rake"

# mathn has moved to a rubygem in Ruby 2.5.0: https://github.com/ruby/mathn
platforms :ruby_25 do
Expand All @@ -26,9 +27,9 @@ end
gem "bump", "~> 0.10.0"

group :development do
gem 'guard'
gem 'guard-rspec'
gem 'pry'
gem 'pry-byebug', platforms: :mri
gem 'rdoc'
gem "guard"
gem "guard-rspec"
gem "pry"
gem "pry-byebug", platforms: :mri
gem "standard"
end
6 changes: 3 additions & 3 deletions Guardfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
guard :rspec, cmd: 'bundle exec rspec --fail-fast', all_after_pass: false do
guard :rspec, cmd: "bundle exec rspec --fail-fast", all_after_pass: false do
watch(%r{^spec/.+_spec\.rb$})
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}_spec.rb" }
watch('spec/spec_helper.rb') { "spec" }
watch(%r{^lib/(.+)\.rb$}) { |m| "spec/unit/#{m[1]}_spec.rb" }
watch("spec/spec_helper.rb") { "spec" }
end
56 changes: 28 additions & 28 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -1,50 +1,50 @@
# frozen_string_literal: true

require 'rubygems'
require 'bundler/setup'
require 'bump'
require 'appraisal'
require 'honeybadger/version'
require_relative 'tools/release'

NAME = Dir['*.gemspec'].first.split('.').first.freeze
require "rubygems"
require "bundler/setup"
require "bump"
require "appraisal"
require "honeybadger/version"
require_relative "tools/release"

NAME = Dir["*.gemspec"].first.split(".").first.freeze
VERSION = Honeybadger::VERSION
GEM_FILE = "#{NAME}-#{VERSION}.gem".freeze
GEMSPEC_FILE = "#{NAME}.gemspec".freeze
GEM_FILE = "#{NAME}-#{VERSION}.gem"
GEMSPEC_FILE = "#{NAME}.gemspec"

require 'rdoc/task'
require "rdoc/task"
RDoc::Task.new do |rdoc|
rdoc.main = 'README.md'
rdoc.markup = 'tomdoc'
rdoc.rdoc_dir = 'doc'
rdoc.rdoc_files.include('README.md', 'lib/**/*.rb')
rdoc.main = "README.md"
rdoc.markup = "tomdoc"
rdoc.rdoc_dir = "doc"
rdoc.rdoc_files.include("README.md", "lib/**/*.rb")
end

require 'rspec/core/rake_task'
require "rspec/core/rake_task"
namespace :spec do
desc 'Run unit specs'
desc "Run unit specs"
RSpec::Core::RakeTask.new(:units) do |t|
t.pattern = 'spec/unit/**/*_spec.rb'
t.rspec_opts = '--require spec_helper'
t.pattern = "spec/unit/**/*_spec.rb"
t.rspec_opts = "--require spec_helper"
end

desc 'Run integration specs'
desc "Run integration specs"
RSpec::Core::RakeTask.new(:integrations) do |t|
t.pattern = 'spec/integration/**/*_spec.rb'
t.rspec_opts = '--require spec_helper'
t.pattern = "spec/integration/**/*_spec.rb"
t.rspec_opts = "--require spec_helper"
end

desc 'Run feature specs'
desc "Run feature specs"
RSpec::Core::RakeTask.new(:features) do |t|
t.pattern = 'spec/features/**/*_spec.rb'
t.rspec_opts = '--require spec_helper'
t.pattern = "spec/features/**/*_spec.rb"
t.rspec_opts = "--require spec_helper"
end

desc 'Runs unit and feature specs'
desc "Runs unit and feature specs"
task all: [:units, :integrations, :features]
end

desc 'Alias for spec:all (default task)'
task spec: :'spec:all'
desc "Alias for spec:all (default task)"
task spec: :"spec:all"
task test: :spec
task default: :spec
56 changes: 28 additions & 28 deletions honeybadger.gemspec
Original file line number Diff line number Diff line change
@@ -1,40 +1,40 @@
require File.expand_path('../lib/honeybadger/version.rb', __FILE__)
require File.expand_path("../lib/honeybadger/version.rb", __FILE__)

Gem::Specification.new do |s|
s.name = 'honeybadger'
s.version = Honeybadger::VERSION
s.platform = Gem::Platform::RUBY
s.summary = 'Error reports you can be happy about.'
s.description = 'Make managing application errors a more pleasant experience.'
s.authors = ['Honeybadger Industries LLC']
s.email = ['[email protected]']
s.homepage = 'https://www.honeybadger.io/for/ruby/'
s.license = 'MIT'
s.name = "honeybadger"
s.version = Honeybadger::VERSION
s.platform = Gem::Platform::RUBY
s.summary = "Error reports you can be happy about."
s.description = "Make managing application errors a more pleasant experience."
s.authors = ["Honeybadger Industries LLC"]
s.email = ["[email protected]"]
s.homepage = "https://www.honeybadger.io/for/ruby/"
s.license = "MIT"
s.metadata = {
'bug_tracker_uri' => 'https://github.com/honeybadger-io/honeybadger-ruby/issues',
'changelog_uri' => 'https://github.com/honeybadger-io/honeybadger-ruby/blob/master/CHANGELOG.md',
'documentation_uri' => 'https://docs.honeybadger.io/lib/ruby/',
'homepage_uri' => 'https://www.honeybadger.io/for/ruby/',
'source_code_uri' => 'https://github.com/honeybadger-io/honeybadger-ruby'
"bug_tracker_uri" => "https://github.com/honeybadger-io/honeybadger-ruby/issues",
"changelog_uri" => "https://github.com/honeybadger-io/honeybadger-ruby/blob/master/CHANGELOG.md",
"documentation_uri" => "https://docs.honeybadger.io/lib/ruby/",
"homepage_uri" => "https://www.honeybadger.io/for/ruby/",
"source_code_uri" => "https://github.com/honeybadger-io/honeybadger-ruby"
}

s.required_ruby_version = '>= 2.3.0'
s.required_ruby_version = ">= 3.0"

s.rdoc_options << '--markup=tomdoc'
s.rdoc_options << '--main=README.md'
s.rdoc_options << "--markup=tomdoc"
s.rdoc_options << "--main=README.md"

s.files = Dir['lib/**/*.{rb,erb}']
s.files += Dir['bin/*']
s.files = Dir["lib/**/*.{rb,erb}"]
s.files += Dir["bin/*"]
# CI installs caches installed gems in vendor/bundle, but we don't want to include them in the gem.
s.files += Dir['vendor/**/*.{rb,rake,cap}'].reject { |file| file.start_with?("vendor/bundle") }
s.files += Dir['resources/**/*.crt']
s.files += Dir['*.md']
s.files += ['LICENSE']
s.files += Dir["vendor/**/*.{rb,rake,cap}"].reject { |file| file.start_with?("vendor/bundle") }
s.files += Dir["resources/**/*.crt"]
s.files += Dir["*.md"]
s.files += ["LICENSE"]

s.require_paths = ['lib', 'vendor/capistrano-honeybadger/lib']
s.require_paths = ["lib", "vendor/capistrano-honeybadger/lib"]

s.executables << 'honeybadger'
s.executables << "honeybadger"

s.add_dependency 'logger'
s.add_dependency 'ostruct'
s.add_dependency "logger"
s.add_dependency "ostruct"
end
8 changes: 8 additions & 0 deletions lefthook.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# https://github.com/evilmartians/lefthook/blob/master/docs/configuration.md
pre-commit:
parallel: true
commands:
standard:
tags: backend style
glob: "*.rb"
run: bundle exec standardrb {staged_files}
10 changes: 5 additions & 5 deletions lib/honeybadger.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
if defined?(::Rails::Railtie)
require 'honeybadger/init/rails'
require "honeybadger/init/rails"
elsif defined?(Sinatra::Base)
require 'honeybadger/init/sinatra'
require "honeybadger/init/sinatra"
elsif defined?(::Hanami)
require 'honeybadger/init/hanami'
require "honeybadger/init/hanami"
else
require 'honeybadger/init/ruby'
require "honeybadger/init/ruby"
end

if defined?(Rake.application)
require 'honeybadger/init/rake'
require "honeybadger/init/rake"
end
Loading
Loading