Sha256: 0650368488b7bc72ef7e3f3c99c4a5c9434c7dfec208a64dcb40f77d56c41b2c
Contents?: true
Size: 1.3 KB
Versions: 2
Compression:
Stored size: 1.3 KB
Contents
require 'lotus/utils/class' require 'lotus/utils/string' require 'lotus/routing/error' module Lotus module Routing module Parsing # Body parsing error # This is raised when parser fails to parse the body # # @since 0.5.0 class BodyParsingError < Lotus::Routing::Error end # @since 0.2.0 class UnknownParserError < Lotus::Routing::Error def initialize(parser) super("Unknown Parser: `#{ parser }'") end end # @since 0.2.0 class Parser # @since 0.2.0 def self.for(parser) case parser when String, Symbol require_parser(parser) else parser end end # @since 0.2.0 def mime_types raise NotImplementedError end # @since 0.2.0 def parse(body) Hash.new end private # @since 0.2.0 # @api private def self.require_parser(parser) require "lotus/routing/parsing/#{ parser }_parser" parser = Utils::String.new(parser).classify Utils::Class.load!("Lotus::Routing::Parsing::#{ parser }Parser").new rescue LoadError, NameError raise UnknownParserError.new(parser) end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
lotus-router-0.5.1 | lib/lotus/routing/parsing/parser.rb |
lotus-router-0.5.0 | lib/lotus/routing/parsing/parser.rb |