-
Notifications
You must be signed in to change notification settings - Fork 61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
First task #73
First task #73
Conversation
end | ||
end | ||
|
||
def test_you_can_reference_nested_classes_using_the_scope_operator |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutScope#test_you_can_reference_nested_classes_using_the_scope_operator has approx 6 statements. More info.
|
||
# ------------------------------------------------------------------ | ||
|
||
def count_lines3(file_name) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeMethodName: AboutSandwichCode#count_lines3 has the name 'count_lines3'. More info.
end | ||
end | ||
|
||
def test_finding_lines2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeMethodName: AboutSandwichCode#test_finding_lines2 has the name 'test_finding_lines2'. More info.
|
||
# ------------------------------------------------------------------ | ||
|
||
def find_line2(file_name) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeMethodName: AboutSandwichCode#find_line2 has the name 'find_line2'. More info.
end | ||
end | ||
|
||
def test_counting_lines2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeMethodName: AboutSandwichCode#test_counting_lines2 has the name 'test_counting_lines2'. More info.
|
||
# ------------------------------------------------------------------ | ||
|
||
def acts_like_a_string?(string) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UtilityFunction: AboutToStr#acts_like_a_string? doesn't depend on instance state (maybe move it to another class?). More info.
|
||
def test_symbols_do_not_have_string_methods | ||
symbol = :not_a_string | ||
assert_equal false, symbol.respond_to?(:each_char) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ManualDispatch: AboutSymbols#test_symbols_do_not_have_string_methods manually dispatches method call. More info.
|
||
def test_identical_symbols_are_a_single_internal_object | ||
symbol1 = :a_symbol | ||
symbol2 = :a_symbol |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutSymbols#test_identical_symbols_are_a_single_internal_object has the variable name 'symbol2'. More info.
end | ||
|
||
def test_identical_symbols_are_a_single_internal_object | ||
symbol1 = :a_symbol |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutSymbols#test_identical_symbols_are_a_single_internal_object has the variable name 'symbol1'. More info.
def test_symbols_can_be_compared | ||
symbol1 = :a_symbol | ||
symbol2 = :a_symbol | ||
symbol3 = :something_else |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutSymbols#test_symbols_can_be_compared has the variable name 'symbol3'. More info.
,:::::::::::::::: ::,, , ,:::, | ||
,:::: , ,, | ||
,,, | ||
ENDTEXT |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Naming/HeredocDelimiterNaming: Use meaningful heredoc delimiters.
# -*- ruby -*- | ||
# rubocop:disable Lint/Void | ||
# rubocop:disable Lint/HandleExceptions | ||
# rubocop:disable Style/AccessModifierDeclarations |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lint/UnneededCopDisableDirective: Unnecessary disabling of Style/AccessModifierDeclarations (unknown cop).
@@ -0,0 +1,568 @@ | |||
#!/usr/bin/env ruby |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lint/ScriptPermission: Script file neo.rb doesn't have execute permission.
|
||
# rubocop:disable RSpec/EmptyExampleGroup | ||
# rubocop:disable RSpec/MultipleDescribes | ||
# rubocop:disable RSpec/DescribeClass |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lint/UnneededCopDisableDirective: Unnecessary disabling of RSpec/DescribeClass (unknown cop).
# frozen_string_literal: true | ||
|
||
# rubocop:disable RSpec/EmptyExampleGroup | ||
# rubocop:disable RSpec/MultipleDescribes |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lint/UnneededCopDisableDirective: Unnecessary disabling of RSpec/MultipleDescribes (unknown cop).
def at_least_ruby_version(version) | ||
vints = version_ints(version) | ||
ruby_vints = version_ints(RUBY_VERSION) | ||
vints.zip(ruby_vints).all? { |v, rv| v.nil? || rv.nil? || v >= rv } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# rubocop:disable RSpec/MultipleDescribes | ||
# rubocop:disable RSpec/DescribeClass | ||
|
||
def version_ints(version) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UtilityFunction: version_ints doesn't depend on instance state (maybe move it to another class?). More info.
raise TriangleError if x + y <= z | ||
|
||
[a, b, c].each do |i| | ||
if [a, b, c].select { |num| i == num }.length == 3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NestedIterators: triangle contains iterators nested 2 deep. More info.
x, y, z = [a, b, c].sort | ||
raise TriangleError if x + y <= z | ||
|
||
[a, b, c].each do |i| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: triangle has the variable name 'i'. More info.
res = 0 | ||
raise TriangleError unless [a, b, c].reject(&:positive?).empty? | ||
|
||
x, y, z = [a, b, c].sort |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# ------------------------------------------------------------------ | ||
|
||
class WellBehavedFooCatcher | ||
def method_missing(method_name, *args, &block) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/MethodMissing: When using method_missing, define respond_to_missing? and fall back on super.
# ------------------------------------------------------------------ | ||
|
||
class AllMessageCatcher | ||
def method_missing(method_name, *args) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Style/MethodMissing: When using method_missing, define respond_to_missing? and fall back on super.
|
||
# rubocop:disable Metrics/LineLength | ||
# rubocop:disable Style/MethodMissingSuper | ||
# rubocop:disable Style/MissingRespondToMissing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lint/UnneededCopDisableDirective: Unnecessary disabling of Style/MissingRespondToMissing (unknown cop).
# frozen_string_literal: true | ||
|
||
# rubocop:disable Metrics/LineLength | ||
# rubocop:disable Style/MethodMissingSuper |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lint/UnneededCopDisableDirective: Unnecessary disabling of Style/MethodMissingSuper (did you mean Style/SingleLineMethods?).
@@ -0,0 +1,192 @@ | |||
# frozen_string_literal: true | |||
|
|||
# rubocop:disable Metrics/LineLength |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lint/UnneededCopDisableDirective: Unnecessary disabling of Metrics/LineLength.
|
||
def teardown; end | ||
|
||
def meditate |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: Neo::Koan#meditate has approx 7 statements. More info.
end | ||
|
||
def passed? | ||
@failure.nil? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NilCheck: Neo::Koan#passed? performs a nil-check. More info.
end | ||
end | ||
|
||
class Koan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyInstanceVariables: Neo::Koan has at least 7 instance variables. More info.
|
||
# Hat's tip to Ara T. Howard for the zen statements from his | ||
# metakoans Ruby Quiz (http://rubyquiz.com/quiz67.html) | ||
def a_zenlike_statement |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: Neo::Sensei#a_zenlike_statement has approx 8 statements. More info.
text.collect { |t| " #{t}" } | ||
end | ||
|
||
def find_interesting_lines(backtrace) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UtilityFunction: Neo::Sensei#find_interesting_lines doesn't depend on instance state (maybe move it to another class?). More info.
@@ -0,0 +1,169 @@ | |||
# frozen_string_literal: true | |||
|
|||
# rubocop:disable Metrics/LineLength: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lint/UnneededCopDisableDirective: Unnecessary disabling of Metrics/LineLength.
def find_line2(file_name) | ||
file_sandwich(file_name) do |file| | ||
while line = file.gets | ||
return line if line.match(/e/) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Performance/RedundantMatch: Use =~ in places where the MatchData returned by #match will not be used.
def find_line(file_name) | ||
file = open(file_name) | ||
while line = file.gets | ||
return line if line.match(/e/) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Performance/RedundantMatch: Use =~ in places where the MatchData returned by #match will not be used.
|
||
def test_clone_creates_a_different_object | ||
obj = Object.new | ||
copy = obj.clone |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutObjects#test_clone_creates_a_different_object refers to 'obj' more than self (maybe move it to another class?). More info.
|
||
def test_character_classes_give_options_for_a_character | ||
animals = %w[cat bat rat zat] | ||
assert_equal %w[cat bat rat], animals.select { |a| a[/[cbr]at/] } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutRegularExpressions#test_character_classes_give_options_for_a_character has the variable name 'a'. More info.
def test_it_also_turns_off | ||
tv = Television.new | ||
|
||
tv.power |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: TelevisionTest#test_it_also_turns_off refers to 'tv' more than self (maybe move it to another class?). More info.
def test_it_turns_on | ||
tv = Television.new | ||
|
||
tv.power |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: TelevisionTest#test_it_turns_on refers to 'tv' more than self (maybe move it to another class?). More info.
|
||
# Example class using in the proxy testing above. | ||
class Television | ||
attr_accessor :channel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Attribute: Television#channel is a writable attribute. More info.
# changes should be necessary to anything below this comment. | ||
|
||
# Example class using in the proxy testing above. | ||
class Television |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
def test_proxy_can_record_more_than_just_tv_objects | ||
proxy = Proxy.new('Code Mash 2009') | ||
|
||
proxy.upcase! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutProxyObjectProject#test_proxy_can_record_more_than_just_tv_objects refers to 'proxy' more than self (maybe move it to another class?). More info.
|
||
def indent(text) | ||
text = text.split(/\n/) if text.is_a?(String) | ||
text.collect { |t| " #{t}" } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: Neo::Sensei#indent has the variable name 't'. More info.
end | ||
end | ||
|
||
def indent(text) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UtilityFunction: Neo::Sensei#indent doesn't depend on instance state (maybe move it to another class?). More info.
|
||
def embolden_first_line_only(text) | ||
first_line = true | ||
text.collect do |t| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: Neo::Sensei#embolden_first_line_only has the variable name 't'. More info.
puts | ||
end | ||
|
||
def embolden_first_line_only(text) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UtilityFunction: Neo::Sensei#embolden_first_line_only doesn't depend on instance state (maybe move it to another class?). More info.
end | ||
end | ||
|
||
def guide_through_error |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: Neo::Sensei#guide_through_error has approx 7 statements. More info.
@_contents | ||
end | ||
|
||
def observe(step) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: Neo::Sensei#observe has approx 6 statements. More info.
def progress | ||
if @_contents.nil? | ||
if File.exist?(PROGRESS_FILE_NAME) | ||
File.open(PROGRESS_FILE_NAME, 'r') do |f| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: Neo::Sensei#progress has the variable name 'f'. More info.
end | ||
|
||
def progress | ||
if @_contents.nil? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NilCheck: Neo::Sensei#progress performs a nil-check. More info.
def add_progress(prog) | ||
@_contents = nil | ||
exists = File.exist?(PROGRESS_FILE_NAME) | ||
File.open(PROGRESS_FILE_NAME, 'a+') do |f| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: Neo::Sensei#add_progress has the variable name 'f'. More info.
end | ||
end | ||
|
||
class Sensei |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
class AboutTriangleProject2 < Neo::Koan | ||
# The first assignment did not talk about how to handle errors. | ||
# Let's handle that part now. | ||
def test_illegal_triangles_throw_exceptions |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutTriangleProject2#test_illegal_triangles_throw_exceptions has approx 8 statements. More info.
# You need to write the triangle method in the file 'triangle.rb' | ||
require './triangle.rb' | ||
|
||
class AboutTriangleProject2 < Neo::Koan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeModuleName: AboutTriangleProject2 has the name 'AboutTriangleProject2'. More info.
assert_equal 'Here', $anywhere | ||
end | ||
|
||
def test_global_variables_can_be_changed_from_any_scope_2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeMethodName: AboutVariableScope#test_global_variables_can_be_changed_from_any_scope_2 has the name 'test_global_variables_can_be_changed_from_any_scope_2'. More info.
end | ||
|
||
def test_class_variable | ||
(1..9).each { |i| Mouse.new(i.to_s) } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutVariableScope#test_class_variable has the variable name 'i'. More info.
# ------------------------------------------------------ | ||
|
||
class Mouse | ||
@@total = 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
def test_proxy_records_messages_sent_to_tv | ||
tv = Proxy.new(Television.new) | ||
|
||
tv.power |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutProxyObjectProject#test_proxy_records_messages_sent_to_tv refers to 'tv' more than self (maybe move it to another class?). More info.
def test_tv_methods_still_perform_their_function | ||
tv = Proxy.new(Television.new) | ||
|
||
tv.channel = 10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutProxyObjectProject#test_tv_methods_still_perform_their_function refers to 'tv' more than self (maybe move it to another class?). More info.
|
||
def test_module_methods_can_affect_instance_variables_in_the_object | ||
fido = Dog.new | ||
assert_equal 'Fido', fido.name |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutModules#test_module_methods_can_affect_instance_variables_in_the_object refers to 'fido' more than self (maybe move it to another class?). More info.
|
||
def test_strings_are_unique_objects | ||
a = 'a string' | ||
b = 'a string' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutStrings#test_strings_are_unique_objects has the variable name 'b'. More info.
end | ||
|
||
def test_strings_are_unique_objects | ||
a = 'a string' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutStrings#test_strings_are_unique_objects has the variable name 'a'. More info.
# rubocop:disable Metrics/ClassLength | ||
# rubocop:disable Naming/HeredocDelimiterNaming | ||
# rubocop:disable Lint/UselessAssignment | ||
# rubocop:disable Metrics/LineLength |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lint/UnneededCopDisableDirective: Unnecessary disabling of Metrics/LineLength.
assert_equal 0, score([2, 3, 4, 6]) | ||
end | ||
|
||
def test_score_of_a_triple_1_is_1000 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeMethodName: AboutScoringProject#test_score_of_a_triple_1_is_1000 has the name 'test_score_of_a_triple_1_is_1000'. More info.
assert_equal 50, score([5]) | ||
end | ||
|
||
def test_score_of_a_single_roll_of_1_is_100 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeMethodName: AboutScoringProject#test_score_of_a_single_roll_of_1_is_100 has the name 'test_score_of_a_single_roll_of_1_is_100'. More info.
assert_equal 0, score([]) | ||
end | ||
|
||
def test_score_of_a_single_roll_of_5_is_50 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeMethodName: AboutScoringProject#test_score_of_a_single_roll_of_5_is_50 has the name 'test_score_of_a_single_roll_of_5_is_50'. More info.
end | ||
end | ||
|
||
if !exception1.nil? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NilCheck: exceptions performs a nil-check. More info.
result = [] | ||
dice = selector(arr) | ||
dice.each do |i| | ||
result << h[i] unless h[i].nil? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NilCheck: sum performs a nil-check. More info.
h = { 1 => 100, 5 => 50 } | ||
result = [] | ||
dice = selector(arr) | ||
dice.each do |i| |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: sum has the variable name 'i'. More info.
end | ||
|
||
def sum(arr) | ||
h = { 1 => 100, 5 => 50 } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: sum has the variable name 'h'. More info.
sum(dice) | ||
end | ||
|
||
def sum(arr) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: sum has approx 8 statements. More info.
3523/0/about_asserts.rb
Outdated
@@ -0,0 +1,41 @@ | |||
#!/usr/bin/env ruby |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lint/ScriptPermission: Script file about_asserts.rb doesn't have execute permission.
def test_you_can_roll_different_numbers_of_dice | ||
dice = DiceSet.new | ||
|
||
dice.roll(3) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutDiceProject#test_you_can_roll_different_numbers_of_dice refers to 'dice' more than self (maybe move it to another class?). More info.
def test_dice_values_should_change_between_rolls | ||
dice = DiceSet.new | ||
|
||
dice.roll(5) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutDiceProject#test_dice_values_should_change_between_rolls refers to 'dice' more than self (maybe move it to another class?). More info.
assert_equal first_time, second_time | ||
end | ||
|
||
def test_dice_values_should_change_between_rolls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutDiceProject#test_dice_values_should_change_between_rolls has approx 6 statements. More info.
|
||
def test_dice_values_do_not_change_unless_explicitly_rolled | ||
dice = DiceSet.new | ||
dice.roll(5) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutDiceProject#test_dice_values_do_not_change_unless_explicitly_rolled refers to 'dice' more than self (maybe move it to another class?). More info.
def test_rolling_the_dice_returns_a_set_of_integers_between_1_and_6 | ||
dice = DiceSet.new | ||
|
||
dice.roll(5) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutDiceProject#test_rolling_the_dice_returns_a_set_of_integers_between_1_and_6 refers to 'dice' more than self (maybe move it to another class?). More info.
assert pattern =~ actual, msg | ||
end | ||
|
||
def assert_raise(exception) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: Neo::Assertions#assert_raise has approx 6 statements. More info.
end | ||
|
||
def assert_match(pattern, actual, msg = nil) | ||
msg ||= "Expected #{actual.inspect} to match #{pattern.inspect}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: Neo::Assertions#assert_match refers to 'pattern' more than self (maybe move it to another class?). More info.
|
||
def assert_not_nil(actual, msg = nil) | ||
msg ||= "Expected #{actual.inspect} to not be nil" | ||
assert(!actual.nil?, msg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NilCheck: Neo::Assertions#assert_not_nil performs a nil-check. More info.
end | ||
|
||
def assert_not_nil(actual, msg = nil) | ||
msg ||= "Expected #{actual.inspect} to not be nil" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: Neo::Assertions#assert_not_nil refers to 'actual' more than self (maybe move it to another class?). More info.
|
||
def assert_nil(actual, msg = nil) | ||
msg ||= "Expected #{actual.inspect} to be nil" | ||
assert(actual.nil?, msg) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NilCheck: Neo::Assertions#assert_nil performs a nil-check. More info.
end | ||
|
||
def assert_nil(actual, msg = nil) | ||
msg ||= "Expected #{actual.inspect} to be nil" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: Neo::Assertions#assert_nil refers to 'actual' more than self (maybe move it to another class?). More info.
end | ||
|
||
def assert_not_equal(expected, actual, msg = nil) | ||
msg ||= "Expected #{expected.inspect} to not equal #{actual.inspect}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: Neo::Assertions#assert_not_equal refers to 'expected' more than self (maybe move it to another class?). More info.
end | ||
|
||
def assert_equal(expected, actual, msg = nil) | ||
msg ||= "Expected #{expected.inspect} to equal #{actual.inspect}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: Neo::Assertions#assert_equal refers to 'expected' more than self (maybe move it to another class?). More info.
true | ||
end | ||
|
||
def assert_equal(expected, actual, msg = nil) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
|
||
def assert(condition, msg = nil) | ||
msg ||= 'Failed assertion.' | ||
flunk(msg) unless condition |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ControlParameter: Neo::Assertions#assert is controlled by argument 'condition'. More info.
class FillMeInError < StandardError | ||
end | ||
|
||
def ruby_version?(version) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UtilityFunction: ruby_version? doesn't depend on instance state (maybe move it to another class?). More info.
assert_equal :false_stuff, truth_value(nil) | ||
end | ||
|
||
def test_everything_else_is_treated_as_true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutTrueAndFalse#test_everything_else_is_treated_as_true has approx 6 statements. More info.
|
||
class AboutTrueAndFalse < Neo::Koan | ||
def truth_value(condition) | ||
if condition |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ControlParameter: AboutTrueAndFalse#truth_value is controlled by argument 'condition'. More info.
def test_use_flexible_quoting_to_handle_really_hard_cases | ||
a = %(flexible quotes can handle both ' and " characters) | ||
b = %(flexible quotes can handle both ' and " characters) | ||
c = %(flexible quotes can handle both ' and " characters) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutStrings#test_use_flexible_quoting_to_handle_really_hard_cases has the variable name 'c'. More info.
|
||
def test_use_flexible_quoting_to_handle_really_hard_cases | ||
a = %(flexible quotes can handle both ' and " characters) | ||
b = %(flexible quotes can handle both ' and " characters) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutStrings#test_use_flexible_quoting_to_handle_really_hard_cases has the variable name 'b'. More info.
@@ -0,0 +1,13 @@ | |||
#!/usr/bin/env ruby |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lint/ScriptPermission: Script file Rakefile doesn't have execute permission.
|
||
def test_symbols_can_be_compared | ||
symbol1 = :a_symbol | ||
symbol2 = :a_symbol |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutSymbols#test_symbols_can_be_compared has the variable name 'symbol2'. More info.
end | ||
|
||
def test_symbols_can_be_compared | ||
symbol1 = :a_symbol |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutSymbols#test_symbols_can_be_compared has the variable name 'symbol1'. More info.
end | ||
|
||
def test_use_flexible_quoting_to_handle_really_hard_cases | ||
a = %(flexible quotes can handle both ' and " characters) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutStrings#test_use_flexible_quoting_to_handle_really_hard_cases has the variable name 'a'. More info.
|
||
def test_use_backslash_for_those_hard_cases | ||
a = "He said, \"Don't\"" | ||
b = 'He said, "Don\'t"' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutStrings#test_use_backslash_for_those_hard_cases has the variable name 'b'. More info.
end | ||
|
||
def test_stand_alone_blocks_can_be_passed_to_methods_expecting_blocks | ||
make_upper = ->(n) { n.upcase } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutBlocks#test_stand_alone_blocks_can_be_passed_to_methods_expecting_blocks has the variable name 'n'. More info.
end | ||
|
||
def test_blocks_can_be_assigned_to_variables_and_called_explicitly | ||
add_one = ->(n) { n + 1 } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutBlocks#test_blocks_can_be_assigned_to_variables_and_called_explicitly has the variable name 'n'. More info.
def test_next_statement | ||
i = 0 | ||
result = [] | ||
while i < 10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutControlStatements#test_next_statement refers to 'i' more than self (maybe move it to another class?). More info.
end | ||
|
||
def test_next_statement | ||
i = 0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutControlStatements#test_next_statement has the variable name 'i'. More info.
assert_equal 2, result | ||
end | ||
|
||
def test_next_statement |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutControlStatements#test_next_statement has approx 6 statements. More info.
def test_explicitly_implementing_respond_to_lets_objects_tell_the_truth | ||
catcher = WellBehavedFooCatcher.new | ||
|
||
assert_equal true, catcher.respond_to?(:foo_bar) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ManualDispatch: AboutMessagePassing#test_explicitly_implementing_respond_to_lets_objects_tell_the_truth manually dispatches method call. More info.
assert_nothing_raised do | ||
catcher.any_method | ||
end | ||
assert_equal false, catcher.respond_to?(:any_method) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ManualDispatch: AboutMessagePassing#test_catching_messages_makes_respond_to_lie manually dispatches method call. More info.
# ------------------------------------------------------------------ | ||
|
||
class AllMessageCatcher | ||
def method_missing(method_name, *args) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UtilityFunction: AboutMessagePassing::AllMessageCatcher#method_missing doesn't depend on instance state (maybe move it to another class?). More info.
def test_classes_can_be_asked_if_they_know_how_to_respond | ||
mc = MessageCatcher.new | ||
|
||
assert_equal true, mc.respond_to?(:caught?) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ManualDispatch: AboutMessagePassing#test_classes_can_be_asked_if_they_know_how_to_respond manually dispatches method call. More info.
|
||
# Files act like a collection of lines | ||
File.open('example_file.txt') do |file| | ||
upcase_lines = file.map { |line| line.strip.upcase } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NestedIterators: AboutIteration#test_all_iteration_methods_work_on_any_collection_not_just_arrays contains iterators nested 2 deep. More info.
# whenever comparing to lists of methods. | ||
|
||
in_ruby_version('1.8') do | ||
def as_name(name) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UtilityFunction: AboutIteration#as_name doesn't depend on instance state (maybe move it to another class?). More info.
# ------------------------------------------------------------------ | ||
# class Dog | ||
class Dog | ||
def self.class_method2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeMethodName: AboutClassMethods::Dog#self.class_method2 has the name 'class_method2'. More info.
# ------------------------------------------------------------------ | ||
# class Dog | ||
class Dog | ||
attr_accessor :name |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Attribute: AboutClassMethods::Dog#name is a writable attribute. More info.
# ------------------------------------------------------------------ | ||
|
||
# class Dog2 | ||
class Dog2 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeModuleName: AboutClassMethods::Dog2 has the name 'Dog2'. More info.
require File.expand_path(File.dirname(__FILE__) + '/neo') | ||
|
||
# class AboutClassMethods | ||
class AboutClassMethods < Neo::Koan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyMethods: AboutClassMethods has at least 16 methods. More info.
|
||
# ------------------------------------------------------------------ | ||
|
||
def my_method_in_the_same_class(a_par, b_par) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UtilityFunction: AboutMethods#my_method_in_the_same_class doesn't depend on instance state (maybe move it to another class?). More info.
|
||
# NOTE: wrong number of arguments is not a SYNTAX error, but a | ||
# runtime error. | ||
def test_calling_global_methods_with_wrong_number_of_arguments |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutMethods#test_calling_global_methods_with_wrong_number_of_arguments has approx 6 statements. More info.
a_par + b_par | ||
end | ||
|
||
class AboutMethods < Neo::Koan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyMethods: AboutMethods has at least 20 methods. More info.
|
||
require File.expand_path(File.dirname(__FILE__) + '/neo') | ||
|
||
def my_global_method(a_par, b_par) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UtilityFunction: my_global_method doesn't depend on instance state (maybe move it to another class?). More info.
end | ||
|
||
def test_default_value_with_block | ||
hash = Hash.new { |hash, key| hash[key] = [] } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutHashes#test_default_value_with_block refers to 'hash' more than self (maybe move it to another class?). More info.
|
||
def test_hash_is_unordered | ||
hash1 = { one: 'uno', two: 'dos' } | ||
hash2 = { two: 'dos', one: 'uno' } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutHashes#test_hash_is_unordered has the variable name 'hash2'. More info.
end | ||
|
||
def test_hash_is_unordered | ||
hash1 = { one: 'uno', two: 'dos' } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutHashes#test_hash_is_unordered has the variable name 'hash1'. More info.
begin | ||
# 'raise' and 'fail' are synonyms | ||
raise MySpecialError, 'My Message' | ||
rescue MySpecialError => e |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutExceptions#test_raising_a_particular_error has the variable name 'e'. More info.
assert_equal 'Oops', e.message | ||
end | ||
|
||
def test_raising_a_particular_error |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutExceptions#test_raising_a_particular_error has approx 6 statements. More info.
result = nil | ||
begin | ||
raise 'Oops' | ||
rescue StandardError => e |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutExceptions#test_rescue_clause has the variable name 'e'. More info.
# rubocop:disable Layout/EndAlignment | ||
def test_break_statement_returns_values | ||
i = 1 | ||
result = while i <= 10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutControlStatements#test_break_statement_returns_values refers to 'i' more than self (maybe move it to another class?). More info.
|
||
# rubocop:disable Layout/EndAlignment | ||
def test_break_statement_returns_values | ||
i = 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutControlStatements#test_break_statement_returns_values has the variable name 'i'. More info.
end | ||
|
||
def test_break_statement | ||
i = 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeVariableName: AboutControlStatements#test_break_statement has the variable name 'i'. More info.
assert_equal 3_628_800, result | ||
end | ||
|
||
def test_break_statement |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutControlStatements#test_break_statement has approx 7 statements. More info.
def test_while_statement | ||
i = 1 | ||
result = 1 | ||
while i <= 10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutControlStatements#test_while_statement refers to 'i' more than self (maybe move it to another class?). More info.
# ------------------------------------------------------------------ | ||
|
||
# class Dog6 | ||
class Dog6 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeModuleName: AboutClasses::Dog6 has the name 'Dog6'. More info.
def test_attr_accessor_will_automatically_define_both_read_and_write_accessors | ||
fido = Dog5.new | ||
|
||
fido.name = 'Fido' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutClasses#test_attr_accessor_will_automatically_define_both_read_and_write_accessors refers to 'fido' more than self (maybe move it to another class?). More info.
|
||
# class Dog5 | ||
class Dog5 | ||
attr_accessor :name |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Attribute: AboutClasses::Dog5#name is a writable attribute. More info.
# ------------------------------------------------------------------ | ||
|
||
# class Dog5 | ||
class Dog5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeModuleName: AboutClasses::Dog5 has the name 'Dog5'. More info.
|
||
def test_attr_reader_will_automatically_define_an_accessor | ||
fido = Dog4.new | ||
fido.setname('Fido') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutClasses#test_attr_reader_will_automatically_define_an_accessor refers to 'fido' more than self (maybe move it to another class?). More info.
# ------------------------------------------------------------------ | ||
|
||
# class Dog4 | ||
class Dog4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeModuleName: AboutClasses::Dog4 has the name 'Dog4'. More info.
|
||
def test_you_can_create_accessor_methods_to_return_instance_variables | ||
fido = Dog3.new | ||
fido.setname('Fido') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutClasses#test_you_can_create_accessor_methods_to_return_instance_variables refers to 'fido' more than self (maybe move it to another class?). More info.
|
||
# ------------------------------------------------------------------ | ||
# class Dog3 | ||
class Dog3 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
UncommunicativeModuleName: AboutClasses::Dog3 has the name 'Dog3'. More info.
|
||
def test_you_can_politely_ask_for_instance_variable_values | ||
fido = Dog2.new | ||
fido.setname('Fido') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FeatureEnvy: AboutClasses#test_you_can_politely_ask_for_instance_variable_values refers to 'fido' more than self (maybe move it to another class?). More info.
assert_equal [:@name], fido.instance_variables | ||
end | ||
|
||
def test_instance_variables_cannot_be_accessed_outside_the_class |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutClasses#test_instance_variables_cannot_be_accessed_outside_the_class has approx 6 statements. More info.
assert_equal [1, 2], array | ||
end | ||
|
||
def test_shifting_arrays |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutArrays#test_shifting_arrays has approx 6 statements. More info.
assert_equal %i[and jelly], array[2..-1] | ||
end | ||
|
||
def test_pushing_and_popping_arrays |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutArrays#test_pushing_and_popping_arrays has approx 6 statements. More info.
assert_equal :butter, array[-3] | ||
end | ||
|
||
def test_slicing_arrays |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutArrays#test_slicing_arrays has approx 8 statements. More info.
assert_equal [1, 2, 333], array | ||
end | ||
|
||
def test_accessing_array_elements |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutArrays#test_accessing_array_elements has approx 7 statements. More info.
assert_equal 0, empty_array.size | ||
end | ||
|
||
def test_array_literals |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TooManyStatements: AboutArrays#test_array_literals has approx 8 statements. More info.
# Это 1-е сообщение коммита: Add the very very first homework task # Это сообщение коммита номер rubizza-camp#2: new rubocop config # Это сообщение коммита номер rubizza-camp#3: Let's 2019 begin # Это сообщение коммита номер rubizza-camp#4: Resolve reek issue with wrong config format # Это сообщение коммита номер rubizza-camp#5: Uploading source code files # Это сообщение коммита номер rubizza-camp#6: Deleting unnecessary file # Это сообщение коммита номер rubizza-camp#7: Correcting ruby styles # Это сообщение коммита номер rubizza-camp#8: Initial commit # Это сообщение коммита номер rubizza-camp#9: Fix for rubocop # Это сообщение коммита номер rubizza-camp#10: Fix for hound # Это сообщение коммита номер rubizza-camp#11: Fixing for hound and refactoring DiceSet # Это сообщение коммита номер rubizza-camp#12: Add homework 3715 for task 0 # Это сообщение коммита номер rubizza-camp#13: Fix issues indicated by the hound in homework 0 To pass the Hound and match the human style code. # Это сообщение коммита номер rubizza-camp#14: Create file_to_delete.md # Это сообщение коммита номер rubizza-camp#15: 3600 - 0 All files are checked via rubocop and reek # Это сообщение коммита номер rubizza-camp#16: Delete file_to_delete.md # Это сообщение коммита номер rubizza-camp#17: Create neo.rb # Это сообщение коммита номер rubizza-camp#18: Delete neo.rb # Это сообщение коммита номер rubizza-camp#19: Moved files to another folder # Это сообщение коммита номер rubizza-camp#20: Completed all ruby koans # Это сообщение коммита номер rubizza-camp#21: Fix most cod style for rubocop # Это сообщение коммита номер rubizza-camp#22: Fix some rubocop complaints # Это сообщение коммита номер rubizza-camp#23: Fix all koans indicated by the hound # Это сообщение коммита номер rubizza-camp#24: Renamed the latest commit # Это сообщение коммита номер rubizza-camp#25: Correct the error in triangle.rb # Это сообщение коммита номер rubizza-camp#26: Correct the alignments # Это сообщение коммита номер rubizza-camp#27: Solve half of Koans # Это сообщение коммита номер rubizza-camp#28: Solved all Koans # Это сообщение коммита номер rubizza-camp#29: Fix part of codestyle issues # Это сообщение коммита номер rubizza-camp#30: Fix half of codestyle issues # Это сообщение коммита номер rubizza-camp#31: Fix all codestyle issues # Это сообщение коммита номер rubizza-camp#32: Fix codestyle with new config Update config files Update config files Update config files Update config files # Это сообщение коммита номер rubizza-camp#33: Applied requested changes # Это сообщение коммита номер rubizza-camp#34: Fix about_control_statments # Это сообщение коммита номер rubizza-camp#35: Removed unnecessary rubocop:disables # Это сообщение коммита номер rubizza-camp#36: resloved koans and fixed rubocop # Это сообщение коммита номер rubizza-camp#37: fixed # Это сообщение коммита номер rubizza-camp#38: fix # Это сообщение коммита номер rubizza-camp#39: fix # Это сообщение коммита номер rubizza-camp#40: Fixed half reek's errors # Это сообщение коммита номер rubizza-camp#41: finished fix reek errors # Это сообщение коммита номер rubizza-camp#42: finished fix rubocop warnings # Это сообщение коммита номер rubizza-camp#43: fixed 'positive' warninig # Это сообщение коммита номер rubizza-camp#44: removed parentheses around a method call # Это сообщение коммита номер rubizza-camp#45: Come back koens's code and disable rubocop checker # Это сообщение коммита номер rubizza-camp#46: fixed variable name in test_methods_can_take_an_explicit_block_argument # Это сообщение коммита номер rubizza-camp#47: Edit method's arguments # Это сообщение коммита номер rubizza-camp#48: edit answer in test_methods_can_see_if_they_have_been_called_with_a_block use array.uniq in triangle.rb # Это сообщение коммита номер rubizza-camp#49: fixed rubocop's error # Это сообщение коммита номер rubizza-camp#50: simplify code(use case then 3 methods) and fixed wrong call enumerable method in check_below_zero_triagle # Это сообщение коммита номер rubizza-camp#51: simplify calling errors check and removed triangle_analyzes # Это сообщение коммита номер rubizza-camp#52: merge conditions and rename triangle_valud? into triangle_validate? # Это сообщение коммита номер rubizza-camp#53: delete redundant result # Это сообщение коммита номер rubizza-camp#54: fixed rubocop warning # Это сообщение коммита номер rubizza-camp#55: use new instance of array # Это сообщение коммита номер rubizza-camp#56: fixed space's warning # Это сообщение коммита номер rubizza-camp#57: init # Это сообщение коммита номер rubizza-camp#58: fix Style/StringLiterals errors in scope and sandwich # Это сообщение коммита номер rubizza-camp#59: fix Style/StringLiterals errors in sandwich # Это сообщение коммита номер rubizza-camp#60: fix Style/StringLiterals and Style/SymbolArray errors in scope triangle path # Это сообщение коммита номер rubizza-camp#61: fix Style/StringLiterals errors in variable_scope # Это сообщение коммита номер rubizza-camp#62: fix Style/StringLiterals and Style/SafeNavigation errors in sandwich and to_str # Это сообщение коммита номер rubizza-camp#63: fix Style/SafeNavigation and Style/SymbolProc errors in proxy and symbols # Это сообщение коммита номер rubizza-camp#64: disable rubocop and rewrite code in ctrl_statements # Это сообщение коммита номер rubizza-camp#65: disable rubocop in neo # Это сообщение коммита номер rubizza-camp#66: fix Style/WordArray and Style/StringLiterals errors in neo versioning strings # Это сообщение коммита номер rubizza-camp#67: fix Style/StringLiterals errors in module objects sandwich # Это сообщение коммита номер rubizza-camp#68: fix Style/StringLiterals errors and add empty lines in strings symbols # Это сообщение коммита номер rubizza-camp#69: delete unnecessary empty lines and fix Style/StringLiterals symbols triangle var_scope # Это сообщение коммита номер rubizza-camp#70: rewrite all tests # Это сообщение коммита номер rubizza-camp#71: disable rubocop and delete empty lines # Это сообщение коммита номер rubizza-camp#72: change rubocop config for fix Layout/EndOfLine # Это сообщение коммита номер rubizza-camp#73: change rubocop config and disable # Это сообщение коммита номер rubizza-camp#74: try fix Layout/EndOfLine error and enable rubocop # Это сообщение коммита номер rubizza-camp#75: try fix Layout/EndOfLine error # Это сообщение коммита номер rubizza-camp#76: test Layout/EndOfFile # Это сообщение коммита номер rubizza-camp#77: disable rubocop and fix Layout/EndOfLine error # Это сообщение коммита номер rubizza-camp#78: disable and enable rubocop # Это сообщение коммита номер rubizza-camp#79: disable rubocop and delete empty lines # Это сообщение коммита номер rubizza-camp#80: disable rubocop anmd change config # Это сообщение коммита номер rubizza-camp#81: disable rubocop # Это сообщение коммита номер rubizza-camp#82: fix @values in dice_project # Это сообщение коммита номер rubizza-camp#83: try change commit # Это сообщение коммита номер rubizza-camp#84: fix error with changing # Это сообщение коммита номер rubizza-camp#85: disable rubocop in neo # Это сообщение коммита номер rubizza-camp#86: try fix errors with change commits # Это сообщение коммита номер rubizza-camp#87: delete superfluous string in strings # Это сообщение коммита номер rubizza-camp#88: For the second PR # Это сообщение коммита номер rubizza-camp#89: Add Reek-disable comments # Это сообщение коммита номер rubizza-camp#90: Fix locally Reek and Rubocop by adding comments # Это сообщение коммита номер rubizza-camp#91: Fix Regexp performance issue in extra_credit # Это сообщение коммита номер rubizza-camp#92: Add tests(neo.rb, rake, etc) # Это сообщение коммита номер rubizza-camp#93: Fix a problem with spelling and naming in commit messages # Это сообщение коммита номер rubizza-camp#94: Upload files from ruby_koans # Это сообщение коммита номер rubizza-camp#95: Solve about_exceptions # Это сообщение коммита номер rubizza-camp#96: Solve TriangleError # Это сообщение коммита номер rubizza-camp#97: Change negative? check to positive? in triangle # Это сообщение коммита номер rubizza-camp#98: Solve about iterations # Это сообщение коммита номер rubizza-camp#99: Solve about blocks # Это сообщение коммита номер rubizza-camp#100: Solve about sandwich code # Это сообщение коммита номер rubizza-camp#101: Solve scoring project # Это сообщение коммита номер rubizza-camp#102: Solve about classes # Это сообщение коммита номер rubizza-camp#103: Solve about open classes # Это сообщение коммита номер rubizza-camp#104: Solve dice project # Это сообщение коммита номер rubizza-camp#105: Solve about inheritance # Это сообщение коммита номер rubizza-camp#106: Solve about modules # Это сообщение коммита номер rubizza-camp#107: Solve about scope # Это сообщение коммита номер rubizza-camp#108: Solve about class methods # Это сообщение коммита номер rubizza-camp#109: Solve about message passing # Это сообщение коммита номер rubizza-camp#110: Solve about proxy object project # Это сообщение коммита номер rubizza-camp#111: Fix all koans # Это сообщение коммита номер rubizza-camp#112: Fix part rubocop complains # Это сообщение коммита номер rubizza-camp#113: resolve shown violation # Это сообщение коммита номер rubizza-camp#114: Fix second portion rubocop # Это сообщение коммита номер rubizza-camp#115: Fix all rubocop complains except triangle and scoring # Это сообщение коммита номер rubizza-camp#116: Fix sandwich code # Это сообщение коммита номер rubizza-camp#117: Rewrite scoring project # Это сообщение коммита номер rubizza-camp#118: Change triangle code # Это сообщение коммита номер rubizza-camp#119: Fix hound complains # Это сообщение коммита номер rubizza-camp#120: Fix configs # Это сообщение коммита номер rubizza-camp#121: Change configs back # Это сообщение коммита номер rubizza-camp#122: Change about_scoring for AbcSize # Это сообщение коммита номер rubizza-camp#123: Add and fix about_variable_scope # Это сообщение коммита номер rubizza-camp#124: Add newline in the end of path to enlightenment # Это сообщение коммита номер rubizza-camp#125: Change do-end # Это сообщение коммита номер rubizza-camp#126: Finish koans, fix hound # Это сообщение коммита номер rubizza-camp#127: Auto # Это сообщение коммита номер rubizza-camp#128: fix all koans # Это сообщение коммита номер rubizza-camp#129: 3604 - 0 (rubizza-camp#120) * Created folder with number * Done all files, used rubocop and reek * Update about_sandwich_code.rb, error editing * The second update about_sandwich_code, fixed error * Fixed error Naming/ConstantName * Fixed error Style/MutableConstant * Fixed errors TooManyStatements and FeatureEnvy * Fixed error Style/MutableConstant * Updated file with new version code, used OOP * Updated file * Rewrote code, the code became clear * Fixed syntax private methods and public * Created normal name of method # Это сообщение коммита номер rubizza-camp#130: Initial commit # Это сообщение коммита номер rubizza-camp#131: fix rubocop # Это сообщение коммита номер rubizza-camp#132: update triangle.rb & change some rubocop # Это сообщение коммита номер rubizza-camp#133: Move to folder above 3548/0 # Это сообщение коммита номер rubizza-camp#134: load tasks fix about_asserts fix about_nil fix about_objects fix about_arrays fix about_array_assignment fix about_hashes fix about_strings fix about_symbols fix about_regular_expressions fix about_methods fix about_keyword_arguments fix about_constants fix about_control_statements fix about_true_and_false fix triangle fix about_exceptions fix about_iteration fix about_blocks fix about_sandwich_code fix about_scoring_project fix about_classes fix about_open_classes fix about_dice_project fix about_inheritance fix about_modules.rb fix about_scope fix about_class_methods fix about_message_passing fix about_proxy_object_project fix about_to_str fix about_variable_scope fix code style according ruby code style trying pass hound fix rake result pass hound undo reek file make new reek.yml fix code style according reek fix Layout/IndentationConsistency problem in about_scoring_project rename param name in set_name method in about_classes; delete useless about_extra_credit; delete redundant comment in about_proxy_object_project; fix indentation in about_scoring_project; delete redundant line in method 'bark' in about_variable_scope refactor method 'score' in about_scoring_project another score refactoring refactor method 'score': change conditions # Это сообщение коммита номер rubizza-camp#135: Done all, except extra task # Это сообщение коммита номер rubizza-camp#136: changed .hound.yml # Это сообщение коммита номер rubizza-camp#137: fix spacing # Это сообщение коммита номер rubizza-camp#138: solve reek problem # Это сообщение коммита номер rubizza-camp#139: argue with robocop # Это сообщение коммита номер rubizza-camp#140: make files in style
Номер
3523
Номер задания
1
Ссылка на видео с демо
https://youtu.be/SzNVWg0KYc0
Комментарии
Very useful task