line_ender 0.0.2 → 0.0.3
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.
- checksums.yaml +5 -5
- data/lib/le +47 -61
- data/lib/line_ender.rb +114 -106
- data/lib/test_line_ender.rb +45 -24
- metadata +4 -4
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- 
         | 
| 2 | 
            -
            SHA512: 
         | 
| 3 | 
            -
              data.tar.gz: 9186cd233ab899bfb47b425f4039fda71d7d840692e20bdc355ee0bc878c0ab3b945f5905a10bfbf0b1d74974b0b8d917e1c5ee7e37955f978e6a2ac89aff24e
         | 
| 4 | 
            -
              metadata.gz: 3394b3cdaa70f8a5d7542251a514d45ff1f04338c5f58a99dffe920c9cf97d4e0856ca7dd35dc81be9b8eb541ef07f128e3d8330a1133a967bb921b7cd69d724
         | 
| 5 2 | 
             
            SHA1: 
         | 
| 6 | 
            -
              data.tar.gz:  | 
| 7 | 
            -
              metadata.gz:  | 
| 3 | 
            +
              data.tar.gz: 0a8805fe53c0e3b98af8ffb911b9486b5d21033d
         | 
| 4 | 
            +
              metadata.gz: ff506642f441d4fd8a53aff88a65bbdc806b1d4c
         | 
| 5 | 
            +
            SHA512: 
         | 
| 6 | 
            +
              data.tar.gz: a6a6147ba4e9f07754e98f80200980c862165335a2989e10354271c2c29e3c951aac85620ad1e374ed6a5278271373c79d7e9ce130d2e0455824337969189a08
         | 
| 7 | 
            +
              metadata.gz: 222a545605d345cb95c07e6a92417996374f7a1972c5b2e3389f27675c8d138a1bce7fcbf5a210f935aebdac0d33bd1cd149ee826a90293bc054c027bac7d987
         | 
    
        data/lib/le
    CHANGED
    
    | @@ -1,78 +1,64 @@ | |
| 1 | 
            -
             | 
| 2 | 
            -
            # == Synopsis
         | 
| 3 | 
            -
            # le: This is program that replaces line endings of a file. It either does an inplace update or  will write to another file with (-o) switch.
         | 
| 4 | 
            -
            # The default line ending is Unix (-u), but other line endings are Windows (-w) or Mac (-m).
         | 
| 5 | 
            -
            #    
         | 
| 6 | 
            -
            # == Note
         | 
| 7 | 
            -
            #  The -u, -m, and -w flags are mutually exclusive. (Can only choose one).
         | 
| 8 | 
            -
            #
         | 
| 9 | 
            -
            # == Usage
         | 
| 10 | 
            -
            # le [OPTION] ... INPUTFILE
         | 
| 11 | 
            -
            #
         | 
| 12 | 
            -
            # -h, --help:    show help
         | 
| 13 | 
            -
            #
         | 
| 14 | 
            -
            # -w, --windows: gives the file line endings of carriage return + line feed (\r\n)
         | 
| 15 | 
            -
            #
         | 
| 16 | 
            -
            # -u, --unix:    gives the file line endings of line feed (\n) (default)
         | 
| 17 | 
            -
            #
         | 
| 18 | 
            -
            # -m, --mac:     gives the file line endings of carriage return (\r)
         | 
| 19 | 
            -
            #
         | 
| 20 | 
            -
            # -o, --out:     will write the output to a file with this name
         | 
| 21 | 
            -
            #
         | 
| 22 | 
            -
            # INPUTFILE: The file you want to modify the line endings for.
         | 
| 23 | 
            -
             | 
| 1 | 
            +
            #! /usr/bin/env ruby
         | 
| 24 2 | 
             
            require 'rubygems'
         | 
| 25 | 
            -
            require ' | 
| 26 | 
            -
            require 'rdoc/usage'
         | 
| 3 | 
            +
            require 'trollop'
         | 
| 27 4 | 
             
            require 'line_ender'
         | 
| 28 5 |  | 
| 29 6 | 
             
            include LineEnder
         | 
| 30 7 |  | 
| 31 | 
            -
            opts =  | 
| 32 | 
            -
               | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
             | 
