Sha256: d35eed584117611895c7e16651254442884bfe5369c50e01ea61c249f93bb112

Contents?: true

Size: 565 Bytes

Versions: 52

Compression:

Stored size: 565 Bytes

Contents

module Dragonfly
  
  # UrlAttributes is like a normal hash, but treats
  # :name, :ext and :basename specially -
  # updating ext/basename also updates the name
  class UrlAttributes < Hash

    SPECIAL_KEYS = [:name, :basename, :ext]

    include HasFilename

    def name
      self[:name]
    end
    
    def name=(name)
      self[:name] = name
    end
    
    def slice(*keys)
      keys.inject({}) do |hash, key|
        key = key.to_sym
        hash[key] = SPECIAL_KEYS.include?(key) ? send(key) : self[key]
        hash
      end
    end
    
  end

end

Version data entries

52 entries across 52 versions & 2 rubygems

Version Path
classiccms-0.7.5 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.7.4 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.7.3 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.7.2 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.7.1 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.7.0 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
dragonfly-0.9.15 lib/dragonfly/url_attributes.rb
dragonfly-0.9.14 lib/dragonfly/url_attributes.rb
dragonfly-0.9.13 lib/dragonfly/url_attributes.rb
classiccms-0.6.9 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.6.8 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.6.7 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.6.6 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.6.5 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.6.4 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.6.3 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.6.2 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.6.1 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.6.0 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb
classiccms-0.5.17 vendor/bundle/gems/dragonfly-0.9.12/lib/dragonfly/url_attributes.rb