diff --git a/.rubocop-https---relaxed-ruby-style-rubocop-yml b/.rubocop-https---relaxed-ruby-style-rubocop-yml new file mode 100644 index 0000000..d88ecd1 --- /dev/null +++ b/.rubocop-https---relaxed-ruby-style-rubocop-yml @@ -0,0 +1,174 @@ +# Relaxed.Ruby.Style +## Version 2.4 + +Style/Alias: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylealias + +Style/AsciiComments: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleasciicomments + +Style/BeginBlock: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylebeginblock + +Style/BlockDelimiters: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleblockdelimiters + +Style/CommentAnnotation: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylecommentannotation + +Style/Documentation: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styledocumentation + +Layout/DotPosition: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#layoutdotposition + +Style/DoubleNegation: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styledoublenegation + +Style/EndBlock: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleendblock + +Style/FormatString: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleformatstring + +Style/IfUnlessModifier: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleifunlessmodifier + +Style/Lambda: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylelambda + +Style/ModuleFunction: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylemodulefunction + +Style/MultilineBlockChain: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylemultilineblockchain + +Style/NegatedIf: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylenegatedif + +Style/NegatedWhile: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylenegatedwhile + +Style/NumericPredicate: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylenumericpredicate + +Style/ParallelAssignment: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleparallelassignment + +Style/PercentLiteralDelimiters: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylepercentliteraldelimiters + +Style/PerlBackrefs: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styleperlbackrefs + +Style/Semicolon: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylesemicolon + +Style/SignalException: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylesignalexception + +Style/SingleLineBlockParams: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylesinglelineblockparams + +Style/SingleLineMethods: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylesinglelinemethods + +Layout/SpaceBeforeBlockBraces: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#layoutspacebeforeblockbraces + +Layout/SpaceInsideParens: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#layoutspaceinsideparens + +Style/SpecialGlobalVars: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylespecialglobalvars + +Style/StringLiterals: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylestringliterals + +Style/TrailingCommaInArguments: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styletrailingcommainarguments + +Style/TrailingCommaInArrayLiteral: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styletrailingcommainarrayliteral + +Style/TrailingCommaInHashLiteral: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#styletrailingcommainhashliteral + +Style/SymbolArray: + Enabled: false + StyleGuide: http://relaxed.ruby.style/#stylesymbolarray + +Style/WhileUntilModifier: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylewhileuntilmodifier + +Style/WordArray: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#stylewordarray + +Lint/AmbiguousRegexpLiteral: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#lintambiguousregexpliteral + +Lint/AssignmentInCondition: + Enabled: false + StyleGuide: https://relaxed.ruby.style/#lintassignmentincondition + +Metrics/AbcSize: + Enabled: false + +Metrics/BlockNesting: + Enabled: false + +Metrics/ClassLength: + Enabled: false + +Metrics/ModuleLength: + Enabled: false + +Metrics/CyclomaticComplexity: + Enabled: false + +Metrics/LineLength: + Enabled: false + +Metrics/MethodLength: + Enabled: false + +Metrics/ParameterLists: + Enabled: false + +Metrics/PerceivedComplexity: + Enabled: false + diff --git a/.rubocop.yml b/.rubocop.yml index cd8d1a0..44d2a88 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,231 +1,38 @@ -# Relaxed.Ruby.Style +inherit_from: + - .rubocop_todo.yml + - https://relaxed.ruby.style/rubocop.yml -AllCops: - Exclude: - - 'spec/dummy/**/*' - - 'vendor/bundle/**/*' - TargetRubyVersion: 2.1 - -# Sometimes I believe this reads better -# This also causes spacing issues on multi-line fixes -Style/BracesAroundHashParameters: - Enabled: false - -# We use class vars and will have to continue doing so for compatability -Style/ClassVars: - Enabled: false - -# We need these names for backwards compatability -Style/PredicateName: - Enabled: false - -Style/AccessorMethodName: - Enabled: false - -# This has been used for customization -Style/MutableConstant: - Enabled: false - -Style/ClassAndModuleChildren: - Enabled: false - -Style/GuardClause: - Enabled: false - -Style/WordArray: - Enabled: false - -Style/ConditionalAssignment: - Enabled: false - -Performance/Count: - Enabled: false - -Style/RaiseArgs: - Enabled: false - -Style/OpMethod: - Enabled: false - -# We can use good judgement here -Style/RegexpLiteral: - Enabled: false - -# Unicode comments are useful -Style/AsciiComments: - Enabled: false - -Lint/EndAlignment: - Enabled: false - -Style/ElseAlignment: - Enabled: false - -Style/IndentationWidth: - Enabled: false -Style/AlignParameters: - Enabled: false -Style/ClosingParenthesisIndentation: - Enabled: false - -Style/MultilineMethodCallIndentation: - Enabled: false - -Style/IndentArray: - Enabled: false - -Style/IndentHash: - Enabled: false +require: rubocop-rspec -Style/AlignHash: - Enabled: false - -# From http://relaxed.ruby.style/ - -Style/Alias: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylealias - -Style/BeginBlock: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylebeginblock - -Style/BlockDelimiters: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styleblockdelimiters - -Style/Documentation: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styledocumentation - -Style/DotPosition: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styledotposition - -Style/DoubleNegation: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styledoublenegation - -Style/EndBlock: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styleendblock - -Style/FormatString: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styleformatstring - -Style/IfUnlessModifier: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styleifunlessmodifier - -Style/Lambda: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylelambda - -Style/ModuleFunction: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylemodulefunction - -Style/MultilineBlockChain: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylemultilineblockchain - -Style/NegatedIf: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylenegatedif - -Style/NegatedWhile: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylenegatedwhile - -Style/ParallelAssignment: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styleparallelassignment - -Style/PercentLiteralDelimiters: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylepercentliteraldelimiters - -Style/PerlBackrefs: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#styleperlbackrefs - -Style/Semicolon: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylesemicolon - -Style/SignalException: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylesignalexception - -Style/SingleLineBlockParams: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylesinglelineblockparams - -Style/SingleLineMethods: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylesinglelinemethods - -Style/SpaceBeforeBlockBraces: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylespacebeforeblockbraces - -Style/SpaceInsideParens: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylespaceinsideparens - -Style/SpecialGlobalVars: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylespecialglobalvars - -Style/StringLiterals: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylestringliterals - -Style/SymbolProc: - Enabled: false - -Style/WhileUntilModifier: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#stylewhileuntilmodifier - -Lint/AmbiguousRegexpLiteral: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#lintambiguousregexpliteral - -Lint/AssignmentInCondition: - Enabled: false - StyleGuide: http://relaxed.ruby.style/#lintassignmentincondition - -Lint/HandleExceptions: +AllCops: + TargetRubyVersion: 2.3 Exclude: - - 'Rakefile' - -Metrics/AbcSize: - Enabled: false + - spec/dummy/**/* -Metrics/BlockNesting: +RSpec/ExampleLength: Enabled: false -Metrics/ClassLength: - Enabled: false +RSpec/MultipleExpectations: + Enabled: true + Exclude: + - spec/features/**/* -Metrics/ModuleLength: +Metrics/BlockLength: Enabled: false -Metrics/CyclomaticComplexity: - Enabled: false +Layout/IndentFirstArgument: + EnforcedStyle: consistent -Metrics/LineLength: - Enabled: false +Layout/CaseIndentation: + EnforcedStyle: end -Metrics/MethodLength: - Enabled: false +Layout/EndAlignment: + EnforcedStyleAlignWith: start_of_line -Metrics/ParameterLists: - Enabled: false +Layout/IndentFirstArrayElement: + EnforcedStyle: consistent -Metrics/PerceivedComplexity: - Enabled: false +Layout/IndentFirstHashElement: + EnforcedStyle: consistent diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml new file mode 100644 index 0000000..3baa2bd --- /dev/null +++ b/.rubocop_todo.yml @@ -0,0 +1,91 @@ +# This configuration was generated by +# `rubocop --auto-gen-config` +# on 2019-09-13 10:26:56 +0200 using RuboCop version 0.74.0. +# The point is for the user to remove these configuration records +# one by one as the offenses are removed from the code base. +# Note that changes in the inspected code, or installation of new +# versions of RuboCop, may require this file to be generated again. + +# Offense count: 1 +# Configuration parameters: Include. +# Include: **/*.gemfile, **/Gemfile, **/gems.rb +Bundler/DuplicatedGem: + Exclude: + - 'Gemfile' + +# Offense count: 1 +# Configuration parameters: Include. +# Include: **/*.gemspec, +Gemspec/RequiredRubyVersion: + Exclude: + - 'solidus_quiet_logistics.gemspec' + +# Offense count: 1 +# Configuration parameters: AllowComments. +Lint/HandleExceptions: + Exclude: + - 'Rakefile' + +# Offense count: 4 +# Configuration parameters: Prefixes. +# Prefixes: when, with, without +RSpec/ContextWording: + Exclude: + - 'spec/features/admin/order/return_authorization_spec.rb' + - 'spec/solidus_quiet_logistics/outbound/document/shipment_order_spec.rb' + - 'spec/support/quiet_logistics_setup.rb' + +# Offense count: 1 +RSpec/DescribeClass: + Exclude: + - 'spec/integration/solidus_quiet_logistics/inbound/inventory_summary_ready_spec.rb' + +# Offense count: 7 +RSpec/LetSetup: + Exclude: + - 'spec/features/admin/order/push_shipment_order_spec.rb' + - 'spec/features/admin/order/return_authorization_spec.rb' + - 'spec/features/admin/shipping_method/form_spec.rb' + - 'spec/solidus_quiet_logistics/outbound/document/rma_document_spec.rb' + +# Offense count: 18 +# Configuration parameters: EnforcedStyle. +# SupportedStyles: have_received, receive +RSpec/MessageSpies: + Exclude: + - 'spec/features/admin/order/return_authorization_spec.rb' + - 'spec/jobs/solidus_quiet_logistics/inbound/process_message_job_spec.rb' + - 'spec/solidus_quiet_logistics/inbound/document/rma_result_document_spec.rb' + - 'spec/solidus_quiet_logistics/inbound/document/shipment_order_cancel_ready_spec.rb' + - 'spec/solidus_quiet_logistics/inbound/message_processor_spec.rb' + - 'spec/solidus_quiet_logistics/inbound/queue_poller_spec.rb' + +# Offense count: 13 +# Configuration parameters: AggregateFailuresByDefault. +RSpec/MultipleExpectations: + Max: 11 + +# Offense count: 20 +# Configuration parameters: IgnoreSharedExamples. +RSpec/NamedSubject: + Exclude: + - 'spec/integration/solidus_quiet_logistics/inbound/inventory_summary_ready_spec.rb' + - 'spec/jobs/solidus_quiet_logistics/inbound/process_message_job_spec.rb' + - 'spec/jobs/solidus_quiet_logistics/outbound/push_rma_document_job_spec.rb' + - 'spec/jobs/solidus_quiet_logistics/outbound/push_shipment_order_cancel_document_job_spec.rb' + - 'spec/jobs/solidus_quiet_logistics/outbound/push_shipment_order_document_job_spec.rb' + - 'spec/solidus_quiet_logistics/aws/credentials_spec.rb' + - 'spec/solidus_quiet_logistics/inbound/document/shipment_order_result_spec.rb' + - 'spec/solidus_quiet_logistics/inbound/message_processor_spec.rb' + - 'spec/solidus_quiet_logistics/inbound/queue_poller_spec.rb' + - 'spec/solidus_quiet_logistics/outbound/document_spec.rb' + +# Offense count: 8 +RSpec/NestedGroups: + Max: 4 + +# Offense count: 1 +# Configuration parameters: MinBodyLength. +Style/GuardClause: + Exclude: + - 'app/controllers/spree/admin/shipments_controller.rb' diff --git a/Gemfile b/Gemfile index 32acf9f..33adb5e 100644 --- a/Gemfile +++ b/Gemfile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + source 'https://rubygems.org' branch = ENV.fetch('SOLIDUS_BRANCH', 'master') diff --git a/Rakefile b/Rakefile index 1e92bfb..5525c81 100644 --- a/Rakefile +++ b/Rakefile @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'bundler' Bundler::GemHelper.install_tasks diff --git a/app/models/ql_message.rb b/app/models/ql_message.rb index 287e6a5..8d18aa7 100644 --- a/app/models/ql_message.rb +++ b/app/models/ql_message.rb @@ -1,2 +1,4 @@ +# frozen_string_literal: true + class QlMessage < ApplicationRecord end diff --git a/config/routes.rb b/config/routes.rb index 5d43774..c2203a9 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + Spree::Core::Engine.routes.draw do namespace :admin do resources :orders, only: [] do diff --git a/db/migrate/20190122142209_add_pushed_to_spree_shipment.rb b/db/migrate/20190122142209_add_pushed_to_spree_shipment.rb index 12b9305..9955d76 100644 --- a/db/migrate/20190122142209_add_pushed_to_spree_shipment.rb +++ b/db/migrate/20190122142209_add_pushed_to_spree_shipment.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class AddPushedToSpreeShipment < SolidusSupport::Migration[4.2] def change add_column :spree_shipments, :pushed, :boolean, default: false diff --git a/db/migrate/20190211133532_add_ql_cancellation_field_to_spree_shipment.rb b/db/migrate/20190211133532_add_ql_cancellation_field_to_spree_shipment.rb index ca903da..c8d03e8 100644 --- a/db/migrate/20190211133532_add_ql_cancellation_field_to_spree_shipment.rb +++ b/db/migrate/20190211133532_add_ql_cancellation_field_to_spree_shipment.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class AddQlCancellationFieldToSpreeShipment < SolidusSupport::Migration[4.2] def change add_column :spree_shipments, :ql_cancellation_sent, :datetime diff --git a/db/migrate/20190605123221_add_priority_to_spree_shipping_method.rb b/db/migrate/20190605123221_add_priority_to_spree_shipping_method.rb index 8db19ee..314f691 100644 --- a/db/migrate/20190605123221_add_priority_to_spree_shipping_method.rb +++ b/db/migrate/20190605123221_add_priority_to_spree_shipping_method.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class AddPriorityToSpreeShippingMethod < SolidusSupport::Migration[4.2] def change add_column :spree_shipping_methods, :priority, :string, default: 'STANDARD' diff --git a/db/migrate/20190611140852_add_pushed_to_spree_return_authorization.rb b/db/migrate/20190611140852_add_pushed_to_spree_return_authorization.rb index a12fe15..b55ebed 100644 --- a/db/migrate/20190611140852_add_pushed_to_spree_return_authorization.rb +++ b/db/migrate/20190611140852_add_pushed_to_spree_return_authorization.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class AddPushedToSpreeReturnAuthorization < SolidusSupport::Migration[4.2] def change add_column :spree_return_authorizations, :pushed, :boolean, default: false @@ -5,7 +7,7 @@ def change reversible do |dir| dir.up do Spree::ReturnAuthorization.all.each do |return_authorization| - if (SolidusQuietLogistics.configuration.enabled&.call(return_authorization.order)) + if SolidusQuietLogistics.configuration.enabled&.call(return_authorization.order) return_authorization.update!(pushed: true) end end diff --git a/db/migrate/20190612082744_add_ql_rma_sent_timestamp_to_spree_inventory_unit.rb b/db/migrate/20190612082744_add_ql_rma_sent_timestamp_to_spree_inventory_unit.rb index c31d087..7a17259 100644 --- a/db/migrate/20190612082744_add_ql_rma_sent_timestamp_to_spree_inventory_unit.rb +++ b/db/migrate/20190612082744_add_ql_rma_sent_timestamp_to_spree_inventory_unit.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class AddQlRMASentTimestampToSpreeInventoryUnit < SolidusSupport::Migration[4.2] def change add_column :spree_inventory_units, :ql_rma_sent, :datetime diff --git a/db/migrate/20190625073424_add_ql_rma_received_date_to_spree_inventory_unit.rb b/db/migrate/20190625073424_add_ql_rma_received_date_to_spree_inventory_unit.rb index 05be4d9..94d0e89 100644 --- a/db/migrate/20190625073424_add_ql_rma_received_date_to_spree_inventory_unit.rb +++ b/db/migrate/20190625073424_add_ql_rma_received_date_to_spree_inventory_unit.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class AddQlRMAReceivedDateToSpreeInventoryUnit < SolidusSupport::Migration[4.2] def change add_column :spree_inventory_units, :ql_rma_received, :datetime diff --git a/db/migrate/20190806122254_create_ql_messages.rb b/db/migrate/20190806122254_create_ql_messages.rb index d092848..4f6f151 100644 --- a/db/migrate/20190806122254_create_ql_messages.rb +++ b/db/migrate/20190806122254_create_ql_messages.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + class CreateQlMessages < SolidusSupport::Migration[4.2] def change create_table :ql_messages do |t| diff --git a/lib/generators/solidus_quiet_logistics/install/install_generator.rb b/lib/generators/solidus_quiet_logistics/install/install_generator.rb index 3307293..4344b70 100644 --- a/lib/generators/solidus_quiet_logistics/install/install_generator.rb +++ b/lib/generators/solidus_quiet_logistics/install/install_generator.rb @@ -1,7 +1,9 @@ +# frozen_string_literal: true + module SolidusQuietLogistics module Generators class InstallGenerator < Rails::Generators::Base - source_root File.expand_path('../../templates', __FILE__) + source_root File.expand_path('../templates', __dir__) class_option :auto_run_migrations, type: :boolean, default: false diff --git a/lib/generators/solidus_quiet_logistics/templates/resource/initializer.rb b/lib/generators/solidus_quiet_logistics/templates/resource/initializer.rb index 6e5b52c..493ea74 100644 --- a/lib/generators/solidus_quiet_logistics/templates/resource/initializer.rb +++ b/lib/generators/solidus_quiet_logistics/templates/resource/initializer.rb @@ -1,5 +1,7 @@ +# frozen_string_literal: true + SolidusQuietLogistics.configure do |config| - config.enabled = -> (order) { true } + config.enabled = ->(_order) { true } config.support_email = 'support@example.com' # Quiet Logistics configuration ( provided by QL ) diff --git a/lib/generators/solidus_quiet_logistics/templates/resource/ql-poller b/lib/generators/solidus_quiet_logistics/templates/resource/ql-poller old mode 100644 new mode 100755 index 557d2a0..d1669d2 --- a/lib/generators/solidus_quiet_logistics/templates/resource/ql-poller +++ b/lib/generators/solidus_quiet_logistics/templates/resource/ql-poller @@ -1,4 +1,5 @@ #!/usr/bin/env ruby +# frozen_string_literal: true APP_PATH = File.expand_path('../config/application', __dir__) diff --git a/lib/solidus_quiet_logistics.rb b/lib/solidus_quiet_logistics.rb index 27fd22a..0814d66 100644 --- a/lib/solidus_quiet_logistics.rb +++ b/lib/solidus_quiet_logistics.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + require 'solidus_core' require 'deface' @@ -44,7 +46,7 @@ class Configuration # AWS attr_accessor :aws_region, :aws_access_key_id, :aws_secret_access_key, - :aws_inbox_queue_url, :aws_inbox_bucket, :aws_outbox_bucket, :aws_outbox_queue_url + :aws_inbox_queue_url, :aws_inbox_bucket, :aws_outbox_bucket, :aws_outbox_queue_url # Custom fields attr_accessor :order_gift_message, :order_special_service_amount diff --git a/lib/solidus_quiet_logistics/engine.rb b/lib/solidus_quiet_logistics/engine.rb index d3d920f..aa4e96e 100644 --- a/lib/solidus_quiet_logistics/engine.rb +++ b/lib/solidus_quiet_logistics/engine.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module SolidusQuietLogistics class Engine < Rails::Engine require 'spree/core' diff --git a/lib/solidus_quiet_logistics/inbound/document/rma_result_document.rb b/lib/solidus_quiet_logistics/inbound/document/rma_result_document.rb index f1e1aae..f909eb8 100644 --- a/lib/solidus_quiet_logistics/inbound/document/rma_result_document.rb +++ b/lib/solidus_quiet_logistics/inbound/document/rma_result_document.rb @@ -6,7 +6,7 @@ class Document < SolidusQuietLogistics::Document class RMAResultDocument < SolidusQuietLogistics::Inbound::Document class RMAItem attr_reader :line, :number, :quantity, :product_status, :order_number, - :notes + :notes class << self def from_element(line) @@ -22,7 +22,7 @@ def from_element(line) end def initialize(line:, number:, quantity:, product_status:, - order_number:, notes: '') + order_number:, notes: '') @line = line @number = number @@ -72,9 +72,9 @@ def process def return_authorization_items(return_items) return_items.flat_map do |item| return_authorization.return_items - .where(acceptance_status: 'pending') - .joins(inventory_unit: :variant) - .where(spree_variants: { sku: item.number }).limit(item.quantity) + .where(acceptance_status: 'pending') + .joins(inventory_unit: :variant) + .where(spree_variants: { sku: item.number }).limit(item.quantity) end end diff --git a/lib/solidus_quiet_logistics/inbound/document/shipment_order_cancel_ready.rb b/lib/solidus_quiet_logistics/inbound/document/shipment_order_cancel_ready.rb index 5bed3fd..2b37549 100644 --- a/lib/solidus_quiet_logistics/inbound/document/shipment_order_cancel_ready.rb +++ b/lib/solidus_quiet_logistics/inbound/document/shipment_order_cancel_ready.rb @@ -17,7 +17,7 @@ def from_xml(body) end attr_reader :shipment_number, :cancellation_status, :date_cancelled, - :shipment + :shipment def initialize(shipment_number:, cancellation_status:, date_cancelled: Time.now) @shipment_number = shipment_number diff --git a/lib/solidus_quiet_logistics/inbound/document/shipment_order_result.rb b/lib/solidus_quiet_logistics/inbound/document/shipment_order_result.rb index 5469369..0ebadaf 100644 --- a/lib/solidus_quiet_logistics/inbound/document/shipment_order_result.rb +++ b/lib/solidus_quiet_logistics/inbound/document/shipment_order_result.rb @@ -127,8 +127,8 @@ def send_shipment_emails(shipped_cartons) orders.each do |order| Spree::Config.carton_shipped_email_class - .multi_shipped_email(order: order, cartons: shipped_cartons) - .deliver_later + .multi_shipped_email(order: order, cartons: shipped_cartons) + .deliver_later end end end diff --git a/lib/solidus_quiet_logistics/version.rb b/lib/solidus_quiet_logistics/version.rb index ed74e37..493bebf 100644 --- a/lib/solidus_quiet_logistics/version.rb +++ b/lib/solidus_quiet_logistics/version.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module SolidusQuietLogistics VERSION = '0.0.1' end diff --git a/lib/tasks/ql_message.rake b/lib/tasks/ql_message.rake index c9c5914..a2990a2 100644 --- a/lib/tasks/ql_message.rake +++ b/lib/tasks/ql_message.rake @@ -5,6 +5,6 @@ namespace :ql_message do task cancel_old_messages: :environment do QlMessage.where('created_at > ?', 90.days.ago) - .where(success: true).destroy_all + .where(success: true).destroy_all end end diff --git a/solidus_quiet_logistics.gemspec b/solidus_quiet_logistics.gemspec index db6f039..485a0a2 100644 --- a/solidus_quiet_logistics.gemspec +++ b/solidus_quiet_logistics.gemspec @@ -1,5 +1,6 @@ -# encoding: UTF-8 -$:.push File.expand_path('../lib', __FILE__) +# frozen_string_literal: true + +$:.push File.expand_path('lib', __dir__) require 'solidus_quiet_logistics/version' Gem::Specification.new do |s| @@ -17,21 +18,21 @@ Gem::Specification.new do |s| s.files = Dir["{app,config,db,lib}/**/*", 'LICENSE', 'Rakefile', 'README.md'] s.test_files = Dir['test/**/*'] - s.add_dependency 'solidus', ['>= 1.1', '< 3'] s.add_dependency 'aws-sdk', '~> 3' s.add_dependency 'deface', '~> 1.3' + s.add_dependency 'solidus', ['>= 1.1', '< 3'] s.add_development_dependency 'capybara' - s.add_development_dependency 'webdrivers' s.add_development_dependency 'coffee-rails' - s.add_development_dependency 'sass-rails' s.add_development_dependency 'database_cleaner' s.add_development_dependency 'factory_bot' + s.add_development_dependency 'ffaker' + s.add_development_dependency 'pry' s.add_development_dependency 'rspec-rails' s.add_development_dependency 'rubocop' s.add_development_dependency 'rubocop-rspec' + s.add_development_dependency 'sass-rails' s.add_development_dependency 'simplecov' s.add_development_dependency 'sqlite3' - s.add_development_dependency 'ffaker' - s.add_development_dependency 'pry' + s.add_development_dependency 'webdrivers' end diff --git a/spec/features/admin/order/return_authorization_spec.rb b/spec/features/admin/order/return_authorization_spec.rb index f21a8be..f9f4f91 100644 --- a/spec/features/admin/order/return_authorization_spec.rb +++ b/spec/features/admin/order/return_authorization_spec.rb @@ -11,7 +11,7 @@ let(:shipment) { order.shipments.first } let(:quiet_logistics_enabled) { true } - def fill_in_rma(stock_location) + def fill_in_rma(_stock_location) expect(page).to have_css '[data-hook="admin_return_authorization_form_fields"]' find('#select-all').set true @@ -31,7 +31,7 @@ def fill_in_rma(stock_location) allow(SolidusQuietLogistics.configuration) .to receive(:enabled) - .and_return(proc { |order| quiet_logistics_enabled }) + .and_return(proc { |_order| quiet_logistics_enabled }) end describe 'The create RMA button on the whole order' do @@ -103,7 +103,7 @@ def fill_in_rma(stock_location) find_all('.shipment-rma').first.click expect(page).to have_selector('.return-items-table tbody tr', - count: shipment.inventory_units.count) + count: shipment.inventory_units.count) expect(SolidusQuietLogistics::Outbound::PushRMADocumentJob).to receive(:perform_later) fill_in_rma(shipment.stock_location) diff --git a/spec/mailers/solidus_quiet_logistics/inbound/rma_mailer_spec.rb b/spec/mailers/solidus_quiet_logistics/inbound/rma_mailer_spec.rb index 43aacf6..e74856d 100644 --- a/spec/mailers/solidus_quiet_logistics/inbound/rma_mailer_spec.rb +++ b/spec/mailers/solidus_quiet_logistics/inbound/rma_mailer_spec.rb @@ -9,13 +9,11 @@ let(:return_items) do [ create(:return_item, - inventory_unit: create(:inventory_unit, order: create(:order)), - return_authorization: return_authorization, - ), + inventory_unit: create(:inventory_unit, order: create(:order)), + return_authorization: return_authorization,), create(:return_item, - inventory_unit: create(:inventory_unit, order: create(:order)), - return_authorization: return_authorization, - ), + inventory_unit: create(:inventory_unit, order: create(:order)), + return_authorization: return_authorization,), ] end diff --git a/spec/solidus_quiet_logistics/inbound/document/rma_result_document_spec.rb b/spec/solidus_quiet_logistics/inbound/document/rma_result_document_spec.rb index dad5b2b..ceb8b41 100644 --- a/spec/solidus_quiet_logistics/inbound/document/rma_result_document_spec.rb +++ b/spec/solidus_quiet_logistics/inbound/document/rma_result_document_spec.rb @@ -80,21 +80,18 @@ def parse_items(document) let!(:good_return_item) do create(:return_item, - inventory_unit: create(:inventory_unit, order: create(:order), state: 'shipped'), - return_authorization: return_authorization, - ) + inventory_unit: create(:inventory_unit, order: create(:order), state: 'shipped'), + return_authorization: return_authorization,) end let!(:damaged_return_item) do create(:return_item, - inventory_unit: create(:inventory_unit, order: create(:order), state: 'shipped'), - return_authorization: return_authorization, - ) + inventory_unit: create(:inventory_unit, order: create(:order), state: 'shipped'), + return_authorization: return_authorization,) end let!(:incorrect_return_item) do create(:return_item, - inventory_unit: create(:inventory_unit, order: create(:order), state: 'shipped'), - return_authorization: return_authorization, - ) + inventory_unit: create(:inventory_unit, order: create(:order), state: 'shipped'), + return_authorization: return_authorization,) end let(:rma_document_to_customer_mailer) { instance_double('ActionMailer::Delivery') } @@ -114,7 +111,6 @@ def parse_items(document) end it 'refunds the correct return items and sends an email to the support for the incorrect return items' do - expect(rma_document_to_customer_mailer).to receive(:deliver_later) expect(rma_document_to_suppport_mailer).to receive(:deliver_later) diff --git a/spec/solidus_quiet_logistics/outbound/document/shipment_order_spec.rb b/spec/solidus_quiet_logistics/outbound/document/shipment_order_spec.rb index e31fb1e..049d0b1 100644 --- a/spec/solidus_quiet_logistics/outbound/document/shipment_order_spec.rb +++ b/spec/solidus_quiet_logistics/outbound/document/shipment_order_spec.rb @@ -77,7 +77,7 @@ before do allow(SolidusQuietLogistics.configuration) .to receive(:order_gift_message) - .and_return(proc { |order| gift_message }) + .and_return(proc { |_order| gift_message }) end it 'checks XML string is correct' do @@ -87,7 +87,7 @@ context 'without gift message' do it 'checks XML string is correct' do - expect(document).to eq(xml.gsub(/\s{4}<\/Comments>\n/, "")) + expect(document).to eq(xml.gsub(%r{\s{4}\n}, "")) end end @@ -95,7 +95,7 @@ before do allow(SolidusQuietLogistics.configuration) .to receive(:order_special_service_amount) - .and_return(proc { |shipment| 'SIGNATURE' }) + .and_return(proc { |_shipment| 'SIGNATURE' }) end it 'XML document contains the special service node' do diff --git a/spec/solidus_quiet_logistics/outbound/message_spec.rb b/spec/solidus_quiet_logistics/outbound/message_spec.rb index 3082b2e..63551f5 100644 --- a/spec/solidus_quiet_logistics/outbound/message_spec.rb +++ b/spec/solidus_quiet_logistics/outbound/message_spec.rb @@ -43,7 +43,7 @@ def send_message(options) message.send_to_sqs expect(sqs_client.sent_messages).to match_array([ - queue_url: SolidusQuietLogistics.configuration.aws_outbox_queue_url, + queue_url: SolidusQuietLogistics.configuration.aws_outbox_queue_url, message_body: an_instance_of(String), ]) end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 18a1fd4..41504d5 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + # Run Coverage report require 'simplecov' SimpleCov.start do @@ -13,7 +15,7 @@ # Configure Rails Environment ENV['RAILS_ENV'] = 'test' -require File.expand_path('../dummy/config/environment.rb', __FILE__) +require File.expand_path('dummy/config/environment.rb', __dir__) require 'rspec/rails' require 'database_cleaner' @@ -78,13 +80,13 @@ end # Before each spec check if it is a Javascript test and switch between using database transactions or not where necessary. - config.before :each do + config.before do DatabaseCleaner.strategy = RSpec.current_example.metadata[:js] ? :truncation : :transaction DatabaseCleaner.start end # After each spec clean the database. - config.after :each do + config.after do DatabaseCleaner.clean end diff --git a/spec/support/attribute_setup.rb b/spec/support/attribute_setup.rb index e914dca..0168496 100644 --- a/spec/support/attribute_setup.rb +++ b/spec/support/attribute_setup.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true SolidusQuietLogistics.configure do |config| - config.enabled = -> (order) { true } + config.enabled = ->(_order) { true } config.client_id = 'client_id' config.business_unit = 'business_unit'