CARVIEW |
Select Language
HTTP/2 200
date: Thu, 16 Oct 2025 00:36:35 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"2dfc3e9563acf1162c92609547f2b872"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com/ copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=zJgFa8%2Bs7ND7Sh581vPxJqv66RjDCwfAqJscfX642ZrY1XMOf78uyNPV%2BOAM5rM6vbHkqMOoUoGNX4Ftb2l19POEmWE%2FVf8ZTCERS%2FQFcZhlQnRzAkUbpSOVrhhAgFUcMMH%2FruxrwuX8s7znOedzo4AGs0p5kxyGGCj8VIbH%2FpY6fEXd5wcE7EYe5zzo7HYwWXGr7B9vSB8EcUxPKGtnfDElT9JmD5xMOI4dqSsTN58rgn4l7YI2RPTpcAoHPd2P7KZwXB112fioZT7pUGeY3w%3D%3D--yzC3FhoKJrSTPunF--Dp9QPZLXDKVKLPRErzbTpw%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1520296962.1760574995; Path=/; Domain=github.com; Expires=Fri, 16 Oct 2026 00:36:35 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Fri, 16 Oct 2026 00:36:35 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 8126:195DCF:EA0A3:162A51:68F03E13
Creating an Adapter · jnunemaker/adapter Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
forked from ecin/adapter
-
Notifications
You must be signed in to change notification settings - Fork 2
Creating an Adapter
jnunemaker edited this page Nov 16, 2012
·
4 revisions
Creating your own adapter is as easy as defining a few methods -- read, write, delete and clear. Here is an example that defines an adapter where the client is a ruby hash. Adapters can also work with options, you can read more at Allowing for Options.
Adapter.define(:some_name) do
def read(key)
client[key]
end
def write(key, value)
client[key] = value
end
def delete(key)
client.delete(key)
end
def clear
client.clear
end
end
adapter = Adapter[:some_name].new({})
adapter.read('foo') # nil
adapter.write('foo', 'bar')
adapter.read('foo') # "foo"
Adapter.define works with a name and block, name and module, or name, module and block. When module and block are provided, the module is included into the adapter first and the block second. This allows you to take an existing adapter defined in a module and tweak a few things in the block (such as encode and decode).
There are some rspec shared examples available if you are creating and testing your own adapter.
Clone this wiki locally
You can’t perform that action at this time.