inertia186/radiator

View on GitHub
lib/radiator/transaction.rb

Summary

Maintainability
D
2 days
Test Coverage

Class has too many lines. [262/100]
Open

  class Transaction
    include ChainConfig
    include Utils

    VALID_OPTIONS = %w(
Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop checks if the length a class exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Method has too many lines. [48/10]
Open

    def initialize(options = {})
      options = options.dup
      options.each do |k, v|
        k = k.to_sym
        if VALID_OPTIONS.include?(k.to_sym)
Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Method prepare has a Cognitive Complexity of 37 (exceeds 5 allowed). Consider refactoring.
Open

    def prepare
      raise TransactionError, "No wif or private key." unless !!@wif || !!@private_key

      @payload = nil

Severity: Minor
Found in lib/radiator/transaction.rb - About 5 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Assignment Branch Condition size for initialize is too high. [48.72/15]
Open

    def initialize(options = {})
      options = options.dup
      options.each do |k, v|
        k = k.to_sym
        if VALID_OPTIONS.include?(k.to_sym)
Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Assignment Branch Condition size for prepare is too high. [47.35/15]
Open

    def prepare
      raise TransactionError, "No wif or private key." unless !!@wif || !!@private_key

      @payload = nil

Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Method has too many lines. [36/10]
Open

    def process(broadcast = false)
      prepare

      if broadcast
        loop do
Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Method has too many lines. [32/10]
Open

    def prepare
      raise TransactionError, "No wif or private key." unless !!@wif || !!@private_key

      @payload = nil

Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Method finalize has a Cognitive Complexity of 28 (exceeds 5 allowed). Consider refactoring.
Open

    def self.finalize(api, network_broadcast_api, self_logger, logger)
      proc {
        if !!api && !api.stopped?
          puts "DESTROY: #{api.inspect}" if ENV['LOG'] == 'TRACE'
          api.shutdown
Severity: Minor
Found in lib/radiator/transaction.rb - About 4 hrs to fix

Cognitive Complexity

Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

A method's cognitive complexity is based on a few simple rules:

  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
  • Code is considered more complex for each "break in the linear flow of the code"
  • Code is considered more complex when "flow breaking structures are nested"

Further reading

Assignment Branch Condition size for finalize is too high. [27.89/15]
Open

    def self.finalize(api, network_broadcast_api, self_logger, logger)
      proc {
        if !!api && !api.stopped?
          puts "DESTROY: #{api.inspect}" if ENV['LOG'] == 'TRACE'
          api.shutdown
Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Method has too many lines. [21/10]
Open

    def self.finalize(api, network_broadcast_api, self_logger, logger)
      proc {
        if !!api && !api.stopped?
          puts "DESTROY: #{api.inspect}" if ENV['LOG'] == 'TRACE'
          api.shutdown
Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

Perceived complexity for prepare is too high. [18/7]
Open

    def prepare
      raise TransactionError, "No wif or private key." unless !!@wif || !!@private_key

      @payload = nil

Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop tries to produce a complexity score that's a measure of the complexity the reader experiences when looking at a method. For that reason it considers when nodes as something that doesn't add as much complexity as an if or a &&. Except if it's one of those special case/when constructs where there's no expression after case. Then the cop treats it as an if/elsif/elsif... and lets all the when nodes count. In contrast to the CyclomaticComplexity cop, this cop considers else nodes as adding complexity.

Example:

def my_method                   # 1
  if cond                       # 1
    case var                    # 2 (0.8 + 4 * 0.2, rounded)
    when 1 then func_one
    when 2 then func_two
    when 3 then func_three
    when 4..10 then func_other
    end
  else                          # 1
    do_something until a && b   # 2
  end                           # ===
end                             # 7 complexity points

Cyclomatic complexity for prepare is too high. [16/6]
Open

    def prepare
      raise TransactionError, "No wif or private key." unless !!@wif || !!@private_key

      @payload = nil

Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

Assignment Branch Condition size for process is too high. [25.96/15]
Open

    def process(broadcast = false)
      prepare

      if broadcast
        loop do
Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

Cyclomatic complexity for finalize is too high. [13/6]
Open

    def self.finalize(api, network_broadcast_api, self_logger, logger)
      proc {
        if !!api && !api.stopped?
          puts "DESTROY: #{api.inspect}" if ENV['LOG'] == 'TRACE'
          api.shutdown
Severity: Minor
Found in lib/radiator/transaction.rb by rubocop

This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

File transaction.rb has 269 lines of code (exceeds 250 allowed). Consider refactoring.
Open

require 'bitcoin'
require 'digest'
require 'time'

module Radiator
Severity: Minor
Found in lib/radiator/transaction.rb - About 2 hrs to fix

    Perceived complexity for finalize is too high. [13/7]
    Open

        def self.finalize(api, network_broadcast_api, self_logger, logger)
          proc {
            if !!api && !api.stopped?
              puts "DESTROY: #{api.inspect}" if ENV['LOG'] == 'TRACE'
              api.shutdown
    Severity: Minor
    Found in lib/radiator/transaction.rb by rubocop

    This cop tries to produce a complexity score that's a measure of the complexity the reader experiences when looking at a method. For that reason it considers when nodes as something that doesn't add as much complexity as an if or a &&. Except if it's one of those special case/when constructs where there's no expression after case. Then the cop treats it as an if/elsif/elsif... and lets all the when nodes count. In contrast to the CyclomaticComplexity cop, this cop considers else nodes as adding complexity.

    Example:

    def my_method                   # 1
      if cond                       # 1
        case var                    # 2 (0.8 + 4 * 0.2, rounded)
        when 1 then func_one
        when 2 then func_two
        when 3 then func_three
        when 4..10 then func_other
        end
      else                          # 1
        do_something until a && b   # 2
      end                           # ===
    end                             # 7 complexity points

    Method initialize has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
    Open

        def initialize(options = {})
          options = options.dup
          options.each do |k, v|
            k = k.to_sym
            if VALID_OPTIONS.include?(k.to_sym)
    Severity: Minor
    Found in lib/radiator/transaction.rb - About 2 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Method process has a Cognitive Complexity of 17 (exceeds 5 allowed). Consider refactoring.
    Open

        def process(broadcast = false)
          prepare
    
          if broadcast
            loop do
    Severity: Minor
    Found in lib/radiator/transaction.rb - About 2 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Perceived complexity for initialize is too high. [12/7]
    Open

        def initialize(options = {})
          options = options.dup
          options.each do |k, v|
            k = k.to_sym
            if VALID_OPTIONS.include?(k.to_sym)
    Severity: Minor
    Found in lib/radiator/transaction.rb by rubocop

    This cop tries to produce a complexity score that's a measure of the complexity the reader experiences when looking at a method. For that reason it considers when nodes as something that doesn't add as much complexity as an if or a &&. Except if it's one of those special case/when constructs where there's no expression after case. Then the cop treats it as an if/elsif/elsif... and lets all the when nodes count. In contrast to the CyclomaticComplexity cop, this cop considers else nodes as adding complexity.

    Example:

    def my_method                   # 1
      if cond                       # 1
        case var                    # 2 (0.8 + 4 * 0.2, rounded)
        when 1 then func_one
        when 2 then func_two
        when 3 then func_three
        when 4..10 then func_other
        end
      else                          # 1
        do_something until a && b   # 2
      end                           # ===
    end                             # 7 complexity points

    Cyclomatic complexity for initialize is too high. [10/6]
    Open

        def initialize(options = {})
          options = options.dup
          options.each do |k, v|
            k = k.to_sym
            if VALID_OPTIONS.include?(k.to_sym)
    Severity: Minor
    Found in lib/radiator/transaction.rb by rubocop

    This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

    An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

    Assignment Branch Condition size for canonical? is too high. [18.71/15]
    Open

        def canonical?(sig)
          sig = sig.unpack('C*')
    
          !(
            ((sig[0] & 0x80 ) != 0) || ( sig[0] == 0 ) ||
    Severity: Minor
    Found in lib/radiator/transaction.rb by rubocop

    This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

    Method initialize has 48 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        def initialize(options = {})
          options = options.dup
          options.each do |k, v|
            k = k.to_sym
            if VALID_OPTIONS.include?(k.to_sym)
    Severity: Minor
    Found in lib/radiator/transaction.rb - About 1 hr to fix

      Cyclomatic complexity for shutdown is too high. [8/6]
      Open

          def shutdown
            @api.shutdown if !!@api
            @network_broadcast_api.shutdown if !!@network_broadcast_api
      
            if @self_logger
      Severity: Minor
      Found in lib/radiator/transaction.rb by rubocop

      This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

      An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

      Assignment Branch Condition size for to_bytes is too high. [17.03/15]
      Open

          def to_bytes
            bytes = unhexlify(@chain_id)
            bytes << pakS(@ref_block_num)
            bytes << pakI(@ref_block_prefix)
            bytes << pakI(@expiration.to_i)
      Severity: Minor
      Found in lib/radiator/transaction.rb by rubocop

      This cop checks that the ABC size of methods is not higher than the configured maximum. The ABC size is based on assignments, branches (method calls), and conditions. See http://c2.com/cgi/wiki?AbcMetric

      Cyclomatic complexity for process is too high. [8/6]
      Open

          def process(broadcast = false)
            prepare
      
            if broadcast
              loop do
      Severity: Minor
      Found in lib/radiator/transaction.rb by rubocop

      This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

      An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

      Perceived complexity for shutdown is too high. [8/7]
      Open

          def shutdown
            @api.shutdown if !!@api
            @network_broadcast_api.shutdown if !!@network_broadcast_api
      
            if @self_logger
      Severity: Minor
      Found in lib/radiator/transaction.rb by rubocop

      This cop tries to produce a complexity score that's a measure of the complexity the reader experiences when looking at a method. For that reason it considers when nodes as something that doesn't add as much complexity as an if or a &&. Except if it's one of those special case/when constructs where there's no expression after case. Then the cop treats it as an if/elsif/elsif... and lets all the when nodes count. In contrast to the CyclomaticComplexity cop, this cop considers else nodes as adding complexity.

      Example:

      def my_method                   # 1
        if cond                       # 1
          case var                    # 2 (0.8 + 4 * 0.2, rounded)
          when 1 then func_one
          when 2 then func_two
          when 3 then func_three
          when 4..10 then func_other
          end
        else                          # 1
          do_something until a && b   # 2
        end                           # ===
      end                             # 7 complexity points

      Cyclomatic complexity for chain_id is too high. [7/6]
      Open

          def chain_id(chain_id = nil)
            return chain_id if !!chain_id
      
            case chain.to_s.downcase.to_sym
            when :steem then NETWORKS_STEEM_CHAIN_ID
      Severity: Minor
      Found in lib/radiator/transaction.rb by rubocop

      This cop checks that the cyclomatic complexity of methods is not higher than the configured maximum. The cyclomatic complexity is the number of linearly independent paths through a method. The algorithm counts decision points and adds one.

      An if statement (or unless or ?:) increases the complexity by one. An else branch does not, since it doesn't add a decision point. The && operator (or keyword and) can be converted to a nested if statement, and ||/or is shorthand for a sequence of ifs, so they also add one. Loops can be said to have an exit condition, so they add one.

      Perceived complexity for process is too high. [8/7]
      Open

          def process(broadcast = false)
            prepare
      
            if broadcast
              loop do
      Severity: Minor
      Found in lib/radiator/transaction.rb by rubocop

      This cop tries to produce a complexity score that's a measure of the complexity the reader experiences when looking at a method. For that reason it considers when nodes as something that doesn't add as much complexity as an if or a &&. Except if it's one of those special case/when constructs where there's no expression after case. Then the cop treats it as an if/elsif/elsif... and lets all the when nodes count. In contrast to the CyclomaticComplexity cop, this cop considers else nodes as adding complexity.

      Example:

      def my_method                   # 1
        if cond                       # 1
          case var                    # 2 (0.8 + 4 * 0.2, rounded)
          when 1 then func_one
          when 2 then func_two
          when 3 then func_three
          when 4..10 then func_other
          end
        else                          # 1
          do_something until a && b   # 2
        end                           # ===
      end                             # 7 complexity points

      Method has too many lines. [11/10]
      Open

          def signature
            public_key_hex = @private_key.pub
            ec = Bitcoin::OpenSSL_EC
            digest_hex = digest.freeze
            count = 0
      Severity: Minor
      Found in lib/radiator/transaction.rb by rubocop

      This cop checks if the length of a method exceeds some maximum value. Comment lines can optionally be ignored. The maximum allowed length is configurable.

      Method shutdown has a Cognitive Complexity of 14 (exceeds 5 allowed). Consider refactoring.
      Open

          def shutdown
            @api.shutdown if !!@api
            @network_broadcast_api.shutdown if !!@network_broadcast_api
      
            if @self_logger
      Severity: Minor
      Found in lib/radiator/transaction.rb - About 1 hr to fix

      Cognitive Complexity

      Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

      A method's cognitive complexity is based on a few simple rules:

      • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
      • Code is considered more complex for each "break in the linear flow of the code"
      • Code is considered more complex when "flow breaking structures are nested"

      Further reading

      Method process has 36 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          def process(broadcast = false)
            prepare
      
            if broadcast
              loop do
      Severity: Minor
      Found in lib/radiator/transaction.rb - About 1 hr to fix

        Method prepare has 32 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            def prepare
              raise TransactionError, "No wif or private key." unless !!@wif || !!@private_key
        
              @payload = nil
        
        
        Severity: Minor
        Found in lib/radiator/transaction.rb - About 1 hr to fix

          Method signature has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
          Open

              def signature
                public_key_hex = @private_key.pub
                ec = Bitcoin::OpenSSL_EC
                digest_hex = digest.freeze
                count = 0
          Severity: Minor
          Found in lib/radiator/transaction.rb - About 35 mins to fix

          Cognitive Complexity

          Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

          A method's cognitive complexity is based on a few simple rules:

          • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
          • Code is considered more complex for each "break in the linear flow of the code"
          • Code is considered more complex when "flow breaking structures are nested"

          Further reading

          Avoid more than 3 levels of block nesting.
          Open

                        debug block if %w(DEBUG TRACE).include? ENV['LOG']
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for excessive nesting of conditional and looping constructs.

          You can configure if blocks are considered using the CountBlocks option. When set to false (the default) blocks are not counted towards the nesting level. Set to true to count blocks as well.

          The maximum level of nesting allowed is configurable.

          Avoid more than 3 levels of block nesting.
          Open

                          logger.close unless logger.closed?
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for excessive nesting of conditional and looping constructs.

          You can configure if blocks are considered using the CountBlocks option. When set to false (the default) blocks are not counted towards the nesting level. Set to true to count blocks as well.

          The maximum level of nesting allowed is configurable.

          Avoid more than 3 levels of block nesting.
          Open

                      @logger.close unless @logger.closed?
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for excessive nesting of conditional and looping constructs.

          You can configure if blocks are considered using the CountBlocks option. When set to false (the default) blocks are not counted towards the nesting level. Set to true to count blocks as well.

          The maximum level of nesting allowed is configurable.

          FIXME found
          Open

                # FIXME Should pakC(0) instead?
          Severity: Minor
          Found in lib/radiator/transaction.rb by fixme

          Align else with if.
          Open

                else
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cops checks the alignment of else keywords. Normally they should be aligned with an if/unless/while/until/begin/def keyword, but there are special cases when they should follow the same rules as the alignment of end.

          Example:

          # bad
          if something
            code
           else
            code
          end
          
          # bad
          if something
            code
           elsif something
            code
          end
          
          # good
          if something
            code
          else
            code
          end

          Space inside parentheses detected.
          Open

                  ((sig[32] & 0x80 ) != 0) || ( sig[32] == 0 ) ||
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks for spaces inside ordinary round parentheses.

          Example:

          # bad
          f( 3)
          g = (a + 3 )
          
          # good
          f(3)
          g = (a + 3)

          Trailing whitespace detected.
          Open

                
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Avoid the use of double negation (!!).
          Open

                @immutable_expiration = !!@expiration
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Pass &:payload as an argument to map instead of a block.
          Open

                  operations: operations.map { |op| op.payload },
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Use symbols as procs when possible.

          Example:

          # bad
          something.map { |s| s.upcase }
          
          # good
          something.map(&:upcase)

          Trailing whitespace detected.
          Open

              
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          end at 74, 6 is not aligned with if at 70, 33.
          Open

                end
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks whether the end keywords are aligned properly.

          Three modes are supported through the EnforcedStyleAlignWith configuration parameter:

          If it's set to keyword (which is the default), the end shall be aligned with the start of the keyword (if, class, etc.).

          If it's set to variable the end shall be aligned with the left-hand-side of the variable assignment, if there is one.

          If it's set to start_of_line, the end shall be aligned with the start of the line where the matching keyword appears.

          Example: EnforcedStyleAlignWith: keyword (default)

          # bad
          
          variable = if true
              end
          
          # good
          
          variable = if true
                     end

          Example: EnforcedStyleAlignWith: variable

          # bad
          
          variable = if true
              end
          
          # good
          
          variable = if true
          end

          Example: EnforcedStyleAlignWith: startofline

          # bad
          
          variable = if true
              end
          
          # good
          
          puts(if true
          end)

          end at 133, 6 is not aligned with case at 124, 33.
          Open

                end
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks whether the end keywords are aligned properly.

          Three modes are supported through the EnforcedStyleAlignWith configuration parameter:

          If it's set to keyword (which is the default), the end shall be aligned with the start of the keyword (if, class, etc.).

          If it's set to variable the end shall be aligned with the left-hand-side of the variable assignment, if there is one.

          If it's set to start_of_line, the end shall be aligned with the start of the line where the matching keyword appears.

          Example: EnforcedStyleAlignWith: keyword (default)

          # bad
          
          variable = if true
              end
          
          # good
          
          variable = if true
                     end

          Example: EnforcedStyleAlignWith: variable

          # bad
          
          variable = if true
              end
          
          # good
          
          variable = if true
          end

          Example: EnforcedStyleAlignWith: startofline

          # bad
          
          variable = if true
              end
          
          # good
          
          puts(if true
          end)

          Line is too long. [114/80]
          Open

                ObjectSpace.define_finalizer(self, self.class.finalize(@api, @network_broadcast_api, @self_logger, @logger))
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Space inside } missing.
          Open

                  trx_builder.put({type => op})
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks that braces used for hash literals have or don't have surrounding space depending on configuration.

          Example: EnforcedStyle: space

          # The `space` style enforces that hash literals have
          # surrounding space.
          
          # bad
          h = {a: 1, b: 2}
          
          # good
          h = { a: 1, b: 2 }

          Example: EnforcedStyle: no_space

          # The `no_space` style enforces that hash literals have
          # no surrounding space.
          
          # bad
          h = { a: 1, b: 2 }
          
          # good
          h = {a: 1, b: 2}

          Example: EnforcedStyle: compact

          # The `compact` style normally requires a space inside
          # hash braces, with the exception that successive left
          # braces or right braces are collapsed together in nested hashes.
          
          # bad
          h = { a: { b: 2 } }
          
          # good
          h = { a: { b: 2 }}

          Line is too long. [89/80]
          Open

                        warning "Block structure while trying to prepare transaction, retrying ..."
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Trailing whitespace detected.
          Open

                
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Line is too long. [83/80]
          Open

                  sig = ec.sign_compact(digest_hex, @private_key.priv, public_key_hex, false)
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          end at 40, 6 is not aligned with if at 35, 16.
          Open

                end
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks whether the end keywords are aligned properly.

          Three modes are supported through the EnforcedStyleAlignWith configuration parameter:

          If it's set to keyword (which is the default), the end shall be aligned with the start of the keyword (if, class, etc.).

          If it's set to variable the end shall be aligned with the left-hand-side of the variable assignment, if there is one.

          If it's set to start_of_line, the end shall be aligned with the start of the line where the matching keyword appears.

          Example: EnforcedStyleAlignWith: keyword (default)

          # bad
          
          variable = if true
              end
          
          # good
          
          variable = if true
                     end

          Example: EnforcedStyleAlignWith: variable

          # bad
          
          variable = if true
              end
          
          # good
          
          variable = if true
          end

          Example: EnforcedStyleAlignWith: startofline

          # bad
          
          variable = if true
              end
          
          # good
          
          puts(if true
          end)

          Redundant curly braces around a hash parameter.
          Open

                  trx_builder.put({type => op})
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for braces around the last parameter in a method call if the last parameter is a hash. It supports braces, no_braces and context_dependent styles.

          Example: EnforcedStyle: braces

          # The `braces` style enforces braces around all method
          # parameters that are hashes.
          
          # bad
          some_method(x, y, a: 1, b: 2)
          
          # good
          some_method(x, y, {a: 1, b: 2})

          Example: EnforcedStyle: no_braces (default)

          # The `no_braces` style checks that the last parameter doesn't
          # have braces around it.
          
          # bad
          some_method(x, y, {a: 1, b: 2})
          
          # good
          some_method(x, y, a: 1, b: 2)

          Example: EnforcedStyle: context_dependent

          # The `context_dependent` style checks that the last parameter
          # doesn't have braces around it, but requires braces if the
          # second to last parameter is also a hash literal.
          
          # bad
          some_method(x, y, {a: 1, b: 2})
          some_method(x, y, {a: 1, b: 2}, a: 1, b: 2)
          
          # good
          some_method(x, y, a: 1, b: 2)
          some_method(x, y, {a: 1, b: 2}, {a: 1, b: 2})

          Avoid the use of double negation (!!).
          Open

                @network_broadcast_api.shutdown if !!@network_broadcast_api
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Line is too long. [105/80]
          Open

                      raise TransactionError, "Unable to prepare transaction: #{error.message || 'Unknown cause.'}"
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Avoid the use of double negation (!!).
          Open

                  if !!@logger && defined?(@logger.close)
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Avoid the use of double negation (!!).
          Open

                  if !!api && !api.stopped?
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Avoid the use of double negation (!!).
          Open

                raise TransactionError, "No wif or private key." unless !!@wif || !!@private_key
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Avoid the use of double negation (!!).
          Open

                    if !!error
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Use (count % 40).zero? instead of count % 40 == 0.
          Open

                  debug "#{count} attempts to find canonical signature" if count % 40 == 0
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for usage of comparison operators (==, >, <) to test numbers as zero, positive, or negative. These can be replaced by their respective predicate methods. The cop can also be configured to do the reverse.

          The cop disregards #nonzero? as it its value is truthy or falsey, but not true and false, and thus not always interchangeable with != 0.

          The cop ignores comparisons to global variables, since they are often populated with objects which can be compared with integers, but are not themselves Interger polymorphic.

          Example: EnforcedStyle: predicate (default)

          # bad
          
          foo == 0
          0 > foo
          bar.baz > 0
          
          # good
          
          foo.zero?
          foo.negative?
          bar.baz.positive?

          Example: EnforcedStyle: comparison

          # bad
          
          foo.zero?
          foo.negative?
          bar.baz.positive?
          
          # good
          
          foo == 0
          0 > foo
          bar.baz > 0

          Use (sig[0]).zero? instead of sig[0] == 0.
          Open

                  ((sig[0] & 0x80 ) != 0) || ( sig[0] == 0 ) ||
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for usage of comparison operators (==, >, <) to test numbers as zero, positive, or negative. These can be replaced by their respective predicate methods. The cop can also be configured to do the reverse.

          The cop disregards #nonzero? as it its value is truthy or falsey, but not true and false, and thus not always interchangeable with != 0.

          The cop ignores comparisons to global variables, since they are often populated with objects which can be compared with integers, but are not themselves Interger polymorphic.

          Example: EnforcedStyle: predicate (default)

          # bad
          
          foo == 0
          0 > foo
          bar.baz > 0
          
          # good
          
          foo.zero?
          foo.negative?
          bar.baz.positive?

          Example: EnforcedStyle: comparison

          # bad
          
          foo.zero?
          foo.negative?
          bar.baz.positive?
          
          # good
          
          foo == 0
          0 > foo
          bar.baz > 0

          Use attr_writer to define trivial writer methods.
          Open

              def operations=(operations)
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop looks for trivial reader/writer methods, that could have been created with the attr_* family of functions automatically.

          Example:

          # bad
          def foo
            @foo
          end
          
          def bar=(val)
            @bar = val
          end
          
          def self.baz
            @baz
          end
          
          # good
          attr_reader :foo
          attr_writer :bar
          
          class << self
            attr_reader :baz
          end

          Space inside parentheses detected.
          Open

                  ((sig[32] & 0x80 ) != 0) || ( sig[32] == 0 ) ||
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks for spaces inside ordinary round parentheses.

          Example:

          # bad
          f( 3)
          g = (a + 3 )
          
          # good
          f(3)
          g = (a + 3)

          Trailing whitespace detected.
          Open

                
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Space inside parentheses detected.
          Open

                  ((sig[33] & 0x80 ) != 0)
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks for spaces inside ordinary round parentheses.

          Example:

          # bad
          f( 3)
          g = (a + 3 )
          
          # good
          f(3)
          g = (a + 3)

          Trailing whitespace detected.
          Open

                    "@#{prop}=#{v}" 
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Line is too long. [82/80]
          Open

                      # included into a block by that time.  Always update it to the current
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Avoid the use of double negation (!!).
          Open

                    if !!response.error
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Trailing whitespace detected.
          Open

                
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Line is too long. [82/80]
          Open

                @use_condenser_namespace = if options.keys.include? :use_condenser_namespace
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Prefer annotated tokens (like %<foo>s</foo>) over unannotated tokens (like %s).
          Open

                  expiration: @expiration.strftime('%Y-%m-%dT%H:%M:%S'),
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Use a consistent style for named format string tokens.

          Note: unannotated style cop only works for strings which are passed as arguments to those methods: sprintf, format, %. The reason is that unannotated format is very similar to encoded URLs or Date/Time formatting strings.

          Example: EnforcedStyle: annotated (default)

          # bad
          format('%{greeting}', greeting: 'Hello')
          format('%s', 'Hello')
          
          # good
          format('%<greeting>s', greeting: 'Hello')</greeting>

          Example: EnforcedStyle: template

          # bad
          format('%<greeting>s', greeting: 'Hello')
          format('%s', 'Hello')
          
          # good
          format('%{greeting}', greeting: 'Hello')</greeting>

          Example: EnforcedStyle: unannotated

          # bad
          format('%<greeting>s', greeting: 'Hello')
          format('%{greeting}', 'Hello')
          
          # good
          format('%s', 'Hello')</greeting>

          %w-literals should be delimited by [ and ].
          Open

                properties = %w(
                  url ref_block_num ref_block_prefix expiration chain
                  use_condenser_namespace immutable_expiration payload
                ).map do |prop|
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop enforces the consistent usage of %-literal delimiters.

          Specify the 'default' key to set all preferred delimiters at once. You can continue to specify individual preferred delimiters to override the default.

          Example:

          # Style/PercentLiteralDelimiters:
          #   PreferredDelimiters:
          #     default: '[]'
          #     '%i':    '()'
          
          # good
          %w[alpha beta] + %i(gamma delta)
          
          # bad
          %W(alpha #{beta})
          
          # bad
          %I(alpha beta)

          Line is too long. [83/80]
          Open

                    puts "DESTROY: #{network_broadcast_api.inspect}" if ENV['LOG'] == 'TRACE'
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Prefer single-quoted strings when you don't need string interpolation or special symbols.
          Open

                        warning "Block missing while trying to prepare transaction, retrying ..."
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks if uses of quotes match the configured preference.

          Example: EnforcedStyle: single_quotes (default)

          # bad
          "No special symbols"
          "No string interpolation"
          "Just text"
          
          # good
          'No special symbols'
          'No string interpolation'
          'Just text'
          "Wait! What's #{this}!"

          Example: EnforcedStyle: double_quotes

          # bad
          'Just some text'
          'No special chars or interpolation'
          
          # good
          "Just some text"
          "No special chars or interpolation"
          "Every string in #{project} uses double_quotes"

          Prefer single-quoted strings when you don't need string interpolation or special symbols.
          Open

                raise TransactionError, "No wif or private key." unless !!@wif || !!@private_key
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks if uses of quotes match the configured preference.

          Example: EnforcedStyle: single_quotes (default)

          # bad
          "No special symbols"
          "No string interpolation"
          "Just text"
          
          # good
          'No special symbols'
          'No string interpolation'
          'Just text'
          "Wait! What's #{this}!"

          Example: EnforcedStyle: double_quotes

          # bad
          'Just some text'
          'No special chars or interpolation'
          
          # good
          "Just some text"
          "No special chars or interpolation"
          "Every string in #{project} uses double_quotes"

          Indent when as deep as case.
          Open

                when :hive then [
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks how the whens of a case expression are indented in relation to its case or end keyword.

          It will register a separate offense for each misaligned when.

          Example:

          # If Layout/EndAlignment is set to keyword style (default)
          # *case* and *end* should always be aligned to same depth,
          # and therefore *when* should always be aligned to both -
          # regardless of configuration.
          
          # bad for all styles
          case n
            when 0
              x * 2
            else
              y / 3
          end
          
          # good for all styles
          case n
          when 0
            x * 2
          else
            y / 3
          end

          Example: EnforcedStyle: case (default)

          # if EndAlignment is set to other style such as
          # start_of_line (as shown below), then *when* alignment
          # configuration does have an effect.
          
          # bad
          a = case n
          when 0
            x * 2
          else
            y / 3
          end
          
          # good
          a = case n
              when 0
                x * 2
              else
                y / 3
          end

          Example: EnforcedStyle: end

          # bad
          a = case n
              when 0
                x * 2
              else
                y / 3
          end
          
          # good
          a = case n
          when 0
            x * 2
          else
            y / 3
          end

          Space inside parentheses detected.
          Open

                  ((sig[32] & 0x80 ) != 0) || ( sig[32] == 0 ) ||
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks for spaces inside ordinary round parentheses.

          Example:

          # bad
          f( 3)
          g = (a + 3 )
          
          # good
          f(3)
          g = (a + 3)

          Trailing whitespace detected.
          Open

                
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Avoid the use of double negation (!!).
          Open

                    if !!block && !!block.previous
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Avoid the use of double negation (!!).
          Open

                      if !!logger && defined?(logger.close)
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Avoid using rescue in its modifier form.
          Open

                  database_api.get_config do |config|
                    config['HIVE_CHAIN_ID']
                  end rescue nil || NETWORKS_HIVE_CHAIN_ID
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of rescue in its modifier form.

          Example:

          # bad
          some_method rescue handle_error
          
          # good
          begin
            some_method
          rescue
            handle_error
          end

          Align else with if.
          Open

                else
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cops checks the alignment of else keywords. Normally they should be aligned with an if/unless/while/until/begin/def keyword, but there are special cases when they should follow the same rules as the alignment of end.

          Example:

          # bad
          if something
            code
           else
            code
          end
          
          # bad
          if something
            code
           elsif something
            code
          end
          
          # good
          if something
            code
          else
            code
          end

          Prefer single-quoted strings when you don't need string interpolation or special symbols.
          Open

                        warning "Block structure while trying to prepare transaction, retrying ..."
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks if uses of quotes match the configured preference.

          Example: EnforcedStyle: single_quotes (default)

          # bad
          "No special symbols"
          "No string interpolation"
          "Just text"
          
          # good
          'No special symbols'
          'No string interpolation'
          'Just text'
          "Wait! What's #{this}!"

          Example: EnforcedStyle: double_quotes

          # bad
          'Just some text'
          'No special chars or interpolation'
          
          # good
          "Just some text"
          "No special chars or interpolation"
          "Every string in #{project} uses double_quotes"

          Indent when as deep as case.
          Open

                when :steem then [
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks how the whens of a case expression are indented in relation to its case or end keyword.

          It will register a separate offense for each misaligned when.

          Example:

          # If Layout/EndAlignment is set to keyword style (default)
          # *case* and *end* should always be aligned to same depth,
          # and therefore *when* should always be aligned to both -
          # regardless of configuration.
          
          # bad for all styles
          case n
            when 0
              x * 2
            else
              y / 3
          end
          
          # good for all styles
          case n
          when 0
            x * 2
          else
            y / 3
          end

          Example: EnforcedStyle: case (default)

          # if EndAlignment is set to other style such as
          # start_of_line (as shown below), then *when* alignment
          # configuration does have an effect.
          
          # bad
          a = case n
          when 0
            x * 2
          else
            y / 3
          end
          
          # good
          a = case n
              when 0
                x * 2
              else
                y / 3
          end

          Example: EnforcedStyle: end

          # bad
          a = case n
              when 0
                x * 2
              else
                y / 3
          end
          
          # good
          a = case n
          when 0
            x * 2
          else
            y / 3
          end

          Space inside { missing.
          Open

                  trx_builder.put({type => op})
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks that braces used for hash literals have or don't have surrounding space depending on configuration.

          Example: EnforcedStyle: space

          # The `space` style enforces that hash literals have
          # surrounding space.
          
          # bad
          h = {a: 1, b: 2}
          
          # good
          h = { a: 1, b: 2 }

          Example: EnforcedStyle: no_space

          # The `no_space` style enforces that hash literals have
          # no surrounding space.
          
          # bad
          h = { a: 1, b: 2 }
          
          # good
          h = {a: 1, b: 2}

          Example: EnforcedStyle: compact

          # The `compact` style normally requires a space inside
          # hash braces, with the exception that successive left
          # braces or right braces are collapsed together in nested hashes.
          
          # bad
          h = { a: { b: 2 } }
          
          # good
          h = { a: { b: 2 }}

          Space inside parentheses detected.
          Open

                  ((sig[0] & 0x80 ) != 0) || ( sig[0] == 0 ) ||
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks for spaces inside ordinary round parentheses.

          Example:

          # bad
          f( 3)
          g = (a + 3 )
          
          # good
          f(3)
          g = (a + 3)

          Annotation keywords like FIXME should be all upper case, followed by a colon, and a space, then a note describing the problem.
          Open

                # FIXME Should pakC(0) instead?
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks that comment annotation keywords are written according to guidelines.

          Example:

          # bad
          # TODO make better
          
          # good
          # TODO: make better
          
          # bad
          # TODO:make better
          
          # good
          # TODO: make better
          
          # bad
          # fixme: does not work
          
          # good
          # FIXME: does not work
          
          # bad
          # Optimize does not work
          
          # good
          # OPTIMIZE: does not work

          Space inside parentheses detected.
          Open

                  ((sig[0] & 0x80 ) != 0) || ( sig[0] == 0 ) ||
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks for spaces inside ordinary round parentheses.

          Example:

          # bad
          f( 3)
          g = (a + 3 )
          
          # good
          f(3)
          g = (a + 3)

          Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.
          Open

                if !!wif
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks for if and unless statements that would fit on one line if written as a modifier if/unless. The maximum line length is configured in the Metrics/LineLength cop.

          Example:

          # bad
          if condition
            do_stuff(bar)
          end
          
          unless qux.empty?
            Foo.do_something
          end
          
          # good
          do_stuff(bar) if condition
          Foo.do_something unless qux.empty?

          Avoid the use of double negation (!!).
          Open

                !!@use_condenser_namespace
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Use (sig[32]).zero? instead of sig[32] == 0.
          Open

                  ((sig[32] & 0x80 ) != 0) || ( sig[32] == 0 ) ||
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for usage of comparison operators (==, >, <) to test numbers as zero, positive, or negative. These can be replaced by their respective predicate methods. The cop can also be configured to do the reverse.

          The cop disregards #nonzero? as it its value is truthy or falsey, but not true and false, and thus not always interchangeable with != 0.

          The cop ignores comparisons to global variables, since they are often populated with objects which can be compared with integers, but are not themselves Interger polymorphic.

          Example: EnforcedStyle: predicate (default)

          # bad
          
          foo == 0
          0 > foo
          bar.baz > 0
          
          # good
          
          foo.zero?
          foo.negative?
          bar.baz.positive?

          Example: EnforcedStyle: comparison

          # bad
          
          foo.zero?
          foo.negative?
          bar.baz.positive?
          
          # good
          
          foo == 0
          0 > foo
          bar.baz > 0

          Prefer single-quoted strings when you don't need string interpolation or special symbols.
          Open

                      raise TransactionError, "Unable to prepare transaction.", error
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks if uses of quotes match the configured preference.

          Example: EnforcedStyle: single_quotes (default)

          # bad
          "No special symbols"
          "No string interpolation"
          "Just text"
          
          # good
          'No special symbols'
          'No string interpolation'
          'Just text'
          "Wait! What's #{this}!"

          Example: EnforcedStyle: double_quotes

          # bad
          'Just some text'
          'No special chars or interpolation'
          
          # good
          "Just some text"
          "No special chars or interpolation"
          "Every string in #{project} uses double_quotes"

          Keep a blank line before and after private.
          Open

            private
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Access modifiers should be surrounded by blank lines.

          Example:

          # bad
          class Foo
            def bar; end
            private
            def baz; end
          end
          
          # good
          class Foo
            def bar; end
          
            private
          
            def baz; end
          end

          Trailing whitespace detected.
          Open

              
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Trailing whitespace detected.
          Open

              
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Avoid the use of double negation (!!).
          Open

                  if !!(v = instance_variable_get("@#{prop}"))
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Avoid the use of double negation (!!).
          Open

                raise TransactionError, "No wif or private key." unless !!@wif || !!@private_key
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Space inside parentheses detected.
          Open

                  ((sig[0] & 0x80 ) != 0) || ( sig[0] == 0 ) ||
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks for spaces inside ordinary round parentheses.

          Example:

          # bad
          f( 3)
          g = (a + 3 )
          
          # good
          f(3)
          g = (a + 3)

          Line is too long. [87/80]
          Open

                        warning "Block missing while trying to prepare transaction, retrying ..."
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Avoid the use of double negation (!!).
          Open

                if !!wif && !!private_key
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Avoid the use of double negation (!!).
          Open

                return chain_id if !!chain_id
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Use 2 (not -25) spaces for indentation.
          Open

                  options[:use_condenser_namespace]
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cops checks for indentation that doesn't use the specified number of spaces.

          See also the IndentationConsistency cop which is the companion to this one.

          Example:

          # bad
          class A
           def test
            puts 'hello'
           end
          end
          
          # good
          class A
            def test
              puts 'hello'
            end
          end

          Example: IgnoredPatterns: ['^\s*module']

          # bad
          module A
          class B
            def test
            puts 'hello'
            end
          end
          end
          
          # good
          module A
          class B
            def test
              puts 'hello'
            end
          end
          end

          Trailing whitespace detected.
          Open

                
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          private (on line 189) does not make singleton methods private. Use private_class_method or private inside a class << self block instead.
          Open

              def self.finalize(api, network_broadcast_api, self_logger, logger)
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for private or protected access modifiers which are applied to a singleton method. These access modifiers do not make singleton methods private/protected. private_class_method can be used for that.

          Example:

          # bad
          
          class C
            private
          
            def self.method
              puts 'hi'
            end
          end

          Example:

          # good
          
          class C
            def self.method
              puts 'hi'
            end
          
            private_class_method :method
          end

          Example:

          # good
          
          class C
            class << self
              private
          
              def method
                puts 'hi'
              end
            end
          end

          Line is too long. [86/80]
          Open

                raise TransactionError, "No wif or private key." unless !!@wif || !!@private_key
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          %w-literals should be delimited by [ and ].
          Open

                        debug block if %w(DEBUG TRACE).include? ENV['LOG']
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop enforces the consistent usage of %-literal delimiters.

          Specify the 'default' key to set all preferred delimiters at once. You can continue to specify individual preferred delimiters to override the default.

          Example:

          # Style/PercentLiteralDelimiters:
          #   PreferredDelimiters:
          #     default: '[]'
          #     '%i':    '()'
          
          # good
          %w[alpha beta] + %i(gamma delta)
          
          # bad
          %W(alpha #{beta})
          
          # bad
          %I(alpha beta)

          Space inside parentheses detected.
          Open

                  ((sig[1] & 0x80 ) != 0) ||
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Checks for spaces inside ordinary round parentheses.

          Example:

          # bad
          f( 3)
          g = (a + 3 )
          
          # good
          f(3)
          g = (a + 3)

          Trailing whitespace detected.
          Open

                
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Do not suppress exceptions.
          Open

                  rescue IOError, NoMethodError => _; end
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for rescue blocks with no body.

          Example:

          # bad
          
          def some_method
            do_something
          rescue
            # do nothing
          end

          Example:

          # bad
          
          begin
            do_something
          rescue
            # do nothing
          end

          Example:

          # good
          
          def some_method
            do_something
          rescue
            handle_exception
          end

          Example:

          # good
          
          begin
            do_something
          rescue
            handle_exception
          end

          Avoid the use of double negation (!!).
          Open

                if !!wif && !!private_key
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Avoid the use of double negation (!!).
          Open

                @api.shutdown if !!@api
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Use a guard clause instead of wrapping the code inside a conditional expression.
          Open

                if @self_logger
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Use a guard clause instead of wrapping the code inside a conditional expression

          Example:

          # bad
          def test
            if something
              work
            end
          end
          
          # good
          def test
            return unless something
            work
          end
          
          # also good
          def test
            work if something
          end
          
          # bad
          if something
            raise 'exception'
          else
            ok
          end
          
          # good
          raise 'exception' if something
          ok

          %w-literals should be delimited by [ and ].
          Open

              VALID_OPTIONS = %w(
                wif private_key ref_block_num ref_block_prefix expiration
                chain use_condenser_namespace
              ).map(&:to_sym)
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop enforces the consistent usage of %-literal delimiters.

          Specify the 'default' key to set all preferred delimiters at once. You can continue to specify individual preferred delimiters to override the default.

          Example:

          # Style/PercentLiteralDelimiters:
          #   PreferredDelimiters:
          #     default: '[]'
          #     '%i':    '()'
          
          # good
          %w[alpha beta] + %i(gamma delta)
          
          # bad
          %W(alpha #{beta})
          
          # bad
          %I(alpha beta)

          Indent access modifiers like private.
          Open

            private
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Modifiers should be indented as deep as method definitions, or as deep as the class/module keyword, depending on configuration.

          Example: EnforcedStyle: indent (default)

          # bad
          class Plumbus
          private
            def smooth; end
          end
          
          # good
          class Plumbus
            private
            def smooth; end
          end

          Example: EnforcedStyle: outdent

          # bad
          class Plumbus
            private
            def smooth; end
          end
          
          # good
          class Plumbus
          private
            def smooth; end
          end

          Avoid the use of double negation (!!).
          Open

                if !!wif
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Trailing whitespace detected.
          Open

                
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Use 2 (not -8) spaces for indentation.
          Open

                  @self_logger = true
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cops checks for indentation that doesn't use the specified number of spaces.

          See also the IndentationConsistency cop which is the companion to this one.

          Example:

          # bad
          class A
           def test
            puts 'hello'
           end
          end
          
          # good
          class A
            def test
              puts 'hello'
            end
          end

          Example: IgnoredPatterns: ['^\s*module']

          # bad
          module A
          class B
            def test
            puts 'hello'
            end
          end
          end
          
          # good
          module A
          class B
            def test
              puts 'hello'
            end
          end
          end

          Trailing whitespace detected.
          Open

              
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Line is too long. [90/80]
          Open

                  raise TransactionError, "Do not pass both wif and private_key.  That's confusing."
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          Avoid the use of double negation (!!).
          Open

                    if !!error
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Avoid the use of double negation (!!).
          Open

                    if !!block && !!block.previous
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          Avoid the use of double negation (!!).
          Open

                  if !!network_broadcast_api && !network_broadcast_api.stopped?
          Severity: Minor
          Found in lib/radiator/transaction.rb by rubocop

          This cop checks for uses of double negation (!!) to convert something to a boolean value. As this is both cryptic and usually redundant, it should be avoided.

          Example:

          # bad
          !!something
          
          # good
          !something.nil?

          Please, note that when something is a boolean value !!something and !something.nil? are not the same thing. As you're unlikely to write code that can accept values of any type this is rarely a problem in practice.

          There are no issues that match your filters.

          Category
          Status