flog 2.5.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data.tar.gz.sig +0 -0
- data/.gemtest +0 -0
- data/History.txt +12 -0
- data/lib/flog.rb +23 -17
- data/lib/flog_task.rb +1 -0
- data/test/test_flog.rb +18 -7
- metadata +16 -31
- metadata.gz.sig +0 -0
    
        data.tar.gz.sig
    CHANGED
    
    | Binary file | 
    
        data/.gemtest
    ADDED
    
    | 
            File without changes
         | 
    
        data/History.txt
    CHANGED
    
    | @@ -1,3 +1,15 @@ | |
| 1 | 
            +
            === 2.5.1 / 2011-02-18
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            * 3 minor enhancements:
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              * Added RegexpError to error handler.
         | 
| 6 | 
            +
              * Improved error output and suggest --continue
         | 
| 7 | 
            +
              * Record the flog score for the full class name, not just suffix. (dkubb)
         | 
| 8 | 
            +
             | 
| 9 | 
            +
            * 1 bug fix:
         | 
| 10 | 
            +
             | 
| 11 | 
            +
              * Fixed block_pass when passed a multi-level const (xavier)
         | 
| 12 | 
            +
             | 
| 1 13 | 
             
            === 2.5.0 / 2010-09-01
         | 
| 2 14 |  | 
| 3 15 | 
             
            * 1 major enhancement:
         | 
    
        data/lib/flog.rb
    CHANGED
    
    | @@ -4,7 +4,7 @@ require 'ruby_parser' | |
| 4 4 | 
             
            require 'optparse'
         | 
| 5 5 |  | 
| 6 6 | 
             
            class Flog < SexpProcessor
         | 
| 7 | 
            -
              VERSION = '2.5. | 
| 7 | 
            +
              VERSION = '2.5.1'
         | 
| 8 8 |  | 
| 9 9 | 
             
              THRESHOLD = 0.60
         | 
| 10 10 | 
             
              SCORES = Hash.new 1
         | 
| @@ -242,12 +242,15 @@ class Flog < SexpProcessor | |
| 242 242 | 
             
                    next unless ast
         | 
| 243 243 | 
             
                    mass[file] = ast.mass
         | 
| 244 244 | 
             
                    process ast
         | 
| 245 | 
            -
                  rescue SyntaxError, Racc::ParseError => e
         | 
| 245 | 
            +
                  rescue RegexpError, SyntaxError, Racc::ParseError => e
         | 
| 246 246 | 
             
                    if e.inspect =~ /<%|%>/ or ruby =~ /<%|%>/ then
         | 
| 247 247 | 
             
                      warn "#{e.inspect} at #{e.backtrace.first(5).join(', ')}"
         | 
| 248 248 | 
             
                      warn "\n...stupid lemmings and their bad erb templates... skipping"
         | 
| 249 249 | 
             
                    else
         | 
| 250 | 
            -
                       | 
| 250 | 
            +
                      unless option[:continue] then
         | 
| 251 | 
            +
                        warn "ERROR! Aborting. You may want to run with --continue."
         | 
| 252 | 
            +
                        raise e
         | 
| 253 | 
            +
                      end
         | 
| 251 254 | 
             
                      warn file
         | 
| 252 255 | 
             
                      warn "#{e.inspect} at #{e.backtrace.first(5).join(', ')}"
         | 
| 253 256 | 
             
                    end
         | 
| @@ -292,21 +295,24 @@ class Flog < SexpProcessor | |
| 292 295 | 
             
              # none.
         | 
| 293 296 |  | 
| 294 297 | 
             
              def klass_name
         | 
| 295 | 
            -
                name = @class_stack.first | 
| 298 | 
            +
                name = @class_stack.first
         | 
| 296 299 | 
             
                if Sexp === name then
         | 
| 297 | 
            -
                   | 
| 298 | 
            -
             | 
| 299 | 
            -
             | 
| 300 | 
            -
             | 
| 301 | 
            -
             | 
| 302 | 
            -
             | 
