おさかな日誌

魚類がプログラミング

Rails3.2 + TwitterBootstrap + Haml で素早いたちあげをする

メモを兼ねて

rails new foo したあとに Gemfile に以下の gems を追加

gem 'haml-rails'
gem 'therubyracer'
gem 'less-rails'
gem 'twitter-bootstrap-rails'

group :development, :test do
  gem 'erb2haml'
  gem 'pry-rails'
end

テンプレート作成

rails g bootstrap:layout application fluid
rails g bootstrap:install
rm app/views/layouts/application.html.erb

これで基本の Rails App が出来たと思います. Enjoy Rails!

Mountain Lion な Mac で mikutter を動かす

追記

Ruby 2.0.0 でも動くようになりました. develop ブランチを使うこと・gtk2 gem の最新版を使うに注意すれば罠にはまることもないと思います.


10.8 な Mac で mikutter 動かす記事が特になかったので書きます. メモ書き程度ですが..

必要なもの

  • パッケージ管理システム(Macports や Homebrew)

あるとよいもの


ぼくは Macpots + rbenv でやったのでその手順を書きますが, だいたい似たようなやりかたでもできるとおもいます.

  1. mikutter をひっぱってきます.

  2. mikutter のディレクトリでは使う Ruby のバージョンを 1.9.3 にします(まだ 2.0.0 では動かないため). rbenv だと rbenv local コマンドでして出来ます.

  3. sudo port install rb-gtk2 で Gtk と Ruby バインディングをいれます.

  4. 依存 Gem をいれます. ぼくの環境では bundle install するとシステムのほうに gem が入るので mikutter のディレクトリと各プラグインのディレクトリで bundle install しました.

  5. 10.8 からは X11.app が入ってないので XQuartz をいれます. ここから Disk Image を落としてインストール&再起動(ログアウト)するだけです. http://xquartz.macosforge.org/landing/

  6. path/to/mikutter $ ruby mikutter.rb でたぶん動くはずだと思います.

例によってこのままでは日本語入力できません. 今は Favstar クローンビューワとして使っているのでそれほどではないですが, やはり悲しいので Cocoa なテキストボックスから投稿できるハックをしたいです.

macports で mongodb

なんだかんだで macports を使っています.

mongo db のインストールですが, 記憶にあるかぎりでは sudo port install mongdb だったと思います.

それより今回書いておきたいのが常に起動しておきたいと思って sudo port load mongdb としたらmacports がよしなにめんどうをみてくれたみたいなのです.きっと sudo unload mongdb でよしなにしてくれるでしょう.

Ruby で天気予報を取得する Gem アップデートしました

tumblr に原文があります。検索順位とかよくわかってないので一応宣伝を込めてこちらでも。 http://taiki45.tumblr.com/post/32671229692/ruby-gem

bot 書いてる時に、「適当な文字列からパースするのつらぽよ」とか思っていたので、きっとみんなそうに違いない、楽したいナリィ〜とか思ってパースする機能つけました。

とりあえず、文字列の先頭に都市名(だと思われるもの)か日時(明日とかあさってとか)がある + "〜の〜の(天気|てんき)" って感じの条件満たすならたぶんパースしてくれるはずです。

というか、前にも後ろにもいろいろくっついてるなら mecab とか形態素解析通す以外に都市名と時間を取り出す方法あるのかな…?

http://taiki45.github.com/weather_jp/

使い方を下に貼っておきますので、よければ使ってみて下さい。

Linux やらで root 権限なしで Ruby を簡単に入れる

root 権限がない環境で Ruby を入れる必要があり調べたのでメモ
rbenv + ruby-build でとっても簡単です。
~/.rbenv に全てが収まるので uninstall も楽ちん…?

# Ruby install 覚え書き

# install rbenv
$ cd
$ git clone git://github.com/sstephenson/rbenv.git .rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(rbenv init -)"' >> ~/.bashrc
$ source ~/.bashrc

# install ruby-build
$ mkdir -p ~/.rbenv/plugins
$ cd ~/.rbenv/plugins
$ git clone git://github.com/sstephenson/ruby-build.git

# install Ruby
# リストを見る
$ rbenv install

# とりあえず 1.9.3 を入れる
$ rbenv install 1.9.3-p194

# 自分が使う Ruby を 1.9.3 に
$ rbenv global 1.9.3-p194

# このままだとコマンド付きの gem を入れた時に
# "rbenv rehash" が必要でアレなので
# rbenv-rehash という gem を入れる
$ gem i rbenv-rehash


# 参考
# https://github.com/sstephenson/rbenv
# https://github.com/sstephenson/ruby-build

Heroku で Rails アプリを動かす時に

以前から Sinatra を使って eroku で Web アプリをホスティングしてもらってたのだけれど、Rails で書くかーっと思って Heroku で Rails アプリを動かした時にはまってしまったので書いておきます。
いろいろな記事を参考にしつつやっていると新旧ごちゃまぜになって私ははまってしまったので、みなさまはそのようなことがないと思いますが一応ご注意下さい。

さて、本題。
概ね Heroku のチュートリアルを参考にすれば良いのだけれど、ローカルでは(開発環境やテスト環境では) SQLite でいいやと思っている方はこのチュートリアルでは満足できません。
そこで、もう一工夫として Gemfile に

group :development, :test do
  gem 'sqlite3'
end
group :production do
  gem 'pg'
end

と添えれば目的達成できますよ、という簡単なアレ。この記事を参考にしました。

ちなみに私がはまったのは、先ほどの記事を参考にして config/application.rb に以下のように付け加え、

# Heroku requires this to be false
config.assets.initialize_on_precompile=false
rake assets:precompile

以上のように実行してしまったからでした… よく読まないで参考にするとダメだという良い教訓になりました。