heredoc_unindent 1.1.0 → 1.1.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/History.rdoc +9 -0
- data/README.rdoc +1 -1
- data/Rakefile +1 -1
- data/Wishlist.rdoc +11 -8
- data/lib/heredoc_unindent.rb +2 -2
- data/test/test_heredoc_unindent.rb +21 -4
- metadata +5 -5
- metadata.gz.sig +0 -0
    
        data.tar.gz.sig
    CHANGED
    
    | Binary file | 
    
        data/History.rdoc
    CHANGED
    
    | @@ -1,3 +1,12 @@ | |
| 1 | 
            +
            === 1.1.1 / 2011-01-29
         | 
| 2 | 
            +
             | 
| 3 | 
            +
            * 1 bugfix
         | 
| 4 | 
            +
             | 
| 5 | 
            +
              * Replaced <tt>\s</tt>, which is equivalent to <tt>[ \t\r\n\f]</tt>,
         | 
| 6 | 
            +
                by <tt>[ \t]</tt> in regular expression
         | 
| 7 | 
            +
                * empty lines could lead to wrong behaviour
         | 
| 8 | 
            +
              * Added tests to prevent the just-fixed bug to ever come back
         | 
| 9 | 
            +
             | 
| 1 10 | 
             
            === 1.1.0 / 2011-01-29
         | 
| 2 11 |  | 
| 3 12 | 
             
            * 3 minor enhancements
         | 
    
        data/README.rdoc
    CHANGED
    
    | @@ -75,7 +75,7 @@ implement equivalent unindenting functionality: | |
