Browse Source

rubocop linter ok

main
pvincent 12 months ago
parent
commit
cae5492c19
  1. 2
      .rubocop.yml
  2. 6
      .vscode/extensions.json
  3. 45
      Gemfile
  4. 57
      Gemfile.lock
  5. 6
      app/controllers/application_controller.rb
  6. 13
      app/controllers/main_controller.rb
  7. 4
      app/views/main/home.html.erb
  8. 6
      test/controllers/main_controller_test.rb

2
.rubocop.yml

@ -0,0 +1,2 @@
Style/FrozenStringLiteralComment:
Enabled: false

6
.vscode/extensions.json

@ -4,7 +4,9 @@
"bung87.rails", "bung87.rails",
"aliariff.vscode-erb-beautify", "aliariff.vscode-erb-beautify",
"yzhang.markdown-all-in-one", "yzhang.markdown-all-in-one",
"arturock.gitstash",
"bradlc.vscode-tailwindcss"
"bradlc.vscode-tailwindcss",
"castwide.solargraph",
"aki77.rails-db-schema",
"formulahendry.auto-rename-tag"
] ]
} }

45
Gemfile

@ -1,34 +1,34 @@
source "https://rubygems.org"
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" } git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby "3.1.4"
ruby '3.1.4'
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main" # Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem "rails", "~> 7.0.5"
gem 'rails', '~> 7.0.5'
# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails] # The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
gem "sprockets-rails"
gem 'sprockets-rails'
# Use sqlite3 as the database for Active Record # Use sqlite3 as the database for Active Record
gem "sqlite3", "~> 1.4"
gem 'sqlite3', '~> 1.4'
# Use the Puma web server [https://github.com/puma/puma] # Use the Puma web server [https://github.com/puma/puma]
gem "puma", "~> 5.0"
gem 'puma', '~> 5.0'
# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails] # Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
gem "importmap-rails"
gem 'importmap-rails'
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev] # Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
gem "turbo-rails"
gem 'turbo-rails'
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev] # Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
gem "stimulus-rails"
gem 'stimulus-rails'
# Use Tailwind CSS [https://github.com/rails/tailwindcss-rails] # Use Tailwind CSS [https://github.com/rails/tailwindcss-rails]
gem "tailwindcss-rails"
gem 'tailwindcss-rails'
# Build JSON APIs with ease [https://github.com/rails/jbuilder] # Build JSON APIs with ease [https://github.com/rails/jbuilder]
gem "jbuilder"
gem 'jbuilder'
# Use Redis adapter to run Action Cable in production # Use Redis adapter to run Action Cable in production
# gem "redis", "~> 4.0" # gem "redis", "~> 4.0"
@ -40,14 +40,14 @@ gem "jbuilder"
# gem "bcrypt", "~> 3.1.7" # gem "bcrypt", "~> 3.1.7"
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ]
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
# Reduces boot times through caching; required in config/boot.rb # Reduces boot times through caching; required in config/boot.rb
gem "bootsnap", require: false
gem 'bootsnap', require: false
# Semantic logger for colorized output logging # Semantic logger for colorized output logging
gem "amazing_print"
gem "rails_semantic_logger"
gem 'amazing_print'
gem 'rails_semantic_logger'
# Use Sass to process CSS # Use Sass to process CSS
# gem "sassc-rails" # gem "sassc-rails"
@ -57,24 +57,27 @@ gem "rails_semantic_logger"
group :development, :test do group :development, :test do
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
gem "debug", platforms: %i[ mri mingw x64_mingw ]
gem 'debug', platforms: %i[mri mingw x64_mingw]
end end
group :development do group :development do
# Use console on exceptions pages [https://github.com/rails/web-console] # Use console on exceptions pages [https://github.com/rails/web-console]
gem "web-console"
gem 'web-console'
# Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler] # Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
# gem "rack-mini-profiler" # gem "rack-mini-profiler"
# Speed up commands on slow machines / big apps [https://github.com/rails/spring] # Speed up commands on slow machines / big apps [https://github.com/rails/spring]
# gem "spring" # gem "spring"
gem "rails_live_reload"
gem 'rails_live_reload'
gem 'rubocop'
gem 'rubocop-rails'
gem 'solargraph'
end end
group :test do group :test do
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing] # Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
gem "capybara"
gem "selenium-webdriver"
gem "webdrivers"
gem 'capybara'
gem 'selenium-webdriver'
gem 'webdrivers'
end end

