diff --git a/Gemfile b/Gemfile index 792f5cb..f9b353a 100644 --- a/Gemfile +++ b/Gemfile @@ -17,10 +17,11 @@ gem "bootsnap", require: false # gem "image_processing", "~> 1.2" group :development, :test do - gem "debug", platforms: %i[ mri mingw x64_mingw ] + gem "debug", platforms: %i[mri mingw x64_mingw] end group :development do + gem "standard" gem "web-console" end diff --git a/Gemfile.lock b/Gemfile.lock index c0a9e2c..f52c78a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -68,6 +68,7 @@ GEM tzinfo (~> 2.0) addressable (2.8.1) public_suffix (>= 2.0.2, < 6.0) + ast (2.4.2) bindex (0.8.1) bootsnap (1.14.0) msgpack (~> 1.2) @@ -102,6 +103,8 @@ GEM jbuilder (2.11.5) actionview (>= 5.0.0) activesupport (>= 5.0.0) + json (2.6.3) + language_server-protocol (3.17.0.3) loofah (2.19.1) crass (~> 1.0.2) nokogiri (>= 1.5.9) @@ -128,6 +131,9 @@ GEM nio4r (2.5.8) nokogiri (1.14.2-x86_64-linux) racc (~> 1.4) + parallel (1.22.1) + parser (3.2.1.1) + ast (~> 2.4.1) public_suffix (5.0.0) puma (6.1.1) nio4r (~> 2.0) @@ -161,11 +167,28 @@ GEM rake (>= 12.2) thor (~> 1.0) zeitwerk (~> 2.5) + rainbow (3.1.1) rake (13.0.6) regexp_parser (2.6.1) reline (0.3.1) io-console (~> 0.5) rexml (3.2.5) + rubocop (1.44.1) + 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.24.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 2.4.0, < 3.0) + rubocop-ast (1.27.0) + parser (>= 3.2.1.0) + rubocop-performance (1.15.2) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + ruby-progressbar (1.13.0) rubyzip (2.3.2) selenium-webdriver (4.6.1) childprocess (>= 0.5, < 5.0) @@ -180,6 +203,10 @@ GEM activesupport (>= 5.2) sprockets (>= 3.0.0) sqlite3 (1.6.1-x86_64-linux) + standard (1.24.3) + language_server-protocol (~> 3.17.0.2) + rubocop (= 1.44.1) + rubocop-performance (= 1.15.2) stimulus-rails (1.1.1) railties (>= 6.0.0) tailwindcss-rails (2.0.21-x86_64-linux) @@ -192,6 +219,7 @@ GEM railties (>= 6.0.0) tzinfo (2.0.5) concurrent-ruby (~> 1.0) + unicode-display_width (2.4.2) web-console (4.2.0) actionview (>= 6.0.0) activemodel (>= 6.0.0) @@ -223,6 +251,7 @@ DEPENDENCIES selenium-webdriver sprockets-rails sqlite3 + standard stimulus-rails tailwindcss-rails (~> 2.0) turbo-rails diff --git a/app/controllers/credit_card_bills_controller.rb b/app/controllers/credit_card_bills_controller.rb index 8c41a88..d1f027a 100644 --- a/app/controllers/credit_card_bills_controller.rb +++ b/app/controllers/credit_card_bills_controller.rb @@ -1,5 +1,5 @@ class CreditCardBillsController < ApplicationController - before_action :set_credit_card_bill, only: %i[ show edit update destroy ] + before_action :set_credit_card_bill, only: %i[show edit update destroy] # GET /credit_card_bills or /credit_card_bills.json def index @@ -58,13 +58,14 @@ class CreditCardBillsController < ApplicationController end private - # Use callbacks to share common setup or constraints between actions. - def set_credit_card_bill - @credit_card_bill = CreditCardBill.find(params[:id]) - end - # Only allow a list of trusted parameters through. - def credit_card_bill_params - params.require(:credit_card_bill).permit(:description, :amount) - end + # Use callbacks to share common setup or constraints between actions. + def set_credit_card_bill + @credit_card_bill = CreditCardBill.find(params[:id]) + end + + # Only allow a list of trusted parameters through. + def credit_card_bill_params + params.require(:credit_card_bill).permit(:description, :amount) + end end diff --git a/app/controllers/expenses_controller.rb b/app/controllers/expenses_controller.rb index 34fb814..e5aa320 100644 --- a/app/controllers/expenses_controller.rb +++ b/app/controllers/expenses_controller.rb @@ -1,5 +1,5 @@ class ExpensesController < ApplicationController - before_action :set_expense, only: %i[ show edit update destroy ] + before_action :set_expense, only: %i[show edit update destroy] # GET /expenses or /expenses.json def index @@ -58,13 +58,14 @@ class ExpensesController < ApplicationController end private - # Use callbacks to share common setup or constraints between actions. - def set_expense - @expense = Expense.find(params[:id]) - end - # Only allow a list of trusted parameters through. - def expense_params - params.require(:expense).permit(:description, :payment, :period, :credit_card, :estimated) - end + # Use callbacks to share common setup or constraints between actions. + def set_expense + @expense = Expense.find(params[:id]) + end + + # Only allow a list of trusted parameters through. + def expense_params + params.require(:expense).permit(:description, :payment, :period, :credit_card, :estimated) + end end diff --git a/app/controllers/incomes_controller.rb b/app/controllers/incomes_controller.rb index 2623267..c7cee9e 100644 --- a/app/controllers/incomes_controller.rb +++ b/app/controllers/incomes_controller.rb @@ -1,5 +1,5 @@ class IncomesController < ApplicationController - before_action :set_income, only: %i[ show edit update destroy ] + before_action :set_income, only: %i[show edit update destroy] # GET /incomes or /incomes.json def index @@ -58,13 +58,14 @@ class IncomesController < ApplicationController end private - # Use callbacks to share common setup or constraints between actions. - def set_income - @income = Income.find(params[:id]) - end - # Only allow a list of trusted parameters through. - def income_params - params.require(:income).permit(:description, :included, :amount, :member_id) - end + # Use callbacks to share common setup or constraints between actions. + def set_income + @income = Income.find(params[:id]) + end + + # Only allow a list of trusted parameters through. + def income_params + params.require(:income).permit(:description, :included, :amount, :member_id) + end end diff --git a/app/controllers/members_controller.rb b/app/controllers/members_controller.rb index 6052ca8..647cec5 100644 --- a/app/controllers/members_controller.rb +++ b/app/controllers/members_controller.rb @@ -1,5 +1,5 @@ class MembersController < ApplicationController - before_action :set_member, only: %i[ show edit update destroy ] + before_action :set_member, only: %i[show edit update destroy] # GET /members or /members.json def index @@ -58,13 +58,14 @@ class MembersController < ApplicationController end private - # Use callbacks to share common setup or constraints between actions. - def set_member - @member = Member.find(params[:id]) - end - # Only allow a list of trusted parameters through. - def member_params - params.require(:member).permit(:name, :pays) - end + # Use callbacks to share common setup or constraints between actions. + def set_member + @member = Member.find(params[:id]) + end + + # Only allow a list of trusted parameters through. + def member_params + params.require(:member).permit(:name, :pays) + end end diff --git a/app/models/expense.rb b/app/models/expense.rb index 3e38e34..9f7c413 100644 --- a/app/models/expense.rb +++ b/app/models/expense.rb @@ -3,7 +3,7 @@ class Expense < ApplicationRecord monthly: 12, annually: 1, weekly: 52, - quarterly: 4, + quarterly: 4 }.freeze enum :period, PERIOD_OCCURENCES.keys diff --git a/config/environments/production.rb b/config/environments/production.rb index 3196e5f..b75b764 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -13,7 +13,7 @@ Rails.application.configure do config.eager_load = true # Full error reports are disabled and caching is turned on. - config.consider_all_requests_local = false + config.consider_all_requests_local = false config.action_controller.perform_caching = true # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"] @@ -53,7 +53,7 @@ Rails.application.configure do config.log_level = :info # Prepend all log lines with the following tags. - config.log_tags = [ :request_id ] + config.log_tags = [:request_id] # Use a different cache store in production. # config.cache_store = :mem_cache_store @@ -83,9 +83,9 @@ Rails.application.configure do # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name") if ENV["RAILS_LOG_TO_STDOUT"].present? - logger = ActiveSupport::Logger.new(STDOUT) + logger = ActiveSupport::Logger.new($stdout) logger.formatter = config.log_formatter - config.logger = ActiveSupport::TaggedLogging.new(logger) + config.logger = ActiveSupport::TaggedLogging.new(logger) end # Do not dump schema after migrations. diff --git a/config/environments/test.rb b/config/environments/test.rb index 6ea4d1e..9de8427 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -23,7 +23,7 @@ Rails.application.configure do } # Show full error reports and disable caching. - config.consider_all_requests_local = true + config.consider_all_requests_local = true config.action_controller.perform_caching = false config.cache_store = :null_store diff --git a/config/puma.rb b/config/puma.rb index daaf036..ce4878f 100644 --- a/config/puma.rb +++ b/config/puma.rb @@ -4,7 +4,7 @@ # the maximum value specified for Puma. Default is set to 5 threads for minimum # and maximum; this matches the default thread size of Active Record. # -max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 } +max_threads_count = ENV.fetch("RAILS_MAX_THREADS", 5) min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count } threads min_threads_count, max_threads_count @@ -15,7 +15,7 @@ worker_timeout 3600 if ENV.fetch("RAILS_ENV", "development") == "development" # Specifies the `port` that Puma will listen on to receive requests; default is 3000. # -port ENV.fetch("PORT") { 3000 } +port ENV.fetch("PORT", 3000) # Specifies the `environment` that Puma will run in. # diff --git a/test/controllers/credit_card_bills_controller_test.rb b/test/controllers/credit_card_bills_controller_test.rb index 85a7106..6f4a29c 100644 --- a/test/controllers/credit_card_bills_controller_test.rb +++ b/test/controllers/credit_card_bills_controller_test.rb @@ -17,7 +17,7 @@ class CreditCardBillsControllerTest < ActionDispatch::IntegrationTest test "should create credit_card_bill" do assert_difference("CreditCardBill.count") do - post credit_card_bills_url, params: { credit_card_bill: { amount: @credit_card_bill.amount, description: @credit_card_bill.description } } + post credit_card_bills_url, params: {credit_card_bill: {amount: @credit_card_bill.amount, description: @credit_card_bill.description}} end assert_redirected_to credit_card_bill_url(CreditCardBill.last) @@ -34,7 +34,7 @@ class CreditCardBillsControllerTest < ActionDispatch::IntegrationTest end test "should update credit_card_bill" do - patch credit_card_bill_url(@credit_card_bill), params: { credit_card_bill: { amount: @credit_card_bill.amount, description: @credit_card_bill.description } } + patch credit_card_bill_url(@credit_card_bill), params: {credit_card_bill: {amount: @credit_card_bill.amount, description: @credit_card_bill.description}} assert_redirected_to credit_card_bill_url(@credit_card_bill) end diff --git a/test/controllers/expenses_controller_test.rb b/test/controllers/expenses_controller_test.rb index 49c2498..4f218a6 100644 --- a/test/controllers/expenses_controller_test.rb +++ b/test/controllers/expenses_controller_test.rb @@ -17,7 +17,7 @@ class ExpensesControllerTest < ActionDispatch::IntegrationTest test "should create expense" do assert_difference("Expense.count") do - post expenses_url, params: { expense: { credit_card: @expense.credit_card, description: @expense.description, estimated: @expense.estimated, payment: @expense.payment, period: @expense.period } } + post expenses_url, params: {expense: {credit_card: @expense.credit_card, description: @expense.description, estimated: @expense.estimated, payment: @expense.payment, period: @expense.period}} end assert_redirected_to expense_url(Expense.last) @@ -34,7 +34,7 @@ class ExpensesControllerTest < ActionDispatch::IntegrationTest end test "should update expense" do - patch expense_url(@expense), params: { expense: { credit_card: @expense.credit_card, description: @expense.description, estimated: @expense.estimated, payment: @expense.payment, period: @expense.period } } + patch expense_url(@expense), params: {expense: {credit_card: @expense.credit_card, description: @expense.description, estimated: @expense.estimated, payment: @expense.payment, period: @expense.period}} assert_redirected_to expense_url(@expense) end diff --git a/test/controllers/incomes_controller_test.rb b/test/controllers/incomes_controller_test.rb index cb07fbd..361a2f4 100644 --- a/test/controllers/incomes_controller_test.rb +++ b/test/controllers/incomes_controller_test.rb @@ -17,7 +17,7 @@ class IncomesControllerTest < ActionDispatch::IntegrationTest test "should create income" do assert_difference("Income.count") do - post incomes_url, params: { income: { amount: @income.amount, description: @income.description, included: @income.included, member_id: @income.member_id } } + post incomes_url, params: {income: {amount: @income.amount, description: @income.description, included: @income.included, member_id: @income.member_id}} end assert_redirected_to income_url(Income.last) @@ -34,7 +34,7 @@ class IncomesControllerTest < ActionDispatch::IntegrationTest end test "should update income" do - patch income_url(@income), params: { income: { amount: @income.amount, description: @income.description, included: @income.included, member_id: @income.member_id } } + patch income_url(@income), params: {income: {amount: @income.amount, description: @income.description, included: @income.included, member_id: @income.member_id}} assert_redirected_to income_url(@income) end diff --git a/test/controllers/members_controller_test.rb b/test/controllers/members_controller_test.rb index ac2b771..c04df44 100644 --- a/test/controllers/members_controller_test.rb +++ b/test/controllers/members_controller_test.rb @@ -17,7 +17,7 @@ class MembersControllerTest < ActionDispatch::IntegrationTest test "should create member" do assert_difference("Member.count") do - post members_url, params: { member: { name: @member.name, pays: @member.pays } } + post members_url, params: {member: {name: @member.name, pays: @member.pays}} end assert_redirected_to member_url(Member.last) @@ -34,7 +34,7 @@ class MembersControllerTest < ActionDispatch::IntegrationTest end test "should update member" do - patch member_url(@member), params: { member: { name: @member.name, pays: @member.pays } } + patch member_url(@member), params: {member: {name: @member.name, pays: @member.pays}} assert_redirected_to member_url(@member) end