Sha256: fb855f085323f52299557cb75e69ea891cabc3c60af684da9d0fb022767868d7

Contents?: true

Size: 547 Bytes

Versions: 6

Compression:

Stored size: 547 Bytes

Contents

# frozen_string_literal: true
require "forwardable"
require "singleton"

module HTTP
  module MimeType
    # Base encode/decode MIME type adapter
    class Adapter
      include Singleton

      class << self
        extend Forwardable
        def_delegators :instance, :encode, :decode
      end

      %w(encode decode).each do |operation|
        class_eval <<-RUBY, __FILE__, __LINE__
          def #{operation}(*)
            fail Error, "\#{self.class} does not supports ##{operation}"
          end
        RUBY
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
http-2.2.2 lib/http/mime_type/adapter.rb
http-2.2.1 lib/http/mime_type/adapter.rb
http-2.2.0 lib/http/mime_type/adapter.rb
http-2.1.0 lib/http/mime_type/adapter.rb
http-2.0.3 lib/http/mime_type/adapter.rb
http-2.0.2 lib/http/mime_type/adapter.rb