ruby

phonelibを利用して電話番号を上手に扱う

こんにちは。beaglesoftの真鍋です。 ココ最近はRailsを利用しています。decodeが開催されているのを横目にしながらRailsでアプリケーションを書いているのですが、むかしに比べるとすごく早く機能を実現できるなぁと感じるようになって気に入ってきました。…

deviseでメール認証済みなユーザーを作成する

こんにちは。beaglesoftの真鍋です。 deviseでテストユーザーを作成するときなどユーザーを認証済み状態にして確認メールを送信したくないときが結構あったりします。特に大量のユーザーアカウントを作成してテストをシたい時とかですね。 そんな時にどうす…

CarrierWaveを利用した画像ファイルのアップロード(4)

こんにちは。beaglesoftの真鍋です。 前回まででCarrierWaveを利用したファイルのアップロードが簡単に行えることを確認しました。今回は、アップロード先をAmazonS3に変更して保存できることを確認したいと思います。 前提条件 今回はAmazonS3を利用します…

CarrierWaveを利用した画像ファイルのアップロード(5) ファイルのアップロードができない

こんにちは。beaglesoftの真鍋です。 CarrierWaveを利用してファイルのアップロードを行うで、ファイルのアップロードができないケースがあったのでまとめておきます。 事象について 実際のプロジェクトでCarrierWaveを利用してファイルのアップロードを行お…

CarrierWaveを利用した画像ファイルのアップロード(3)

こんにちは。beaglesoftの真鍋です。 前回はcarrierwaveuploader/carrierwave: Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworksの設定をいろいろと行いました。今回は、日本語ファイルの扱いやファイル容量の制限など…

CarrierWaveを利用した画像ファイルのアップロード(2)

こんにちは。beaglesoftの真鍋です。 前回はcarrierwaveuploader/carrierwave: Classier solution for file uploads for Rails, Sinatra and other Ruby web frameworksを利用してファイルのアップロードが行えることを確認しました。とりあえずファイルのア…

datetimepickerをtbs3に対応する

datetimepickerをtbs3に対応するために以下のgemを利用する。 TrevorS/bootstrap3-datetimepicker-rails · GitHub 利用手順 利用方法は以下の通りとなる。 1.gemをインストールする gemのインストールは以下の通り行う。 [code lang=ruby] gem 'momentjs-rai…

bootstrap3でテーブルに列幅を設定する

bootstrap3 でtdタグに幅を設定する方法は以下の通りとなる。 <tr class="something"> <td class="col-md-2">A</td> <td class="col-md-3">B</td> <td class="col-md-6">C</td> <td class="col-md-1">D</td> </tr> これで設定可能。 css - Bootstrap - how to set up fixed width for ? - Stack Overflow

Wijimoを利用してみる

現在運用しているウェブアプリケーションの入力インターフェースを改善したいと思い、Wijimoを利用してみることにしました。まだ、ほんの少し触っただけなのですが、もう少し評価を進めていきたいと思います。 そもそもなぜWijimo? 私はこれまでは DHTMLX …

rubyXLでシートをコピーしたりシートを削除したりする(訂正)

rubyXLでシートのコピーを行う方法についてまとめましたが、修正前・修正後ともに納得のいくものではありませんでした。どうしてかというと、データと書式のコピーは行われるのですが、セルの幅や高さについてはコピーされないためです。やはりシートのコピ…

Rails Console で必要な参照や設定をあらかじめ行う方法

Rails Console は開発の随所で利用する機会が多いですが、それだけに起動時に読み込むべきライブラリなどを設定しておきたいものです。 たとえば、 Rails.logger の内容を表示してほしい。 RSpecのmockを利用したい。 FactoryGirl::Syntax::Methods をinclud…

rubyXLでシートをコピーしたりシートを削除したりする

RailsでExcelを扱うときには weshatheleopard/rubyXL が一番手軽です。弊社でもExcelを扱う場合にはいつもにお世話になっています。 この rubyXL ですが、シートのコピーや削除の仕方がいまいち理解できず、これまでできないものと勘違いしていました。具体…

capistranoとwheneverではタスク設定を忘れないように!

Railsアプリケーションのデプロイ作業はcapistranoを利用しているケースが多いと思います。とても便利です。また、cronを利用した定期実行タスクは javan/whenever を利用することが多いでしょう。弊社でも両方の仕組みを利用しています。 wheneverを使用し…

RubyにEffectiveシリーズ

Rubyに関連する書籍を探していたところ、Amazonで発見したのがEffectiveRubyでした。あのEffectiveシリーズの書籍ということで早速購入しました。(Kindle版とリアルな書籍の両方) まだ読み始めたばかりなのですが、普通のEffectiveシリーズと同様に手堅い…

Ransackでコンボボックスの検索時に選択無し状態を設定する

何かの画面で検索を行うときには activerecord-hackery/ransack を使用することが多いと思います。柔軟なクエリ検索が行えて、それを画面から使用するためのhelperまで用意されているからです。 Ransackとは? Ransackの詳細については下記のスライドやサイ…

