1
0
Fork 0
mirror of https://github.com/pry/pry.git synced 2022-11-09 12:35:05 -05:00

Merge pull request #1888 from pry/rubocop-style-block-delimiters

rubocop: fix ofences of the Style/BlockDelimiters cop
This commit is contained in:
Kyrylo Silin 2018-11-18 00:45:07 +08:00 committed by GitHub
commit 1f60cc1ff5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
17 changed files with 86 additions and 92 deletions

View file

@ -732,16 +732,6 @@ Style/AsciiComments:
- 'lib/pry/pry_instance.rb' - 'lib/pry/pry_instance.rb'
- 'lib/pry/terminal.rb' - 'lib/pry/terminal.rb'
# Offense count: 51
# Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods.
# SupportedStyles: line_count_based, semantic, braces_for_chaining
# ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
# FunctionalMethods: let, let!, subject, watch
# IgnoredMethods: lambda, proc, it
Style/BlockDelimiters:
Enabled: false
# Offense count: 14 # Offense count: 14
# Cop supports --auto-correct. # Cop supports --auto-correct.
# Configuration parameters: EnforcedStyle. # Configuration parameters: EnforcedStyle.

View file

@ -88,8 +88,9 @@ class Pry
if lines.is_a? String if lines.is_a? String
lines = lines.lines lines = lines.lines
end end
@lines = lines.each_with_index.map { |line, lineno| @lines = lines.each_with_index.map do |line, lineno|
LOC.new(line, lineno + start_line.to_i) } LOC.new(line, lineno + start_line.to_i)
end
@code_type = code_type @code_type = code_type
@with_marker = @with_indentation = @with_line_numbers = nil @with_marker = @with_indentation = @with_line_numbers = nil

View file

@ -50,11 +50,11 @@ class Pry
def load_path_completions def load_path_completions
$LOAD_PATH.flat_map do |path| $LOAD_PATH.flat_map do |path|
Dir[path + '/**/*'].map { |f| Dir[path + '/**/*'].map do |f|
next if File.directory?(f) next if File.directory?(f)
f.sub!(path + '/', '') f.sub!(path + '/', '')
} end
end end
end end
end end

View file

@ -34,7 +34,7 @@ module Pry::Command::Ls::JRubyHacks
# When removing jruby aliases, we want to keep the alias that is # When removing jruby aliases, we want to keep the alias that is
# "least rubbish" according to this metric. # "least rubbish" according to this metric.
def rubbishness(name) def rubbishness(name)
name.each_char.map { |x| name.each_char.map do |x|
case x case x
when /[A-Z]/ when /[A-Z]/
1 1
@ -43,7 +43,7 @@ module Pry::Command::Ls::JRubyHacks
else else
0 0
end end
}.inject(&:+) + (name.size / 100.0) end.inject(&:+) + (name.size / 100.0)
end end
end end

View file

@ -8,22 +8,22 @@ class Pry
end end
def output_self def output_self
name_value_pairs = @target.eval('local_variables').reject { |e| name_value_pairs = @target.eval('local_variables').reject do |e|
@sticky_locals.keys.include?(e.to_sym) @sticky_locals.keys.include?(e.to_sym)
}.map { |name| end.map do |name|
[name, (@target.eval(name.to_s))] [name, (@target.eval(name.to_s))]
} end
format(name_value_pairs).join('') format(name_value_pairs).join('')
end end
private private
def format(name_value_pairs) def format(name_value_pairs)
name_value_pairs.sort_by { |_name, value| name_value_pairs.sort_by do |_name, value|
value.to_s.size value.to_s.size
}.reverse.map { |name, value| end.reverse.map do |name, value|
colorized_assignment_style(name, format_value(value)) colorized_assignment_style(name, format_value(value))
} end
end end
def colorized_assignment_style(lhs, rhs, desired_width = 7) def colorized_assignment_style(lhs, rhs, desired_width = 7)

View file

