class Flapjack::Gateways::JSONAPI

Constants

JSONAPI_MEDIA_TYPE

jsonapi.org/extensions/bulk/ www.iana.org/assignments/media-types/application/vnd.api+json

JSONAPI_MEDIA_TYPE_BULK
RESOURCE_CLASSES

# tools.ietf.org/html/rfc6902 JSON_PATCH_MEDIA_TYPE = ‘application/json-patch+json; charset=utf-8’

SWAGGERED_CLASSES

Public Class Methods

media_type_produced(options = {}) click to toggle source
# File lib/flapjack/gateways/jsonapi.rb, line 104
def media_type_produced(options = {})
  unless options[:with_charset].is_a?(TrueClass)
    return 'application/vnd.api+json; supported-ext=bulk'
  end

  media_type = nil
  @@lock.synchronize do
    encoding = Encoding.default_external
    media_type = if encoding.nil?
      'application/vnd.api+json; supported-ext=bulk'
    else
      "application/vnd.api+json; supported-ext=bulk; charset=#{encoding.name.downcase}"
    end
  end
  media_type
end
start() click to toggle source
# File lib/flapjack/gateways/jsonapi.rb, line 90
def start
  Flapjack.logger.info "starting jsonapi - class"

  if access_log = (@config && @config['access_log'])
    unless File.directory?(File.dirname(access_log))
      raise "Parent directory for log file #{access_log} doesn't exist"
    end

    @access_log = ::Logger.new(@config['access_log'])
    use Rack::CommonLogger, @access_log
  end

end

Public Instance Methods

config() click to toggle source
# File lib/flapjack/gateways/jsonapi.rb, line 122
def config
  self.class.instance_variable_get("@config")
end
media_type_produced(options = {}) click to toggle source
# File lib/flapjack/gateways/jsonapi.rb, line 126
def media_type_produced(options = {})
  self.class.media_type_produced(options)
end