Class: ActionController::MimeResponds::Responder

Inherits:
Object
  • Object
show all
Defined in:
lib/inherited_resources/legacy/respond_to.rb

Overview

:nodoc:

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#orderObject (readonly)

Returns the value of attribute order.



115
116
117
# File 'lib/inherited_resources/legacy/respond_to.rb', line 115

def order
  @order
end

Instance Method Details

#any(*args, &block) ⇒ Object Also known as: all



117
118
119
120
121
122
123
# File 'lib/inherited_resources/legacy/respond_to.rb', line 117

def any(*args, &block)
  if args.any?
    args.each { |type| send(type, &block) }
  else
    custom(Mime::ALL, &block)
  end
end

#custom(mime_type, &block) ⇒ Object



126
127
128
129
130
# File 'lib/inherited_resources/legacy/respond_to.rb', line 126

def custom(mime_type, &block)
  mime_type = mime_type.is_a?(Mime::Type) ? mime_type : Mime::Type.lookup(mime_type.to_s)
  @order << mime_type
  @responses[mime_type] ||= block
end

#negotiate_mimeObject



136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# File 'lib/inherited_resources/legacy/respond_to.rb', line 136

def negotiate_mime
  @mime_type_priority.each do |priority|
    if priority == Mime::ALL
      return @order.first
    elsif @order.include?(priority)
      return priority
    end
  end

  if @order.include?(Mime::ALL)
    return Mime::SET.first if @mime_type_priority.first == Mime::ALL
    return @mime_type_priority.first
  end

  nil
end

#response_for(mime) ⇒ Object



132
133
134
# File 'lib/inherited_resources/legacy/respond_to.rb', line 132

def response_for(mime)
  @responses[mime] || @responses[Mime::ALL]
end