Sha256: 756aad25233909a6c9abbf37b0021128a5e6a7f3c5944da368239a2e4f2e31cb

Contents?: true

Size: 1.52 KB

Versions: 8

Compression:

Stored size: 1.52 KB

Contents

module CompassRails
  module Test
    module FileHelper
      include DebugHelper

      def mkdir_p(dir)
        debug("Creating Directory: #{dir}".foreground(:green))
        ::FileUtils.mkdir_p dir
        assert File.directory?(dir), "mkdir_p: #{dir} failed"
      end

      def rm_rf(path)
        debug("Removing: #{path}".foreground(:red))
        ::FileUtils.rm_rf(path)
        assert !File.directory?(path), "rm_rf: #{path} failed"
      end

      def cd(path, &block)
        debug("Entered: #{path}".foreground(:yellow))
        Dir.chdir(path, &block)
      end

      def inject_at_bottom(file_name, string)
        content = File.read(file_name)
        content = "#{content}#{string}"
        File.open(file_name, 'w') { |file| file << content }
      end

      def touch(file)
        debug("Touching File: #{file}".foreground(:green))
        ::FileUtils.touch(file)
      end
      
      def inject_into_file(file_name, replacment, position, anchor)
        case position
        when :after
          replace(file_name, Regexp.escape(anchor), "#{anchor}#{replacment}")
        when :before
          replace(file_name, Regexp.escape(anchor), "#{replacment}#{anchor}")
        else
          raise Compass::FilesystemConflict.new("You need to specify :before or :after")
        end
      end
      
      def replace(destination, regexp, string)
        content = File.read(destination)
        content.gsub!(Regexp.new(regexp), string)
        File.open(destination, 'wb') { |file| file.write(content) }
      end

    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
compass-rails-1.0.3 test/helpers/file_helper.rb
compass-rails-1.0.2 test/helpers/file_helper.rb
compass-rails-1.0.1 test/helpers/file_helper.rb
compass-rails-1.0.0 test/helpers/file_helper.rb
compass-rails-1.0.0.rc.4 test/helpers/file_helper.rb
compass-rails-1.0.0.rc.3 test/helpers/file_helper.rb
compass-rails-1.0.0.rc.2 test/helpers/file_helper.rb
compass-rails-1.0.0.rc.1 test/helpers/file_helper.rb