(define -ayalog '())

括弧に魅せられて道を外した名前のないプログラマ

Rails

ゆるふわ Rails の会という勉強会にいって、コワーキングスペース HaLake で遊んできた

ゆるふわRailsの会 #0 レイクタウンでRailsやろうよ - ゆるふわRailsの会 | Doorkeeperというわけで遠路はるばる埼玉まで行ってきました。 HaLake はニャンパス株式会社の運営しているコワーキングスペースです。ニャンパスと言えばのんのんびより、もとい C…

Rails の I18n で HTML を安全に突っ込む方法。

Rails Internationalization (I18n) API — Ruby on Rails Guides"4.5 Using Safe HTML Translations" ってわざわざ枠取って書いてあるのに、今まで Rails ガイドとか読んでなかったので知らなかった。もしかしたらパーフェクト Rails とかに書いてあるのかも…

らき☆すた in Rails プロジェクト

Rails プロジェクトの中にらき☆すたのキャラクタ名を見つけてひとりで笑ったりしたなど。 # characters = ["Konata", "Kagami", "Tsukasa"] # "Konata".in?(characters) # => truerails/inclusion.rb at master · rails/rails · GitHub結構、そういうのある…

Active Admin を管理用アプリケーションを作る以外の用途で使う場合に気を使うこと

Active Admin 久しぶりに触ったけど、あれ普通のアプリケーションを作って、それに対して管理画面も当てたいっていうときは assets にデフォルトで Active Admin の JS と CSS を突っ込んでくるから気を付けないといけなかったなーと。Excluding active_admi…

Rails で Helper Method を Controller で使いたい

って思ったんだけど、これが少し事情が複雑で単純に Helper を Controller に include するのはあまりよろしくないらしく出来れば AbstractController で定義されている helper を使う方が良いらしい。helper (AbstractController::Helpers::ClassMethods) -…

腐ってやがる…

はい、半年前に書いたコードをちょいちょい弄ってるんですが、テストコードが腐ってました。いやー、当時 FactoryGirl を触ろうとしていて使い方分からないし、色々分からないし諦めてたんですが、改めて fixture 使ってるコード読むとなんか辛い。あと、直…

pismo という gem を使って Web Page から meta 情報を取得する

リンクを入力したら、タイトルを取得するって「はてなブログ」とかでよくある感じですが、それがまんま欲しかったので調べたら、まぁ gem あるよねってことで。 pismo っていうんですがかなりさくっと使えたので好感触でした*1。 peterc/pismo · GitHub usag…

Rails で js.erb とかを返却する場合の nginx の設定。

この前、 respond_with(or respond_to) を使えば、 view/some_dir/update.js.erb とか作って直接非同期処理とかで返却出来るよって教えてもらった。要するに画面遷移を起こしたくない場合に結構使えるらしい。レシピ本にも乗ってるんだけど、見逃していた。(…

Zohoを使う場合のActionMailer設定

ぐぐったら載ってたのでメモ。 Rails ActionMailer configuration for Zoho - Stack Overflow ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { :address => "smtp.zoho.com", :port => 465, :user_name => 'someone@somew…

Rails4でレスポンシブWebデザインを意識して書いてみた

最近、自分でプロダクト作るときは基本的にレスポンシブWebデザインを意識することが多い。 多いというか、頼まれたりしたものを作るときに要件の中にどうしても「スマホで綺麗に見れて使いやすいこと」というのが入りやすいのだ。あとはどう考えてもユーザ…

RSpecでパラメタライズドテストを書く

書く必要あんのかって感じもありつつ、なんとなくこう書きたいから書いた!っていう感じ。例えばこんな感じ。 subject { FactoryGirl.build(:people, params) } 0.step(100, 10) do |n| context "#{n}の場合" do let(:params) { {age: n} } it '正常に更新出…

既に認証機能が作られているアプリで後からActiveAdminを入れるときにやったこと

gregbell/active_admin · GitHub なんとなーく、 ActiveAdmin あたりが賑やかでいいなぁと思ったので入れたかったんだけど、現在開発中のアプリでは既に認証の機能を実装してあるから*1、そのまま入れちゃうと Devise あたりと競合してしまってしんどいので…

テストの書き方とアプリとしてどうあるべきか

require 'spec_helper' describe Group do describe '#add_member' do subject { group.add_member member } context 'ユーザーを追加した場合' do let(:group) { FactoryGirl.build(:group) } let(:member) { FactoryGirl.build(:member) } it 'グループの…

OmniAuthをテストで使う

Integration Testing · intridea/omniauth Wiki · GitHubまぁ読んだら分かるけど、spec_helper.rbに次の一行を足す。 OmniAuth.config.test_mode = true で実際にテストで使うときはこんなん。 let(:auth){ OmniAuth.config.add_mock(:twitter, {uid: '12345…

rbenvでRuby環境下に置かれたgemを全削除する

そんな夢のようなスクリプトを書いてくれている人がいた。最高。 Uninstall all rbenv gems #!/usr/bin/env bash uninstall() { list=`gem list --no-versions` for gem in $list; do gem uninstall $gem -aIx done gem list gem install bundler } #rbenv v…

テスト書き始めました。

ひとりでRailsアプリを2週間くらい書いてたんだけど、最初はそんなに複雑にならないだろうからテストなくてもいいかって思ってた。だけど、今週に入ってからなんとなく背中に霊的な何かがついているような感覚が出てきた。それは徐々に不快感となり、昨日く…

テストを書かなくちゃ

最近ずっと書いてたアプリ、いい加減テスト書かないとしんどくなってきたので頑張る。

FactoryGirlって便利ですね

って今日思ったよ。 頑張ってテスト書いてるよ!

rspecのlet

let(:user) { FactoryGirl.create(:user) } って書いてたら全然テスト通ってくれなくて、カナシミだったんだけど下のように感嘆符を付けるだけでテストが通るようになった。 let!(:user) { FactoryGirl.create(:user) } letは必要なときにしか評価されないか…

キャッシュでハマッた

Unexpected token ILLEGALって言われて何かと思えばブラウザがダウンロードしたjsが壊れててキャッシュファイル飛ばせばいけたとか。もう。2014-03-12 17:25:13 via webハマッタ。まんまと。つぶやいている通りだけど、Railsでの開発でtwitter-bootstrap使っ…

テストがある日突然コケた

割とよくあr…ってたまるかぁぁぁぁぁぁ><今朝の話。昨日まで通っていたテストが今日突然コケた。 最初は意味が分からなかった。 分からなかったんだけど、調べたらどうもmodelのバリデーションでコケていることが判明した。理由:日付の大小とかでバリデー…

テスト(production)環境でのバグ追跡

昨日1日ドハマりして大変だったので、一応書き残しておく。前提条件としては以下の通り テスト期間中で開発チームだけでなくテストチームも触っているサーバー 簡単にサーバーの再起動はできない 当然だけどデプロイも勝手にできない ログレベルはinfo テス…

Everyday Rails - RSpecによるRailsテスト入門

という本があるらしい。 Everyday Rails… Aaron Sumnerによる et al. [Leanpub PDF/iPad/Kindle]この前のRailsエンジニアになったていう話の時にTwitterでソニックガーデンの人が反応していて、この本を読め的なことを書いていたので思わず買った(マテいや、ほ…

Railsで開発していて困ること

Searchableっていう名前のmoduleが定義されていて、まさか自作のmoduleだなんて思わなくてすっげー紛らわしかった。なんかいかにもそんなクラス名のクラスがRailsならありそうだなーって思うじゃん><2014-02-25 18:25:34 via webなんというか、Javaのimpor…

scopeはlambdaで書いて

軽くハマッたので。 class User < ActiveRecord::Base scope registered:, where(registered: true) end って書いてしまうと User.registered.where('age < 20') こう書いたときと User.where('age < 20').registered こう書いたときの結果が変わってしまう…

grep便利

今更です。というか、パイプで標準出力を受け取ってそれに対してgrepするとかが超便利過ぎて便利。 rake routes | grep 'hoge'みたいなことを最近良くやっている。とても楽しいです!! rake routesがパッと見で全部見れるときはまぁまだいいんだけど、大規模…

Railsでフォームを非同期で送信して更新処理を行う

タイトルママです。 Railsアプリを書いていて、画面遷移を起こさずに更新処理を行って画面にも反映させたかったのでざっくりやってみた。*1例として適当に簡単なアプリケーションを作りたいと思います。 rails new test-app rails g model user name:string …

静的ページをroot_pathにしたい

わっからーん\(^o^)/Railsでルートが静的ページでいいときってあると思うんです。というか、別に静的ページでいいと思うんです。index.htmlを表示させたいのになー。 追記 できた。諦めて静的ページ*1を表示する感じのコントローラ*2を作って適当なアクシ…

RailsでSystemStackError: stack level too deepに遭遇した…

朝から電車プログラミングしていて華麗にハマった。原因は予約語をメソッド名に使ってしまったから。 Railsの予約語 | pandeiro373's logs rails g mailer Notifier requestとかやっちゃうとダメぽい。気付いたのはRSpecのテストがコケたから。コミットする…

Rails の redirect_to でハマった

ハマったのはこんなコードを書いていたから. def authorize user = User.find_by_id(login_user_id) unless user redirect_to root_path end if not user.registered redirect_to register_users_path end end よくあるユーザー認証メソッドだと思う. 期待し…