class RhetButler::Stasis::ResourceMapping
Attributes
default_uri[W]
Public Instance Methods
absolute_uri(uri)
click to toggle source
# File lib/rhet-butler/stasis/resource-mapping.rb, line 15 def absolute_uri(uri) uri = default_uri.join(uri) if uri == default_uri uri = uri.join("index.html") end return uri end
default_uri()
click to toggle source
# File lib/rhet-butler/stasis/resource-mapping.rb, line 11 def default_uri Addressable::URI.parse(@default_uri) end
initalize(queue)
click to toggle source
# File lib/rhet-butler/stasis/resource-mapping.rb, line 5 def initalize(queue) @queue = queue end
localized(uri)
click to toggle source
# File lib/rhet-butler/stasis/resource-mapping.rb, line 27 def localized(uri) return "/index.html" if uri == "/" uri = relative_uri(uri) if uri.relative? return uri.to_s end query_values = uri.query_values(Array) [ [uri.host, uri.port, uri.user, uri.scheme == 'http' ? nil : uri.scheme].compact.join("-"), uri.path, (query_values ? query_values.map{|pair| pair.join("=")}.join(",") : nil) ].compact.map do |part| part.sub(%r{\A/},'').sub(%r{/\Z},'') end.join("/") end
relative_uri(uri)
click to toggle source
# File lib/rhet-butler/stasis/resource-mapping.rb, line 23 def relative_uri(uri) default_uri.route_to(absolute_uri(uri)) end
storage_for(uri)
click to toggle source
# File lib/rhet-butler/stasis/resource-mapping.rb, line 46 def storage_for(uri) localized(uri).sub(%r{^/},'') end
target_link_for(uri)
click to toggle source
# File lib/rhet-butler/stasis/resource-mapping.rb, line 50 def target_link_for(uri) default_uri.join(storage_for(uri)) end