Cassady:~/dev/projects/others/rubygems(version_tweak) yossef$ flog lib/rubygems/version.rb 146.4: flog total 5.6: flog/method average 25.1: Gem::Version#balance 18.2: Gem::Version#bump 13.1: Part#<=> 7.4: Gem::Version#<=> 6.8: Gem::Version#correct? 6.4: Part#succ 6.2: Gem::Version#parse_parts_from_version_string 6.1: Gem::Version#eql? Cassady:~/dev/projects/others/rubygems(version_tweak) yossef$ reek lib/rubygems/version.rb "lib/rubygems/version.rb" -- 13 warnings: Gem::Version#<=> is controlled by argument other (Control Couple) Gem::Version#Part#<=> refers to other more than self (Feature Envy) Gem::Version#balance calls a_parts.size multiple times (Duplication) Gem::Version#balance calls b_parts.size multiple times (Duplication) Gem::Version#balance doesn't depend on instance state (Utility Function) Gem::Version#balance has the variable name 'a' (Uncommunicative Name) Gem::Version#balance has the variable name 'b' (Uncommunicative Name) Gem::Version#balance refers to a_parts more than self (Feature Envy) Gem::Version#balance refers to b_parts more than self (Feature Envy) Gem::Version#bump calls parts.pop multiple times (Duplication) Gem::Version#bump refers to parts more than self (Feature Envy) Gem::Version#parse_parts_from_version_string/block has the variable name 's' (Uncommunicative Name) Gem::Version#pretty_print has the variable name 'q' (Uncommunicative Name) --------------------------------------------------- Cassady:~/dev/projects/others/rubygems(master) yossef$ flog lib/rubygems/version.rb 155.1: flog total 6.0: flog/method average 18.2: Gem::Version#bump 17.8: Gem::Version#normalize 15.4: Gem::Version#balance 13.1: Part#<=> 13.0: Gem::Version#<=> 6.8: Gem::Version#correct? 6.4: Part#succ 6.2: Gem::Version#parse_parts_from_version_string Cassady:~/dev/projects/others/rubygems(master) yossef$ reek lib/rubygems/version.rb "lib/rubygems/version.rb" -- 15 warnings: Gem::Version#<=> is controlled by argument other (Control Couple) Gem::Version#Part#<=> refers to other more than self (Feature Envy) Gem::Version#balance calls a.size multiple times (Duplication) Gem::Version#balance calls b.size multiple times (Duplication) Gem::Version#balance doesn't depend on instance state (Utility Function) Gem::Version#balance has the variable name 'a' (Uncommunicative Name) Gem::Version#balance has the variable name 'b' (Uncommunicative Name) Gem::Version#balance refers to a more than self (Feature Envy) Gem::Version#balance refers to b more than self (Feature Envy) Gem::Version#bump calls parts.pop multiple times (Duplication) Gem::Version#bump refers to parts more than self (Feature Envy) Gem::Version#normalize calls parts_arr.last multiple times (Duplication) Gem::Version#normalize refers to parts_arr more than self (Feature Envy) Gem::Version#parse_parts_from_version_string/block has the variable name 's' (Uncommunicative Name) Gem::Version#pretty_print has the variable name 'q' (Uncommunicative Name)