Sha256: ab2cfdce17c5fe3d38207905c85f423268899710c927f974b8a91b094769062d

Contents?: true

Size: 1.4 KB

Versions: 9

Compression:

Stored size: 1.4 KB

Contents

require 'sprockets'

module Trackman
  module Assets
    module Components  
      module Rails32PathResolver
        include PathResolver
        
        def translate url, parent_url 
          root = working_dir.realpath
          
          path = url
          path.slice! /^\/assets/
          path = Pathname.new path
          
          if path.relative?          
            folder = (root + Pathname.new(parent_url)).parent.realpath
            path = (folder + path).to_s
            path.slice! sprockets.paths.select{|p| path.include? p }.first 
          end
          
          path = sprockets.resolve path
          path.relative_path_from(root).to_s
        end

        def sprockets 
          @@sprockets ||= init_env
        end
        def init_env
          env = ::Sprockets::Environment.new
          paths = ['app', 'lib', 'vendor'].inject([]) do |array, f|
             array + ["images", "stylesheets", "javascripts"].map{|p| "#{working_dir}/#{f}/assets/#{p}" }
          end
          paths << "#{working_dir}/public"
          paths.each{|p| env.append_path p }
          
          env
        end
        def subfolder(file)
          if file.include?('.js')
            subfolder = "javascripts"
          elsif file.include?('.css')
            subfolder = "stylesheets"
          else 
            subfolder = "images"
          end
          subfolder
        end
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
trackman-0.2.5 lib/trackman/assets/components/rails32_path_resolver.rb
trackman-0.2.4 lib/trackman/assets/components/rails32_path_resolver.rb
trackman-0.2.3 lib/trackman/assets/components/rails32_path_resolver.rb
trackman-0.2.1 lib/trackman/assets/components/rails32_path_resolver.rb
trackman-0.2.0 lib/trackman/assets/components/rails32_path_resolver.rb
trackman-0.1.9 lib/trackman/assets/components/rails32_path_resolver.rb
trackman-0.1.8 lib/trackman/assets/components/rails32_path_resolver.rb
trackman-0.1.7 lib/trackman/assets/components/rails32_path_resolver.rb
trackman-0.1.6 lib/trackman/assets/components/rails32_path_resolver.rb