123456789_123456789_123456789_123456789_123456789_

Class: Mime::Mimes

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Instance Chain:
Inherits: Object
Defined in: actionpack/lib/action_dispatch/http/mime_type.rb

Class Method Summary

Instance Attribute Summary

::Enumerable - Included

#many?

Returns true if the enumerable has more than 1 element.

Instance Method Summary

::Enumerable - Included

#compact_blank

Returns a new ::Array without the blank items.

#exclude?

The negative of the Enumerable#include?.

#excluding

Returns a copy of the enumerable excluding the specified elements.

#in_order_of

Returns a new ::Array where the order has been set to that provided in the series, based on the key of the objects in the original enumerable.

#including

Returns a new array that includes the passed elements.

#index_by

Convert an enumerable to a hash, using the block result as the key and the element as the value.

#index_with

Convert an enumerable to a hash, using the element as the key and the block result as the value.

#maximum

Calculates the maximum from the extracted elements.

#minimum

Calculates the minimum from the extracted elements.

#pick

Extract the given key from the first element in the enumerable.

#pluck

Extract the given key from each element in the enumerable.

#sole

Returns the sole item in the enumerable.

#without

Constructor Details

.newMimes

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/mime_type.rb', line 13

def initialize
  @mimes = []
  @symbols = []
  @symbols_set = Set.new
end

Instance Attribute Details

#symbols (readonly)

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/mime_type.rb', line 9

attr_reader :symbols

Instance Method Details

#<<(type)

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/mime_type.rb', line 23

def <<(type)
  @mimes << type
  sym_type = type.to_sym
  @symbols << sym_type
  @symbols_set << sym_type
end

#delete_if

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/mime_type.rb', line 30

def delete_if
  @mimes.delete_if do |x|
    if yield x
      sym_type = x.to_sym
      @symbols.delete(sym_type)
      @symbols_set.delete(sym_type)
      true
    end
  end
end

#each(&block)

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/mime_type.rb', line 19

def each(&block)
  @mimes.each(&block)
end

#valid_symbols?(symbols) ⇒ Boolean

:nodoc

[ GitHub ]

  
# File 'actionpack/lib/action_dispatch/http/mime_type.rb', line 41

def valid_symbols?(symbols) # :nodoc
  symbols.all? { |s| @symbols_set.include?(s) }
end