Fixes Rubocop Offenses

This commit is contained in:
Muhammad Nawzad 2023-03-06 16:20:35 +03:00
parent 918d4f9700
commit 8c408fe7f6
No known key found for this signature in database
GPG Key ID: B954B6AAE33940B2
15 changed files with 62 additions and 58 deletions

View File

@ -111,3 +111,7 @@ Metrics/CyclomaticComplexity:
Max: 15 Max: 15
Metrics/PerceivedComplexity: Metrics/PerceivedComplexity:
Max: 15 Max: 15
Lint/DuplicateMethods: # Disables duplicate methods warning
Enabled: false
Gemspec/RequiredRubyVersion: # Disables required ruby version warning
Enabled: false

View File

@ -1,15 +1,15 @@
# frozen_string_literal: true # frozen_string_literal: true
source "https://rubygems.org" source 'https://rubygems.org'
# Specify your gem's dependencies in outboxable.gemspec # Specify your gem's dependencies in outboxable.gemspec
gemspec gemspec
gem "rake", "~> 13.0" gem 'rake', '~> 13.0'
gem "rspec", "~> 3.0" gem 'rspec', '~> 3.0'
gem "rubocop-rails", "~> 2.18" gem 'rubocop-rails', '~> 2.18'
gem 'sidekiq-cron', '~> 1.9' gem 'sidekiq-cron', '~> 1.9'

View File

@ -1,11 +1,11 @@
# frozen_string_literal: true # frozen_string_literal: true
require "bundler/gem_tasks" require 'bundler/gem_tasks'
require "rspec/core/rake_task" require 'rspec/core/rake_task'
RSpec::Core::RakeTask.new(:spec) RSpec::Core::RakeTask.new(:spec)
require "rubocop/rake_task" require 'rubocop/rake_task'
RuboCop::RakeTask.new RuboCop::RakeTask.new

View File

@ -2,7 +2,7 @@ module Outboxable
class InstallGenerator < Rails::Generators::Base class InstallGenerator < Rails::Generators::Base
include Rails::Generators::Migration include Rails::Generators::Migration
source_root File.expand_path('../../../templates', __FILE__) source_root File.expand_path('../../templates', __dir__)
# Copy initializer into user app # Copy initializer into user app
def copy_initializer def copy_initializer
@ -11,26 +11,26 @@ module Outboxable
# Copy user information (model & Migrations) into user app # Copy user information (model & Migrations) into user app
def create_user_model def create_user_model
target_path = "app/models/outbox.rb" target_path = 'app/models/outbox.rb'
unless File.exist?(File.join(Rails.root, target_path)) if Rails.root.join(target_path).exist?
template("outbox.rb", target_path) say_status('skipped', 'Model outbox already exists')
else else
say_status('skipped', "Model outbox already exists") template('outbox.rb', target_path)
end end
end end
# Copy migrations # Copy migrations
def copy_migrations def copy_migrations
if self.class.migration_exists?('db/migrate', "create_outboxable_outboxes") if self.class.migration_exists?('db/migrate', 'create_outboxable_outboxes')
say_status('skipped', "Migration create_outboxable_outboxes already exists") say_status('skipped', 'Migration create_outboxable_outboxes already exists')
else else
migration_template('create_outboxable_outboxes.rb', "db/migrate/create_outboxable_outboxes.rb") migration_template('create_outboxable_outboxes.rb', 'db/migrate/create_outboxable_outboxes.rb')
end end
end end
# Use to assign migration time otherwise generator will error # Use to assign migration time otherwise generator will error
def self.next_migration_number(dir) def self.next_migration_number(_dir)
Time.now.utc.strftime("%Y%m%d%H%M%S") Time.now.utc.strftime('%Y%m%d%H%M%S')
end end
end end
end end

View File