| 41 | 
            -
             | 
| 42 | 
            -
             | 
| 43 | 
            -
              case opt
         | 
| 44 | 
            -
            	  when '--windows'
         | 
| 45 | 
            -
            		  RDoc::usage if ending
         | 
| 46 | 
            -
            			ending = LineEnder::Ending::Windows
         | 
| 47 | 
            -
            	  when '--unix'
         | 
| 48 | 
            -
            		  RDoc::usage if ending
         | 
| 49 | 
            -
            			ending = LineEnder::Ending::Unix
         | 
| 50 | 
            -
            	  when '--mac'
         | 
| 51 | 
            -
            		  RDoc::usage if ending
         | 
| 52 | 
            -
            			ending = LineEnder::Ending::Mac
         | 
| 53 | 
            -
                when '--help'
         | 
| 54 | 
            -
                  RDoc::usage
         | 
| 55 | 
            -
                when '--out'
         | 
| 56 | 
            -
            		  outfile = arg
         | 
| 57 | 
            -
              end
         | 
| 8 | 
            +
            opts = Trollop::options do
         | 
| 9 | 
            +
              banner <<-EOS
         | 
| 10 | 
            +
            Synopsis: le is a line ender script to be used from the command prompt if you put it in your path
         | 
| 11 | 
            +
            Usage: le [flags] [-o outfile] inputfile
         | 
| 12 | 
            +
            Note: don't have to set --no-unix flag if looking for different endings ... will override.
         | 
| 13 | 
            +
            Flags:
         | 
| 14 | 
            +
            EOS
         | 
| 15 | 
            +
              opt :windows, "Windows ending", :default => false
         | 
| 16 | 
            +
              opt :unix, "Unix ending", :default => true
         | 
| 17 | 
            +
              opt :mac, "Mac ending", :default => false
         | 
| 18 | 
            +
              opt :debug, "Debug mode", :default => false
         | 
| 19 | 
            +
              opt :output, "Output to another file", :type => :string
         | 
| 58 20 | 
             
            end
         | 
| 59 21 |  | 
| 60 | 
            -
             | 
| 22 | 
            +
            p opts if opts[:debug]
         | 
| 23 | 
            +
             | 
| 24 | 
            +
            outfile = opts[:output]
         | 
| 25 | 
            +
            ending = nil
         | 
| 26 | 
            +
            ending = opts[:windows] ? LineEnder::Ending::Windows : ending
         | 
| 27 | 
            +
            ending = opts[:mac] ? LineEnder::Ending::Mac : ending 
         | 
| 28 | 
            +
            ending = opts[:unix] ? LineEnder::Ending::Unix : ending if ending.nil?
         | 
| 61 29 |  | 
| 62 30 | 
             
            if ARGV.length != 1
         | 
| 63 | 
            -
              puts " | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 31 | 
            +
              puts "Missing or too many INPUTFILE argument(s)."
         | 
| 32 | 
            +
              puts "example: le -m -o fixed.txt somefile.txt"
         | 
| 33 | 
            +
              puts "Try the -h flag for help on flags"
         | 
| 66 34 | 
             
              exit 0
         | 
| 67 35 | 
             
            end
         | 
| 68 36 |  | 
| 69 | 
            -
            infile = ARGV | 
| 37 | 
            +
            infile = ARGV[0]
         | 
| 70 38 |  | 
| 71 | 
            -
            if  | 
| 72 | 
            -
             | 
| 73 | 
            -
             | 
| 74 | 
            -
             | 
| 39 | 
            +
            if opts[:debug]
         | 
| 40 | 
            +
              puts "outfile: #{outfile}, #{outfile.inspect}"
         | 
| 41 | 
            +
              puts "infile: #{infile}, #{infile.inspect}" 
         | 
| 42 | 
            +
              puts "ending: #{ending.inspect}"
         | 
| 75 43 | 
             
            end
         | 
| 76 44 |  | 
| 45 | 
            +
            ending_string = ""
         | 
| 46 | 
            +
            case ending
         | 
| 47 | 
            +
            when LineEnder::Ending::Windows
         | 
| 48 | 
            +
              ending_string = "windows"
         | 
| 49 | 
            +
            when LineEnder::Ending::Unix
         | 
