u16suzuの blog

u16suzu のブログです。

Ruby

gem shenzhenで ターミナルからアプリをビルドしtestflightを投げる

iphone アプリのビルドとテストフライトの配布をコマンドラインで行なってくれる shenzhen という gemがあります。 日本語情報が見当たらなかったので、記事にしてみました。ちょっとしたハマりポイントがいくつかありました。 ちなみに shenzhen という名称…

後ろから4つとって、作成日を今日から1日ずつずらす。

後ろから4つとって、作成日を今日から1日ずつずらす。 >> Post.last(4).each_with_index{|p, index| p.created_at = index.days.ago; p.save }

like search

1.9.1 :052 > Post.where('name like "%hoge%"') こっちでもよい 1.9.1 :008 > User.where('user_name like ?', "%hoge%" )

rails runner で条件分岐

rails runner (one liner) で無理やり条件分岐 spring rails runner "if true; p 'true'; else; p 'false' end;" セミコロンをつけていくだけだが、なかなか苦しい。(汗 ruby script の場合は -e が必要 ruby -e " if true; p 4; else; p 3 end;"

read_attribute and write_attribute can use both symbol and string as arguments.

In ruby on rails read_attribute and write_attribute can use both symbol and string as arguments.If you use attributes method you can use only string as argument.via: http://blog.eiel.info/blog/2012/12/17/read-attribute-activerecord/

Ruby のArrayの要素を入れたり取り出したりするメソッドについて

This is memorandum about Ruby's Array class' instance methods. Take some notes for my understand. I still haven' store them.Manipulate to tail push: add to tail pop: remove from tail Manipulate to head unshift: add to head shift: remove fr…

therubyracerとexecjsをインストールしたのに execjsがないというエラーが出る場合の解決方法

こんなエラー Could not find a JavaScript runtime . See https://github.com/sstephenson/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable)node.js入れて, therubyracerと execjsをGemfileから消して bundle updateしたら治りまし…

layoutの中で複数の yield を使う

viewでcontent_forメソッドを使用すればよい。multi_layout.html.erb (layout) <%= yield :extend_menu %> <%= yield %> <%= yield 'extend_menu' %>multi.html.erb (view) 文字列とシンボルは区別される。 <% content_for :extend_menu do %> header <% end…

Method#source_locationで メソッドの定義場所を探す

Method#source_location が便利だと @ikm さんに教わったので使ってみた。method(:method_name).source_location とすると, メソッドを定義しているファイル名と行数を返してくれる。 #hoge.rb require './fuga' def mel; end p method(:mel).source_locatio…

ブロック引数を使う場合の haml のシンタックスエラー

ブロック引数 なのに、インデントができていないこと が原因 以下の例で発生する。 = form_for @book do |f| # ブロック引数 -# この行でインデントなし以下のエラーが全て発生する。 syntax error, unexpected ')' unterminated string meets end of filesy…

Ruby on Rails Naming Conventions (Rails の命名規則というか命名規約というか)

いわゆる Railsの基本理念の1つ CoC (Convention over Configuration, 設定より規約) の規約部分です。Railsではファイル名、クラス名などを規約通りに書かないと動きません。(そして rails vim でも Rcontroller book とかやって怒られる。ただしくは Rcont…

AbstractController::DoubleRenderError

Rails で AbstractController::DoubleRenderError が出た時の対処法。 2回render しちゃってるので、 and return をつけて、終了させる。 redirect_to(...) and returnエラーメッセージに書いてあります。親切。

rails のカラムの型一覧

string 文字列型。 text テキスト(不定長文字列)型。 integer 整数型。 float 浮動小数点数型。 decimal 固定長整数型。 datetime 日時型。 timestamp タイムスタンプ型。 time 時刻型。 date 日付型。 binary バイナリ文字列型。 boolean 真偽値型。 refe…

Procオブジェクト生成方法の3種盛り合わせ

メタプロより。 inc = Proc.new { |x| x+1} p inc.class p inc.call(33) dec = lambda { |x| x-1} p dec.class p dec.call(33) def fuga(&the_proc) the_proc end mul = fuga{|x, y| x*y} p mul.class p mul.call(4,5) 結果 Proc 34 Proc 32 Proc 203番目の…

ゆるふわなRuby の正規表現まとめ

Ruby の正規表現のゆるふわなまとめです。 ^ 行頭 $ 行末 \d 数字 \w 数字と英数字とアンダーバー \s 空白文字 \A 文字列の先頭にマッチ \z 文字列の末尾にマッチ \Z 文字列の末尾にマッチ. ただし末尾が改行ならばその前の文字にマッチ ### 後方参照 $1, $2…

Ruby map メソッドの便利な使い方

Ruby でコードを書くときに、ハッシュの値を取り出して配列に入れたい時が多々あります。 例えば、こんなふうに。 h = {:key1 => "dog", :key2 => "cat", :key3 => "rat"} a = [] h.each { |key, val| a << val } p a # => ["dog", "cat", "rat"]自前で配列…

Memo: About git merge and git show command

git merge: 指定したブランチの変更点を現在のブランチにマージする。 例. ブランチ hoge の変更点を適用 # git merge hoge (git)-[master] Updating b158f90..6a3d8c4 Fast-forward README | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) create…

Rails.vim の使い方メモ

:R controller と view の入れ替え gf カーソル位置のモデルに飛ぶ :bn 前のバッファに戻る。gfで飛んでから戻るとき使う。 以下の機能は、Rmodel で補完ができます。 model名などは単数形、複数形は区別されます。 Rmodel model名 modelに飛ぶ Rcontroller …

Yokohama.rb #14 に行って来ました

今日、Yokohama.rb 第14回に行って来ました。 この会に参加するのは今回で、5回目になります。 今回、私は、主に もくもくルームで、Rails のチュートリアルをやっていました。 デフォルトの英語から、ja.yml を書いて、日本語化とかですね。 途中、@sakairy…

TDDBC Yokohamaに行って来ました

TDDBC Yokohama に行って来ました。 といいつつも、TDDペアプロを体験する前に、寝不足による体調不良でまさかの途中退室でした。(泣 残念すぎる。せっかくの参加枠を無駄にしてしまって申し訳ないです。。 前回のtokyu.rb kaigi といい、最近、勉強会楽しめ…

rails3 の rake コマンドまとめ

情報表示 rake -T rake タスク一覧を表示 rake db:version 現在のDBバージョンを表示 (例. Current version: 20120611044441) rake db:charset DBの文字コード表示 rake db:collation DBの照合順序を表示 migration1 rake db:create database.yml の内容でデ…

jsonからhashに変換する

require 'active_support'hash = ActiveSupport::JSON.decode(json)Rails3レシピブック 190の技作者: 高橋征義,松田明,諸橋恭介出版社/メーカー: ソフトバンククリエイティブ発売日: 2011/07/25メディア: 単行本購入: 34人 クリック: 966回この商品を含むブ…

ruby memo File::expand_path

# /Users/u16suzu/hoge.rb # "hoge.rb" p __FILE__ # "/Users/u16suzu/hoge.rb" p File::expand_path(__FILE__) # "/Users/u16suzu/" p File::expand_path('..', __FILE__)

最後のrubykaigi

昨日、kaigieffectでruby勉強会を開催しました。自分のような素人が勉強会なんて主催して大丈夫なのかという不安に襲われつつも、rubykaigiの熱気に押され、ノリと勢いで進めた。「80%の人間は準備だけで人生を終える」を自分の中での合言葉にした。終了後…

先週の土曜日(6/4)のYokohama.rb #9 に参加してきました。

先週の土曜日(6/4)のYokohama.rb に参加してきました。今回の参加者は20人で、うち8人が初参加でした。初参加の人がだいぶ多かったみたいです。予定時間の少し前に東神奈川駅に到着し、徒歩で会場の横浜市神奈川地区センターに向かいました。会場に到着し、…

TokyuRuby会議03 に参加してきました。

5月29日(日)にTokyuRuby会議03 に参加してきました。 これはRuby に興味を持つエンジニアが集う Tokyu.rb 主催の LT 大会です。今回は、サントリーさんからザプレミアムモルツ飲み放題の提供を受け、各自が持ち寄った食べ物をつまみながらRubyに関するTLを聴…

Rubyで実装されたエディタRedcarのショートカットキーの設定方法

Rubyで実装されたエディタのRedcarをインストールしてみました。キーバインドの設定は以下の通り。ショートカットコマンドを自動で認識してくれないので、自分でコマンドを打ち込む必要があります。 Help > Keyboard Shortcuts キーバインドの設定ファイルは…

13日の金曜日をリスト表示するコードを書いてGitHubに公開しました。

今日は5月13日金曜日なので、13日の金曜日(Friday the 13th)をリスト表示するコードを書いてGitHubに公開しました。Dateオブジェクトをnewして2000/1/1から一日ずつインクリメントして、13日かつ金曜日かをチェックしています。require 'date'd = Date.new(2…

RubyフレームワークSinatra の作者 Blake Mizerany氏のインタビューを翻訳してみた。

RubyフレームワークのSinatra の作者である Blake Mizerany 氏のインタビュー記事を見つけたので、翻訳してみました。タイトルは "How do I learn and master Sinatra?" 直訳すれば「Sinatra をマスターする勉強方法」です。 今回はRL blog 連載"Sinatraをマ…

インストール中にぐるぐる回る表示

ってunix系でよくありますよね。progress_barというRubyGemになかったので、Rubyでちょっと書いてみました。 a = [ "-", "|", "/", "-", "|", "/" ] 100.times do |i| print "\r" print a[i%a.size] sleep 0.1 end 雑でごめんなさい。明日progress_barを読ん…