Sha256: 5231d0121bb8365a620121f337b95a79161ee06d6815b1fcd2d3bca3e1587d3b

Contents?: true

Size: 728 Bytes

Versions: 54

Compression:

Stored size: 728 Bytes

Contents

module Sprockets
  class Concatenation
    attr_reader :source_lines
    
    def initialize
      @source_lines = []
      @source_file_mtimes = {}
    end
    
    def record(source_line)
      source_lines << source_line
      record_mtime_for(source_line.source_file)
      source_line
    end
    
    def to_s
      source_lines.join
    end

    def mtime
      @source_file_mtimes.values.max
    end
    
    def save_to(filename)
      timestamp = mtime
      File.open(filename, "w") { |file| file.write(to_s) }
      File.utime(timestamp, timestamp, filename)
      true
    end

    protected
      def record_mtime_for(source_file)
        @source_file_mtimes[source_file] ||= source_file.mtime
      end
  end
end

Version data entries

54 entries across 53 versions & 6 rubygems

Version Path
amiel-sprockets-1.0.5 lib/sprockets/concatenation.rb
sstephenson-sprockets-0.9.0 lib/sprockets/concatenation.rb
architecture-js-0.6.3 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.6.2 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.6.1 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.6.0 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.5.8 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.5.7 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.5.6 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.5.5 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.5.4 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.5.3 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.5.2 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.5.1 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.5.0 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.4.0 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.3.8 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.3.7 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.3.6 lib/sprockets/lib/sprockets/concatenation.rb
architecture-js-0.3.5 lib/sprockets/lib/sprockets/concatenation.rb