| 50 | 
            +
              ending_string = "unix"
         | 
| 51 | 
            +
            when LineEnder::Ending::Mac
         | 
| 52 | 
            +
              ending_string = "mac"
         | 
| 53 | 
            +
            else
         | 
| 54 | 
            +
              ending_string = "unix"
         | 
| 55 | 
            +
            end
         | 
| 77 56 |  | 
| 57 | 
            +
            if outfile
         | 
| 58 | 
            +
              output_to_file( infile, ending, outfile )
         | 
| 59 | 
            +
              puts "Succesfully created #{outfile}, with #{ending_string}-style line endings!"
         | 
| 60 | 
            +
            else
         | 
| 61 | 
            +
              output_to_file( infile, ending )
         | 
| 62 | 
            +
              puts "Successfully updated #{infile}, with #{ending_string}-style line endings!"
         | 
| 63 | 
            +
            end
         | 
| 78 64 |  | 
    
        data/lib/line_ender.rb
    CHANGED
    
    | @@ -3,112 +3,120 @@ require 'rubygems' | |
| 3 3 |  | 
| 4 4 | 
             
            module LineEnder
         | 
| 5 5 |  | 
| 6 | 
            -
             | 
| 7 | 
            -
             | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
             | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 13 | 
            -
             | 
| 14 | 
            -
             | 
| 15 | 
            -
             | 
| 16 | 
            -
             | 
| 17 | 
            -
             | 
| 18 | 
            -
             | 
| 19 | 
            -
              | 
| 20 | 
            -
             | 
| 21 | 
            -
             | 
| 22 | 
            -
             | 
| 23 | 
            -
              | 
| 24 | 
            -
             | 
| 25 | 
            -
              | 
| 26 | 
            -
             | 
| 27 | 
            -
             | 
| 28 | 
            -
             | 
| 29 | 
            -
             | 
| 30 | 
            -
             | 
| 31 | 
            -
             | 
| 32 | 
            -
             | 
| 33 | 
            -
             | 
| 34 | 
            -
             | 
| 35 | 
            -
             | 
| 36 | 
            -
             | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 40 | 
            -
              | 
| 41 | 
            -
             | 
| 42 | 
            -
              | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
             | 
| 50 | 
            -
              | 
| 51 | 
            -
             | 
| 52 | 
            -
             | 
| 53 | 
            -
             | 
| 54 | 
            -
             | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
             | 
| 58 | 
            -
             | 
| 59 | 
            -
             | 
| 60 | 
            -
             | 
| 61 | 
            -
             | 
| 62 | 
            -
             | 
| 63 | 
            -
             | 
| 64 | 
            -
             | 
| 65 | 
            -
             | 
| 66 | 
            -
             | 
| 67 | 
            -
             | 
| 68 | 
            -
             | 
| 69 | 
            -
             | 
| 70 | 
            -
             | 
| 71 | 
            -
             | 
| 72 | 
            -
             | 
| 73 | 
            -
             | 
| 74 | 
            -
             | 
| 75 | 
            -
             | 
| 76 | 
            -
             | 
| 77 | 
            -
             | 
| 78 | 
            -
             | 
| 79 | 
            -
             | 
| 80 | 
            -
              | 
| 81 | 
            -
             | 
| 82 | 
            -
             | 
| 83 | 
            -
             | 
| 84 | 
            -
             | 
| 85 | 
            -
              | 
| 86 | 
            -
             | 
| 87 | 
            -
             | 
| 88 | 
            -
             | 
| 89 | 
            -
             | 
| 90 | 
            -
             | 
| 91 | 
            -
             | 
| 92 | 
            -
             | 
| 93 | 
            -
             | 
| 94 | 
            -
             | 
| 95 | 
            -
             | 
| 96 | 
            -
             | 
| 97 | 
            -
             | 
| 98 | 
            -
             | 
| 99 | 
            -
             | 
| 100 | 
            -
             | 
| 101 | 
            -
             | 
| 102 | 
            -
             | 
| 103 | 
            -
             | 
| 104 | 
            -
             | 
| 105 | 
            -
             | 
| 106 | 
            -
             | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
             | 
| 110 | 
            -
             | 
