Ruby
という思いがずっと前からあって下記エントリーのような対応をしていました。 テストが通るたびにレッドライト!グリーンライト!ってさけんでるんだけど RSpec でわからないことがある。 - うさぎ飢餓 Rails 触りはじめのエントリーでとても懐かしい。 それ…
エラーは各フォームの近くに表示したいけど form_for の中身の記述を増やしたくはないのでカスタムフォームビルダーを作成する。 Rails Guide でやり方読む フォームヘルパー — Rails ガイド Ruby on Rails ガイド どうやってカスタムフォームビルダーをつく…
rails plugin new --mountable からつくる Rails プラグイン作成を試しています。 自動テストにはいつも RSpec を使っているので使えるように調整して model spec は問題なく終了したのですが、controller spec でひっかかりました。 generate にまかせた sp…
取得できる HTML は <html><head></head><body></body></html> こんなんだし、status_code は nil だしで完全に困っていたが debug: true オプションをつけると題名のようなエラーが出ていたのでグーグル先生に聞くとこれ。 Ruby: Phantom.js blocked on specific site? SSL のハンドシェイクでしく…
ネット先生いわくこのようにエラーメッセージを追加しなさいとのことだったが、直接 errors に << すると ActiveModel::Errors#normalize_message を通らないのでメッセージが未消化のまま出てくる事態となる。 class StrNumValidator < ActiveModel::EachVa…
ログイン時、非ログイン時の振り分けなんかは全自動総当たりテストしたいので。 routes = Rails.application.routes.routes.map do |route| path = route.path.spec.to_s.gsub(/\(\.:format\)/, "") params = path.scan(/:([a-zA-Z_]+)/).flatten.collect(&:…
用もないのに Poltergeist などで全ページスクリーンショット撮るのが半ば趣味です。 さて今日も今日とて楽しくフィーチャスペックを書いておりましたところ死にました。 Failure/Error: auth_manager(page, kill: true) Capybara::Poltergeist::DeadClient:…
作業をすすめていると突然テストが通らなくなって、valid? が false 返すのはいいけど errors みてもなにも message ないし本当にどうしようかと思いました。save(validate: false) でその場をしのいて、結局あとで一つずつコメントアウトしたりして、これ。…
テスト一枚も書かない文化の弊社でそれやると、サイクル毎に臨死体験が楽しめると思う。 おれも頭数で聴衆として参加した Ruby ビジネスフォーラムで、講師 matz さんがアジャイル推ししていたのをきいて思いついてしまったのだろうか。同時に、テストあって…
http://m2r2.ore-omae.com/ ツイートの単語を入れかえて文意が変わる感じのやつです。 Twitter の連係保持とかアカウント確認テストの試しように作りました。 ツイートの単語を入れかえて文意が変わる感じのやつです。 が 単語のやつを入れかえてツイートが…
Stylus は簡潔な記法で CSS をナニできるアレです。HTML コーディングが主だった前職でもウィンド~ズ + Sublime Text で使ってました。いまも使ってますが。 http://learnboost.github.io/stylus/ 最近の Rails では stylus_rails じゃなくて stylus を使い…
任意の view を描画してアクションを中断するには render :hoge and return などとするわけですが、これは render がtrueを返すことを期待したandの使用法です。今回は new -> create の流れのなかでエラーを出すために使っていたのですが、エラー表示や hid…
読むと RSpec 2.99 beta2 を導入すると RSpec 3 でなくなったりする API を使ってたりすると警告を出してくれるらしいので早速ためしました。 うまれてはじめてテスト書き出いてから 1 週間とか 2 週間なので、変更するポイントはほとんどなくて、指示に従っ…
http://13.ore-omae.com こんな感じの精度が悪いアレです。 形態素解析(なんて言葉も把握してなかったときですけど)を試みようとして、これあきらかに個人では無理やんとあきらめていたところ MeCab というオープンソース形態素解析エンジンを発見したので…
コントローラーのテストの章が終わったのでフィーチャテストに進んだのですが、しょっぱなから Capybara 内でおこなった Model#create が visit 先のビューに反映されない事例に遭遇して死にそうになった。 Capybara でもコントローラーもビューも全部 Rails…
Ruby を全面に押し出してる会社に転職してはや半年ほど、Ruby というか Rails 力が足りないので他の職務をこなしておりますが、そればっかりやってもいられないということで最近は空き時間をみて Rails をさわっています。 いちおう慣れてきた感じはするので…
http://13.ore-omae.com の追加内容を http://twitter.com/mmmpa にツイートします。 必要な gem は twitter だけなので Gemfile に書いて gem 'twitter' あとは twitter.rake かなにかを用意して引数でツイ~トできるようにする。 namespace :twitter do ta…
http://13.ore-omae.com twitter でロムしてる優れ技術者のなかには定期的に動く何かを飼っている人がおり、ワナビーとしてはやはり形から真似しなければなるまいと、とりあえずスクレイパーのたぐいをつくることにしました。 定期実行には Whenever Rails …
先日 Rails で作成したブログにファイルアップロード機能をつけた。 おもに画像をアップロードして記事内に貼りつけることを目的としているので、画像の情報を取得する必要があった。 https://github.com/sdsykes/fastimage が使えるっぽいので使った。 Fast…
http://ore-omae.com/ 転職先ではいまのところ Actionscript と Javascript を書く生活ですが、他のチームでは Rails が猛威をふるっており Javascript との連携でもこの先使えるし使えるようにならないとねってことで自習をすすめています。 ということで以…
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-b…
Safari 系だと 1 value につき 524288 文字っぽい。DOM で編集した長いテキストを HTML のまま保存しようとしたらひっかかった。value をいくつか用意したら問題なく送信できましたけど、可変長なデータを扱うしなんだかなー。コマッタナー。追記 : hidden …
勉強のために Ruby でブログでもつくってみるやんけ、とまず Gserver で簡易サーバーをたてて POST を取得しようとしたらいきなりつまずいた。 require 'gserver' class HttpServer < GServer def initialize(port=8080, host="127.0.0.1", *args) super(por…