From 4c23a0b0073262c6f23fd4f61d83f7855452bc35 Mon Sep 17 00:00:00 2001 From: Takuma Ishikawa Date: Thu, 18 Apr 2024 15:30:47 +0900 Subject: [PATCH 1/2] Lint by RuboCop New rules are introduced for Ruby 3.1 --- app/batches/import_table_definitions.rb | 2 +- app/batches/synchronize_data_sources.rb | 2 +- app/controllers/data_sources_controller.rb | 2 +- app/controllers/database_memos_controller.rb | 2 +- app/controllers/favorite_tables_controller.rb | 4 ++-- app/controllers/schema_memos_controller.rb | 2 +- app/controllers/table_memos_controller.rb | 2 +- app/models/concerns/description_logger.rb | 2 +- spec/factories/data_source_factory.rb | 2 +- .../autoload/html/pipeline/autolink_keyword_filter_spec.rb | 2 +- spec/models/autolink_keyword_spec.rb | 6 +++--- spec/models/data_source_spec.rb | 4 ++-- spec/requests/data_sources_spec.rb | 4 ++-- spec/requests/favorite_tables_spec.rb | 4 ++-- spec/requests/ignored_tables_spec.rb | 2 +- spec/requests/schema_memos_spec.rb | 2 +- spec/requests/settings_spec.rb | 4 ++-- spec/requests/users_spec.rb | 2 +- spec/spec_helpers/request_spec_helper.rb | 4 ++-- 19 files changed, 27 insertions(+), 27 deletions(-) diff --git a/app/batches/import_table_definitions.rb b/app/batches/import_table_definitions.rb index f7183378..f76e0e51 100644 --- a/app/batches/import_table_definitions.rb +++ b/app/batches/import_table_definitions.rb @@ -36,7 +36,7 @@ def self.import_column_memos!(source_table, table_memo) columns.each_with_index do |column, position| column_memo = column_memos.find { |memo| memo.name == column.name } || table_memo.column_memos.build(name: column.name) column_memo.linked = true - column_memo.assign_attributes(sql_type: column.sql_type, default: column.default, nullable: column.null, position: position) + column_memo.assign_attributes(sql_type: column.sql_type, default: column.default, nullable: column.null, position:) column_memo.save! if column_memo.has_changes_to_save? Rails.logger.info "[Update Column] #{column_memo.name} column" if column_memo.saved_changes? diff --git a/app/batches/synchronize_data_sources.rb b/app/batches/synchronize_data_sources.rb index ed234117..20c55d9d 100644 --- a/app/batches/synchronize_data_sources.rb +++ b/app/batches/synchronize_data_sources.rb @@ -47,7 +47,7 @@ def self.import_table_memo!(schema_memo, table_memos, source_table) columns.each_with_index do |column, position| column_memo = column_memos.find { |memo| memo.name == column.name } || table_memo.column_memos.build(name: column.name) column_memo.linked = true - column_memo.assign_attributes(sql_type: column.sql_type, default: column.default, nullable: column.null, position: position) + column_memo.assign_attributes(sql_type: column.sql_type, default: column.default, nullable: column.null, position:) column_memo.save! if column_memo.changed? end diff --git a/app/controllers/data_sources_controller.rb b/app/controllers/data_sources_controller.rb index 902a76b8..c5c5bb6e 100644 --- a/app/controllers/data_sources_controller.rb +++ b/app/controllers/data_sources_controller.rb @@ -111,6 +111,6 @@ def create_or_update_bigquery_config(data_source) bigquery_config_params[:credentials] = bigquery_config_params[:credentials].read end - BigqueryConfig.find_or_initialize_by(data_source: data_source).update!(bigquery_config_params) + BigqueryConfig.find_or_initialize_by(data_source:).update!(bigquery_config_params) end end diff --git a/app/controllers/database_memos_controller.rb b/app/controllers/database_memos_controller.rb index 6a23a1ae..51c87d9c 100644 --- a/app/controllers/database_memos_controller.rb +++ b/app/controllers/database_memos_controller.rb @@ -35,6 +35,6 @@ def destroy(id) def redirect_named_path(id = nil) return unless id =~ /\A\d+\z/ - redirect_to database_memo_path(DatabaseMemo.where(id: id).pluck(:name).first) + redirect_to database_memo_path(DatabaseMemo.where(id:).pluck(:name).first) end end diff --git a/app/controllers/favorite_tables_controller.rb b/app/controllers/favorite_tables_controller.rb index 6515d502..23831247 100644 --- a/app/controllers/favorite_tables_controller.rb +++ b/app/controllers/favorite_tables_controller.rb @@ -1,10 +1,10 @@ class FavoriteTablesController < ApplicationController def create(table_memo_id) - @favorite_table = FavoriteTable.create!(user_id: current_user.id, table_memo_id: table_memo_id) + @favorite_table = FavoriteTable.create!(user_id: current_user.id, table_memo_id:) end def destroy(table_memo_id) - @favorite_table = FavoriteTable.find_by!(user_id: current_user.id, table_memo_id: table_memo_id) + @favorite_table = FavoriteTable.find_by!(user_id: current_user.id, table_memo_id:) @favorite_table.destroy! end end diff --git a/app/controllers/schema_memos_controller.rb b/app/controllers/schema_memos_controller.rb index 27765862..e8d46395 100644 --- a/app/controllers/schema_memos_controller.rb +++ b/app/controllers/schema_memos_controller.rb @@ -4,7 +4,7 @@ class SchemaMemosController < ApplicationController before_action :redirect_named_path, only: :show def show(database_name, name) - @schema_memo = SchemaMemo.includes(table_memos: [:logs, :column_memos]).joins(:database_memo).merge(DatabaseMemo.where(name: database_name)).where(name: name).take! + @schema_memo = SchemaMemo.includes(table_memos: [:logs, :column_memos]).joins(:database_memo).merge(DatabaseMemo.where(name: database_name)).where(name:).take! redirect_to database_memo_path(@schema_memo.database_memo.name) if @schema_memo.single_schema? end diff --git a/app/controllers/table_memos_controller.rb b/app/controllers/table_memos_controller.rb index 74440104..8e2509f8 100644 --- a/app/controllers/table_memos_controller.rb +++ b/app/controllers/table_memos_controller.rb @@ -8,7 +8,7 @@ def show(database_name, schema_name, name) includes(column_memos: :logs). joins(:schema_memo). merge(SchemaMemo.where(name: schema_name).joins(:database_memo).merge(DatabaseMemo.where(name: database_name))). - where(name: name). + where(name:). take! @view_meta_data = @table_memo.view_meta_data end diff --git a/app/models/concerns/description_logger.rb b/app/models/concerns/description_logger.rb index 4f21c049..755be614 100644 --- a/app/models/concerns/description_logger.rb +++ b/app/models/concerns/description_logger.rb @@ -7,7 +7,7 @@ def build_log(user_id) current_revision = last_log.try(:revision).to_i logs.build( revision: current_revision + 1, - user_id: user_id, + user_id:, description: self.description, description_diff: diff(last_log.try(:description), self.description), ) diff --git a/spec/factories/data_source_factory.rb b/spec/factories/data_source_factory.rb index fe84f10d..204d0221 100644 --- a/spec/factories/data_source_factory.rb +++ b/spec/factories/data_source_factory.rb @@ -14,7 +14,7 @@ trait :bigquery_adapter do adapter { "bigquery" } after(:create) do |data_source| - FactoryBot.create(:bigquery_config, data_source: data_source) + FactoryBot.create(:bigquery_config, data_source:) end end end diff --git a/spec/lib/autoload/html/pipeline/autolink_keyword_filter_spec.rb b/spec/lib/autoload/html/pipeline/autolink_keyword_filter_spec.rb index a657ac6b..33b211ba 100644 --- a/spec/lib/autoload/html/pipeline/autolink_keyword_filter_spec.rb +++ b/spec/lib/autoload/html/pipeline/autolink_keyword_filter_spec.rb @@ -2,7 +2,7 @@ describe HTML::Pipeline::AutolinkKeywordFilter do describe "#call" do - let(:filter) { HTML::Pipeline::AutolinkKeywordFilter.new(doc, autolink_keywords: autolink_keywords) } + let(:filter) { HTML::Pipeline::AutolinkKeywordFilter.new(doc, autolink_keywords:) } let(:doc) { Nokogiri::HTML::DocumentFragment.parse(html) } let(:autolink_keywords) { { "ruby" => "https://www.ruby-lang.org/", diff --git a/spec/models/autolink_keyword_spec.rb b/spec/models/autolink_keyword_spec.rb index 00ee6f8f..5f436f6d 100644 --- a/spec/models/autolink_keyword_spec.rb +++ b/spec/models/autolink_keyword_spec.rb @@ -3,9 +3,9 @@ describe AutolinkKeyword, type: :model do describe ".links" do let(:database_memo) { FactoryBot.create(:database_memo, name: "db") } - let(:schema_memo) { FactoryBot.create(:schema_memo, database_memo: database_memo, name: "myapp") } + let(:schema_memo) { FactoryBot.create(:schema_memo, database_memo:, name: "myapp") } before do - FactoryBot.create(:table_memo, schema_memo: schema_memo, name: "books") + FactoryBot.create(:table_memo, schema_memo:, name: "books") FactoryBot.create(:keyword, name: "difficult-word", description: "Difficult!") end @@ -24,7 +24,7 @@ "myapp.books" => "/databases/db/myapp/books", "difficult-word" => "/keywords/difficult-word", ) - memo = FactoryBot.create(:table_memo, schema_memo: schema_memo, name: "blogs") + memo = FactoryBot.create(:table_memo, schema_memo:, name: "blogs") expect(AutolinkKeyword.links).to eq( "books" => "/databases/db/myapp/books", "myapp.books" => "/databases/db/myapp/books", diff --git a/spec/models/data_source_spec.rb b/spec/models/data_source_spec.rb index a831a011..f0b8d111 100644 --- a/spec/models/data_source_spec.rb +++ b/spec/models/data_source_spec.rb @@ -31,12 +31,12 @@ context "with ignored pattern" do it "ignores specified table" do - FactoryBot.create(:ignored_table, data_source: data_source, pattern: "data_sources") + FactoryBot.create(:ignored_table, data_source:, pattern: "data_sources") expect(data_source.data_source_tables.map(&:table_name)).not_to include("data_sources") end it "ignores specified schema" do - FactoryBot.create(:ignored_table, data_source: data_source, pattern: "public") + FactoryBot.create(:ignored_table, data_source:, pattern: "public") expect(data_source.data_source_tables.map(&:table_name)).to eq [] end end diff --git a/spec/requests/data_sources_spec.rb b/spec/requests/data_sources_spec.rb index d737e07f..420f7251 100644 --- a/spec/requests/data_sources_spec.rb +++ b/spec/requests/data_sources_spec.rb @@ -69,8 +69,8 @@ describe "#edit" do let!(:data_source) { FactoryBot.create(:data_source) } - let!(:database_memo) { FactoryBot.create(:database_memo, name: "db", data_source: data_source) } - let!(:schema_memo) { FactoryBot.create(:schema_memo, database_memo: database_memo, name: "myapp") } + let!(:database_memo) { FactoryBot.create(:database_memo, data_source:, name: "db") } + let!(:schema_memo) { FactoryBot.create(:schema_memo, database_memo:, name: "myapp") } it "shows form" do get edit_data_source_path(data_source) diff --git a/spec/requests/favorite_tables_spec.rb b/spec/requests/favorite_tables_spec.rb index 4ccff2e1..22fb03c9 100644 --- a/spec/requests/favorite_tables_spec.rb +++ b/spec/requests/favorite_tables_spec.rb @@ -4,7 +4,7 @@ let(:user) { FactoryBot.create(:user) } let(:table_memo) { FactoryBot.create(:table_memo) } before do - login!(user: user) + login!(user:) end describe "#create" do @@ -19,7 +19,7 @@ describe "#destroy" do before do - FactoryBot.create(:favorite_table, user: user, table_memo: table_memo) + FactoryBot.create(:favorite_table, user:, table_memo:) end it "destroys favorite table" do diff --git a/spec/requests/ignored_tables_spec.rb b/spec/requests/ignored_tables_spec.rb index 37ef0423..f878593a 100644 --- a/spec/requests/ignored_tables_spec.rb +++ b/spec/requests/ignored_tables_spec.rb @@ -3,7 +3,7 @@ describe :ignored_tables, type: :request do let(:user) { FactoryBot.create(:user, admin: true) } before do - login!(user: user) + login!(user:) end describe "#index" do diff --git a/spec/requests/schema_memos_spec.rb b/spec/requests/schema_memos_spec.rb index e281f382..7cc486c5 100644 --- a/spec/requests/schema_memos_spec.rb +++ b/spec/requests/schema_memos_spec.rb @@ -10,7 +10,7 @@ describe "#show" do context "with multiple schemas" do before do - FactoryBot.create(:schema_memo, database_memo: database_memo) + FactoryBot.create(:schema_memo, database_memo:) end it "shows memo" do diff --git a/spec/requests/settings_spec.rb b/spec/requests/settings_spec.rb index 36244481..ab27270b 100644 --- a/spec/requests/settings_spec.rb +++ b/spec/requests/settings_spec.rb @@ -3,9 +3,9 @@ describe :settings, type: :request do let(:user) { FactoryBot.create(:user) } let(:data_source) { FactoryBot.create(:data_source, name: "test_ds") } - let!(:ignored_table) { FactoryBot.create(:ignored_table, data_source: data_source) } + let!(:ignored_table) { FactoryBot.create(:ignored_table, data_source:) } before do - login!(user: user) + login!(user:) end describe "#show" do diff --git a/spec/requests/users_spec.rb b/spec/requests/users_spec.rb index f7d8ba90..634d02e1 100644 --- a/spec/requests/users_spec.rb +++ b/spec/requests/users_spec.rb @@ -3,7 +3,7 @@ describe :users, type: :request do let(:user) { FactoryBot.create(:user) } before do - login!(user: user) + login!(user:) end describe "#index" do diff --git a/spec/spec_helpers/request_spec_helper.rb b/spec/spec_helpers/request_spec_helper.rb index 14b759e4..48cb102b 100644 --- a/spec/spec_helpers/request_spec_helper.rb +++ b/spec/spec_helpers/request_spec_helper.rb @@ -9,11 +9,11 @@ def self.last_response=(response) def set_rack_session(hash) data = ::RackSessionAccess.encode(hash) - put RackSessionAccess.path, params: { data: data } + put RackSessionAccess.path, params: { data: } end def login!(user: nil, admin: false) - user ||= FactoryBot.create(:user, admin: admin) + user ||= FactoryBot.create(:user, admin:) set_rack_session(user_id: user.id) end From 596161d2cae4859504b9c752435c9457e09865ce Mon Sep 17 00:00:00 2001 From: Takuma Ishikawa Date: Thu, 18 Apr 2024 15:35:02 +0900 Subject: [PATCH 2/2] ci: Run CI with Ruby 3.1 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index bd0d5efd..98b617e2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -31,7 +31,7 @@ jobs: cache: 'npm' - uses: ruby/setup-ruby@v1 with: - ruby-version: '3.0' + ruby-version: .ruby-version bundler-cache: true - name: Setup DB run: bin/rails db:create ridgepole:apply