class Shaf::Parser::Base

Attributes

body[R]
request[R]

Public Class Methods

can_handle?(request) click to toggle source
# File lib/shaf/parser/base.rb, line 19
def can_handle?(request)
  mime_type == request.content_type
end
inherited(child) click to toggle source
Calls superclass method
# File lib/shaf/parser/base.rb, line 5
def inherited(child)
  Parser.register(child)
  super
end
mime_type(type = nil, value = nil) click to toggle source
# File lib/shaf/parser/base.rb, line 10
def mime_type(type = nil, value = nil)
  if type
    @mime_type = type
    @mime_type = Sinatra::Base.mime_type(type, value) if type.is_a? Symbol
  end

  @mime_type if defined? @mime_type
end
new(request:, body:) click to toggle source
# File lib/shaf/parser/base.rb, line 27
def initialize(request:, body:)
  @request = request
  @body = body
end

Public Instance Methods

call() click to toggle source
# File lib/shaf/parser/base.rb, line 32
def call
  raise NotImplementedError, "#{self.class} must implement #call"
end

Private Instance Methods

mime_type() click to toggle source
# File lib/shaf/parser/base.rb, line 38
def mime_type
  self.class.mime_type
end