2012/7/16 10:00 指摘によりsinatra-contribを使う旨を追記&修正 未だにshotgun使ってた。 参考: モノクロームの中: sinatra (2) - オートリロード - Sinatra::Reloader (part of Sinatra::Contrib) gemをインストール % gem install sinatra-contrib Classicスタイル require "sinatra" require "sinatra/reloader" if development? Modularスタイル require "sinatra/base" require "sinatra/reloader" class MyApp < Sinatra::Base configure :development do register Sinatra::Reload
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
Sinatra::Base.middleware そもそも、 Sinatra::Base を継承したクラスには、クラスメソッドとして Sinatra::Base.middleware が用意されており、明示的に Sinatra::Base.use で利用を宣言したミドルウェアはそこから一覧を取得できる。 + (Object) middleware ところが、 Sinatra アプリケーションが実際に Rack でホストされ、アクセスされる際には、 use で宣言していないミドルウェアもたくさん呼ばれるわけで。その全貌が知りたい場合。むろん、 Rails、Ramaze、Camping といった Rack に対応したフレームワークならば同じような方法で「中を覗く」ことが可能なはず。 set_trace_func を使ってみる Kernel#set_trace_func は profile.rb
初めましての方は初めまして。近藤うちお(@udzura)です。 Sinatra ベースのフレームワークである Padrino framework の日本語サイトを管理したりしています。 Ruby Advent Calendar jp: 2011 2日目である今日は、 Sinatra 主要コミッタである rkh が、わずか 8 行で実装した Sinatra クローン、「almost-sinatra.rb」を読み解いたりして、2日目にして一気に読者を置いてけぼりにしたいと思います(1日目はこちら – “Coffeescripting with Ruby”)。 RedBull(できれば複数本)の用意を推奨します…… まずは、全コードを下にコピーして置いておきます。先日、 このパッチ が accept されたので、それが適用された最新バージョンです。 %w.rack tilt backports
(※コードの一部追記しました:8/9 13:48) あまりに更新しなさすぎて逆に更新しづらいRuたんです( 僕のサイト(http://www.hazimu.com/)では昔自分で作った簡易CMS(爆笑)を使ってます。 さすがに(爆笑)なだけあって、不具合がところどころありまして、 更新するときは不具合がおきないように気をつけて作業するという謎システムです; そんなわけで、ちょっとサーバ移転を考えるついでに CMSを別のものにしようと思ったのですが、 世の中のCMSは僕みたいな超弱小サイトで使うには規模が大きすぎたり、 設定が面倒だったりとちょっと困り気味。 どうせなら練習がてらに僕好みの簡易CMS(笑)を作ってみようというお話です。 (爆笑)じゃなくて(笑)くらいまで進化させたい! 予定 http://ドメイン名/〜 の〜部分を調べて、データベースからページ情報を読み込んで表示 データベー
注:rack 1.3.3以前だと落ちます。rack 1.3.4以上にアップデートしましょう。 Sinatra 1.3でstreamヘルパーが追加された。 require "rubygems" require "sinatra" get '/' do stream do |out| out << "It's gonna be legen -\n" sleep 0.5 out << " (wait for it) \n" sleep 1 out << "- dary!\n" end end get '/normal' do sleep 1.2 "normally response" end 全部の処理が終わるまで待って一気にレスポンスを返すのではなく、out << "string"のように逐次レスポンスを返す。なお、これの実装はRails 3.1で追加されたものやPHPのデフォルトの挙動、Tw
なんか twitter でそういう声があったのでざっくり試したよ。 Rack::URLMap を使う なんと! Rack::URLMap は、 env["PATH_INFO"] をよしなにしてはくれません。/sub サブディレクトリにマウントしたアプリケ~ションにも、 /sub が付いたまま渡ります。なので、自分で削除する Rack Middleware 書いたった。 app1.rb: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 require 'rubygems' require 'bundler/setup' Bundler.require class SubApp < Sinatra::Base
Installation Install the gem and run middleman init my_project to create a new Middleman site from the command line. See full install instructions Customize Your Site Check out the directory cd my_project. Middleman works right out of the box. Start reading the docs to find out what each directory is doing and how to customize your site. See advanced customizations Build and Deploy Running one com
研究室の後輩にSinatraとhamlとjQueryを教えるために作ったテンプレートについて、ここにも書いておく ソースコード https://github.com/shokai/sinatra-template 実際動いているもの http://masui.sfc.keio.ac.jp/sinatra-template/ git clone git://github.com/shokai/sinatra-template.git ■Sinatraを何に使うか Sinatra+haml+jQueryが便利。 Railsと似てるけど、ちょっと違う。 個人的には Rails → HTMLのページをいっぱい作るのに便利 Sinatra → 画面遷移あまりしなくて、同じURLのままjsonのAPIをjQueryのajaxで取得して動的に表示を変えるwebページを作るのには便利 に感じる。 でもSi
rubyのSinatraを使ってWebアプリケーションを作るためのたたき台です。簡単なwebアプリやblog(のようなもの)を作成することが出来ます。 デモ Sinatra Easy Template ソース github ダウンロード sinatra-easy-template.zip 起動 ダウンロードしたzipを任意の場所に展開したら、app.rbを実行します。 $ cd sinatra-easy-temaplte $ ruby app.rb == Sinatra/1.2.6 has taken the stage on 4567 for development with backup from Thin >> Thin web server (v1.2.10 codename I'm dumb) >> Maximum connections set to 1024 >> Liste
Facebook Graph APIの実験の為に、いろいろなサンプルアプリを作ったりしています。 本番用のアプリを作るときはRailsを採用したりするのですが、簡単にAPIを試すだけのサンプルの場合は、Sinatraを使ったほうがサクっと作れて便利ですよね。 そんなときは、Ruby OAuth2 gemとSinatraを使うと、「Facebookアカウントでのログインの仕組み」を簡単に実装することが出来たりします。 今回は、ボクが普段使っているサンプルコードを紹介したいと思います。 本当は Rack::Session::Pool を使いたいのですが、shotgunと併用するとうまくセッションが効いてくれなかったりすることもあり、Rack::Session::Cookieで我慢しています。 https://gist.github.com/998545 require 'rubygems' r
ブログを下記に移転しました。デザイン変更により移転先では記事が一層読みやすくなっていますので、よろしければ移動をお願い致します。 SinatraはDSLなんかじゃない、Ruby偽装を使ったマインドコントロールだ! : melborne.github.com - Sinatraのサイトを開くとSinatraはDSLだと書いてある Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort: (SinatraはRubyで手早くWebアプリケーションをつくるためのDSLです) DSLというのはDomain-Specific Language つまり特定の目的に特化した言語のことだ 確かにSinatraはWebアプリケーションという 特定の目的のために作られたものだけれども それは言語じゃない
RubyフレームワークのSinatra の作者である Blake Mizerany 氏のインタビュー記事を見つけたので、翻訳してみました。タイトルは "How do I learn and master Sinatra?" 直訳すれば「Sinatra をマスターする勉強方法」です。 今回はRL blog 連載"Sinatraをマスターする方法" の最終回です。この連載は、有名なSinatra開発者の方々にRubyビギナーがどのように Sinatra を学習していけばよいかをインタビューします。 Satish>> Blake Mizerany, 自己紹介していただけますか? あなたのバックグラウンドに関して。 Blake>> 私は Heroku のマッドサイエンティストの一人です。Sinatra プロジェクトを2007年の9月に始めました。使えなかったり、使えそうなものが出来上がったりしまし
gem install padrino padrino-gen project test_app -d datamapper -b cd test_app padrino-gen admin padrino rake dm:migrate seed padrino start Sinatraベース 多くの開発者が Sinatra のシンプルさと表現力に魅力を感じてきました。ですが、少し複雑なアプリケーションを開発しようとすると、 Sinatra には他のフレームワーク(例えば Rails のような)が持っている豊富な機能を欠いている事実に、すぐに気づいてしまいます。 Sinatra 自身は、 Rack の一番上層で動作する薄いレイヤーのようなものです。そして、その「極小の」フレームワークは、ある特定のアプリケーションでのみ必要となるような複雑性を切り捨てることで、軽量さを実現しています──
sinatraをローカルで動かせるようになったはいいが,実際に運用する段になって,やれCGIで起動させろとか,権限がどうとか,ディレクトリがどうとかでややこしいのでまとめる. SSHをセットアップする これ一択.SAKURA Internet // サポート: SSH について コンソールとしてPoderosa,ファイル転送にはWinSCPを使った. それぞれ(アカウント.sakura.ne.jp)とパスワードとかで何とかなる. Poderosaにて %pwd /home/YOUR_ID %ls MailBox, db, log, sblo_files, www, bin, lib, ports %ruby -v ruby 1.8.7 (2009-12-24 patchlevel 248) [i386-freebsd7] 今回rubyは標準装備の1.8.7を使う.インストールするのめんどく
いろいろな言語用のSinatra的フレームワークまとめ - 射撃しつつ前転 ということで、bash内蔵コマンドだけのpure bashで、sinatraもどきのなにかを作ってみました。名付けて「sh.inatra」。あっ、pure bashといいつつrmは使っちゃいました。 いちおうGitHubに置いておきます。あくまで見た目だけのジョークソフトなので、真面目なサーバーで使わないようにお願いします。 emasaka's sh.inatra at master - GitHub コードのサンプル サンプルはこんな感じ。 #!/bin/bash . /opt/sh.inatra/sh.inatra.sh get '/hello' && { echo 'Hello, World' } get '/say/*/to/*' && { echo Say ${params_splat[0]} to ${
Rubygihyoのチュートリアルがあったものの、ソースコードの中身にあまり触れていないようなので独自解釈を入れつつ学んでいこうかと。当然初学者の解釈なので間違っている部分もあります。指摘していただけると助かります。 イメージ ファイル構成 start.rb model/comment.rb views/index.haml views/layout.haml views/style.sass start.rb多分これがCGIの根幹となる部分。アクセスされたURLによってどう振る舞うかを定義している。 ### ロード部分 # sinatraGem以外にmodelとなるcomment.rbを読込んでいる require "rubygems" require "sinatra" require "model/comment.rb" ### ヘルパー # 前回と同じなので割愛 helpers d
This page is also available in English. 始めよう SinatraはRubyで下記のような最小労力で手早くウェブアプリケーションを作成するためのDSLです。 # myapp.rb require 'rubygems' require 'sinatra' get '/' do 'Hello world!' end gemをインストールして動かしてみる。 sudo gem install sinatra ruby myapp.rb localhost:4567 を見る。 ルート Sinatraでは、ルートはHTTPメソッドとURLマッチングパターンがペアになっています。 ルートはブロックに結び付けられています。 get '/' do .. 何か見せる .. end post '/' do .. 何か生成する .. end put '/' do .. 何か更
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く