| 303 | 
            -
             | 
| 304 | 
            -
             | 
| 305 | 
            -
             | 
| 306 | 
            -
             | 
| 307 | 
            -
             | 
| 300 | 
            +
                  case name.first
         | 
| 301 | 
            +
                  when :colon2 then
         | 
| 302 | 
            +
                    name = name.flatten
         | 
| 303 | 
            +
                    name.delete :const
         | 
| 304 | 
            +
                    name.delete :colon2
         | 
| 305 | 
            +
                    name.join("::")
         | 
| 306 | 
            +
                  when :colon3 then
         | 
| 307 | 
            +
                    name.last.to_s
         | 
| 308 | 
            +
                  else
         | 
| 309 | 
            +
                    name
         | 
| 310 | 
            +
                  end
         | 
| 311 | 
            +
                elsif @class_stack.any?
         | 
| 312 | 
            +
                  @class_stack.reverse.join("::")
         | 
| 313 | 
            +
                else
         | 
| 314 | 
            +
                  @@no_class
         | 
| 308 315 | 
             
                end
         | 
| 309 | 
            -
                name
         | 
| 310 316 | 
             
              end
         | 
| 311 317 |  | 
| 312 318 | 
             
              ##
         | 
| @@ -509,7 +515,7 @@ class Flog < SexpProcessor | |
| 509 515 | 
             
                add_to_score :block_pass
         | 
| 510 516 |  | 
| 511 517 | 
             
                case arg.first
         | 
| 512 | 
            -
                when :lvar, :dvar, :ivar, :cvar, :self, :const, :nil then
         | 
| 518 | 
            +
                when :lvar, :dvar, :ivar, :cvar, :self, :const, :colon2, :nil then
         | 
| 513 519 | 
             
                  # do nothing
         | 
| 514 520 | 
             
                when :lit, :call then
         | 
| 515 521 | 
             
                  add_to_score :to_proc_normal
         | 
    
        data/lib/flog_task.rb
    CHANGED
    
    
    
        data/test/test_flog.rb
    CHANGED
    
    | @@ -8,16 +8,16 @@ class TestFlog < MiniTest::Unit::TestCase | |
| 8 8 |  | 
| 9 9 | 
             
              def test_add_to_score
         | 
| 10 10 | 
             
                assert_empty @flog.calls
         | 
| 11 | 
            -
                @flog.class_stack  << "MyKlass"
         | 
| 11 | 
            +
                @flog.class_stack  << "Base" << "MyKlass"
         | 
| 12 12 | 
             
                @flog.method_stack << "mymethod"
         | 
| 13 13 | 
             
                @flog.add_to_score "blah", 42
         | 
| 14 14 |  | 
| 15 | 
            -
                expected = {"MyKlass#mymethod" => {"blah" => 42.0}}
         | 
| 15 | 
            +
                expected = {"MyKlass::Base#mymethod" => {"blah" => 42.0}}
         | 
| 16 16 | 
             
                assert_equal expected, @flog.calls
         | 
| 17 17 |  | 
| 18 18 | 
             
                @flog.add_to_score "blah", 2
         | 
| 19 19 |  | 
| 20 | 
            -
                expected["MyKlass#mymethod"]["blah"] = 44.0
         | 
| 20 | 
            +
                expected["MyKlass::Base#mymethod"]["blah"] = 44.0
         | 
| 21 21 | 
             
                assert_equal expected, @flog.calls
         | 
| 22 22 | 
             
              end
         | 
| 23 23 |  | 
| @@ -129,8 +129,8 @@ class TestFlog < MiniTest::Unit::TestCase | |
| 129 129 | 
             
              def test_in_klass
         | 
| 130 130 | 
             
                assert_empty @flog.class_stack
         | 
| 131 131 |  | 
| 132 | 
            -
                @flog.in_klass "xxx" do
         | 
| 133 | 
            -
                  assert_equal ["xxx"], @flog.class_stack
         | 
| 132 | 
            +
                @flog.in_klass "xxx::yyy" do
         | 
