Skip to content

Commit

Permalink
Merge pull request #1 from RodrigoMNardi/project_kick_off
Browse files Browse the repository at this point in the history
Slack Bot
  • Loading branch information
RodrigoMNardi authored Oct 30, 2023
2 parents 5ac63b4 + 72d4200 commit ee29eec
Show file tree
Hide file tree
Showing 29 changed files with 1,016 additions and 1 deletion.
9 changes: 9 additions & 0 deletions .env.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
SLACK_CLIENT_ID=
SLACK_CLIENT_SECRET=
SLACK_SIGNING_SECRET=
SLACK_VERIFICATION_TOKEN=
SLACK_BOT_TOKEN=
COMM_CHANNEL=
HTTP_URL=
HTTP_USER=
HTTP_PASS=
9 changes: 9 additions & 0 deletions .github/config/rubocop_linter_action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
check_name: "RuboCop Results"
versions:
- rubocop
- rubocop-rails
- rubocop-minitest
- rubocop-performance: "1.5.1"
- rubocop-rspec: "1.37.0"
rubocop_config_path: ".rubocop.yml"
rubocop_fail_level: "refactor"
36 changes: 36 additions & 0 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby

name: Ruby

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master", "develop" ]

permissions:
contents: read

jobs:
rubocop:
name: Rubocop
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3

- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.0.0

- name: rubocop
uses: reviewdog/action-rubocop@v2
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
rubocop_version: gemfile
reporter: github-pr-check
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,6 @@ build-iPhoneSimulator/

# Used by RuboCop. Remote config files pulled in from inherit_from directive.
# .rubocop-https?--*

.env
config/postgresql.yml
33 changes: 33 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
require:
- rubocop-performance

AllCops:
NewCops: enable
DisplayCopNames: true
SuggestExtensions: false
DisplayStyleGuide: true
Exclude:
- 'githubapi/**/*'
- 'db/schema.rb'
Metrics/MethodLength:
Max: 20

Metrics/ClassLength:
Max: 200

Metrics/ModuleLength:
Max: 200

# Do not enforce documentation.
Style/Documentation:
Enabled: false

Style/AndOr:
Enabled: false

# Some regions of code use blocks that are big.
Metrics/BlockLength:
Max: 120
AllowedMethods: ['included']
Exclude:
- 'Gemfile'
40 changes: 40 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# SPDX-License-Identifier: BSD-2-Clause
#
# Gemfile
# Part of NetDEF CI System
#
# Copyright (c) 2023 by
# Network Device Education Foundation, Inc. ("NetDEF")
#
# frozen_string_literal: true

source 'https://rubygems.org'

gem 'activerecord', require: 'active_record'

gem 'dotenv'

gem 'otr-activerecord'

gem 'pagy'
gem 'pagy_cursor'
gem 'pg'
gem 'puma', '5.5.2'

gem 'rack', '2.2.3.1'

gem 'rubocop', group: %i[development test]
gem 'rubocop-performance', group: %i[development test]

gem 'sinatra', '2.0.8.1'
gem 'slack-ruby-bot-server-events'
gem 'slack-ruby-client'