| 111 | 
            -
              | 
| 6 | 
            +
              module Ending
         | 
| 7 | 
            +
                Mac = "\r"
         | 
| 8 | 
            +
                Windows = "\r\n"
         | 
| 9 | 
            +
                Unix = "\n"
         | 
| 10 | 
            +
             | 
| 11 | 
            +
                def self.valid?(value)
         | 
| 12 | 
            +
                  value == Ending::Mac || value == Ending::Windows || value == Ending::Unix
         | 
| 13 | 
            +
                end
         | 
| 14 | 
            +
              end
         | 
| 15 | 
            +
             | 
| 16 | 
            +
              def initialize
         | 
| 17 | 
            +
              end
         | 
| 18 | 
            +
             | 
| 19 | 
            +
              def self.included(cls)
         | 
| 20 | 
            +
                include Ending
         | 
| 21 | 
            +
              end
         | 
| 22 | 
            +
             | 
| 23 | 
            +
              def output_to_file(input_filepath, ending, output_filename='')
         | 
| 24 | 
            +
                raise RuntimeError, "Something is wrong with the input input filepath!" unless valid_filepath?(input_filepath)
         | 
| 25 | 
            +
                raise RuntimeError, "Something is wrong with the 'Ending' parameter passed in!" unless valid_ending?(ending)
         | 
| 26 | 
            +
                output_filepath = get_output_filepath(input_filepath, output_filename)
         | 
| 27 | 
            +
                debug_print "output filepath = #{output_filepath}"
         | 
| 28 | 
            +
             | 
| 29 | 
            +
                #this will only happen for an inplace file update
         | 
| 30 | 
            +
                if (output_filepath == input_filepath)
         | 
| 31 | 
            +
                  raise RuntimeError, "File is not writeable!" unless File.writable?(output_filepath)
         | 
| 32 | 
            +
                end
         | 
| 33 | 
            +
             | 
| 34 | 
            +
                file_as_string = file_to_string(input_filepath)
         | 
| 35 | 
            +
                fixed_file_string = change_line_endings(file_as_string, ending)
         | 
| 36 | 
            +
                string_to_file(fixed_file_string, output_filepath)
         | 
| 37 | 
            +
                return true
         | 
| 38 | 
            +
              end
         | 
| 39 | 
            +
             | 
| 40 | 
            +
              def output_to_string(input_filepath, ending)
         | 
| 41 | 
            +
                raise RuntimeError, "Something is wrong with the input filepath!" unless valid_filepath?(input_filepath)
         | 
| 42 | 
            +
                raise RuntimeError, "Something is wrong with the 'Ending' parameter passed in!" unless valid_ending?(ending)
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                file_as_string = file_to_string(input_filepath)
         | 
| 45 | 
            +
                change_line_endings(file_as_string, ending)
         | 
| 46 | 
            +
              end
         | 
| 47 | 
            +
             | 
| 48 | 
            +
              protected
         | 
| 49 | 
            +
             | 
| 50 | 
            +
              def debug_print(message)
         | 
| 51 | 
            +
                puts message if $DEBUG
         | 
| 52 | 
            +
              end
         | 
| 53 | 
            +
             | 
| 54 | 
            +
              def get_output_filepath(input_filepath, output_filename)
         | 
| 55 | 
            +
                input_path = File.expand_path(input_filepath).split(::File::Separator)
         | 
| 56 | 
            +
                input_filename = input_path.last
         | 
| 57 | 
            +
                debug_print "in get_output_filepath ... input_path = #{input_path}"
         | 
| 58 | 
            +
                debug_print "in get_output_filepath ... input_filename = #{input_filename}"
         | 
| 59 | 
            +
                output_filepath = ''
         | 
| 60 | 
            +
                #do we have a value in output_file?
         | 
| 61 | 
            +
                #if we don't  ... assume writing to same file
         | 
| 62 | 
            +
                #if we do ...
         | 
| 63 | 
            +
                #is output_filename a path?
         | 
| 64 | 
            +
                #if it is ... return that
         | 
| 65 | 
            +
                #if it is not ... take input_path and join this filename
         | 
| 66 | 
            +
                if output_filename.empty?
         | 
| 67 | 
            +
                  output_filepath = input_filepath
         | 