| 133 | 
            +
                  assert_equal ["xxx::yyy"], @flog.class_stack
         | 
| 134 134 | 
             
                end
         | 
| 135 135 |  | 
| 136 136 | 
             
                assert_empty @flog.class_stack
         | 
| @@ -152,8 +152,8 @@ class TestFlog < MiniTest::Unit::TestCase | |
| 152 152 | 
             
              def test_klass_name
         | 
| 153 153 | 
             
                assert_equal :main, @flog.klass_name
         | 
| 154 154 |  | 
| 155 | 
            -
                @flog.class_stack << "whatevs"
         | 
| 156 | 
            -
                assert_equal "whatevs", @flog.klass_name
         | 
| 155 | 
            +
                @flog.class_stack << "whatevs" << "flog"
         | 
| 156 | 
            +
                assert_equal "flog::whatevs", @flog.klass_name
         | 
| 157 157 | 
             
              end
         | 
| 158 158 |  | 
| 159 159 | 
             
              def test_klass_name_sexp
         | 
| @@ -305,6 +305,17 @@ class TestFlog < MiniTest::Unit::TestCase | |
| 305 305 | 
             
                             :to_proc_normal => 6.0)
         | 
| 306 306 | 
             
              end
         | 
| 307 307 |  | 
| 308 | 
            +
              def test_process_block_pass_colon2
         | 
| 309 | 
            +
                sexp = s(:call, nil, :a,
         | 
| 310 | 
            +
                         s(:arglist,
         | 
| 311 | 
            +
                           s(:block_pass,
         | 
| 312 | 
            +
                             s(:colon2, s(:const, :A), :B))))
         | 
| 313 | 
            +
             | 
| 314 | 
            +
                util_process(sexp, 2.2,
         | 
| 315 | 
            +
                             :a              => 1.0,
         | 
| 316 | 
            +
                             :block_pass     => 1.2)
         | 
| 317 | 
            +
              end
         | 
| 318 | 
            +
             | 
| 308 319 | 
             
              def test_process_block_pass_iter
         | 
| 309 320 | 
             
                sexp = s(:block_pass,
         | 
| 310 321 | 
             
                         s(:iter, s(:call, nil, :lambda, s(:arglist)), nil, s(:lit, 1)))
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: flog
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 5 | 
            -
              prerelease:  | 
| 4 | 
            +
              hash: 25
         | 
| 5 | 
            +
              prerelease: 
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 2
         | 
| 8 8 | 
             
              - 5
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 2.5. | 
| 9 | 
            +
              - 1
         | 
| 10 | 
            +
              version: 2.5.1
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Ryan Davis
         | 
| @@ -36,7 +36,7 @@ cert_chain: | |
| 36 36 | 
             
              FBHgymkyj/AOSqKRIpXPhjC6
         | 
| 37 37 | 
             
              -----END CERTIFICATE-----
         | 
| 38 38 |  | 
| 39 | 
            -
            date:  | 
| 39 | 
            +
            date: 2011-02-18 00:00:00 -08:00
         | 
| 40 40 | 
             
            default_executable: 
         | 
| 41 41 | 
             
            dependencies: 
         | 
| 42 42 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| @@ -70,53 +70,37 @@ dependencies: | |
| 70 70 | 
             
              type: :runtime
         | 
| 71 71 | 
             
              version_requirements: *id002
         | 
| 72 72 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 73 | 
            -
              name:  | 
| 73 | 
            +
              name: minitest
         | 
| 74 74 | 
             
              prerelease: false
         | 
| 75 75 | 
             
              requirement: &id003 !ruby/object:Gem::Requirement 
         | 
| 76 76 | 
             
                none: false
         | 
| 77 77 | 
             
                requirements: 
         | 
| 78 78 | 
             
                - - ">="
         | 
| 79 79 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 80 | 
            -
                    hash:  | 
| 80 | 
            +
                    hash: 11
         | 
| 81 81 | 
             
                    segments: 
         | 
