SebastianCarroll/jekyll-rakefile

View on GitHub
lib/tools.rb

Summary

Maintainability
A
1 hr
Test Coverage

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

def check_links
  begin
    require 'anemone'

    root = 'http://localhost:4000/'
Severity: Minor
Found in lib/tools.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.

Assignment Branch Condition size for check_links is too high. [25.4/15]
Open

def check_links
  begin
    require 'anemone'

    root = 'http://localhost:4000/'
Severity: Minor
Found in lib/tools.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 check_links has 30 lines of code (exceeds 25 allowed). Consider refactoring.
Open

def check_links
  begin
    require 'anemone'

    root = 'http://localhost:4000/'
Severity: Minor
Found in lib/tools.rb - About 1 hr to fix

    Method check_links has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
    Open

    def check_links
      begin
        require 'anemone'
    
        root = 'http://localhost:4000/'
    Severity: Minor
    Found in lib/tools.rb - About 25 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

    TODO found
    Open

        # TODO: Do I want to be commiting all here?
    Severity: Minor
    Found in lib/tools.rb by fixme

    TODO found
    Open

      # TODO: This fails if nothing to commit.
    Severity: Minor
    Found in lib/tools.rb by fixme

    TODO found
    Open

    # TODO: Changed to list_files_changed - make plural for clarity
    Severity: Minor
    Found in lib/tools.rb by fixme

    TODO found
    Open

      # TODO: Refactor to use File.readlines.
    Severity: Minor
    Found in lib/tools.rb by fixme

    TODO found
    Open

      # TODO: Refactor to use inject or join
    Severity: Minor
    Found in lib/tools.rb by fixme

    TODO found
    Open

        # TODO: Break this out to improve readability somehow
    Severity: Minor
    Found in lib/tools.rb by fixme

    TODO found
    Open

      # TODO: Actually do I use any of this?
    Severity: Minor
    Found in lib/tools.rb by fixme

    Line is too long. [163/80]
    Open

    EXCLUSION_LIST = [/.*~/, /_.*/, "javascripts?", "js", /stylesheets?/, "css", "Rakefile", "Gemfile", /s[ca]ss/, /.*\.css/, /.*.js/, "bower_components", "config.rb"]
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Do not introduce global variables.
    Open

      $git_check and git_repo? and git_remote_diffs(branch)
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cops looks for uses of global variables. It does not report offenses for built-in global variables. Built-in global variables are allowed by default. Additionally users can allow additional variables via the AllowedVariables option.

    Note that backreferences like $1, $2, etc are not global variables.

    Example:

    # bad
    $foo = 2
    bar = $foo + 5
    
    # good
    FOO = 2
    foo = 2
    $stdin.read

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

        puts "... done!"
    Severity: Minor
    Found in lib/tools.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"

    Extra empty line detected before the rescue.
    Open

    
      rescue LoadError
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cops checks if empty lines exist around the bodies of begin sections. This cop doesn't check empty lines at begin body beginning/end and around method definition body. Style/EmptyLinesAroundBeginBody or Style/EmptyLinesAroundMethodBody can be used for this purpose.

    Example:

    # good
    
    begin
      do_something
    rescue
      do_something2
    else
      do_something3
    ensure
      do_something4
    end
    
    # good
    
    def foo
      do_something
    rescue
      do_something2
    end
    
    # bad
    
    begin
      do_something
    
    rescue
    
      do_something2
    
    else
    
      do_something3
    
    ensure
    
      do_something4
    end
    
    # bad
    
    def foo
      do_something
    
    rescue
    
      do_something2
    end

    Space between { and | missing.
    Open

        .select{|f| File.file? f}
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Checks that block braces have or don't have surrounding space inside them on configuration. For blocks taking parameters, it checks that the left brace has or doesn't have trailing space depending on configuration.

    Example: EnforcedStyle: space (default)

    # The `space` style enforces that block braces have
    # surrounding space.
    
    # bad
    some_array.each {puts e}
    
    # good
    some_array.each { puts e }

    Example: EnforcedStyle: no_space

    # The `no_space` style enforces that block braces don't
    # have surrounding space.
    
    # bad
    some_array.each { puts e }
    
    # good
    some_array.each {puts e}

    Example: EnforcedStyleForEmptyBraces: no_space (default)

    # The `no_space` EnforcedStyleForEmptyBraces style enforces that
    # block braces don't have a space in between when empty.
    
    # bad
    some_array.each {   }
    some_array.each {  }
    some_array.each { }
    
    # good
    some_array.each {}

    Example: EnforcedStyleForEmptyBraces: space

    # The `space` EnforcedStyleForEmptyBraces style enforces that
    # block braces have at least a spece in between when empty.
    
    # bad
    some_array.each {}
    
    # good
    some_array.each { }
    some_array.each {  }
    some_array.each {   }

    Example: SpaceBeforeBlockParameters: true (default)

    # The SpaceBeforeBlockParameters style set to `true` enforces that
    # there is a space between `{` and `|`. Overrides `EnforcedStyle`
    # if there is a conflict.
    
    # bad
    [1, 2, 3].each {|n| n * 2 }
    
    # good
    [1, 2, 3].each { |n| n * 2 }

    Example: SpaceBeforeBlockParameters: true

    # The SpaceBeforeBlockParameters style set to `false` enforces that
    # there is no space between `{` and `|`. Overrides `EnforcedStyle`
    # if there is a conflict.
    
    # bad
    [1, 2, 3].each { |n| n * 2 }
    
    # good
    [1, 2, 3].each {|n| n * 2 }

    Use def with parentheses when there are parameters.
    Open

    def git_remote_diffs branch
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cops checks for parentheses around the arguments in method definitions. Both instance and class/singleton methods are checked.

    Example: EnforcedStyle: require_parentheses (default)

    # The `require_parentheses` style requires method definitions
    # to always use parentheses
    
    # bad
    def bar num1, num2
      num1 + num2
    end
    
    def foo descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name
      do_something
    end
    
    # good
    def bar(num1, num2)
      num1 + num2
    end
    
    def foo(descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name)
      do_something
    end

    Example: EnforcedStyle: requirenoparentheses

    # The `require_no_parentheses` style requires method definitions
    # to never use parentheses
    
    # bad
    def bar(num1, num2)
      num1 + num2
    end
    
    def foo(descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name)
      do_something
    end
    
    # good
    def bar num1, num2
      num1 + num2
    end
    
    def foo descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name
      do_something
    end

    Example: EnforcedStyle: requirenoparenthesesexceptmultiline

    # The `require_no_parentheses_except_multiline` style prefers no
    # parantheses when method definition arguments fit on single line,
    # but prefers parantheses when arguments span multiple lines.
    
    # bad
    def bar(num1, num2)
      num1 + num2
    end
    
    def foo descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name
      do_something
    end
    
    # good
    def bar num1, num2
      num1 + num2
    end
    
    def foo(descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name)
      do_something
    end

    %x-literals should be delimited by ( and ).
    Open

      %x{git status} != ""
    Severity: Minor
    Found in lib/tools.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)

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

      puts "Commiting published version"
    Severity: Minor
    Found in lib/tools.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"

    Space between { and | missing.
    Open

        .map{|f| File.basename f}
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Checks that block braces have or don't have surrounding space inside them on configuration. For blocks taking parameters, it checks that the left brace has or doesn't have trailing space depending on configuration.

    Example: EnforcedStyle: space (default)

    # The `space` style enforces that block braces have
    # surrounding space.
    
    # bad
    some_array.each {puts e}
    
    # good
    some_array.each { puts e }

    Example: EnforcedStyle: no_space

    # The `no_space` style enforces that block braces don't
    # have surrounding space.
    
    # bad
    some_array.each { puts e }
    
    # good
    some_array.each {puts e}

    Example: EnforcedStyleForEmptyBraces: no_space (default)

    # The `no_space` EnforcedStyleForEmptyBraces style enforces that
    # block braces don't have a space in between when empty.
    
    # bad
    some_array.each {   }
    some_array.each {  }
    some_array.each { }
    
    # good
    some_array.each {}

    Example: EnforcedStyleForEmptyBraces: space

    # The `space` EnforcedStyleForEmptyBraces style enforces that
    # block braces have at least a spece in between when empty.
    
    # bad
    some_array.each {}
    
    # good
    some_array.each { }
    some_array.each {  }
    some_array.each {   }

    Example: SpaceBeforeBlockParameters: true (default)

    # The SpaceBeforeBlockParameters style set to `true` enforces that
    # there is a space between `{` and `|`. Overrides `EnforcedStyle`
    # if there is a conflict.
    
    # bad
    [1, 2, 3].each {|n| n * 2 }
    
    # good
    [1, 2, 3].each { |n| n * 2 }

    Example: SpaceBeforeBlockParameters: true

    # The SpaceBeforeBlockParameters style set to `false` enforces that
    # there is no space between `{` and `|`. Overrides `EnforcedStyle`
    # if there is a conflict.
    
    # bad
    [1, 2, 3].each { |n| n * 2 }
    
    # good
    [1, 2, 3].each {|n| n * 2 }

    Trailing whitespace detected.
    Open

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

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

      (drafts - pubs).each{|f| puts f unless f == "README.md" }
    Severity: Minor
    Found in lib/tools.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"

    Trailing whitespace detected.
    Open

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

    Line is too long. [89/80]
    Open

    # return true if filename is "visible" to the user (e.g., it is not javascript, css, ...)
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Do not use then for multi-line if.
    Open

      if File.extname(filename) == ".textile" or File.extname(filename) == ".md" then
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Checks for uses of the then keyword in multi-line if statements.

    Example:

    # bad
    # This is considered bad practice.
    if cond then
    end
    
    # good
    # If statements can contain `then` on the same line.
    if cond then a
    elsif cond then b
    end

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

    EXCLUSION_LIST = [/.*~/, /_.*/, "javascripts?", "js", /stylesheets?/, "css", "Rakefile", "Gemfile", /s[ca]ss/, /.*\.css/, /.*.js/, "bower_components", "config.rb"]
    Severity: Minor
    Found in lib/tools.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"

    Space missing inside }.
    Open

        .map{|f| File.basename f}
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Checks that block braces have or don't have surrounding space inside them on configuration. For blocks taking parameters, it checks that the left brace has or doesn't have trailing space depending on configuration.

    Example: EnforcedStyle: space (default)

    # The `space` style enforces that block braces have
    # surrounding space.
    
    # bad
    some_array.each {puts e}
    
    # good
    some_array.each { puts e }

    Example: EnforcedStyle: no_space

    # The `no_space` style enforces that block braces don't
    # have surrounding space.
    
    # bad
    some_array.each { puts e }
    
    # good
    some_array.each {puts e}

    Example: EnforcedStyleForEmptyBraces: no_space (default)

    # The `no_space` EnforcedStyleForEmptyBraces style enforces that
    # block braces don't have a space in between when empty.
    
    # bad
    some_array.each {   }
    some_array.each {  }
    some_array.each { }
    
    # good
    some_array.each {}

    Example: EnforcedStyleForEmptyBraces: space

    # The `space` EnforcedStyleForEmptyBraces style enforces that
    # block braces have at least a spece in between when empty.
    
    # bad
    some_array.each {}
    
    # good
    some_array.each { }
    some_array.each {  }
    some_array.each {   }

    Example: SpaceBeforeBlockParameters: true (default)

    # The SpaceBeforeBlockParameters style set to `true` enforces that
    # there is a space between `{` and `|`. Overrides `EnforcedStyle`
    # if there is a conflict.
    
    # bad
    [1, 2, 3].each {|n| n * 2 }
    
    # good
    [1, 2, 3].each { |n| n * 2 }

    Example: SpaceBeforeBlockParameters: true

    # The SpaceBeforeBlockParameters style set to `false` enforces that
    # there is no space between `{` and `|`. Overrides `EnforcedStyle`
    # if there is a conflict.
    
    # bad
    [1, 2, 3].each { |n| n * 2 }
    
    # good
    [1, 2, 3].each {|n| n * 2 }

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

      if File.extname(filename) == ".textile" or File.extname(filename) == ".md" then
    Severity: Minor
    Found in lib/tools.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"

    Line is too long. [81/80]
    Open

      if File.extname(filename) == ".textile" or File.extname(filename) == ".md" then
    Severity: Minor
    Found in lib/tools.rb by rubocop

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

      drafts = filenames_in "_drafts/*"
    Severity: Minor
    Found in lib/tools.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"

    Redundant begin block detected.
    Open

      begin
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop checks for redundant begin blocks.

    Currently it checks for code like this:

    Example:

    def redundant
      begin
        ala
        bala
      rescue StandardError => e
        something
      end
    end
    
    def preferred
      ala
      bala
    rescue StandardError => e
      something
    end

    Line is too long. [91/80]
    Open

            content << "* \"#{filename}\":{{site.url}}/#{file_change_ext(filename, ".html")}\n"
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Do not introduce global variables.
    Open

      (sh 'compass ' + command) if $compass
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cops looks for uses of global variables. It does not report offenses for built-in global variables. Built-in global variables are allowed by default. Additionally users can allow additional variables via the AllowedVariables option.

    Note that backreferences like $1, $2, etc are not global variables.

    Example:

    # bad
    $foo = 2
    bar = $foo + 5
    
    # good
    FOO = 2
    foo = 2
    $stdin.read

    Do not use then for multi-line if.
    Open

          if user_visible(filename) then
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Checks for uses of the then keyword in multi-line if statements.

    Example:

    # bad
    # This is considered bad practice.
    if cond then
    end
    
    # good
    # If statements can contain `then` on the same line.
    if cond then a
    elsif cond then b
    end

    Use ! instead of not.
    Open

      not filename.match(exclusion_list)
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop checks for uses of the keyword not instead of !.

    Example:

    # bad - parentheses are required because of op precedence
    x = (not something)
    
    # good
    x = !something

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

      puts "Commiting draft version"
    Severity: Minor
    Found in lib/tools.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

    EXCLUSION_LIST = [/.*~/, /_.*/, "javascripts?", "js", /stylesheets?/, "css", "Rakefile", "Gemfile", /s[ca]ss/, /.*\.css/, /.*.js/, "bower_components", "config.rb"]
    Severity: Minor
    Found in lib/tools.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

      if File.extname(filename) == ".textile" or File.extname(filename) == ".md" then
    Severity: Minor
    Found in lib/tools.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"

    Align .map with .glob on line 121.
    Open

        .map{|f| File.basename f}
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop checks the indentation of the method name part in method calls that span more than one line.

    Example: EnforcedStyle: aligned

    # bad
    while myvariable
    .b
      # do something
    end
    
    # good
    while myvariable
          .b
      # do something
    end
    
    # good
    Thing.a
         .b
         .c

    Example: EnforcedStyle: indented

    # good
    while myvariable
      .b
    
      # do something
    end

    Example: EnforcedStyle: indentedrelativeto_receiver

    # good
    while myvariable
            .a
            .b
    
      # do something
    end
    
    # good
    myvariable = Thing
                   .a
                   .b
                   .c

    Space missing to the left of {.
    Open

        .select{|f| File.file? f}
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Checks that block braces have or don't have a space before the opening brace depending on configuration.

    Example:

    # bad
    foo.map{ |a|
      a.bar.to_s
    }
    
    # good
    foo.map { |a|
      a.bar.to_s
    }

    Space missing inside }.
    Open

        .select{|f| File.file? f}
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Checks that block braces have or don't have surrounding space inside them on configuration. For blocks taking parameters, it checks that the left brace has or doesn't have trailing space depending on configuration.

    Example: EnforcedStyle: space (default)

    # The `space` style enforces that block braces have
    # surrounding space.
    
    # bad
    some_array.each {puts e}
    
    # good
    some_array.each { puts e }

    Example: EnforcedStyle: no_space

    # The `no_space` style enforces that block braces don't
    # have surrounding space.
    
    # bad
    some_array.each { puts e }
    
    # good
    some_array.each {puts e}

    Example: EnforcedStyleForEmptyBraces: no_space (default)

    # The `no_space` EnforcedStyleForEmptyBraces style enforces that
    # block braces don't have a space in between when empty.
    
    # bad
    some_array.each {   }
    some_array.each {  }
    some_array.each { }
    
    # good
    some_array.each {}

    Example: EnforcedStyleForEmptyBraces: space

    # The `space` EnforcedStyleForEmptyBraces style enforces that
    # block braces have at least a spece in between when empty.
    
    # bad
    some_array.each {}
    
    # good
    some_array.each { }
    some_array.each {  }
    some_array.each {   }

    Example: SpaceBeforeBlockParameters: true (default)

    # The SpaceBeforeBlockParameters style set to `true` enforces that
    # there is a space between `{` and `|`. Overrides `EnforcedStyle`
    # if there is a conflict.
    
    # bad
    [1, 2, 3].each {|n| n * 2 }
    
    # good
    [1, 2, 3].each { |n| n * 2 }

    Example: SpaceBeforeBlockParameters: true

    # The SpaceBeforeBlockParameters style set to `false` enforces that
    # there is no space between `{` and `|`. Overrides `EnforcedStyle`
    # if there is a conflict.
    
    # bad
    [1, 2, 3].each { |n| n * 2 }
    
    # good
    [1, 2, 3].each {|n| n * 2 }

    Line is too long. [83/80]
    Open

        sh "cd _drafts && git add -A && git ci -m \"Add new draft: #{title}\" && cd .."
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Use && instead of and.
    Open

      $git_check and git_repo? and git_remote_diffs(branch)
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

    Example: EnforcedStyle: always (default)

    # bad
    foo.save and return
    
    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    if foo && bar
    end

    Example: EnforcedStyle: conditionals

    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    foo.save and return
    
    # good
    if foo && bar
    end

    Use def with parentheses when there are parameters.
    Open

    def git_requires_attention branch
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cops checks for parentheses around the arguments in method definitions. Both instance and class/singleton methods are checked.

    Example: EnforcedStyle: require_parentheses (default)

    # The `require_parentheses` style requires method definitions
    # to always use parentheses
    
    # bad
    def bar num1, num2
      num1 + num2
    end
    
    def foo descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name
      do_something
    end
    
    # good
    def bar(num1, num2)
      num1 + num2
    end
    
    def foo(descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name)
      do_something
    end

    Example: EnforcedStyle: requirenoparentheses

    # The `require_no_parentheses` style requires method definitions
    # to never use parentheses
    
    # bad
    def bar(num1, num2)
      num1 + num2
    end
    
    def foo(descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name)
      do_something
    end
    
    # good
    def bar num1, num2
      num1 + num2
    end
    
    def foo descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name
      do_something
    end

    Example: EnforcedStyle: requirenoparenthesesexceptmultiline

    # The `require_no_parentheses_except_multiline` style prefers no
    # parantheses when method definition arguments fit on single line,
    # but prefers parantheses when arguments span multiple lines.
    
    # bad
    def bar(num1, num2)
      num1 + num2
    end
    
    def foo descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name
      do_something
    end
    
    # good
    def bar num1, num2
      num1 + num2
    end
    
    def foo(descriptive_var_name,
            another_descriptive_var_name,
            last_descriptive_var_name)
      do_something
    end

    Use backticks around command string.
    Open

      %x{git rev-parse #{branch}} != %x{git rev-parse origin/#{branch}}
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop enforces using `` or %x around command literals.

    Example: EnforcedStyle: backticks (default)

    # bad
    folders = %x(find . -type d).split
    
    # bad
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )
    
    # good
    folders = `find . -type d`.split
    
    # good
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `

    Example: EnforcedStyle: mixed

    # bad
    folders = %x(find . -type d).split
    
    # bad
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `
    
    # good
    folders = `find . -type d`.split
    
    # good
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )

    Example: EnforcedStyle: percent_x

    # bad
    folders = `find . -type d`.split
    
    # bad
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `
    
    # good
    folders = %x(find . -type d).split
    
    # good
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )

    Example: AllowInnerBackticks: false (default)

    # If `false`, the cop will always recommend using `%x` if one or more
    # backticks are found in the command string.
    
    # bad
    `echo \`ls\``
    
    # good
    %x(echo `ls`)

    Example: AllowInnerBackticks: true

    # good
    `echo \`ls\``

    Freeze mutable objects assigned to constants.
    Open

    EXCLUSION_LIST = [/.*~/, /_.*/, "javascripts?", "js", /stylesheets?/, "css", "Rakefile", "Gemfile", /s[ca]ss/, /.*\.css/, /.*.js/, "bower_components", "config.rb"]
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop checks whether some constant value isn't a mutable literal (e.g. array or hash).

    Example:

    # bad
    CONST = [1, 2, 3]
    
    # good
    CONST = [1, 2, 3].freeze

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

        puts "Checking links with anemone ... "
    Severity: Minor
    Found in lib/tools.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

    EXCLUSION_LIST = [/.*~/, /_.*/, "javascripts?", "js", /stylesheets?/, "css", "Rakefile", "Gemfile", /s[ca]ss/, /.*\.css/, /.*.js/, "bower_components", "config.rb"]
    Severity: Minor
    Found in lib/tools.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

    EXCLUSION_LIST = [/.*~/, /_.*/, "javascripts?", "js", /stylesheets?/, "css", "Rakefile", "Gemfile", /s[ca]ss/, /.*\.css/, /.*.js/, "bower_components", "config.rb"]
    Severity: Minor
    Found in lib/tools.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"

    Trailing whitespace detected.
    Open

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

    Line is too long. [96/80]
    Open

      # Not a big deal but if code further down the line fails, the changes will be commited however
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Use the new Ruby 1.9 hash syntax.
    Open

        Anemone.crawl(root, :discard_page_bodies => true) do |anemone|
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop checks hash literal syntax.

    It can enforce either the use of the class hash rocket syntax or the use of the newer Ruby 1.9 syntax (when applicable).

    A separate offense is registered for each problematic pair.

    The supported styles are:

    • ruby19 - forces use of the 1.9 syntax (e.g. {a: 1}) when hashes have all symbols for keys
    • hash_rockets - forces use of hash rockets for all hashes
    • nomixedkeys - simply checks for hashes with mixed syntaxes
    • ruby19nomixed_keys - forces use of ruby 1.9 syntax and forbids mixed syntax hashes

    Example: EnforcedStyle: ruby19 (default)

    # bad
    {:a => 2}
    {b: 1, :c => 2}
    
    # good
    {a: 2, b: 1}
    {:c => 2, 'd' => 2} # acceptable since 'd' isn't a symbol
    {d: 1, 'e' => 2} # technically not forbidden

    Example: EnforcedStyle: hash_rockets

    # bad
    {a: 1, b: 2}
    {c: 1, 'd' => 5}
    
    # good
    {:a => 1, :b => 2}

    Example: EnforcedStyle: nomixedkeys

    # bad
    {:a => 1, b: 2}
    {c: 1, 'd' => 2}
    
    # good
    {:a => 1, :b => 2}
    {c: 1, d: 2}

    Example: EnforcedStyle: ruby19nomixed_keys

    # bad
    {:a => 1, :b => 2}
    {c: 2, 'd' => 3} # should just use hash rockets
    
    # good
    {a: 1, b: 2}
    {:c => 3, 'd' => 4}

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

    EXCLUSION_LIST = [/.*~/, /_.*/, "javascripts?", "js", /stylesheets?/, "css", "Rakefile", "Gemfile", /s[ca]ss/, /.*\.css/, /.*.js/, "bower_components", "config.rb"]
    Severity: Minor
    Found in lib/tools.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"

    %x-literals should be delimited by ( and ).
    Open

      %x{git diff --name-only} != ""
    Severity: Minor
    Found in lib/tools.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)

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

    EXCLUSION_LIST = [/.*~/, /_.*/, "javascripts?", "js", /stylesheets?/, "css", "Rakefile", "Gemfile", /s[ca]ss/, /.*\.css/, /.*.js/, "bower_components", "config.rb"]
    Severity: Minor
    Found in lib/tools.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

      %x{git diff --name-only} != ""
    Severity: Minor
    Found in lib/tools.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"

    Align .select with .glob on line 121.
    Open

        .select{|f| File.file? f}
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop checks the indentation of the method name part in method calls that span more than one line.

    Example: EnforcedStyle: aligned

    # bad
    while myvariable
    .b
      # do something
    end
    
    # good
    while myvariable
          .b
      # do something
    end
    
    # good
    Thing.a
         .b
         .c

    Example: EnforcedStyle: indented

    # good
    while myvariable
      .b
    
      # do something
    end

    Example: EnforcedStyle: indentedrelativeto_receiver

    # good
    while myvariable
            .a
            .b
    
      # do something
    end
    
    # good
    myvariable = Thing
                   .a
                   .b
                   .c

    Line is too long. [85/80]
    Open

      sh("cd _drafts; git add #{title}; git ci -m \"Published new version of #{title}\"")
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Use || instead of or.
    Open

      if File.extname(filename) == ".textile" or File.extname(filename) == ".md" then
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

    Example: EnforcedStyle: always (default)

    # bad
    foo.save and return
    
    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    if foo && bar
    end

    Example: EnforcedStyle: conditionals

    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    foo.save and return
    
    # good
    if foo && bar
    end

    %x-literals should be delimited by ( and ).
    Open

      %x{git fetch}
    Severity: Minor
    Found in lib/tools.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)

    %x-literals should be delimited by ( and ).
    Open

      %x{git rev-parse #{branch}} != %x{git rev-parse origin/#{branch}}
    Severity: Minor
    Found in lib/tools.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)

    Use && instead of and.
    Open

      $git_check and git_repo? and git_remote_diffs(branch)
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop checks for uses of and and or, and suggests using && and || instead. It can be configured to check only in conditions, or in all contexts.

    Example: EnforcedStyle: always (default)

    # bad
    foo.save and return
    
    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    if foo && bar
    end

    Example: EnforcedStyle: conditionals

    # bad
    if foo and bar
    end
    
    # good
    foo.save && return
    
    # good
    foo.save and return
    
    # good
    if foo && bar
    end

    Use backticks around command string.
    Open

      %x{git rev-parse #{branch}} != %x{git rev-parse origin/#{branch}}
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop enforces using `` or %x around command literals.

    Example: EnforcedStyle: backticks (default)

    # bad
    folders = %x(find . -type d).split
    
    # bad
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )
    
    # good
    folders = `find . -type d`.split
    
    # good
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `

    Example: EnforcedStyle: mixed

    # bad
    folders = %x(find . -type d).split
    
    # bad
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `
    
    # good
    folders = `find . -type d`.split
    
    # good
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )

    Example: EnforcedStyle: percent_x

    # bad
    folders = `find . -type d`.split
    
    # bad
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `
    
    # good
    folders = %x(find . -type d).split
    
    # good
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )

    Example: AllowInnerBackticks: false (default)

    # If `false`, the cop will always recommend using `%x` if one or more
    # backticks are found in the command string.
    
    # bad
    `echo \`ls\``
    
    # good
    %x(echo `ls`)

    Example: AllowInnerBackticks: true

    # good
    `echo \`ls\``

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

      if dir.downcase.include? 'drafts'
    Severity: Minor
    Found in lib/tools.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

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

    EXCLUSION_LIST = [/.*~/, /_.*/, "javascripts?", "js", /stylesheets?/, "css", "Rakefile", "Gemfile", /s[ca]ss/, /.*\.css/, /.*.js/, "bower_components", "config.rb"]
    Severity: Minor
    Found in lib/tools.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

      pubs = filenames_in "_posts/*"
    Severity: Minor
    Found in lib/tools.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"

    Do not use do with multi-line while.
    Open

        while (line = io.gets) do
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Checks for uses of do in multi-line while/until statements.

    Example:

    # bad
    while x.any? do
      do_something(x.pop)
    end
    
    # good
    while x.any?
      do_something(x.pop)
    end

    Example:

    # bad
    until x.empty? do
      do_something(x.pop)
    end
    
    # good
    until x.empty?
      do_something(x.pop)
    end

    Align .to_set with .glob on line 121.
    Open

        .to_set
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop checks the indentation of the method name part in method calls that span more than one line.

    Example: EnforcedStyle: aligned

    # bad
    while myvariable
    .b
      # do something
    end
    
    # good
    while myvariable
          .b
      # do something
    end
    
    # good
    Thing.a
         .b
         .c

    Example: EnforcedStyle: indented

    # good
    while myvariable
      .b
    
      # do something
    end

    Example: EnforcedStyle: indentedrelativeto_receiver

    # good
    while myvariable
            .a
            .b
    
      # do something
    end
    
    # good
    myvariable = Thing
                   .a
                   .b
                   .c

    Use backticks around command string.
    Open

      %x{git fetch}
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop enforces using `` or %x around command literals.

    Example: EnforcedStyle: backticks (default)

    # bad
    folders = %x(find . -type d).split
    
    # bad
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )
    
    # good
    folders = `find . -type d`.split
    
    # good
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `

    Example: EnforcedStyle: mixed

    # bad
    folders = %x(find . -type d).split
    
    # bad
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `
    
    # good
    folders = `find . -type d`.split
    
    # good
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )

    Example: EnforcedStyle: percent_x

    # bad
    folders = `find . -type d`.split
    
    # bad
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `
    
    # good
    folders = %x(find . -type d).split
    
    # good
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )

    Example: AllowInnerBackticks: false (default)

    # If `false`, the cop will always recommend using `%x` if one or more
    # backticks are found in the command string.
    
    # bad
    `echo \`ls\``
    
    # good
    %x(echo `ls`)

    Example: AllowInnerBackticks: true

    # good
    `echo \`ls\``

    Space missing to the left of {.
    Open

      (drafts - pubs).each{|f| puts f unless f == "README.md" }
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Checks that block braces have or don't have a space before the opening brace depending on configuration.

    Example:

    # bad
    foo.map{ |a|
      a.bar.to_s
    }
    
    # good
    foo.map { |a|
      a.bar.to_s
    }

    Space missing to the left of {.
    Open

        .map{|f| File.basename f}
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Checks that block braces have or don't have a space before the opening brace depending on configuration.

    Example:

    # bad
    foo.map{ |a|
      a.bar.to_s
    }
    
    # good
    foo.map { |a|
      a.bar.to_s
    }

    Line is too long. [82/80]
    Open

        # Must have cd and cd .. in same sh command as sh wont maintain dir over calls
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Space between { and | missing.
    Open

      (drafts - pubs).each{|f| puts f unless f == "README.md" }
    Severity: Minor
    Found in lib/tools.rb by rubocop

    Checks that block braces have or don't have surrounding space inside them on configuration. For blocks taking parameters, it checks that the left brace has or doesn't have trailing space depending on configuration.

    Example: EnforcedStyle: space (default)

    # The `space` style enforces that block braces have
    # surrounding space.
    
    # bad
    some_array.each {puts e}
    
    # good
    some_array.each { puts e }

    Example: EnforcedStyle: no_space

    # The `no_space` style enforces that block braces don't
    # have surrounding space.
    
    # bad
    some_array.each { puts e }
    
    # good
    some_array.each {puts e}

    Example: EnforcedStyleForEmptyBraces: no_space (default)

    # The `no_space` EnforcedStyleForEmptyBraces style enforces that
    # block braces don't have a space in between when empty.
    
    # bad
    some_array.each {   }
    some_array.each {  }
    some_array.each { }
    
    # good
    some_array.each {}

    Example: EnforcedStyleForEmptyBraces: space

    # The `space` EnforcedStyleForEmptyBraces style enforces that
    # block braces have at least a spece in between when empty.
    
    # bad
    some_array.each {}
    
    # good
    some_array.each { }
    some_array.each {  }
    some_array.each {   }

    Example: SpaceBeforeBlockParameters: true (default)

    # The SpaceBeforeBlockParameters style set to `true` enforces that
    # there is a space between `{` and `|`. Overrides `EnforcedStyle`
    # if there is a conflict.
    
    # bad
    [1, 2, 3].each {|n| n * 2 }
    
    # good
    [1, 2, 3].each { |n| n * 2 }

    Example: SpaceBeforeBlockParameters: true

    # The SpaceBeforeBlockParameters style set to `false` enforces that
    # there is no space between `{` and `|`. Overrides `EnforcedStyle`
    # if there is a conflict.
    
    # bad
    [1, 2, 3].each { |n| n * 2 }
    
    # good
    [1, 2, 3].each {|n| n * 2 }

    Use backticks around command string.
    Open

      %x{git status} != ""
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop enforces using `` or %x around command literals.

    Example: EnforcedStyle: backticks (default)

    # bad
    folders = %x(find . -type d).split
    
    # bad
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )
    
    # good
    folders = `find . -type d`.split
    
    # good
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `

    Example: EnforcedStyle: mixed

    # bad
    folders = %x(find . -type d).split
    
    # bad
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `
    
    # good
    folders = `find . -type d`.split
    
    # good
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )

    Example: EnforcedStyle: percent_x

    # bad
    folders = `find . -type d`.split
    
    # bad
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `
    
    # good
    folders = %x(find . -type d).split
    
    # good
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )

    Example: AllowInnerBackticks: false (default)

    # If `false`, the cop will always recommend using `%x` if one or more
    # backticks are found in the command string.
    
    # bad
    `echo \`ls\``
    
    # good
    %x(echo `ls`)

    Example: AllowInnerBackticks: true

    # good
    `echo \`ls\``

    Trailing whitespace detected.
    Open

      IO.popen('find * -newer _last_deploy.txt -type f') do |io| 
    Severity: Minor
    Found in lib/tools.rb by rubocop

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

      %x{git status} != ""
    Severity: Minor
    Found in lib/tools.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 inside interpolations.
    Open

            content << "* \"#{filename}\":{{site.url}}/#{file_change_ext(filename, ".html")}\n"
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop checks that quotes inside the string interpolation match the configured preference.

    Example: EnforcedStyle: single_quotes (default)

    # bad
    result = "Tests #{success ? "PASS" : "FAIL"}"
    
    # good
    result = "Tests #{success ? 'PASS' : 'FAIL'}"

    Example: EnforcedStyle: double_quotes

    # bad
    result = "Tests #{success ? 'PASS' : 'FAIL'}"
    
    # good
    result = "Tests #{success ? "PASS" : "FAIL"}"

    Use backticks around command string.
    Open

      %x{git diff --name-only} != ""
    Severity: Minor
    Found in lib/tools.rb by rubocop

    This cop enforces using `` or %x around command literals.

    Example: EnforcedStyle: backticks (default)

    # bad
    folders = %x(find . -type d).split
    
    # bad
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )
    
    # good
    folders = `find . -type d`.split
    
    # good
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `

    Example: EnforcedStyle: mixed

    # bad
    folders = %x(find . -type d).split
    
    # bad
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `
    
    # good
    folders = `find . -type d`.split
    
    # good
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )

    Example: EnforcedStyle: percent_x

    # bad
    folders = `find . -type d`.split
    
    # bad
    `
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    `
    
    # good
    folders = %x(find . -type d).split
    
    # good
    %x(
      ln -s foo.example.yml foo.example
      ln -s bar.example.yml bar.example
    )

    Example: AllowInnerBackticks: false (default)

    # If `false`, the cop will always recommend using `%x` if one or more
    # backticks are found in the command string.
    
    # bad
    `echo \`ls\``
    
    # good
    %x(echo `ls`)

    Example: AllowInnerBackticks: true

    # good
    `echo \`ls\``

    %x-literals should be delimited by ( and ).
    Open

      %x{git rev-parse #{branch}} != %x{git rev-parse origin/#{branch}}
    Severity: Minor
    Found in lib/tools.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)

    There are no issues that match your filters.

    Category
    Status