Sha256: 972f823f485fdb91b493f96a870ae3eac9c35c10451ffaff7038e1d7daff6963

Contents?: true

Size: 950 Bytes

Versions: 13

Compression:

Stored size: 950 Bytes

Contents

module Esvg
  module Utils
    def dasherize(input)
      input.gsub(/[\W,_]/, '-').sub(/^-/,'').gsub(/-{2,}/, '-')
    end

    def sub_path(root, path)
      path.sub(File.join(root,''),'')
    end

    def attributes(hash)
      att = []
      hash.each do |key, value|
        att << %Q{#{key.to_s.gsub(/_/,'-')}="#{value}"} unless value.nil?
      end
      att.join(' ')
    end

    def sort(hash)
      sorted = {}
      hash.sort.each do |h|
        sorted[h.first] = h.last
      end
      sorted
    end

    def compress(file)
      mtime = File.mtime(file)
      gz_file = "#{file}.gz"

      return if (File.exist?(gz_file) && File.mtime(gz_file) >= mtime)

      File.open(gz_file, "wb") do |dest|
        gz = ::Zlib::GzipWriter.new(dest, Zlib::BEST_COMPRESSION)
        gz.mtime = mtime.to_i
        IO.copy_stream(open(file), gz)
        gz.close
      end

      File.utime(mtime, mtime, gz_file)

      gz_file
    end

  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
esvg-4.6.7 lib/esvg/utils.rb
esvg-4.6.6 lib/esvg/utils.rb
esvg-4.6.5 lib/esvg/utils.rb
esvg-4.6.4 lib/esvg/utils.rb
esvg-4.6.3 lib/esvg/utils.rb
esvg-4.6.2 lib/esvg/utils.rb
esvg-4.6.1 lib/esvg/utils.rb
esvg-4.6.0 lib/esvg/utils.rb
esvg-4.5.0 lib/esvg/utils.rb
esvg-4.4.3 lib/esvg/utils.rb
esvg-4.4.2 lib/esvg/utils.rb
esvg-4.4.1 lib/esvg/utils.rb
esvg-4.4.0 lib/esvg/utils.rb