class Rackful::Parser
Base class for all concrete parsers defined in this library. You’ll probably want to use this class as the base class for your own parsers, too.
This class mixes in module ‘StatusCodes` for convenience, as explained in the {StatusCodes StatusCodes
documentation}. @abstract Subclasses must implement classmethod `::parse` with signature
`(void) parse( Request, Response, Resource )` explained in {Resource::ClassMethods::add_parser}
@example Subclassing this class
class MyTextParser < Rackful::Parser parses 'text/*', 'application/xhtml+xml' def self.parse request, response, resource # YOUR CODE HERE... end end
Public Class Methods
media_types()
click to toggle source
@api private
# File lib/rackful/parser.rb, line 29 def media_types @media_types ||= begin retval = rackful_parser_media_types if superclass.respond_to?(:media_types) retval += superclass.media_types end retval.uniq end end
parses(*args)
click to toggle source
@overload parses( media_type, … )
@param media_type [String]
# File lib/rackful/parser.rb, line 41 def parses *args rackful_parser_media_types.unshift( *( args.map { |mt| mt.to_s }.reverse ) ) rackful_parser_media_types.uniq! self end
Private Class Methods
rackful_parser_media_types()
click to toggle source
# File lib/rackful/parser.rb, line 50 def rackful_parser_media_types @rackful_parser_media_types ||= [] end