57
Gemfile.lock

@ -69,6 +69,9 @@ GEM
addressable (2.8.4) addressable (2.8.4)
public_suffix (>= 2.0.2, < 6.0) public_suffix (>= 2.0.2, < 6.0)
amazing_print (1.5.0) amazing_print (1.5.0)
ast (2.4.2)
backport (1.2.0)
benchmark (0.2.1)
bindex (0.8.1) bindex (0.8.1)
bootsnap (1.16.0) bootsnap (1.16.0)
msgpack (~> 1.2) msgpack (~> 1.2)
@ -88,6 +91,8 @@ GEM
debug (1.8.0) debug (1.8.0)
irb (>= 1.5.0) irb (>= 1.5.0)
reline (>= 0.3.1) reline (>= 0.3.1)
diff-lcs (1.5.0)
e2mmap (0.1.0)
erubi (1.12.0) erubi (1.12.0)
ffi (1.15.5) ffi (1.15.5)
globalid (1.1.0) globalid (1.1.0)
@ -100,9 +105,15 @@ GEM
io-console (0.6.0) io-console (0.6.0)
irb (1.6.4) irb (1.6.4)
reline (>= 0.3.0) reline (>= 0.3.0)
jaro_winkler (1.5.6)
jbuilder (2.11.5) jbuilder (2.11.5)
actionview (>= 5.0.0) actionview (>= 5.0.0)
activesupport (>= 5.0.0) activesupport (>= 5.0.0)
json (2.6.3)
kramdown (2.4.0)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
listen (3.8.0) listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3) rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.10)
@ -132,6 +143,9 @@ GEM
nio4r (2.5.9) nio4r (2.5.9)
nokogiri (1.15.2-x86_64-linux) nokogiri (1.15.2-x86_64-linux)
racc (~> 1.4) racc (~> 1.4)
parallel (1.23.0)
parser (3.2.2.1)
ast (~> 2.4.1)
public_suffix (5.0.1) public_suffix (5.0.1)
puma (5.6.5) puma (5.6.5)
nio4r (~> 2.0) nio4r (~> 2.0)
@ -175,14 +189,35 @@ GEM
rake (>= 12.2) rake (>= 12.2)
thor (~> 1.0) thor (~> 1.0)
zeitwerk (~> 2.5) zeitwerk (~> 2.5)
rainbow (3.1.1)
rake (13.0.6) rake (13.0.6)
rb-fsevent (0.11.2) rb-fsevent (0.11.2)
rb-inotify (0.10.1) rb-inotify (0.10.1)
ffi (~> 1.0) ffi (~> 1.0)
rbs (2.8.4)
regexp_parser (2.8.0) regexp_parser (2.8.0)
reline (0.3.4) reline (0.3.4)
io-console (~> 0.5) io-console (~> 0.5)
reverse_markdown (2.1.1)
nokogiri
rexml (3.2.5) rexml (3.2.5)
rubocop (1.51.0)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 3.2.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.28.0, < 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-rails (2.19.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
ruby-progressbar (1.13.0)
rubyzip (2.3.2) rubyzip (2.3.2)
selenium-webdriver (4.9.1) selenium-webdriver (4.9.1)
rexml (~> 3.2, >= 3.2.5) rexml (~> 3.2, >= 3.2.5)
@ -190,6 +225,22 @@ GEM
websocket (~> 1.0) websocket (~> 1.0)
semantic_logger (4.13.0) semantic_logger (4.13.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
solargraph (0.49.0)
backport (~> 1.2)
benchmark
bundler (~> 2.0)
diff-lcs (~> 1.4)
e2mmap
jaro_winkler (~> 1.5)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.1)
parser (~> 3.0)
rbs (~> 2.0)
reverse_markdown (~> 2.0)
rubocop (~> 1.38)
thor (~> 1.0)
tilt (~> 2.0)
yard (~> 0.9, >= 0.9.24)
sprockets (4.2.0) sprockets (4.2.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
rack (>= 2.2.4, < 4) rack (>= 2.2.4, < 4)
@ -203,6 +254,7 @@ GEM
tailwindcss-rails (2.0.29-x86_64-linux) tailwindcss-rails (2.0.29-x86_64-linux)
railties (>= 6.0.0) railties (>= 6.0.0)
thor (1.2.2) thor (1.2.2)
tilt (2.1.0)
timeout (0.3.2) timeout (0.3.2)
turbo-rails (1.4.0) turbo-rails (1.4.0)
actionpack (>= 6.0.0) actionpack (>= 6.0.0)
@ -210,6 +262,7 @@ GEM
railties (>= 6.0.0) railties (>= 6.0.0)
tzinfo (2.0.6) tzinfo (2.0.6)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
unicode-display_width (2.4.2)
web-console (4.2.0) web-console (4.2.0)
actionview (>= 6.0.0) actionview (>= 6.0.0)
activemodel (>= 6.0.0) activemodel (>= 6.0.0)
@ -225,6 +278,7 @@ GEM
websocket-extensions (0.1.5) websocket-extensions (0.1.5)
xpath (3.2.0) xpath (3.2.0)
nokogiri (~> 1.8) nokogiri (~> 1.8)
yard (0.9.34)
zeitwerk (2.6.8) zeitwerk (2.6.8)
PLATFORMS PLATFORMS
@ -241,7 +295,10 @@ DEPENDENCIES
rails (~> 7.0.5) rails (~> 7.0.5)
rails_live_reload rails_live_reload
rails_semantic_logger rails_semantic_logger
rubocop
rubocop-rails
selenium-webdriver selenium-webdriver
solargraph
sprockets-rails sprockets-rails
sqlite3 (~> 1.4) sqlite3 (~> 1.4)
stimulus-rails stimulus-rails

6
app/controllers/application_controller.rb

@ -1,3 +1,6 @@
# frozen_string_literal: true
# Base Application
class ApplicationController < ActionController::Base class ApplicationController < ActionController::Base
MAX_DURATION_TO_COMPLETE_IN_SECONDS = 3 MAX_DURATION_TO_COMPLETE_IN_SECONDS = 3
@ -8,7 +11,8 @@ class ApplicationController < ActionController::Base
ensure ensure
duration = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start duration = Process.clock_gettime(Process::CLOCK_MONOTONIC) - start
if duration > MAX_DURATION_TO_COMPLETE_IN_SECONDS if duration > MAX_DURATION_TO_COMPLETE_IN_SECONDS
logger.warn("processing took too long to complete, please review your code as asynchronous job!", duration: duration * 1_000)
logger.warn('processing took too long to complete, please review your code as asynchronous job!',
duration: duration * 1_000)
end end
end end
end end

13
app/controllers/main_controller.rb

@ -1,18 +1,23 @@
# MainController for basic routes
class MainController < ApplicationController class MainController < ApplicationController
def home def home
logger.info "efficient logging for dark theme"
logger.info 'efficient logging for dark theme'
end end
def about def about
logger.debug "some debugging info"
logger.debug 'some debugging info'
logger.info "relevant information"
logger.info 'relevant information'
logger.info "multiline\nline2\nline3" logger.info "multiline\nline2\nline3"
logger.warn "a warning"
logger.warn 'a warning'
# logger.error "an error" # logger.error "an error"
# raise "this is an error" # raise "this is an error"
# sleep 3 # sleep 3
end end
def mymethod
puts 'hello world'
end
end end

4
app/views/main/home.html.erb

@ -1,8 +1,8 @@
<div> <div>
<h1 class="text-4xl font-bold">HOME</h1> <h1 class="text-4xl font-bold">HOME</h1>
<h2 class="text-2xl bg-gray-400">
<div class="text-2xl bg-gray-400">
this is a welcome message. this is a welcome message.
</h2>
</div>
<div class="italic text-2xl"> <div class="italic text-2xl">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur provident dolor quod laboriosam facere quas, excepturi quasi consequuntur quo pariatur recusandae, eaque doloremque voluptas, a commodi officia ducimus animi incidunt. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Aspernatur provident dolor quod laboriosam facere quas, excepturi quasi consequuntur quo pariatur recusandae, eaque doloremque voluptas, a commodi officia ducimus animi incidunt.
</div> </div>

6
test/controllers/main_controller_test.rb

@ -1,12 +1,12 @@
require "test_helper"
require 'test_helper'
class MainControllerTest < ActionDispatch::IntegrationTest class MainControllerTest < ActionDispatch::IntegrationTest
test "should get home" do
test 'should get home' do
get main_home_url get main_home_url
assert_response :success assert_response :success
end end
test "should get about" do
test 'should get about' do
get main_about_url get main_about_url
assert_response :success assert_response :success
end end

Loading…
Cancel
Save