@ -170,7 +170,7 @@ class Pry::InputCompleter
require 'set' require 'set'
candidates = Set.new candidates = Set.new
to_ignore = ignored_modules to_ignore = ignored_modules
ObjectSpace.each_object(Module) { |m| ObjectSpace.each_object(Module) do |m|
next if (to_ignore.include?(m) rescue true) next if (to_ignore.include?(m) rescue true)
# jruby doesn't always provide #instance_methods() on each # jruby doesn't always provide #instance_methods() on each
@ -178,7 +178,7 @@ class Pry::InputCompleter
if m.respond_to?(:instance_methods) if m.respond_to?(:instance_methods)
candidates.merge m.instance_methods(false).collect(&:to_s) candidates.merge m.instance_methods(false).collect(&:to_s)
end end
} end
end end
select_message(path, receiver, message, candidates.sort) select_message(path, receiver, message, candidates.sort)
when /^\.([^.]*)$/ when /^\.([^.]*)$/
@ -206,7 +206,7 @@ class Pry::InputCompleter
end end
def select_message(path, receiver, message, candidates) def select_message(path, receiver, message, candidates)
candidates.grep(/^#{message}/).collect { |e| candidates.grep(/^#{message}/).collect do |e|
case e case e
when /^[a-zA-Z_]/ when /^[a-zA-Z_]/
path.call(receiver + "." << e) path.call(receiver + "." << e)
@ -214,7 +214,7 @@ class Pry::InputCompleter
when *Operators when *Operators
#receiver + " " << e #receiver + " " << e
end end
}.compact end.compact
end end
# build_path seperates the input into two parts: path and input. # build_path seperates the input into two parts: path and input.

View file

@ -410,9 +410,9 @@ class Pry::Slop
heads = options.reject(&:tail?) heads = options.reject(&:tail?)
tails = (options - heads) tails = (options - heads)
opts = (heads + tails).select(&:help).map(&:to_s) opts = (heads + tails).select(&:help).map(&:to_s)
optstr = opts.each_with_index.map { |o, i| optstr = opts.each_with_index.map do |o, i|
(str = @separators[i + 1]) ? [o, str].join("\n") : o (str = @separators[i + 1]) ? [o, str].join("\n") : o
}.join("\n") end.join("\n")
if @commands.any? if @commands.any?
optstr << "\n" if !optstr.empty? optstr << "\n" if !optstr.empty?

View file

@ -48,10 +48,10 @@ describe Pry::CommandSet do
end end
it 'should pass arguments of the command to the block' do it 'should pass arguments of the command to the block' do
expect { |probe| expect do |probe|
@set.command('foo', &probe) @set.command('foo', &probe)
@set.run_command(@ctx, 'foo', 1, 2, 3) @set.run_command(@ctx, 'foo', 1, 2, 3)
}.to yield_with_args(1, 2, 3) end.to yield_with_args(1, 2, 3)
end end
it 'should use the first argument as context' do it 'should use the first argument as context' do
@ -333,12 +333,12 @@ describe Pry::CommandSet do
end end
it 'should provide a :listing for a command that defaults to its name' do it 'should provide a :listing for a command that defaults to its name' do
@set.command 'foo', "" do;end @set.command('foo', '') {}
expect(@set['foo'].options[:listing]).to eq 'foo' expect(@set['foo'].options[:listing]).to eq 'foo'
end end
it 'should provide a :listing for a command that differs from its name' do it 'should provide a :listing for a command that differs from its name' do
@set.command 'foo', "", listing: 'bar' do;end @set.command('foo', '', listing: 'bar') {}
expect(@set['foo'].options[:listing]).to eq 'bar' expect(@set['foo'].options[:listing]).to eq 'bar'
end end

View file

