Skip to content
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

Closed
wants to merge 14 commits into from
Closed

First task #73

wants to merge 14 commits into from

Conversation

40grivenprog
Copy link
Contributor

Номер

3523

Номер задания

1

Ссылка на видео с демо

https://youtu.be/SzNVWg0KYc0

Комментарии

Very useful task

end
end

def test_you_can_reference_nested_classes_using_the_scope_operator
Copy link

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)
Copy link

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
Copy link

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)
Copy link

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
Copy link

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)
Copy link

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)
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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 }
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NilCheck: at_least_ruby_version performs a nil-check. More info.
UncommunicativeVariableName: at_least_ruby_version has the variable name 'v'. More info.

# rubocop:disable RSpec/MultipleDescribes
# rubocop:disable RSpec/DescribeClass

def version_ints(version)
Copy link

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
Copy link

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|
Copy link

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
Copy link

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 'x'. More info.
UncommunicativeVariableName: triangle has the variable name 'y'. More info.
UncommunicativeVariableName: triangle has the variable name 'z'. More info.

# ------------------------------------------------------------------

class WellBehavedFooCatcher
def method_missing(method_name, *args, &block)
Copy link

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)
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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?
Copy link

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
Copy link

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
Copy link

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)
Copy link

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:
Copy link

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/)
Copy link

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/)
Copy link

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
Copy link

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/] }
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

InstanceVariableAssumption: Television assumes too much for instance variable '@power'. More info.

def test_proxy_can_record_more_than_just_tv_objects
proxy = Proxy.new('Code Mash 2009')

proxy.upcase!
Copy link

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}" }
Copy link

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)
Copy link

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|
Copy link

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)
Copy link

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
Copy link

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)
Copy link

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|
Copy link

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?
Copy link

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|
Copy link

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
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

InstanceVariableAssumption: Neo::Sensei assumes too much for instance variable '@_contents'. More info.
TooManyInstanceVariables: Neo::Sensei has at least 5 instance variables. More info.
TooManyMethods: Neo::Sensei has at least 17 methods. More info.

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
Copy link

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
Copy link

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
Copy link

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) }
Copy link

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
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ClassVariable: AboutVariableScope::Mouse declares the class variable '@@ToTal'. More info.

def test_proxy_records_messages_sent_to_tv
tv = Proxy.new(Television.new)

tv.power
Copy link

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
Copy link

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
Copy link

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'
Copy link

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'
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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?
Copy link

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?
Copy link

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|
Copy link

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 }
Copy link

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)
Copy link

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.

@@ -0,0 +1,41 @@
#!/usr/bin/env ruby
Copy link

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)
Copy link

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)
Copy link

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
Copy link

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)
Copy link

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)
Copy link

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)
Copy link

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}"
Copy link

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)
Copy link

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"
Copy link

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)
Copy link

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"
Copy link

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}"
Copy link

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}"
Copy link

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)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DataClump: Neo::Assertions takes parameters. More info. to 5 methods. More info.


def assert(condition, msg = nil)
msg ||= 'Failed assertion.'
flunk(msg) unless condition
Copy link

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)
Copy link

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
Copy link

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
Copy link

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)
Copy link

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)
Copy link

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
Copy link

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
Copy link

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
Copy link

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)
Copy link

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"'
Copy link

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 }
Copy link

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 }
Copy link

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
Copy link

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
Copy link

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
Copy link

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)
Copy link

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)
Copy link

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)
Copy link

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?)
Copy link

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 }
Copy link

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)
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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)
Copy link

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
Copy link

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
Copy link

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)
Copy link

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] = [] }
Copy link

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' }
Copy link

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' }
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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'
Copy link

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
Copy link

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
Copy link

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')
Copy link

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
Copy link

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')
Copy link

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
Copy link

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')
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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
Copy link

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.

mikitsik pushed a commit to mikitsik/summer-2019 that referenced this pull request Jul 15, 2019
# Это 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant