Class: Sinatra::Request::MimeTypeEntry
- Inherits:
-
Object
- Object
- Sinatra::Request::MimeTypeEntry
- Defined in:
- lib/sinatra/base.rb
Instance Attribute Summary collapse
-
#params ⇒ Object
readonly
Returns the value of attribute params.
Instance Method Summary collapse
- #accepts?(entry) ⇒ Boolean
-
#initialize(entry) ⇒ MimeTypeEntry
constructor
A new instance of MimeTypeEntry.
- #matches_params?(params) ⇒ Boolean
- #to_str ⇒ Object
Constructor Details
#initialize(entry) ⇒ MimeTypeEntry
Returns a new instance of MimeTypeEntry.
137 138 139 140 141 142 143 144 145 146 |
# File 'lib/sinatra/base.rb', line 137 def initialize(entry) params = entry.scan(HEADER_PARAM).map! do |s| key, value = s.strip.split('=', 2) value = value[1..-2].gsub(/\\(.)/, '\1') if value.start_with?('"') [key, value] end @type = entry[/[^;]+/].delete(' ') @params = params.to_h end |
Instance Attribute Details
#params ⇒ Object (readonly)
Returns the value of attribute params.
135 136 137 |
# File 'lib/sinatra/base.rb', line 135 def params @params end |
Instance Method Details
#accepts?(entry) ⇒ Boolean
148 149 150 |
# File 'lib/sinatra/base.rb', line 148 def accepts?(entry) File.fnmatch(entry, self) && matches_params?(entry.params) end |
#matches_params?(params) ⇒ Boolean
156 157 158 159 160 |
# File 'lib/sinatra/base.rb', line 156 def matches_params?(params) return true if @params.empty? params.all? { |k, v| !@params.key?(k) || @params[k] == v } end |
#to_str ⇒ Object
152 153 154 |
# File 'lib/sinatra/base.rb', line 152 def to_str @type end |