diff --git a/Gemfile b/Gemfile index 0dbd0ba3..291b6742 100644 --- a/Gemfile +++ b/Gemfile @@ -5,8 +5,8 @@ if ENV["CUSTOM_RUBY_VERSION"] end gem 'octokit' -gem 'sinatra', '3.0.5' -gem 'sinatra-contrib', '3.0.5' +gem 'sinatra', '3.1.0' +gem 'sinatra-contrib', '3.1.0' gem 'openssl' gem 'puma' gem 'sidekiq' diff --git a/Gemfile.lock b/Gemfile.lock index acd5935b..4027f23c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.8.4) + addressable (2.8.5) public_suffix (>= 2.0.2, < 6.0) bibtex-ruby (6.0.0) latex-decode (~> 0.0) @@ -9,20 +9,20 @@ GEM charlock_holmes (0.7.7) chronic (0.10.2) concurrent-ruby (1.2.2) - connection_pool (2.4.0) + connection_pool (2.4.1) crack (0.4.5) rexml diff-lcs (1.5.0) dotenv (2.8.1) - faraday (2.7.4) + faraday (2.7.10) faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-follow_redirects (0.1.0) faraday (>= 2, < 3) faraday-net_http (3.0.2) - faraday-retry (2.1.0) + faraday-retry (2.2.0) faraday (~> 2.0) - github-linguist (7.25.0) + github-linguist (7.26.0) cgi charlock_holmes (~> 0.7.7) mini_mime (~> 1.0) @@ -38,33 +38,33 @@ GEM reverse_markdown (>= 1, < 3) rugged (>= 0.24, < 2.0) thor (>= 0.19, < 2.0) - mini_mime (1.1.2) - mini_portile2 (2.8.2) + mini_mime (1.1.5) + mini_portile2 (2.8.4) multi_json (1.15.0) mustermann (3.0.0) ruby2_keywords (~> 0.0.1) nio4r (2.5.9) - nokogiri (1.14.3) - mini_portile2 (~> 2.8.0) + nokogiri (1.15.3) + mini_portile2 (~> 2.8.2) racc (~> 1.4) octokit (6.1.1) faraday (>= 1, < 3) sawyer (~> 0.9) openssl (3.1.0) - public_suffix (5.0.1) - puma (6.2.2) + public_suffix (5.0.3) + puma (6.3.0) nio4r (~> 2.0) - racc (1.6.2) - rack (2.2.7) - rack-protection (3.0.5) - rack + racc (1.7.1) + rack (2.2.8) + rack-protection (3.1.0) + rack (~> 2.2, >= 2.2.4) rack-test (2.1.0) rack (>= 1.3) - redis-client (0.14.1) + redis-client (0.15.0) connection_pool reverse_markdown (2.1.1) nokogiri - rexml (3.2.5) + rexml (3.2.6) rspec (3.12.0) rspec-core (~> 3.12.0) rspec-expectations (~> 3.12.0) @@ -74,10 +74,10 @@ GEM rspec-expectations (3.12.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) - rspec-mocks (3.12.5) + rspec-mocks (3.12.6) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) - rspec-support (3.12.0) + rspec-support (3.12.1) ruby2_keywords (0.0.5) rugged (1.6.3) sawyer (0.9.2) @@ -89,24 +89,24 @@ GEM multi_json (~> 1.15) rexml (~> 3.2, >= 3.2.5) thor (~> 1.2, >= 1.2.1) - sidekiq (7.1.0) + sidekiq (7.1.2) concurrent-ruby (< 2) connection_pool (>= 2.3.0) rack (>= 2.2.4) redis-client (>= 0.14.0) - sinatra (3.0.5) + sinatra (3.1.0) mustermann (~> 3.0) rack (~> 2.2, >= 2.2.4) - rack-protection (= 3.0.5) + rack-protection (= 3.1.0) tilt (~> 2.0) - sinatra-contrib (3.0.5) + sinatra-contrib (3.1.0) multi_json mustermann (~> 3.0) - rack-protection (= 3.0.5) - sinatra (= 3.0.5) + rack-protection (= 3.1.0) + sinatra (= 3.1.0) tilt (~> 2.0) - thor (1.2.1) - tilt (2.1.0) + thor (1.2.2) + tilt (2.2.0) webmock (3.18.1) addressable (>= 2.8.0) crack (>= 0.3.2) @@ -131,8 +131,8 @@ DEPENDENCIES rspec serrano sidekiq - sinatra (= 3.0.5) - sinatra-contrib (= 3.0.5) + sinatra (= 3.1.0) + sinatra-contrib (= 3.1.0) webmock BUNDLED WITH diff --git a/app/responders/repo_checks_responder.rb b/app/responders/repo_checks_responder.rb index 56ce8300..0909d4e7 100644 --- a/app/responders/repo_checks_responder.rb +++ b/app/responders/repo_checks_responder.rb @@ -6,7 +6,7 @@ class RepoChecksResponder < Responder def define_listening @event_action = "issue_comment.created" - @event_regex = /\A@#{bot_name} check repository(?: from branch ([\/\w-]+))?\.?\s*$/i + @event_regex = /\A@#{bot_name} check repository(?: from branch ([\/\.\w-]+))?\.?\s*$/i end def process_message(message) diff --git a/app/responders/reviewers_list_responder.rb b/app/responders/reviewers_list_responder.rb index 5feb0104..a3392e16 100644 --- a/app/responders/reviewers_list_responder.rb +++ b/app/responders/reviewers_list_responder.rb @@ -6,7 +6,7 @@ class ReviewersListResponder < Responder def define_listening @event_action = "issue_comment.created" - @event_regex = /\A@#{bot_name} (add|remove) (\S+) (to reviewers|from reviewers|as reviewer)\.?\s*$/i + @event_regex = /\A@#{bot_name} (add|remove) +(\S+) +(to reviewers|from reviewers|as reviewer)\.?\s*$/i end def process_message(message) diff --git a/docs/index.rst b/docs/index.rst index 0b0fee46..0e943094 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -2,7 +2,7 @@ Buffy ===== Buffy is an editorial bots generator, a service to provide a bot helping scientific journals manage submission reviews. -Buffy is a configurable Ruby application that –once deployed as a web service listening to incoming GitHub webhooks– provides a bot that interacts during the peer-review process with editors, reviewers and authors to help them perform actions on the review, the software being reviewed and its corresponding paper, automating common editorial tasks like those needed by the `Journal of Open Source Software `_, `rOpenSci `_ or `Scipy `_. +Buffy is a configurable Ruby application that –once deployed as a web service listening to incoming GitHub webhooks– provides a bot that interacts during the peer-review process with editors, reviewers and authors to help them perform actions on the review, the software being reviewed and its corresponding paper, automating common editorial tasks like those needed by the `Journal of Open Source Software `_, `rOpenSci `_, the `Journal of Open Source Education `_ or `Scipy `_. Buffy is an Open Source project, `the code `_ is hosted at GitHub and released under a MIT license. diff --git a/spec/responders/repo_checks_responder_spec.rb b/spec/responders/repo_checks_responder_spec.rb index 051e69dc..5b3435f4 100644 --- a/spec/responders/repo_checks_responder_spec.rb +++ b/spec/responders/repo_checks_responder_spec.rb @@ -20,7 +20,7 @@ expect(@responder.event_regex).to match("@botsci check repository") expect(@responder.event_regex).to match("@botsci check repository \r\n") expect(@responder.event_regex).to match("@botsci check repository\r\nmore") - expect(@responder.event_regex).to match("@botsci check repository from branch custom-branch") + expect(@responder.event_regex).to match("@botsci check repository from branch custom-branch_6.0") expect(@responder.event_regex).to match("@botsci check repository from branch custom/branch") expect(@responder.event_regex).to match("@botsci check repository from branch development \r\n") expect(@responder.event_regex).to_not match("@botsci check repository from branch ") diff --git a/spec/responders/reviewers_list_responder_spec.rb b/spec/responders/reviewers_list_responder_spec.rb index 0a6976cf..f231ac1e 100644 --- a/spec/responders/reviewers_list_responder_spec.rb +++ b/spec/responders/reviewers_list_responder_spec.rb @@ -15,6 +15,9 @@ it "should define regex" do expect(@responder.event_regex).to match("@botsci add @arfon to reviewers") + expect(@responder.event_regex).to match("@botsci add @arfon to reviewers") + expect(@responder.event_regex).to match("@botsci add @arfon to reviewers") + expect(@responder.event_regex).to match("@botsci add @arfon to reviewers") expect(@responder.event_regex).to match("@botsci add @arfon as reviewer") expect(@responder.event_regex).to match("@botsci add me as reviewer") expect(@responder.event_regex).to match("@botsci remove me from reviewers") @@ -22,6 +25,8 @@ expect(@responder.event_regex).to match("@botsci remove @arfon from reviewers \r\n") expect(@responder.event_regex).to match("@botsci remove @arfon from reviewers \r\n more ") expect(@responder.event_regex).to_not match("@botsci add to reviewers") + expect(@responder.event_regex).to_not match("@botsci add@arfon to reviewers") + expect(@responder.event_regex).to_not match("@botsci add @arfonto reviewers") expect(@responder.event_regex).to_not match("@botsci remove from reviewers") end end