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.
140 141 142 143 144 145 146 147 148 149 |
# File 'lib/sinatra/base.rb', line 140 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.
138 139 140 |
# File 'lib/sinatra/base.rb', line 138 def params @params end |
Instance Method Details
#accepts?(entry) ⇒ Boolean
151 152 153 |
# File 'lib/sinatra/base.rb', line 151 def accepts?(entry) File.fnmatch(entry, self) && matches_params?(entry.params) end |
#matches_params?(params) ⇒ Boolean
159 160 161 162 163 |
# File 'lib/sinatra/base.rb', line 159 def matches_params?(params) return true if @params.empty? params.all? { |k, v| !@params.key?(k) || @params[k] == v } end |
#to_str ⇒ Object
155 156 157 |
# File 'lib/sinatra/base.rb', line 155 def to_str @type end |