| 68 | 
            +
                else
         | 
| 69 | 
            +
                  output_path = output_filename.split(::File::Separator)     
         | 
| 70 | 
            +
                  output_filename = output_path.last
         | 
| 71 | 
            +
                  if output_path.first == output_filename
         | 
| 72 | 
            +
                    if input_filename == output_filename
         | 
| 73 | 
            +
                      output_filepath = input_filepath
         | 
| 74 | 
            +
                    else
         | 
| 75 | 
            +
                      input_path.pop
         | 
| 76 | 
            +
                      output_filepath = File.join(input_path,output_filename)
         | 
| 77 | 
            +
                      debug_print "in get_output_filepath ... output_filepath = #{output_filepath}"
         | 
| 78 | 
            +
                    end
         | 
| 79 | 
            +
                  else
         | 
| 80 | 
            +
                    #the output_filename is a path ... lets expand it
         | 
| 81 | 
            +
                    output_path = File.expand_path(output_filename).split(::File::Separator)     
         | 
| 82 | 
            +
                    output_filepath = File.join(output_path)
         | 
| 83 | 
            +
                  end
         | 
| 84 | 
            +
                end
         | 
| 85 | 
            +
                output_filepath 
         | 
| 86 | 
            +
              end
         | 
| 87 | 
            +
             | 
| 88 | 
            +
              def string_to_file(fixed_file_string, output_filepath)
         | 
| 89 | 
            +
                File.delete(output_filepath) if File.exists?(output_filepath)
         | 
| 90 | 
            +
                File.open(output_filepath, "wb"){|out_file| out_file.write(fixed_file_string)}
         | 
| 91 | 
            +
              end
         | 
| 92 | 
            +
             | 
| 93 | 
            +
              def change_line_endings(file_as_string, ending)
         | 
| 94 | 
            +
                fixed_file_string = ''
         | 
| 95 | 
            +
                fixed_file_string = file_as_string.gsub(/(\n)|(\r\n?)/, "\n") if ending == Ending::Unix
         | 
| 96 | 
            +
                fixed_file_string = file_as_string.gsub(/(\n)|(\r\n?)/, "\r") if ending == Ending::Mac
         | 
| 97 | 
            +
                fixed_file_string = file_as_string.gsub(/(\n)|(\r\n?)/, "\r\n") if ending == Ending::Windows
         | 
| 98 | 
            +
                fixed_file_string
         | 
| 99 | 
            +
              end
         | 
| 100 | 
            +
             | 
| 101 | 
            +
              def file_to_string(filepath)
         | 
| 102 | 
            +
                file = File.open(filepath, "rb")
         | 
| 103 | 
            +
                file_string = file.read
         | 
| 104 | 
            +
                file.close
         | 
| 105 | 
            +
                file_string
         | 
| 106 | 
            +
              end
         | 
| 107 | 
            +
             | 
| 108 | 
            +
              def valid_ending?(ending) 
         | 
| 109 | 
            +
                raise RuntimeError, "Ending parameter is required!" unless ending
         | 
| 110 | 
            +
                raise RuntimeError, "Ending parameter must be of type Ending" unless Ending.valid?(ending)
         | 
| 111 | 
            +
                return true
         | 
| 112 | 
            +
              end
         | 
| 113 | 
            +
             | 
| 114 | 
            +
              def valid_filepath?(filepath)
         | 
| 115 | 
            +
                raise RuntimeError, "Filepath parameter is required!" unless filepath
         | 
| 116 | 
            +
                raise RuntimeError, "File with that filepath is not found!" unless File.exists?(filepath)
         | 
| 117 | 
            +
                raise RuntimeError, "File is not readable!" unless File.readable?(filepath)
         | 
| 118 | 
            +
                return true
         | 
| 119 | 
            +
              end
         | 
| 112 120 |  | 
| 113 121 |  | 
| 114 122 | 
             
            end
         | 
    
        data/lib/test_line_ender.rb
    CHANGED
    
    | @@ -11,7 +11,6 @@ class TestLineEnder < Test:: Unit::TestCase | |
| 11 11 |  | 
| 12 12 | 
             
              def setup
         | 