@ -52,7 +52,7 @@ describe "Pry::Command" do
end end
end end
let(:hooks) { let(:hooks) do
h = Pry::Hooks.new h = Pry::Hooks.new
h.add_hook('before_jamaica', 'name1') do |i| h.add_hook('before_jamaica', 'name1') do |i|
output.puts 3 - i.to_i output.puts 3 - i.to_i
@ -69,7 +69,7 @@ describe "Pry::Command" do
h.add_hook('after_jamaica', 'name4') do |i| h.add_hook('after_jamaica', 'name4') do |i|
output.puts 3 + i.to_i output.puts 3 + i.to_i
end end
} end
it "should call hooks in the right order" do it "should call hooks in the right order" do
out = pry_tester(hooks: hooks, commands: @set).process_command('jamaica 2') out = pry_tester(hooks: hooks, commands: @set).process_command('jamaica 2')
@ -129,7 +129,7 @@ describe "Pry::Command" do
end end
describe 'context' do describe 'context' do
let(:context) { let(:context) do
{ {
target: binding, target: binding,
output: StringIO.new, output: StringIO.new,
@ -137,7 +137,7 @@ describe "Pry::Command" do
command_set: @set, command_set: @set,
pry_instance: Pry.new pry_instance: Pry.new
} }
} end
describe '#setup' do describe '#setup' do
it 'should capture lots of stuff from the hash passed to new before setup' do it 'should capture lots of stuff from the hash passed to new before setup' do
@ -310,52 +310,52 @@ describe "Pry::Command" do
describe 'tokenize' do describe 'tokenize' do
it 'should interpolate string with #{} in them' do it 'should interpolate string with #{} in them' do
expect { |probe| expect do |probe|
cmd = @set.command('random-dent', &probe) cmd = @set.command('random-dent', &probe)
_foo = 5 _foo = 5
cmd.new(target: binding).process_line 'random-dent #{1 + 2} #{3 + _foo}' cmd.new(target: binding).process_line 'random-dent #{1 + 2} #{3 + _foo}'
}.to yield_with_args('3', '8') end.to yield_with_args('3', '8')
end end
it 'should not fail if interpolation is not needed and target is not set' do it 'should not fail if interpolation is not needed and target is not set' do
expect { |probe| expect do |probe|
cmd = @set.command('the-book', &probe) cmd = @set.command('the-book', &probe)
cmd.new.process_line 'the-book --help' cmd.new.process_line 'the-book --help'
}.to yield_with_args('--help') end.to yield_with_args('--help')
end end
it 'should not interpolate commands with :interpolate => false' do it 'should not interpolate commands with :interpolate => false' do
expect { |probe| expect do |probe|
cmd = @set.command('thor', 'norse god', interpolate: false, &probe) cmd = @set.command('thor', 'norse god', interpolate: false, &probe)
cmd.new.process_line 'thor %(#{foo})' cmd.new.process_line 'thor %(#{foo})'
}.to yield_with_args('%(#{foo})') end.to yield_with_args('%(#{foo})')
end end
it 'should use shell-words to split strings' do it 'should use shell-words to split strings' do
expect { |probe| expect do |probe|
cmd = @set.command('eccentrica', &probe) cmd = @set.command('eccentrica', &probe)
cmd.new.process_line %(eccentrica "gallumbits" 'erot''icon' 6) cmd.new.process_line %(eccentrica "gallumbits" 'erot''icon' 6)
}.to yield_with_args('gallumbits', 'eroticon', '6') end.to yield_with_args('gallumbits', 'eroticon', '6')
end end
it 'should split on spaces if shellwords is not used' do it 'should split on spaces if shellwords is not used' do
expect { |probe| expect do |probe|
cmd = @set.command('bugblatter-beast', 'would eat its grandmother', shellwords: false, &probe) cmd = @set.command('bugblatter-beast', 'would eat its grandmother', shellwords: false, &probe)
cmd.new.process_line %(bugblatter-beast "of traal") cmd.new.process_line %(bugblatter-beast "of traal")
}.to yield_with_args('"of', 'traal"') end.to yield_with_args('"of', 'traal"')
end end
it 'should add captures to arguments for regex commands' do it 'should add captures to arguments for regex commands' do
expect { |probe| expect do |probe|
cmd = @set.command(/perfectly (normal)( beast)?/i, &probe) cmd = @set.command(/perfectly (normal)( beast)?/i, &probe)
cmd.new.process_line %(Perfectly Normal Beast (honest!)) cmd.new.process_line %(Perfectly Normal Beast (honest!))
}.to yield_with_args('Normal', ' Beast', '(honest!)') end.to yield_with_args('Normal', ' Beast', '(honest!)')
end end
end end
@ -392,11 +392,11 @@ describe "Pry::Command" do
end end
it "should set the commands' arg_string and captures" do it "should set the commands' arg_string and captures" do
inside = inner_scope { |probe| inside = inner_scope do |probe|
cmd = @set.command(/benj(ie|ei)/, &probe) cmd = @set.command(/benj(ie|ei)/, &probe)
cmd.new.process_line %(benjie mouse) cmd.new.process_line %(benjie mouse)
} end
expect(inside.arg_string).to eq("mouse") expect(inside.arg_string).to eq("mouse")
expect(inside.captures).to eq(['ie']) expect(inside.captures).to eq(['ie'])