group :test do
gem 'factory_bot'
gem 'faker'
gem 'rack-test'
gem 'rspec'
gem 'simplecov', require: false
gem 'webmock', require: 'webmock/rspec'
end
247 changes: 247 additions & 0 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,247 @@
GEM
remote: https://rubygems.org/
specs:
activemodel (7.1.1)
activesupport (= 7.1.1)
activerecord (7.1.1)
activemodel (= 7.1.1)
activesupport (= 7.1.1)
timeout (>= 0.4.0)
activesupport (7.1.1)
base64
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
minitest (>= 5.1)
mutex_m
tzinfo (~> 2.0)
addressable (2.8.5)
public_suffix (>= 2.0.2, < 6.0)
ast (2.4.2)
async (1.31.0)
console (~> 1.10)
nio4r (~> 2.3)
timers (~> 4.1)
base64 (0.1.1)
bigdecimal (3.1.4)
builder (3.2.4)
concurrent-ruby (1.2.2)
connection_pool (2.4.1)
console (1.23.2)
fiber-annotation
fiber-local
crack (0.4.5)
rexml
declarative (0.0.20)
diff-lcs (1.5.0)
docile (1.4.0)
dotenv (2.8.1)
drb (2.1.1)
ruby2_keywords
dry-core (1.0.1)
concurrent-ruby (~> 1.0)
zeitwerk (~> 2.6)
dry-inflector (1.0.0)
dry-logic (1.5.0)
concurrent-ruby (~> 1.0)
dry-core (~> 1.0, < 2)
zeitwerk (~> 2.6)
dry-types (1.7.1)
concurrent-ruby (~> 1.0)
dry-core (~> 1.0)
dry-inflector (~> 1.0)
dry-logic (~> 1.4)
zeitwerk (~> 2.6)
factory_bot (6.3.0)
activesupport (>= 5.0.0)
faker (3.2.1)
i18n (>= 1.8.11, < 2)
faraday (2.7.11)
base64
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-mashify (0.1.1)
faraday (~> 2.0)
hashie
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (3.0.2)
fiber-annotation (0.2.0)
fiber-local (1.0.0)
foreman (0.87.2)
gli (2.21.1)
grape (1.8.0)
activesupport (>= 5)
builder
dry-types (>= 1.1)
mustermann-grape (~> 1.0.0)
rack (>= 1.3.0)
rack-accept
grape-roar (0.4.1)
grape
multi_json
roar (~> 1.1.0)
grape-swagger (1.6.1)
grape (~> 1.3)
hashdiff (1.0.1)
hashie (5.0.0)
hashie-forbidden_attributes (0.1.1)
hashie (>= 3.0)
i18n (1.14.1)
concurrent-ruby (~> 1.0)
json (2.6.3)
kaminari-core (1.2.2)
kaminari-grape (1.0.1)
grape
kaminari-core (~> 1.0)
language_server-protocol (3.17.0.3)
minitest (5.20.0)
multi_json (1.15.0)
multipart-post (2.3.0)
mustermann (1.1.2)
ruby2_keywords (~> 0.0.1)
mustermann-grape (1.0.2)
mustermann (>= 1.0.0)
mutex_m (0.1.2)
nio4r (2.5.9)
otr-activerecord (2.2.0)
activerecord (>= 4.0, < 7.2)
hashie-forbidden_attributes (~> 0.1)
pagy (6.1.0)
pagy_cursor (0.6.1)
activerecord (>= 5)
pagy (>= 6, < 7)
parallel (1.23.0)
parser (3.2.2.4)
ast (~> 2.4.1)
racc
pg (1.5.4)
public_suffix (5.0.3)
puma (5.5.2)
nio4r (~> 2.0)
racc (1.7.1)
rack (2.2.3.1)
rack-accept (0.4.5)
rack (>= 0.4)
rack-cors (2.0.1)
rack (>= 2.0.0)
rack-protection (2.0.8.1)
rack
rack-rewrite (1.5.1)
rack-server-pages (0.1.0)
rack
rack-test (2.1.0)
rack (>= 1.3)
rainbow (3.1.1)
regexp_parser (2.8.2)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
rexml (3.2.6)
roar (1.1.1)
representable (~> 3.0)
rspec (3.12.0)
rspec-core (~> 3.12.0)
rspec-expectations (~> 3.12.0)
rspec-mocks (~> 3.12.0)
rspec-core (3.12.2)
rspec-support (~> 3.12.0)
rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.6)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-support (3.12.1)
rubocop (1.57.1)
base64 (~> 0.1.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
parser (>= 3.2.2.4)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.29.0)
parser (>= 3.2.1.0)
rubocop-performance (1.19.1)
rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0)
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-html (0.12.3)
simplecov_json_formatter (0.1.4)
sinatra (2.0.8.1)
mustermann (~> 1.0)
rack (~> 2.0)
rack-protection (= 2.0.8.1)
tilt (~> 2.0)
slack-ruby-bot-server (2.1.1)
async
foreman
grape
grape-roar (>= 0.4.0)
grape-swagger
kaminari-grape
rack-cors
rack-rewrite
rack-server-pages
slack-ruby-client
slack-ruby-bot-server-events (0.3.2)
slack-ruby-bot-server (>= 0.12.0)
slack-ruby-client (2.2.0)
faraday (>= 2.0)
faraday-mashify
faraday-multipart
gli
hashie
tilt (2.3.0)
timeout (0.4.0)
timers (4.3.5)
trailblazer-option (0.1.2)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uber (0.1.0)
unicode-display_width (2.5.0)
webmock (3.19.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
zeitwerk (2.6.12)

PLATFORMS
x86_64-linux

DEPENDENCIES
activerecord
dotenv
factory_bot
faker
otr-activerecord
pagy
pagy_cursor
pg
puma (= 5.5.2)
rack (= 2.2.3.1)
rack-test
rspec
rubocop
rubocop-performance
simplecov
sinatra (= 2.0.8.1)
slack-ruby-bot-server-events
slack-ruby-client
webmock

BUNDLED WITH
2.2.22
1 change: 1 addition & 0 deletions Procfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
web: bundle exec puma -p $PORT
Loading

0 comments on commit ee29eec

Please sign in to comment.