| 13 13 | 
             
                puts 'setup'
         | 
| 14 | 
            -
                @debug = true
         | 
| 15 14 | 
             
                @tle = TLE.new
         | 
| 16 15 | 
             
                @file1 = "file1.txt"
         | 
| 17 16 | 
             
                @file2 = "file2.txt"
         | 
| @@ -25,44 +24,66 @@ class TestLineEnder < Test:: Unit::TestCase | |
| 25 24 | 
             
              end
         | 
| 26 25 |  | 
| 27 26 | 
             
              def test_mac_to_unix_written_to_new_file
         | 
| 28 | 
            -
                puts "in test: #{__method__} ..."
         | 
| 29 | 
            -
                start_value = "a\ | 
| 30 | 
            -
                 | 
| 31 | 
            -
             | 
| 27 | 
            +
                puts "---> in test: #{__method__} ..."
         | 
| 28 | 
            +
                start_value = ["a", "b", "c"].join("\r")
         | 
| 29 | 
            +
                expected_value = ["a", "b", "c"].join("\n")
         | 
| 30 | 
            +
             | 
| 31 | 
            +
                helper_print_start_values(start_value, expected_value)
         | 
| 32 | 
            +
                output_string = helper_for_file_test(start_value, expected_value , LineEnder::Ending::Unix, true)
         | 
| 33 | 
            +
                helper_print_output_value(output_string)
         | 
| 34 | 
            +
             | 
| 32 35 | 
             
                assert(File.exists?(@file2), "#{__method__} ... has not written to new file")
         | 