View file

@ -366,9 +366,9 @@ describe "edit" do
it "should write the evaluated command to history" do it "should write the evaluated command to history" do
quote = 'history repeats itself, first as tradegy...' quote = 'history repeats itself, first as tradegy...'
Pry.config.editor = lambda { |file, _line| Pry.config.editor = lambda { |file, _line|
File.open(file, 'w') { |f| File.open(file, 'w') do |f|
f << quote f << quote
} end
nil nil
} }
@t.process_command 'edit' @t.process_command 'edit'

View file

@ -17,20 +17,20 @@ describe "help" do
end end
it 'should display help for a regex command with a "listing"' do it 'should display help for a regex command with a "listing"' do
@set.command(/bar(.*)/, "Test listing", listing: "foo") do; end @set.command(/bar(.*)/, "Test listing", listing: "foo") { ; }
expect(pry_eval('help foo')).to match(/Test listing/) expect(pry_eval('help foo')).to match(/Test listing/)
end end
it 'should display help for a command with a spaces in its name' do it 'should display help for a command with a spaces in its name' do
@set.command "cmd with spaces", "desc of a cmd with spaces" do; end @set.command('cmd with spaces', 'desc of a cmd with spaces') {}
expect(pry_eval('help "cmd with spaces"')).to match(/desc of a cmd with spaces/) expect(pry_eval('help "cmd with spaces"')).to match(/desc of a cmd with spaces/)
end end
it 'should display help for all commands with a description' do it 'should display help for all commands with a description' do
@set.command(/bar(.*)/, "Test listing", listing: "foo") do; end @set.command(/bar(.*)/, "Test listing", listing: "foo") { ; }
@set.command "b", "description for b", listing: "foo" do; end @set.command('b', 'description for b', listing: 'foo') {}
@set.command "c" do;end @set.command('c') {}
@set.command "d", "" do;end @set.command('d', '') {}
output = pry_eval('help') output = pry_eval('help')
expect(output).to match(/Test listing/) expect(output).to match(/Test listing/)
@ -39,10 +39,10 @@ describe "help" do
end end
it "should sort the output of the 'help' command" do it "should sort the output of the 'help' command" do
@set.command 'faa', "Fooerizes" do; end @set.command('faa', 'Fooerizes') {}
@set.command 'gaa', "Gooerizes" do; end @set.command('gaa', 'Gooerizes') {}
@set.command 'maa', "Mooerizes" do; end @set.command('maa', 'Mooerizes') {}
@set.command 'baa', "Booerizes" do; end @set.command('baa', 'Booerizes') {}
doc = pry_eval('help') doc = pry_eval('help')

View file

@ -61,9 +61,9 @@ describe Pry::Command::ShellCommand do
describe "with CDPATH" do describe "with CDPATH" do
let(:cdpath) { File.expand_path(File.join('spec', 'fixtures', 'cdpathdir')) } let(:cdpath) { File.expand_path(File.join('spec', 'fixtures', 'cdpathdir')) }
let(:nonexisting_path) { File.expand_path('nonexisting_path') } let(:nonexisting_path) { File.expand_path('nonexisting_path') }
let(:long_cdpath) { let(:long_cdpath) do
[nonexisting_path, cdpath].join(File::PATH_SEPARATOR) [nonexisting_path, cdpath].join(File::PATH_SEPARATOR)
} end
describe "when it is defined" do describe "when it is defined" do
before do before do

View file

