1
2
3
4
5
6
7
8
9
10
11
12
13
|
class Hoge
def call_with_args(message)
p messge
end
def call_without_args
p "引数なしのメソッド"
end
end
hoge = Hoge.new
method = bol ? [:call_with_args, "引数あり" ] : [:call_without_args]
hoge.send(*method)
|
とりあえずエラー起こっても、なんとなくぼんやりとどうにかして欲しい時がある。
たとえばAPIでなんらかのエラーがあったらとりあえずステータスコードに500を返すようにしたりとか。
1
2
3
4
5
6
7
8
9
|
class ApiController < ActionController::Base
rescue_from Exception, with: :system_error
def system_error(ex)
logger.error(ex.message)
logger.error(ex.backtrace)
render json: @data , :status => 500
end
end
|
Exceptionを指定して、なんでもかんでもエラーが起きたらsystem _errorに投げちゃう。みたいな

このコード動かないよ?

tmux-powerlineも入れました。

左側には
IPとか色々でてます。
右側には
地震速報
Gmailの受信件数
現在流れているItuneの曲名。
PC起動してからの経過時間。
メモリ使用率
東京の天気
日時
が表示されてます。
あらやだ、かっこいい。
でもなんか表示変。
あとgitのブランチがうまく表示されない
軽くデバッグしたら、パスの取得に失敗してるっぽい。
1
|
PROMPT="$PROMPT"'$([ -n "$TMUX" ] && tmux setenv TMUXPWD_$(tmux display -p "#D" | tr -d %) "$PWD")'
|
って.zshrcに書いてもダメ。
うーむ。
そして今日はvim-powerline入れてみました。

うん。かっこいい。
ターミナル越しにうっすら透けている、うちの愛犬小梅さんにも使ってもらいました。

・・・・・・。
満足そうです( ̄∇ ̄)
{RAILS _ROOT}/config/initializers/simple _form.rbの
1
|
# config.label_text = lambda { |label, required| "#{required} #{label}" }
|
のコメントアウトを外して、左右を入れ替える。
1
|
config.label_text = lambda { |label, required| "#{label} #{required}" }
|
文言はlocaleで設定する。
1
2
3
4
5
6
|
ja:
simple_form:
"yes": 'Yes'
"no": 'No'
required:
html: '<abbr title="required">[必須]</abbr>'
|
タイトルに意味はないです。
今日はerbをhamlに一気に変換したいと思います。
1
2
|
#Gemfile
gem "erb2haml", :group => :development
|
1
2
3
4
|
bundle install
rake haml:convert_erbs
ERROR: Could not find html2haml in your PATH. Aborting.
|
あれ?
追記
1
2
3
4
5
|
#Gemfile
group :development do
gem 'html2haml'
gem 'erb2haml'
end
|
1
2
3
4
5
6
7
8
9
10
11
|
rake haml:convert_erbs
Looking for ERB files to convert to Haml...
Converting: app/views/devise/confirmations/new.html.erb... Done!
Converting: app/views/devise/mailer/confirmation_instructions.html.erb... Done!
Converting: app/views/devise/mailer/reset_password_instructions.html.erb... Done!
Converting: app/views/devise/mailer/unlock_instructions.html.erb... Done!
Converting: app/views/devise/passwords/edit.html.erb... Done!
Converting: app/views/devise/passwords/new.html.erb... Done!
Converting: app/views/devise/registrations/edit.html.erb... Done!
Converting: app/views/devise/registrations/new.html.erb... Done!
Converting: app/views/devise/sessions/new.html.erb... Done!
|
うんうん。
追記
遅れましたが、Ruby2.0おめでとうございます。
とりあえずMacに入れてみました。それだけです。
という現象
powのログを見てみる。
場所は $HOME/Library/Logs/Pow/apps/your _appname.log
1
2
3
4
|
[Wed Feb 20 2013 17:35:57 GMT+0900 (JST)] DEBUG nack worker 2833 spawned
[Wed Feb 20 2013 17:35:57 GMT+0900 (JST)] WARNING Could not find i18n-0.6.1 in any of the sources
[Wed Feb 20 2013 17:35:57 GMT+0900 (JST)] WARNING Try running `bundle install`.
[Wed Feb 20 2013 17:35:57 GMT+0900 (JST)] DEBUG nack worker exited
|
むむ?ないって言われてる。と思ってアプリのルートみたら、.rvmrcおいてなかった。
置いてみたら直りましたというひどいミス・・・
ruby-1.9.3-p385入れた。
なんかしたら以下のwarningが出た。
1
2
3
|
/Users/user_name/.rvm/rubies/ruby-1.9.3-p385/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.
|
むむむ。
素直に入れる
1
2
3
4
5
6
7
8
9
10
|
rvm pkg install libyaml
Fetching yaml-0.1.4.tar.gz to /Users/user_name/.rvm/archives
Extracting yaml to /Users/user_name/.rvm/src/yaml-0.1.4
Configuring yaml in /Users/user_name/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/user_name/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/user_name/.rvm/usr
Please note that it's required to reinstall all rubies:
rvm reinstall all --force
|
む?
個別指定できそうだけど、時間あったので言われた通りにやる
1
|
rvm reinstall all --force
|
結構な時間がかかる。
個別にやった方が良さそう。
ちなみに調べたらこれで行ける。
色々な言語やフレームワークのgitignoreのテンプレート
とりあえず新規でプロジェクト作ったなら、適用してみると少しだけハッピーになれる気がしますね。
https://github.com/github/gitignore
色々あるもんです。
Rubyでサブコマンド付きのコマンドを簡単に書けるThorを見て勉強がてらに作ってみました。
コマンドラインから指定したURLやPORTに任意のデータをつけてGET POST PUT
DELETEを指定回数分投げることができるGemを作りました。
負荷をかけたい時とか、APIで同一のコンテンツを複数作成する時とかというニッチなユースケースに使うといいんではないでしょうか。
rubyはthreadプログラムを書いても、ネイティブスレッドの実行は一つという状態になってしまうようなので。
いい感じに並列処理を実行してくれるparallelというGemを使っています。
Rubyで並列実行処理を簡単に書く
使い方です。
インストール
1
|
gem install http_machinegun
|
使ってみる
1
2
3
4
5
|
# 一回だけgetリクエスト発行
http_machinegun fire -u http://localhost
# 80番ポートにabcdeという文字列のpostリクエストを10回とばす
http_machinegun fire -u http://localhost -p 80 -t 10 -d abcde
|
特に実際に使う場面があって作ったわけではないので、抜けとか多いかもしれません。
改善ポイントとか教えてもらえると嬉しいです。
あと出力される内容に微妙に変な改行が入ってしまうのは何故だろうorz
ソースはこちら
YoshitsuguFujii/http _machinegun ?
GitHub