diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 415e733c91..f33a0d0218 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -77,60 +77,12 @@ Style/ClassVars: Exclude: - 'lib/money/currency.rb' -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle. -# SupportedStyles: compact, expanded -Style/EmptyMethod: - Exclude: - - 'lib/money/bank/base.rb' - -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedStyle, EnforcedShorthandSyntax, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. -# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys -# SupportedShorthandSyntax: always, never, either, consistent, either_consistent -Style/HashSyntax: - Exclude: - - 'spec/currency_spec.rb' - # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowIfModifier. Style/IfInsideElse: Exclude: - 'lib/money/bank/variable_exchange.rb' -# This cop supports unsafe autocorrection (--autocorrect-all). -Style/MapIntoArray: - Exclude: - - 'spec/currency_spec.rb' - -# This cop supports safe autocorrection (--autocorrect). -Style/NegatedIfElseCondition: - Exclude: - - 'lib/money/money/arithmetic.rb' - -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: EnforcedOctalStyle. -# SupportedOctalStyles: zero_with_o, zero_only -Style/NumericLiteralPrefix: - Exclude: - - 'spec/money_spec.rb' - -# This cop supports safe autocorrection (--autocorrect). -# Configuration parameters: PreferredDelimiters. -Style/PercentLiteralDelimiters: - Exclude: - - 'spec/money/arithmetic_spec.rb' - -# This cop supports safe autocorrection (--autocorrect). -Style/WhileUntilDo: - Exclude: - - 'lib/money/money/allocation.rb' - -# This cop supports unsafe autocorrection (--autocorrect-all). -Style/ZeroLengthPredicate: - Exclude: - - 'lib/money/money/formatting_rules.rb' - # This cop supports safe autocorrection (--autocorrect). # Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings. # URISchemes: http, https diff --git a/lib/money/bank/base.rb b/lib/money/bank/base.rb index 9d0b8ee00f..e9d73bee47 100644 --- a/lib/money/bank/base.rb +++ b/lib/money/bank/base.rb @@ -78,8 +78,7 @@ def initialize(&block) # +Money::Bank+ class. # # @return [self] - def setup - end + def setup; end # Exchanges the given +Money+ object to a new +Money+ object in # +to_currency+. diff --git a/lib/money/money/allocation.rb b/lib/money/money/allocation.rb index 111193676a..9ef208a7f8 100644 --- a/lib/money/money/allocation.rb +++ b/lib/money/money/allocation.rb @@ -45,7 +45,7 @@ def self.generate(amount, parts, decimal_cutoff = true) parts_sum = parts.sum - until parts.empty? do + until parts.empty? part = parts.pop current_split = 0 diff --git a/lib/money/money/arithmetic.rb b/lib/money/money/arithmetic.rb index 4ebd3c2a0f..06a500521e 100644 --- a/lib/money/money/arithmetic.rb +++ b/lib/money/money/arithmetic.rb @@ -340,7 +340,7 @@ def zero? # Money.new(100).nonzero? #=> # # Money.new(0).nonzero? #=> nil def nonzero? - fractional != 0 ? self : nil + fractional == 0 ? nil : self end # Used to make Money instance handle the operations when arguments order is reversed diff --git a/lib/money/money/formatting_rules.rb b/lib/money/money/formatting_rules.rb index 7df5c3f117..abc821b90d 100644 --- a/lib/money/money/formatting_rules.rb +++ b/lib/money/money/formatting_rules.rb @@ -34,7 +34,7 @@ def has_key?(key) # # @return [Hash] def normalize_formatting_rules(rules) - if rules.size == 0 + if rules.empty? rules = {} elsif rules.size == 1 rules = rules.pop diff --git a/spec/currency_spec.rb b/spec/currency_spec.rb index 33b8cfa43e..186de1be30 100644 --- a/spec/currency_spec.rb +++ b/spec/currency_spec.rb @@ -243,6 +243,7 @@ def to_s end end + # rubocop:disable Style/MapIntoArray describe ".each" do it "yields each currency to the block" do expect(described_class).to respond_to(:each) @@ -257,6 +258,7 @@ def to_s expect(currencies[-1]).to eq described_class.all[-1] end end + # rubocop:enable Style/MapIntoArray it "implements Enumerable" do expect(described_class).to respond_to(:all?) @@ -483,13 +485,13 @@ def to_s cad = described_class.find(:cad) described_class.register( - :priority => 100, - :iso_code => cad.iso_code, - :name => cad.name, - :subunit => cad.subunit, - :subunit_to_unit => cad.subunit_to_unit, - :thousands_separator => cad.thousands_separator, - :decimal_mark => modified_mark, + priority: 100, + iso_code: cad.iso_code, + name: cad.name, + subunit: cad.subunit, + subunit_to_unit: cad.subunit_to_unit, + thousands_separator: cad.thousands_separator, + decimal_mark: modified_mark, ) end diff --git a/spec/money/arithmetic_spec.rb b/spec/money/arithmetic_spec.rb index 112f5e9fe8..5f1a4f7266 100644 --- a/spec/money/arithmetic_spec.rb +++ b/spec/money/arithmetic_spec.rb @@ -853,7 +853,7 @@ end end - %w(+ - / divmod remainder).each do |op| + %w[+ - / divmod remainder].each do |op| describe "##{op}" do let(:instance) { Money.usd(1) } diff --git a/spec/money_spec.rb b/spec/money_spec.rb index 020eab79e0..c079d702e4 100644 --- a/spec/money_spec.rb +++ b/spec/money_spec.rb @@ -931,7 +931,7 @@ it "keeps subclasses intact" do special_money_class = Class.new(Money) - expect(special_money_class.new(005).allocate([1]).first).to be_a special_money_class + expect(special_money_class.new(5).allocate([1]).first).to be_a special_money_class end context "with infinite_precision", :default_infinite_precision_true do