@ -127,14 +127,14 @@ describe "show-doc" do
describe "rdoc highlighting" do describe "rdoc highlighting" do
it "should syntax highlight code in rdoc" do it "should syntax highlight code in rdoc" do
_c = Class.new { _c = Class.new do
# This can initialize your class: # This can initialize your class:
# #
# a = _c.new :foo # a = _c.new :foo
# #
# @param foo # @param foo
def initialize(foo); end def initialize(foo); end
} end
t = pry_tester(binding) t = pry_tester(binding)
expect(t.eval("show-doc _c#initialize")).to match(/_c.new :foo/) expect(t.eval("show-doc _c#initialize")).to match(/_c.new :foo/)
# I don't want the test to rely on which colour codes are there, just to # I don't want the test to rely on which colour codes are there, just to
@ -144,12 +144,12 @@ describe "show-doc" do
end end
it "should syntax highlight `code` in rdoc" do it "should syntax highlight `code` in rdoc" do
_c = Class.new { _c = Class.new do
# After initializing your class with `_c.new(:foo)`, go have fun! # After initializing your class with `_c.new(:foo)`, go have fun!
# #
# @param foo # @param foo
def initialize(foo); end def initialize(foo); end
} end
t = pry_tester(binding) t = pry_tester(binding)
expect(t.eval("show-doc _c#initialize")).to match(/_c.new\(:foo\)/) expect(t.eval("show-doc _c#initialize")).to match(/_c.new\(:foo\)/)
@ -160,14 +160,14 @@ describe "show-doc" do
end end
it "should not syntax highlight `` inside code" do it "should not syntax highlight `` inside code" do
_c = Class.new { _c = Class.new do
# Convert aligned output (from many shell commands) into nested arrays: # Convert aligned output (from many shell commands) into nested arrays:
# #
# a = decolumnize `ls -l $HOME` # a = decolumnize `ls -l $HOME`
# #
# @param output # @param output
def decolumnize(output); end def decolumnize(output); end
} end
begin begin
t = pry_tester(binding) t = pry_tester(binding)
@ -422,12 +422,15 @@ describe "show-doc" do
end end
it 'should display help for a regex command with a "listing"' do it 'should display help for a regex command with a "listing"' do
@set.command(/bar(.*)/, "Test listing", listing: "foo") do; end @set.command(/bar(.*)/, "Test listing", listing: "foo") { ; }
expect(pry_eval('show-doc foo')).to match(/Test listing/) expect(pry_eval('show-doc foo')).to match(/Test listing/)
end end
it 'should display help for a command with a spaces in its name' do it 'should display help for a command with a spaces in its name' do
@set.command "command with spaces", "description of a command with spaces" do; end @set.command(
'command with spaces',
'description of a command with spaces'
) {}
expect(pry_eval('show-doc command with spaces')).to match(/description of a command with spaces/) expect(pry_eval('show-doc command with spaces')).to match(/description of a command with spaces/)
end end

View file

@ -57,11 +57,11 @@ describe "show-source" do
end end
it "should find methods even if the object overrides method method" do it "should find methods even if the object overrides method method" do
_c = Class.new { _c = Class.new do
def method; def method;
98 98
end end
} end
expect(pry_eval(binding, "show-source _c.new.method")).to match(/98/) expect(pry_eval(binding, "show-source _c.new.method")).to match(/98/)
end end
@ -78,13 +78,13 @@ describe "show-source" do
end end
it "should find instance_methods if the class overrides instance_method" do it "should find instance_methods if the class overrides instance_method" do
_c = Class.new { _c = Class.new do
def method; def method;
98 98
end end
def self.instance_method; 789; end def self.instance_method; 789; end
} end
expect(pry_eval(binding, "show-source _c#method")).to match(/98/) expect(pry_eval(binding, "show-source _c#method")).to match(/98/)
end end
@ -688,25 +688,25 @@ describe "show-source" do
describe "block commands" do describe "block commands" do
it 'should show source for an ordinary command' do it 'should show source for an ordinary command' do
@set.command "foo", :body_of_foo do; end @set.command('foo', :body_of_foo) {}
expect(pry_eval('show-source foo')).to match(/:body_of_foo/) expect(pry_eval('show-source foo')).to match(/:body_of_foo/)
end end
it "should output source of commands using special characters" do it "should output source of commands using special characters" do
@set.command "!%$", "I gots the yellow fever" do; end @set.command('!%$', 'I gots the yellow fever') {}
expect(pry_eval('show-source !%$')).to match(/yellow fever/) expect(pry_eval('show-source !%$')).to match(/yellow fever/)
end end
it 'should show source for a command with spaces in its name' do it 'should show source for a command with spaces in its name' do
@set.command "foo bar", :body_of_foo_bar do; end @set.command('foo bar', :body_of_foo_bar) {}
expect(pry_eval('show-source foo bar')).to match(/:body_of_foo_bar/) expect(pry_eval('show-source foo bar')).to match(/:body_of_foo_bar/)
end end
it 'should show source for a command by listing name' do it 'should show source for a command by listing name' do
@set.command(/foo(.*)/, :body_of_foo_bar_regex, listing: "bar") do; end @set.command(/foo(.*)/, :body_of_foo_bar_regex, listing: "bar") { ; }
expect(pry_eval('show-source bar')).to match(/:body_of_foo_bar_regex/) expect(pry_eval('show-source bar')).to match(/:body_of_foo_bar_regex/)
end end