| 82 82 | 
             
                    - 2
         | 
| 83 83 | 
             
                    - 0
         | 
| 84 | 
            -
                    -  | 
| 85 | 
            -
                    version: 2.0. | 
| 84 | 
            +
                    - 2
         | 
| 85 | 
            +
                    version: 2.0.2
         | 
| 86 86 | 
             
              type: :development
         | 
| 87 87 | 
             
              version_requirements: *id003
         | 
| 88 88 | 
             
            - !ruby/object:Gem::Dependency 
         | 
| 89 | 
            -
              name:  | 
| 89 | 
            +
              name: hoe
         | 
| 90 90 | 
             
              prerelease: false
         | 
| 91 91 | 
             
              requirement: &id004 !ruby/object:Gem::Requirement 
         | 
| 92 92 | 
             
                none: false
         | 
| 93 93 | 
             
                requirements: 
         | 
| 94 94 | 
             
                - - ">="
         | 
| 95 95 | 
             
                  - !ruby/object:Gem::Version 
         | 
| 96 | 
            -
                    hash:  | 
| 96 | 
            +
                    hash: 41
         | 
| 97 97 | 
             
                    segments: 
         | 
| 98 | 
            +
                    - 2
         | 
| 99 | 
            +
                    - 9
         | 
| 98 100 | 
             
                    - 1
         | 
| 99 | 
            -
                     | 
| 100 | 
            -
                    - 1
         | 
| 101 | 
            -
                    version: 1.7.1
         | 
| 101 | 
            +
                    version: 2.9.1
         | 
| 102 102 | 
             
              type: :development
         | 
| 103 103 | 
             
              version_requirements: *id004
         | 
| 104 | 
            -
            - !ruby/object:Gem::Dependency 
         | 
| 105 | 
            -
              name: hoe
         | 
| 106 | 
            -
              prerelease: false
         | 
| 107 | 
            -
              requirement: &id005 !ruby/object:Gem::Requirement 
         | 
| 108 | 
            -
                none: false
         | 
| 109 | 
            -
                requirements: 
         | 
| 110 | 
            -
                - - ">="
         | 
| 111 | 
            -
                  - !ruby/object:Gem::Version 
         | 
| 112 | 
            -
                    hash: 19
         | 
| 113 | 
            -
                    segments: 
         | 
| 114 | 
            -
                    - 2
         | 
| 115 | 
            -
                    - 6
         | 
| 116 | 
            -
                    - 2
         | 
| 117 | 
            -
                    version: 2.6.2
         | 
| 118 | 
            -
              type: :development
         | 
| 119 | 
            -
              version_requirements: *id005
         | 
| 120 104 | 
             
            description: |-
         | 
| 121 105 | 
             
              Flog reports the most tortured code in an easy to read pain
         | 
| 122 106 | 
             
              report. The higher the score, the more pain the code is in.
         | 
| @@ -141,6 +125,7 @@ files: | |
| 141 125 | 
             
            - lib/flog_task.rb
         | 
| 142 126 | 
             
            - lib/gauntlet_flog.rb
         | 
| 143 127 | 
             
            - test/test_flog.rb
         | 
| 128 | 
            +
            - .gemtest
         | 
| 144 129 | 
             
            has_rdoc: true
         | 
| 145 130 | 
             
            homepage: http://ruby.sadi.st/
         | 
| 146 131 | 
             
            licenses: []
         | 
| @@ -172,7 +157,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 172 157 | 
             
            requirements: []
         | 
| 173 158 |  | 
| 174 159 | 
             
            rubyforge_project: seattlerb
         | 
| 175 | 
            -
            rubygems_version: 1. | 
| 160 | 
            +
            rubygems_version: 1.4.2
         | 
| 176 161 | 
             
            signing_key: 
         | 
| 177 162 | 
             
            specification_version: 3
         | 
| 178 163 | 
             
            summary: Flog reports the most tortured code in an easy to read pain report
         | 
    
        metadata.gz.sig
    CHANGED
    
    | Binary file |