| 33 | 
            -
                assert( | 
| 36 | 
            +
                assert(output_string == expected_value, "#{__method__} ... output string is not a match to expected value") if File.exists?(@file2)
         | 
| 34 37 | 
             
              end
         | 
| 35 38 |  | 
| 36 39 | 
             
              def test_mac_to_windows_write_to_same_file
         | 
| 37 | 
            -
                puts "in test: #{__method__} ..."
         | 
| 38 | 
            -
                start_value = "a\ | 
| 39 | 
            -
                 | 
| 40 | 
            -
             | 
| 41 | 
            -
                 | 
| 40 | 
            +
                puts "---> in test: #{__method__} ..."
         | 
| 41 | 
            +
                start_value = ["a", "b", "c"].join("\r")
         | 
| 42 | 
            +
                expected_value = ["a", "b", "c"].join("\r\n")
         | 
| 43 | 
            +
             | 
| 44 | 
            +
                helper_print_start_values(start_value, expected_value)
         | 
| 45 | 
            +
                output_string = helper_for_file_test(start_value, expected_value , LineEnder::Ending::Windows)
         | 
| 46 | 
            +
                helper_print_output_value(output_string)
         | 
| 47 | 
            +
             | 
| 48 | 
            +
                assert(output_string == expected_value, "#{__method__} ... output string is not a match to expected value")
         | 
| 42 49 | 
             
              end
         | 
| 43 50 |  | 
| 44 51 | 
             
              def test_mac_to_windows_string_dump
         | 
| 45 | 
            -
                puts "in test: #{__method__} ..."
         | 
| 46 | 
            -
                start_value = "a\ | 
| 47 | 
            -
                 | 
| 52 | 
            +
                puts "---> in test: #{__method__} ..."
         | 
| 53 | 
            +
                start_value = ["a", "b", "c"].join("\r")
         | 
| 54 | 
            +
                expected_value = ["a", "b", "c"].join("\r\n")
         | 
| 55 | 
            +
             | 
| 56 | 
            +
                helper_print_start_values(start_value, expected_value)
         | 
| 48 57 | 
             
                helper_write_file(@file1, start_value)
         | 
| 49 | 
            -
                helper_for_hexdump("start", @file1) | 
| 50 | 
            -
                 | 
| 51 | 
            -
                 | 
| 58 | 
            +
                helper_for_hexdump("start", @file1)
         | 
| 59 | 
            +
                output_string= @tle.output_to_string(@file1, LineEnder::Ending::Windows)
         | 
| 60 | 
            +
                helper_print_output_value(output_string)
         | 
| 61 | 
            +
             | 
| 62 | 
            +
                assert(output_string == expected_value, "#{__method__} ... output string is not a match to expected value")
         | 
| 63 | 
            +
             | 
| 64 | 
            +
              end
         | 
| 65 | 
            +
             | 
| 66 | 
            +
              def helper_print_start_values(start_value, expected_value)
         | 
| 67 | 
            +
                puts("start value ... getting pushed into file1.txt: #{start_value.inspect}")
         | 
| 68 | 
            +
                puts("expected value: #{expected_value.inspect}")
         | 
| 69 | 
            +
              end
         | 
| 70 | 
            +
             | 
| 71 | 
            +
              def helper_print_output_value(output_value)
         | 
| 72 | 
            +
                puts("output value (as string): #{output_value.inspect}")
         | 
| 52 73 | 
             
              end
         | 
| 53 74 |  | 
| 54 | 
            -
              def helper_for_file_test(start_value,  | 
| 75 | 
            +
              def helper_for_file_test(start_value, expected_value, ending_to_use, new_output_file = false)
         | 
| 55 76 | 
             
                helper_write_file(@file1, start_value)
         | 
| 56 | 
            -
                helper_for_hexdump("start", @file1)  | 
| 77 | 
            +
                helper_for_hexdump("start", @file1) 
         | 
| 57 78 | 
             
                if new_output_file
         | 
| 58 79 | 
             
                  @tle.output_to_file( @file1, ending_to_use, @file2 )
         | 
| 59 | 
            -
                   | 
| 80 | 
            +
                  output_file = @file2
         | 
| 60 81 | 
             
                else
         | 
| 61 82 | 
             
                  @tle.output_to_file( @file1, ending_to_use)
         | 
| 62 | 
            -
                   | 
| 83 | 
            +
                  output_file = @file1
         | 
| 63 84 | 
             
                end
         | 
| 64 | 
            -
                helper_for_hexdump(" | 
| 65 | 
            -
                helper_read_file( | 
| 85 | 
            +
                helper_for_hexdump("output", output_file) if File.exists?(output_file)
         | 
| 86 | 
            +
                helper_read_file(output_file) if File.exists?(output_file)
         | 
| 66 87 | 
             
              end
         | 
| 67 88 |  | 
| 68 89 | 
             
              def helper_write_file(file_name, value)
         | 
| @@ -78,7 +99,7 @@ class TestLineEnder < Test:: Unit::TestCase | |
| 78 99 | 
             
                  file = File.open(file_name, "rb")
         | 
| 79 100 | 
             
                  file.binmode
         | 
| 80 101 | 
             
                  file_string = file.read
         | 
| 81 | 
            -
                  puts "contents of file #{file_name} as a string ... #{file_string.inspect}"  | 
| 102 | 
            +
                  #puts "contents of file #{file_name} as a string ... #{file_string.inspect}" 
         | 
| 82 103 | 
             
                end
         | 
| 83 104 | 
             
                file_string
         | 
| 84 105 | 
             
              end
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification 
         | 
| 2 2 | 
             
            name: line_ender
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version 
         | 
| 4 | 
            -
              version: 0.0. | 
| 4 | 
            +
              version: 0.0.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors: 
         | 
| 7 7 | 
             
            - Rich Krueger
         | 
| @@ -9,7 +9,7 @@ autorequire: | |
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 11 |  | 
| 12 | 
            -
            date:  | 
| 12 | 
            +
            date: 2014-06-28 00:00:00 Z
         | 
| 13 13 | 
             
            dependencies: []
         | 
| 14 14 |  | 
| 15 15 | 
             
            description: A little mixin to change the line endings of files. Supports Mac, Unix, and Windows line ending conversions.
         | 
| @@ -44,8 +44,8 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 44 44 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement 
         | 
| 45 45 | 
             
              requirements: 
         | 
| 46 46 | 
             
              - *id001
         | 
| 47 | 
            -
            requirements:  | 
| 48 | 
            -
             | 
| 47 | 
            +
            requirements: 
         | 
| 48 | 
            +
            - trollop, v2.0
         | 
| 49 49 | 
             
            rubyforge_project: 
         | 
| 50 50 | 
             
            rubygems_version: 2.0.7
         | 
| 51 51 | 
             
            signing_key: 
         |