Sha256: a67ca01905a35e85408cfdb43810e2c221a4c9e1fc6e35e20c9c583dfa0ea9a9

Contents?: true

Size: 1.19 KB

Versions: 2

Compression:

Stored size: 1.19 KB

Contents

require 'ldp/version'
require 'linkeddata'
require 'logger'
require 'singleton'

module Ldp
  RDF::Graph.send(:include, RDF::Isomorphic)

  require 'ldp/client'
  require 'ldp/uri'

  extend Uri

  autoload :Response, 'ldp/response'
  autoload :Resource, 'ldp/resource'
  autoload :Container, 'ldp/container'

  autoload :Orm, 'ldp/orm'

  class HttpError < RuntimeError; end
  class BadRequest < HttpError; end # 400
  class NotFound < HttpError; end # 404
  class Conflict < HttpError; end # 409
  class Gone < HttpError; end # 410
  class EtagMismatch < HttpError; end # 412

  class UnexpectedContentType < RuntimeError; end

  # Returned when there is no result (e.g. 404)
  class NoneClass
    include Singleton
  end
  # The single global instance of NoneClass, representing the empty Option
  None = NoneClass.instance # :doc:

  class << self
    def logger
      @logger ||= Logger.new(STDOUT).tap do |log|
        log.level = Logger::WARN
      end
    end

    def instrument *args, &block
      if defined?(::ActiveSupport) && defined?(::ActiveSupport::Notifications)
        ActiveSupport::Notifications.instrument *args, &block
      else
        yield
      end
    end

    attr_writer :logger
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ldp-0.4.1 lib/ldp.rb
ldp-0.4.0 lib/ldp.rb