@ -1,6 +1,6 @@
# frozen_string_literal: true # frozen_string_literal: true
require_relative "outboxable/version" require_relative 'outboxable/version'
require 'outboxable/worker' require 'outboxable/worker'
require 'outboxable/publishing_manager' require 'outboxable/publishing_manager'
@ -10,7 +10,6 @@ require 'outboxable/configuration'
require 'outboxable/rabbitmq/publisher' require 'outboxable/rabbitmq/publisher'
require 'active_support' require 'active_support'
module Outboxable module Outboxable
class Error < StandardError; end class Error < StandardError; end
@ -22,7 +21,7 @@ module Outboxable
has_many :outboxes, as: :outboxable, autosave: false has_many :outboxes, as: :outboxable, autosave: false
def instantiate_outbox(routing_key: ) def instantiate_outbox(routing_key:)
outboxes.new( outboxes.new(
routing_key:, routing_key:,
exchange: Outboxable.configuration.rabbitmq_event_bus_exchange, exchange: Outboxable.configuration.rabbitmq_event_bus_exchange,

View File

@ -7,7 +7,7 @@ module Outboxable
def to_envelope(resource:) def to_envelope(resource:)
# throw not implemented method error # throw not implemented method error
raise NotImplementedError, "Please implement the to_envelope method in your own module" raise NotImplementedError, 'Please implement the to_envelope method in your own module'
end end
def publish def publish

View File

@ -1,5 +1,5 @@
# frozen_string_literal: true # frozen_string_literal: true
module Outboxable module Outboxable
VERSION = "0.1.1" VERSION = '0.1.1'
end end

View File

@ -1,24 +1,24 @@
# frozen_string_literal: true # frozen_string_literal: true
require_relative "lib/outboxable/version" require_relative 'lib/outboxable/version'
Gem::Specification.new do |spec| Gem::Specification.new do |spec|
spec.name = "outboxable" spec.name = 'outboxable'
spec.version = Outboxable::VERSION spec.version = Outboxable::VERSION
spec.authors = ["Brusk Awat"] spec.authors = ['Brusk Awat']
spec.email = ["broosk.edogawa@gmail.com"] spec.email = ['broosk.edogawa@gmail.com']
spec.summary = "An opiniated Gem for Rails applications to implement the transactional outbox pattern." spec.summary = 'An opiniated Gem for Rails applications to implement the transactional outbox pattern.'
spec.description = "The Outboxable Gem is tailored for Rails applications to implement the transactional outbox pattern. It currently only supports ActiveRecord." spec.description = 'The Outboxable Gem is tailored for Rails applications to implement the transactional outbox pattern. It currently only supports ActiveRecord.'
spec.homepage = "https://github.com/broosk1993/outboxable" spec.homepage = 'https://github.com/broosk1993/outboxable'
spec.license = "MIT" spec.license = 'MIT'
spec.required_ruby_version = ">= 2.6.0" spec.required_ruby_version = '>= 2.6.0'
spec.metadata['allowed_push_host'] = 'https://rubygems.org' spec.metadata['allowed_push_host'] = 'https://rubygems.org'
spec.metadata["homepage_uri"] = spec.homepage spec.metadata['homepage_uri'] = spec.homepage
spec.metadata["source_code_uri"] = "https://github.com/broosk1993/outboxable" spec.metadata['source_code_uri'] = 'https://github.com/broosk1993/outboxable'
spec.metadata["changelog_uri"] = "https://github.com/broosk1993/outboxable/blob/main/CHANGELOG.md" spec.metadata['changelog_uri'] = 'https://github.com/broosk1993/outboxable/blob/main/CHANGELOG.md'
# Specify which files should be added to the gem when it is released. # Specify which files should be added to the gem when it is released.
# The `git ls-files -z` loads the files in the RubyGem that have been added into git. # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@ -27,10 +27,11 @@ Gem::Specification.new do |spec|
(f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor)}) (f == __FILE__) || f.match(%r{\A(?:(?:bin|test|spec|features)/|\.(?:git|circleci)|appveyor)})
end end
end end
spec.bindir = "exe" spec.bindir = 'exe'
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) } spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
spec.require_paths = ["lib"] spec.require_paths = ['lib']
spec.add_dependency 'bunny', '>= 2.19.0' spec.add_dependency 'bunny', '>= 2.19.0'
spec.add_dependency 'connection_pool', '~> 2.3.0' spec.add_dependency 'connection_pool', '~> 2.3.0'
spec.metadata['rubygems_mfa_required'] = 'true'
end end

View File

@ -1,11 +1,11 @@
# frozen_string_literal: true # frozen_string_literal: true
RSpec.describe Outboxable do RSpec.describe Outboxable do
it "has a version number" do it 'has a version number' do
expect(Outboxable::VERSION).not_to be nil expect(Outboxable::VERSION).not_to be nil
end end
it "does something useful" do it 'does something useful' do
expect(true).to eq(true) expect(true).to eq(true)
end end
end end

View File

@ -1,10 +1,10 @@
# frozen_string_literal: true # frozen_string_literal: true
require "outboxable" require 'outboxable'
RSpec.configure do |config| RSpec.configure do |config|
# Enable flags like --only-failures and --next-failure # Enable flags like --only-failures and --next-failure
config.example_status_persistence_file_path = ".rspec_status" config.example_status_persistence_file_path = '.rspec_status'
# Disable RSpec exposing methods globally on `Module` and `main` # Disable RSpec exposing methods globally on `Module` and `main`
config.disable_monkey_patching! config.disable_monkey_patching!