Class ActionController::Caching::Actions::ActionCachePath
In: actionpack/lib/action_controller/caching.rb
Parent: Object

Methods

Attributes

extension  [R] 
path  [R] 

Public Class methods

[Source]

# File actionpack/lib/action_controller/caching.rb, line 276
        def initialize(controller, options = {})
          @extension = extract_extension(controller.request.path)
          path = controller.url_for(options).split('://').last
          normalize!(path)
          add_extension!(path, @extension)
          @path = URI.unescape(path)
        end

[Source]

# File actionpack/lib/action_controller/caching.rb, line 271
          def path_for(controller, options)
            new(controller, options).path
          end

Private Instance methods

[Source]

# File actionpack/lib/action_controller/caching.rb, line 289
          def add_extension!(path, extension)
            path << ".#{extension}" if extension
          end

[Source]

# File actionpack/lib/action_controller/caching.rb, line 293
          def extract_extension(file_path)
            # Don't want just what comes after the last '.' to accommodate multi part extensions
            # such as tar.gz.
            file_path[/^[^.]+\.(.+)$/, 1]
          end

[Source]

# File actionpack/lib/action_controller/caching.rb, line 285
          def normalize!(path)
            path << 'index' if path[-1] == ?/
          end

[Validate]