RSpecのコンソールにRailsのログを出力する

私はRubyMineを利用して開発を行っていますが、RSpecを実行時にコンソールログにRails.logger のログ内容を出力したいことがままあります。そのための設定についてのメモです。 設定は簡単で、spec_helper に以下の内容を記述すればOKです。 Rails.logger = …

Rails4でscope内で first などを使用するとデータの有無により挙動が変わるので注意が必要

Rails4でscopeを定義するときに、scope内で first や maximum などの集計関数を使用するとデータの存在有無により発行されるSQLが異なるようです。(本家のドキュメントなどは確認できていないので挙動としてそのようになっている程度ですが…) 環境 利用し…

RSpecで値を比較するときには'eq'を利用して'=='は利用しない方が良い

とあるプログラムを書いているときに思った通りの動作をしないケースがあり、RSpecで以下のような記述をしました。 [ruby] it 'sample' do expect(1) == 0 # => success end [/ruby] 一瞬目を疑いました。failとなるテストがsuccessとなっているのです。やは…

Capistranoを利用するファーストステップ

Capistrano(capistrano/capistrano)はRubyで作成されたシステムデプロイを自動化するためのライブラリで、Ruby on Railsに限らず広いシステム環境で利用されています。ただ、便利なCapistranoですが、以外と導入のイントロダクション的な資料が見つからず手…

Hello world!

WordPress へようこそ。これは最初の投稿です。編集もしくは削除してブログを始めてください !

capybaraでテスト対象のURLを指定する場合に named route が見つからない場合の設定

以下の通りcapybaraでテスト対象のURLを指定する場合に named route が見つからないでエラーとなることがあります。 [ruby] describe ‘….’ do … # new_user_registration_path へアクセスする before { visit new_user_registration_path } … end -> NameErr…

Railsでcheck_box_tagの動作にはまる

Railsで開発中にcheck_box_tagの動作に少しはまってしまったのでまとめました。環境は以下の通りです。 [bash] $ ruby -v ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0] $ rails -v Rails 4.1.1 [/bash] 事象 現在開発中のプロジェクトで…

openssl の heartbleed 経対応したファームウェアをQNAP TS-469 Pro/469L TurboNAS へ適用する

[caption id="" align="alignleft" width="205"] The Heartbleed Bug http://heartbleed.com/ より引用[/caption] opensslの脆弱性が日常で利用しているNASにまで影響しています。opensslの脆弱性についてはこちらの説明がわかりやすいかと思いますが、ひと…

capistranoで自動デプロイを実行する

プロジェクトは参画するメンバーの人数が多くなるにつれて自動化がボディーブローのように効果を現します。それも工数削減という効果で現れてくるため非常に重要です。 しかし、プロジェクトのキックオフの時には「自動化はそのうち…」となるのも世の常です…

ハイアールに関する日経ビジネスの記事

日経ビジネスを定期購読しだして半年程度になります。以前、お試しで2ヶ月ほど試読したことがあり、大変有用な情報が多いなぁという感じがあったので定期購読を開始しました。今では毎週のお風呂の友となっています。 昔に比べて広告が多くなったという印象…

Rails3でdeviseを使用してコントローラーでログイン情報を取得する

RSpecで実行するコントローラーのテストでDeviseを使用時にログイン情報をどのようにセットすればいいのかなと思い調査したのでまとめます。(メモです) Devise使用時のRSpecの設定については様々なサイトが説明されているので割愛しますが、今回はログイン…

Rails4でPostgresに生成される主キーや関連キーをbigintegerとする(rails-bigint-pk)

Railsではmigrationを実行したときに特に何も設定を行わない場合、主キーとなるid列はint4となります。ただ、int4は -2,147,483,648から+2,147,483,647 と桁数が小さくデータ量が多い場合やidに欠番が発生する事を前提とする場合などには心許ないことがあり…

JavaScriptをコンパクトに学びたい

パーフェクトJavaScript (PERFECT SERIES 4)はJavaScript 第6版よりもコンパクトでかつわかりやすい内容でした。 ただ、それでもやはり550ページほどのボリュームはなかなか最初から最後まで読了する前に勇気のいるボリュームです。むしろ、参照するリファレ…

たのしいRubyからパーフェクトRubyへ

Rubyでプログラムを(ときどき)書くようになってもう4年くらいになりますが、その頃の私はC#やらVB.NETなどMS系の技術しかほとんど経験のない技術者でした。ちょうどRailsがWebフレームワークのスタンダードを確立した頃だったように思います。 近所の古本…

play 1.2.5.3はわかりづらい

play frameworkを使用してもうじき1.5年ほどになりますが、最近のplay1系については非常にわかりにくくなっています。リリースノートもほとんど見当たらないし、バージョン番号の振り方も変則的になっていてとても困ってしまいます。 今回もいつの間にかplay…