blog/content/post/2013/11/10/2013-11-10-first_impression...

7.1 KiB
Raw Blame History

title author date geo_latitude geo_longitude geo_public wordtwit_posted_tweets wordtwit_post_info categories
Sinatraを初めて使ってみた kazu634 2013-11-10
38.306436
141.023255
1
a:1:{i:0;i:1856;}
O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";s:1:"1";s:5:"delay";s:1:"0";s:7:"enabled";s:1:"1";s:10:"separation";i:60;s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:1856;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}
ruby

Sinatra

個人的なプロジェクトで使うために、 Ruby 製の Web アプリケーションフレームワーク Sinatra を初めて使ってみました。これ、簡単に使えてすごいですね。

Gemfile

Gemfileには次のように書きます:

source 'https://rubygems.org'

gem "sinatra" gem "thin"

  • sinatra: Sinatra 本体です
  • thin: Ruby 用のWebサーバです
  • shotgun: Sinatra のファイルを更新すると、自動的にWebサーバをリロードしてくれるライブラリ

保存したら、bundle installします。私はbundle install --path vendor/bundleとしています。

server.rb

名前は任意なのですが、今回はserver.rbとしました。とりあえずこんな感じで書いてみました:

#!/usr/bin/env ruby

require "rubygems"
require "bundler/setup"

require "sinatra"

get '/' do
  "Hello, Game."
end

実行してみる

それでは実行してみます。実行するにはruby server.rbをします。こんな感じです:

% ruby server.rb
== Sinatra/1.4.4 has taken the stage on 4567 for development with backup from Thin
Thin web server (v1.6.1 codename Death Proof)
Maximum connections set to 1024
Listening on localhost:4567, CTRL+C to stop

ブラウザでアクセスしてみます:

localhost:4567

最後に

get だけでなく、post などにも簡単に対応できるので、すごい簡単に使えて驚きました。個人的なプロジェクトで活用してみようと思います。参考にした/これから参考にするサイトはここらへんです:


Sinatra: Up and Running

Sinatra: Up and Running

posted with amazlet at 13.11.10
OReilly Media (2011-11-21)