2013/08/31に行われた関西ruby会議05での私の発表です。 スライドだけでは良く分からないので、しゃべった(と思っている事)を記載しておきました。Read less
2013/08/31に行われた関西ruby会議05での私の発表です。 スライドだけでは良く分からないので、しゃべった(と思っている事)を記載しておきました。Read less
2013年08月05日14:53 Ruby JavaScript Rails4 + Capybara + PhantomJS (poltergeist) なテスト環境 Rails4 でのエンドツーエンドなテスト環境を作ってみたのでメモです。 統合テストといえば Capybara さんなわけですが、デフォルトだと JavaScript を実行する際にドライバとして Selenium が使われてしまいます。 Selenium さん良い人なんですが、、、ブラウザが起動するので重いし、そもそも毎回ブラウザが起動する必要は無いのでヘッドレス(ブラウザの起動無しに JavaScript が実行できる)ドライバにしちゃいましょう。サヨナラ。 ヘッドレスドライバはいろいろあるんですが、最近は PhantomJS というライブラリが良いみたいなのでこれを使ってみます。Capybara から PhantomJ
昨日、Ruby on Railsの重要なセキュリティアップデートである、Rails 4.0.2と3.2.16がリリースされました。 このリリースには、5件(3.2.16には4件)のセキュリティFIXが含まれています。 重要度の高いものがあるため、早急なアップデートをしましょう。 CVE-2013-6416 simple_formatヘルパーのXSS脆弱性に関する修正です。 ※4.0.2のみ。3.2系では元から発生しないため、3.2.16には含まれません。 simple_formatはhtml_optionsとしてHashを渡せますが、デフォルトで、このclass指定がHTMLエスケープされていませんでした。 class指定をユーザ入力による場合、容易にXSSが成立してしまいます。 simple_format "hello\nworld", class: '"><script>alert(1
今までafter_filterをまともに使っていなかったけれど、そもそもどういう状況で使うのかいまいちわかってなかった。 after_filter for replacing text | Railsvibesを読むと、renderした後のresponse.bodyを書き換えてクライアントに送る用途でafter_filterを使っている。 after_filterはrenderより後でクライアントにデータを送信する前の段階で実行されるのね。そういやレスポンスの圧縮とかがafter_filterのサンプルで使われていたような気がする。 結論 after_filterはrenderの結果をクライアントに送信する前にほげほげする用途で使う
テスト書きすぎ問題 - hitode909の日記 階層が増えるとテストが増える - はこべブログ ♨ テストと対応関係 - $shibayu36->blog; 最近書いているWebアプリは、HTTPリクエストを送ってレスポンスと状態をテストする、というテストだけ書くようにしてる。リクエストするとブログエントリを返す、というサービスだとこういう風なテストを書いてる。(HTMLを返すようにすると話が広がって説明が面倒なのでJSONを返すAPIで説明する) describe "Entry resource" do let(:params) do {} end let(:env) do { "HTTP_AUTHORIZATION" => "Bearer: #{access_token.token}" } end let(:access_token) do AccessToken.make(user
RailsでFat ControllerになったらForm Classを作れ,という記事はあちこちで見るのですが,今一つ参考になるような実装があまり見つからなかったので記事にしてみました. Rails 3.2.13,Ruby 2.0.0系で動作確認済みです. Fat Controller問題 Railsで特に何も考えずに検索機能を作っていると,検索ロジックでcontrollerが膨らんできてしまうと思います(Fat Controller問題). 例えば,検索フォームの内容として最初は名前だけで検索するとのことで, HogeController < ApplicationController def index @hoges = Hoge.where("name LIKE ?", "%#{params[:name]}%") end end と書いていたのが,そのうちメールアドレスや住所でも絞
I have an Image, which contains carrierwave uploads: Image.find(:first).image.url #=> "/uploads/image/4d90/display_foo.jpg" In my view, I want to find the absolute url for this. Appending the root_url results in a double /. root_url + image.url #=> http://localhost:3000//uploads/image/4d90/display_foo.jpg I cannot use url_for (that I know of), because that either allows passing a path, or a list o
この記事は英語版のブログで2013年1月22日に公開された記事の翻訳版です。記事中ではEngine Yard CloudはRails4をサポートしていないとありますが、現在はRails4をご利用頂けます。 注:これはRails 4の変更点と新しい特徴機能をお伝えする2部構成の投稿のパート1です。パート2は来週掲載されますので、そちらも併せてご覧ください。 Ruby on Railsフレームワークの4つ目のメジャーバージョンの公開がいよいよ近づいてきました。公式なリリース日はまだ発表されていませんが、候補版は今年初めに公開される見通しです。今回のバージョンは、作成に1年以上を費し、内部の設計方法に大きく手を入れています。モジュラー化がさらに進み、主なコードベースの無駄をなくすために特徴機能の多くを別々のジェムに組み込んでおり、また、廃止予定の機能は公式にサポートされなくなっていますが、本当に
I have been trying to figure out the right way to log a stack trace. I came across this link which states that logger.error $!, $!.backtrace is the way to go but that does not work for me log_error does. As per documentation I do not see how passing a second argument to the error method would work anyway because the ruby logger that rails uses only accepts a single argument. Strangely (or maybe no
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く