View file

@ -66,12 +66,12 @@ describe Pry do
expect(Pry.history.to_a.size).to eq 3 expect(Pry.history.to_a.size).to eq 3
Pry.history.clear Pry.history.clear
File.open(@hist_file_path, 'r') { |fh| File.open(@hist_file_path, 'r') do |fh|
file = fh.to_a file = fh.to_a
expect(file.length).to eq 3 expect(file.length).to eq 3
expect(file.any? { |a| a =~ /athos/ }).to eq true expect(file.any? { |a| a =~ /athos/ }).to eq true
} end
end end
end end

View file

@ -322,9 +322,9 @@ describe Pry::Method do
end end
it "should find methods defined in modules included into the object's class" do it "should find methods defined in modules included into the object's class" do
@obj = Class.new { @obj = Class.new do
include(Module.new { def meth; 1; end }) include(Module.new { def meth; 1; end })
}.new end.new
should_find_method('meth') should_find_method('meth')
end end
@ -351,11 +351,11 @@ describe Pry::Method do
end end
it "should work in the face of an overridden send" do it "should work in the face of an overridden send" do
@obj = Class.new { @obj = Class.new do
def meth; 1; end def meth; 1; end
def send; raise EOFError; end def send; raise EOFError; end
}.new end.new
should_find_method('meth') should_find_method('meth')
end end
end end
@ -499,7 +499,7 @@ describe Pry::Method do
describe 'method aliases' do describe 'method aliases' do
before do before do
@class = Class.new { @class = Class.new do
def eat def eat
end end
@ -508,7 +508,7 @@ describe Pry::Method do
def eruct def eruct
end end
} end
end end
it 'should be able to find method aliases' do it 'should be able to find method aliases' do
@ -554,7 +554,7 @@ describe Pry::Method do
describe '.signature' do describe '.signature' do
before do before do
@class = Class.new { @class = Class.new do
def self.standard_arg(arg) end def self.standard_arg(arg) end
def self.block_arg(&block) end def self.block_arg(&block) end
@ -562,7 +562,7 @@ describe Pry::Method do
def self.rest(*splat) end def self.rest(*splat) end
def self.optional(option = nil) end def self.optional(option = nil) end
} end
end end
it 'should print the name of regular args' do it 'should print the name of regular args' do

View file

@ -72,9 +72,9 @@ describe Pry do
# YUCK! horrible hack to get round the fact that output is not configured # YUCK! horrible hack to get round the fact that output is not configured
# at the point this message is printed. # at the point this message is printed.
(class << Pry; self; end).send(:define_method, :puts) { |str| (class << Pry; self; end).send(:define_method, :puts) do |str|
putsed = str putsed = str
} end
@doing_it = lambda { @doing_it = lambda {
Pry.start(self, input: StringIO.new("Object::TEST_AFTER_RAISE=1\nexit-all\n"), output: StringIO.new) Pry.start(self, input: StringIO.new("Object::TEST_AFTER_RAISE=1\nexit-all\n"), output: StringIO.new)