{"type":"rich","provider_url":"https://hatena.blog","author_url":"https://blog.hatena.ne.jp/nkgt_chkonk/","blog_title":"\u732b\u578b\u306e\u84c4\u97f3\u6a5f\u306f 1 \u5206\u9593\u306b 45 \u56de\u306b\u3083\u3042\u3068\u9cf4\u304f","version":"1.0","url":"https://nekogata.hatenablog.com/entry/2014/08/22/162243","categories":["Ruby"],"title":"\u958b\u767a\u74b0\u5883\u3067\u306e\u307f\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u6bce\u306b\u306a\u3093\u304b\u51e6\u7406\u3092\u30d5\u30c3\u30af\u3057\u305f\u3044 in Ruby","author_name":"nkgt_chkonk","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fnekogata.hatenablog.com%2Fentry%2F2014%2F08%2F22%2F162243\" title=\"\u958b\u767a\u74b0\u5883\u3067\u306e\u307f\u3001\u30ea\u30af\u30a8\u30b9\u30c8\u6bce\u306b\u306a\u3093\u304b\u51e6\u7406\u3092\u30d5\u30c3\u30af\u3057\u305f\u3044 in Ruby - \u732b\u578b\u306e\u84c4\u97f3\u6a5f\u306f 1 \u5206\u9593\u306b 45 \u56de\u306b\u3083\u3042\u3068\u9cf4\u304f\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","width":"100%","height":"190","image_url":null,"blog_url":"https://nekogata.hatenablog.com/","description":"RackMiddleware \u3092\u4f7f\u3046\u306e\u304c\u7b4b\u304c\u826f\u3044\u6c17\u304c\u3059\u308b\u3002 middleware \u7528\u610f\u3059\u308b # lib/rack/nyan.rb module Rack class Nyan def initialize(app) @app = app end def run(env) run_hook @app.call(env) end private def run_hook # \u306a\u3093\u304b\u3059\u308b end end end config.ru \u3067\u958b\u767a\u74b0\u5883\u306e\u3068\u304d\u3060\u3051 middleware \u3092\u6709\u52b9\u306b\u3059\u308b # in your config.ru # snip if ENV['RACK_ENV'] == 'develo\u2026","published":"2014-08-22 16:22:43","provider_name":"Hatena Blog"}