Sha256: 0ac0a992f620e2d10c69e32bc073863ce642828b287487f09e923b16e46c3e2e

Contents?: true

Size: 1.08 KB

Versions: 14

Compression:

Stored size: 1.08 KB

Contents

module Trackman
  module Path  
    module Rails32Resolver
      include Resolver
      
      alias old_rails_translate translate

      def translate url, parent_url 
        root = working_dir.realpath
        path = url.dup
        path.slice! /^\/?assets/
        path =  Pathname.new(path)

        path = prepare_for_sprocket(path, parent_url, root) if path.relative?
        begin
          path = sprockets.resolve path
        rescue Sprockets::FileNotFound => e
          Trackman::Utility::Debugger.trace "Sprocket did not find path: #{path}\n#{e.message}"
          return old_rails_translate(url, parent_url)
        end
        path.relative_path_from(root).to_s
      end
      

      def prepare_for_sprocket path, parent_url, root
        folder = (root + Pathname.new(parent_url)).parent.realpath
        path = (folder + path).to_s
        
        same_path = sprockets.paths.select{|p| path.include? p }.first
        path.slice!(same_path) unless same_path.nil?
        
        path
      end
      
      def sprockets
        ::Rails.application.assets
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
trackman-0.6.18 lib/trackman/path/rails32_resolver.rb
trackman-0.6.17 lib/trackman/path/rails32_resolver.rb
trackman-0.6.16 lib/trackman/path/rails32_resolver.rb
trackman-0.6.15 lib/trackman/path/rails32_resolver.rb
trackman-0.6.14 lib/trackman/path/rails32_resolver.rb
trackman-0.6.13 lib/trackman/path/rails32_resolver.rb
trackman-0.6.12 lib/trackman/path/rails32_resolver.rb
trackman-0.6.11 lib/trackman/path/rails32_resolver.rb
trackman-0.6.10 lib/trackman/path/rails32_resolver.rb
trackman-0.6.9 lib/trackman/path/rails32_resolver.rb
trackman-0.6.8 lib/trackman/path/rails32_resolver.rb
trackman-0.6.7 lib/trackman/path/rails32_resolver.rb
trackman-0.6.6 lib/trackman/path/rails32_resolver.rb
trackman-0.6.5 lib/trackman/path/rails32_resolver.rb