タグ

rackに関するhoppieのブックマーク (4)

  • ねえRuby、どこまでが君でどこからが内部DSLなの?

    Rubyは内部DSL(Domain Specific Language)に向いている言語と言われます。Rake, RSpec, Rack, Sinatraなどは内部DSL on Rubyの代表的なサンプルです。Rubyの構文のユルさとメタプログラミングが内部DSLを容易にするんですね。 しかし正直僕は、何が内部DSLで、何が内部DSLでないのかがわかっていません。人が何をさして「これは内部DSLである」と言っているのかがよくわかりません。 そんなわけで… 以下では、Userクラスの設計を通して内部DSLらしきものを作ってみます。このイテレーションに対して「ここからが内部DSLだよ」「これは内部DSLとは呼ばないよ」と、誰か僕に優しく教えてくれませんか? Userクラスの作成 Userクラスはユーザ情報を管理するクラスです。ファイル名はuser.rbとします。 まずはユーザの登録機能を作りま

  • Rackをminifyした僅か100行のLackで学ぶRackの中身

    「エラーメッセージから学ぶRack最初の一歩」および「エラーメッセージから学ぶRack - Middlewareの魔法」の続きです。 前2の記事で、Rackはrackupコマンドを起動すると、defaultでconfig.ruを読み込みWebサーバを起動するということが分かりました。また、config.ruの中でuseを使ってmiddlewareを指定すると、Webアプリをラップして内側から外側に向けてそれらの#callを順次呼び出すということも分かりました。ちなみに僕はこの呼び出しスタイルを今後「マトリョーシカ呼び出し」と呼ぶことにしました。 ここで2点気になることがあります。config.ruはRubyスクリプトです。rackupコマンドの実行からRackはどうやってこのファイルを実行しているのでしょうか。まあ簡単に想像はつきますが(エバるほどではない)、これが1点目です。もう1点は

    hoppie
    hoppie 2012/08/08
  • config.ruに設定を埋める

    Railsのコードを読んでみてて気付いた。いや、単に知らなかっただけという可能性もあるのだがconfig.ruには起動オプションを埋め込むことができる。 config.ruに一行、「#</tt>」で始まる文字列を書き加える。するとその内容が空白区切りでコマンドラインオプションに加えられる。 # This file is used by Rack-based servers to start the application. #\ --port 3333 require ::File.expand_path('../config/environment', __FILE__) run Nanjamonja::Application これを起動すると次のようになる。 $ ./script/rails server => Booting WEBrick => Rails 3.0.9 applic

    hoppie
    hoppie 2012/05/30
    つかえる
  • sinatraでrspecをautospecで使うメモ - AorBorF

    最近sinatraを使い始めました。 rspecをsinatraで使い始めるまで右往左往したのでその時のメモ cucumberも使おうかと思ったけど、あれはお客さんに見せる事ができるテスト仕様だから美味しいんであって、個人の趣味プログラミングで、しかもsinatra使ってサックリとサイト作るには手軽さが損なわれる気がしたのでとりあえず保留。 sinatraをインストール $ sudo gem install sinatra $ sudo gem install rack appを作成 $ mkdir myapp $ cd myapp $ touch app.rb /myapp/app.rb require "rubygems" require "sinatra" get '/' do "hello" end get '/hoge' do "get params #{params[:huga

    sinatraでrspecをautospecで使うメモ - AorBorF
  • 1