diff --git a/.gitignore b/.gitignore index 4c3c75e1..1a87de9f 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,5 @@ coverage/* # Ignore spec status file spec/examples.txt + +/.local-overcommit.yml diff --git a/.overcommit.yml b/.overcommit.yml new file mode 100644 index 00000000..d5b088b3 --- /dev/null +++ b/.overcommit.yml @@ -0,0 +1,19 @@ +PreCommit: + ALL: + problem_on_unmodified_line: ignore + skip_if: ["test", "-f", ".git/MERGE_HEAD"] + ForbiddenBranches: + enabled: true + branch_patterns: ["master", "main"] + HamlLint: + enabled: true + on_warn: fail + required_executable: bundle + command: ["bundle", "exec", "haml-lint"] + RuboCop: + enabled: true + required_executable: bundle + command: ["bundle", "exec", "rubocop"] +CommitMsg: + ALL: + enabled: false diff --git a/Gemfile b/Gemfile index 5e301c5f..58caa8e1 100644 --- a/Gemfile +++ b/Gemfile @@ -36,6 +36,7 @@ group :development do gem 'capistrano-rails', require: false gem 'ed25519', require: false gem 'listen' + gem 'overcommit', require: false gem 'rb-readline', require: false gem 'rubocop', require: false gem 'rubocop-capybara', require: false diff --git a/Gemfile.lock b/Gemfile.lock index 3a77d9d7..2ddbfa8a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -125,6 +125,8 @@ GEM rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) + childprocess (5.1.0) + logger (~> 1.5) chronic (0.10.2) coderay (1.1.3) concurrent-ruby (1.3.5) @@ -176,6 +178,7 @@ GEM ice_cube (~> 0.16) ostruct ice_cube (0.17.0) + iniparse (1.5.0) io-console (0.8.0) irb (1.15.1) pp (>= 0.6.0) @@ -223,6 +226,10 @@ GEM mini_portile2 (~> 2.8.2) racc (~> 1.4) ostruct (0.6.1) + overcommit (0.66.0) + childprocess (>= 0.6.3, < 6) + iniparse (~> 1.4) + rexml (>= 3.3.9) parallel (1.26.3) parser (3.3.7.1) ast (~> 2.4.1) @@ -457,6 +464,7 @@ DEPENDENCIES listen mysql2 nokogiri + overcommit prawn prawn-table pry-byebug @@ -517,6 +525,7 @@ CHECKSUMS capistrano-pending (0.2.0) sha256=f9e8c1e6b6a2ce760ed49ccb470c474f802c1d453704fb62d67ca4c1ee547066 capistrano-rails (1.7.0) sha256=aca57455e8c5435785e0f938e16aa5b79c263694a755e1dca1c5d1743b40aae7 capybara (3.40.0) sha256=42dba720578ea1ca65fd7a41d163dd368502c191804558f6e0f71b391054aeef + childprocess (5.1.0) sha256=9a8d484be2fd4096a0e90a0cd3e449a05bc3aa33f8ac9e4d6dcef6ac1455b6ec chronic (0.10.2) sha256=766f2fcce6ac3cc152249ed0f2b827770d3e517e2e87c5fba7ed74f4889d2dc3 coderay (1.1.3) sha256=dc530018a4684512f8f38143cd2a096c9f02a1fc2459edcfe534787a7fc77d4b concurrent-ruby (1.3.5) sha256=813b3e37aca6df2a21a3b9f1d497f8cbab24a2b94cab325bffe65ee0f6cbebc6 @@ -546,6 +555,7 @@ CHECKSUMS i18n (1.14.7) sha256=ceba573f8138ff2c0915427f1fc5bdf4aa3ab8ae88c8ce255eb3ecf0a11a5d0f icalendar (2.10.3) sha256=0ebfc2672f9fa77b86b4d8c0e25e9b2319aad45a33319fed06d0be8ddd0cd485 ice_cube (0.17.0) sha256=32deb45dda4b4acc53505c2f581f6d32b5afc04d29b9004769944a0df5a5fcbe + iniparse (1.5.0) sha256=36a165e98d8a250b7631c4a7f9afba32af78f089970cd6446a39771189c761f1 io-console (0.8.0) sha256=cd6a9facbc69871d69b2cb8b926fc6ea7ef06f06e505e81a64f14a470fddefa2 irb (1.15.1) sha256=d9bca745ac4207a8b728a52b98b766ca909b86ff1a504bcde3d6f8c84faae890 json (2.10.1) sha256=ddc88ad91a1baf3f0038c174f253af3b086d30dc74db17ca4259bbde982f94dc @@ -573,6 +583,7 @@ CHECKSUMS nio4r (2.7.4) sha256=d95dee68e0bb251b8ff90ac3423a511e3b784124e5db7ff5f4813a220ae73ca9 nokogiri (1.18.2) sha256=93791cfb33186fe077eb9e1b8a6855b5621e328f81f565334572fa398366f8bf ostruct (0.6.1) sha256=09a3fb7ecc1fa4039f25418cc05ae9c82bd520472c5c6a6f515f03e4988cb817 + overcommit (0.66.0) sha256=40a6e0ee10f9a2680a95caa57bbb64aab343bd044574c92556c13bbc8ec0343b parallel (1.26.3) sha256=d86babb7a2b814be9f4b81587bf0b6ce2da7d45969fab24d8ae4bf2bb4d4c7ef parser (3.3.7.1) sha256=7dbe61618025519024ac72402a6677ead02099587a5538e84371b76659e6aca1 pdf-core (0.10.0) sha256=0a5d101e2063c01e3f941e1ee47cbb97f1adfc1395b58372f4f65f1300f3ce91