| 75 75 |  | 
| 76 76 | 
             
            1. {outdent}[http://rubygems.org/gems/outdent] (formerly {unindentable}[http://rubygems.org/gems/unindentable])
         | 
| 77 77 | 
             
            2. {unindent}[http://rubygems.org/gems/unindent]
         | 
| 78 | 
            -
            3. {indentation}[http://rubygems.org/gems/indentation] -- this gem has a broader scope,  | 
| 78 | 
            +
            3. {indentation}[http://rubygems.org/gems/indentation] -- this gem has a broader scope, in addition to String#reset_indentation
         | 
| 79 79 |  | 
| 80 80 | 
             
            === So why another one?
         | 
| 81 81 |  | 
    
        data/Rakefile
    CHANGED
    
    
    
        data/Wishlist.rdoc
    CHANGED
    
    | @@ -1,10 +1,13 @@ | |
| 1 1 | 
             
            == SUGGESTIONS
         | 
| 2 2 |  | 
| 3 | 
            -
            *  | 
| 4 | 
            -
              *  | 
| 5 | 
            -
              *  | 
| 6 | 
            -
              *  | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
                 | 
| 10 | 
            -
             | 
| 3 | 
            +
            * added a mechanism for "ignoring" blank lines, i.e.,
         | 
| 4 | 
            +
              * not include the margin of blank lines in the minimum calculation
         | 
| 5 | 
            +
              * let them untouched (i.e., unprocessed)
         | 
| 6 | 
            +
              * possible implementation:
         | 
| 7 | 
            +
                  re = Regexp.new '^\s{' + n.to_s + '}(\S+)$'
         | 
| 8 | 
            +
                  s.gsub(re,'\1')
         | 
| 9 | 
            +
                instead of
         | 
| 10 | 
            +
                  re = Regexp.new '^\s{' + n.to_s + '}'
         | 
| 11 | 
            +
                  s.gsub(re, '')
         | 
| 12 | 
            +
              * re-benchmark to make sure it does not hurt performance and performance
         | 
| 13 | 
            +
                figures in README are still valid
         | 
    
        data/lib/heredoc_unindent.rb
    CHANGED
    
    | @@ -26,7 +26,7 @@ module CoreExt | |
| 26 26 | 
             
                  def unindent_base_new(in_place, warn_first_not_min)
         | 
| 27 27 | 
             
                    m_first = nil
         | 
| 28 28 | 
             
                    m_min = nil
         | 
| 29 | 
            -
                    self.scan( | 
| 29 | 
            +
                    self.scan(/^[ \t]*/) do |m|
         | 
| 30 30 | 
             
                      ms = m.size
         | 
| 31 31 | 
             
                      m_first ||= ms
         | 
| 32 32 | 
             
                      m_min = ms if !m_min || ms < m_min
         | 
| @@ -43,7 +43,7 @@ module CoreExt | |
| 43 43 | 
             
                  # about 10% faster in ree, 20% in ruby-1.8.7 (old vs new)
         | 
| 44 44 | 
             
                  #
         | 
| 45 45 | 
             
                  def unindent_base_old(in_place, warn_first_not_min)
         | 
| 46 | 
            -
                    margins = self.scan( | 
| 46 | 
            +
                    margins = self.scan(/^[ \t]*/).map(&:size)
         | 
| 47 47 | 
             
                    margins_min = margins.min
         | 
| 48 48 | 
             
                    if margins.first != margins_min && warn_first_not_min
         | 
| 49 49 | 
             
                      puts "warning: margin of the first line differs from minimum margin"
         | 
| @@ -41,6 +41,21 @@ EOS | |
| 41 41 | 
             
                  The third line    
         | 
| 42 42 | 
             
                EOS
         | 
| 43 43 |  | 
| 44 | 
            +
                pretty  = <<EOS
         | 
| 45 | 
            +
                  The first line
         | 
| 46 | 
            +
             | 
| 47 | 
            +
                  The third line    
         | 
| 48 | 
            +
            EOS
         | 
| 49 | 
            +
                return ugly, pretty
         | 
| 50 | 
            +
              end
         | 
| 51 | 
            +
             | 
| 52 | 
            +
              def prep_sing4
         | 
| 53 | 
            +
                ugly = <<-EOS
         | 
| 54 | 
            +
                  The first line
         | 
| 55 | 
            +
                  
         | 
| 56 | 
            +
                  The third line    
         | 
| 57 | 
            +
                EOS
         | 
| 58 | 
            +
                
         | 
| 44 59 | 
             
                pretty  = <<EOS
         | 
| 45 60 | 
             
            The first line
         | 
| 46 61 |  | 
| @@ -64,8 +79,10 @@ EOS | |
| 64 79 | 
             
              end
         | 
| 65 80 |  | 
| 66 81 | 
             
              def test_unindent
         | 
| 67 | 
            -
                 | 
| 68 | 
            -
             | 
| 82 | 
            +
                1.upto(4) do |n|
         | 
| 83 | 
            +
                  m = method "prep_sing#{n}"
         | 
| 84 | 
            +
                  perform_tests(*m.call)
         | 
| 85 | 
            +
                end
         | 
| 69 86 | 
             
                perform_tests(*prep_mult)
         | 
| 70 87 | 
             
              end
         | 
| 71 88 |  | 
| @@ -74,11 +91,11 @@ EOS | |
| 74 91 | 
             
                assert_equal pretty, ugly.unindent(false)
         | 
| 75 92 | 
             
                assert_equal pretty, ugly.heredoc_unindent(false)
         | 
| 76 93 | 
             
                assert_equal ugly_bak, ugly, '#unindent should have no side-effects'
         | 
| 77 | 
            -
                assert_equal pretty, ugly.heredoc_unindent!(false)
         | 
| 94 | 
            +
                assert_equal pretty, ugly.heredoc_unindent!(false) unless pretty == ugly
         | 
| 78 95 | 
             
                assert_equal pretty, ugly
         | 
| 79 96 | 
             
                assert_equal nil, ugly.heredoc_unindent!(false)
         | 
| 80 97 | 
             
                ugly = ugly_bak.dup
         | 
| 81 | 
            -
                assert_equal pretty, ugly.unindent!(false)
         | 
| 98 | 
            +
                assert_equal pretty, ugly.unindent!(false) unless pretty == ugly
         | 
| 82 99 | 
             
                assert_equal pretty, ugly
         | 
| 83 100 | 
             
                assert_equal nil, ugly.unindent!(false)
         | 
| 84 101 | 
             
                aux = pretty.unindent(false)
         | 
    
        metadata
    CHANGED
    
    | @@ -1,13 +1,13 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: heredoc_unindent
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              hash:  | 
| 5 | 
            -
              prerelease: 
         | 
| 4 | 
            +
              hash: 17
         | 
| 5 | 
            +
              prerelease: false
         | 
| 6 6 | 
             
              segments: 
         | 
| 7 7 | 
             
              - 1
         | 
| 8 8 | 
             
              - 1
         | 
| 9 | 
            -
              -  | 
| 10 | 
            -
              version: 1.1. | 
| 9 | 
            +
              - 1
         | 
| 10 | 
            +
              version: 1.1.1
         | 
| 11 11 | 
             
            platform: ruby
         | 
| 12 12 | 
             
            authors: 
         | 
| 13 13 | 
             
            - Adriano Mitre
         | 
| @@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 115 115 | 
             
            requirements: []
         | 
| 116 116 |  | 
| 117 117 | 
             
            rubyforge_project: heredoc_unindent
         | 
| 118 | 
            -
            rubygems_version: 1. | 
| 118 | 
            +
            rubygems_version: 1.3.7
         | 
| 119 119 | 
             
            signing_key: 
         | 
| 120 120 | 
             
            specification_version: 3
         | 
| 121 121 | 
             
            summary: This gem removes common margin from indented strings, such as the ones produced by indented heredocs
         | 
    
        metadata.gz.sig
    CHANGED
    
    | Binary file |