いまさら聞けないRailsのカスタムgeneratorの作成方法

はじめに Railsのアプリケーションを作成していると、同じようなモデル(STIを使っているとよくありますよね)、同じようなコントローラ(RESTfulにすればするほど、コントローラは似てきますよね)が増えてきます。新しいモデルやコントローラを作るときに、コ…

OpenID ConnectとSCIM、メモメモ

OpenID Connect は、認証結果と属性情報(クレーム)の受け渡しを行うための共通仕様です。 各クラウドサービスが OpenID Connect に対応する事で、利用者がサービスごとの ID・パスワードを覚えたり、サービスにアクセスする度にログイン情報を入力する必要…

空腹感を抑える...でもね、空腹は抑えるものではないよ

空腹感を感じている時に、興奮したりストレスが かかると、アドレナリンが分泌され肝臓にためていた糖を血液に流し、血糖値を上げます。 すると脳は、十分に栄養はあるなと勘違いして 空腹感が消えるのです。 (省略) それは、「その場ダッシュ20回」(約10秒…

R2Dのリファレンスを、翻訳する - R2D: 初心者向けRubyの描画ライブラリ

今年の中学生Ruby教室 (http://www1.city.matsue.shimane.jp/sangyoushinkou/ruby/rubycity/junior-ruby/junior_ruby.html) のプラットフォームが Windows から Mac に変わることを受け、Mac でも使える Ruby の 2 次元描画ライブラリを調べていました。いま…

RSpecのrequest specで、HTTPS(SSL通信)を実現する

なんのことはない以下の設定をbeforeなどで行うだけですwww 基本的にはwww.example.comはそのままでよく、多くの場合実際のホスト(たとえばhttps://cocktailq.herokuapp.com)に合わせる必要もないはず。 Capybara.default_host = 'https://www.example.com' …

serverspecの記事の紹介(serverspecでテスト駆動サーバ構築)

http://qiita.com/items/46545bdbb9629c4d3860 より Chef と Puppet の勉強会というよりも、むしろ時代は serverspec だった #pfcasual - 彼女からは、おいちゃんと呼ばれています こちらの記事でserverspecを見て、テストファーストでサーバ構築できたら良…

本物のexamplesの共有はこんな感じだろ〜?(RSpecのshared_examplesを定義するファイルの説明です)

Ruby + RSpecでのTDD(BDD)において、shared_examplesやshared_examples_forは最高の武器ですね。 ご存知のようにtest-unitではRubyの言語仕様を駆使してテストコードの共有資産(assert_XXXXなど)を用意することになりますが、RSpecではshared_examplesやshar…

Emacsでスペースとタブだけの行を、強調表示する

Emacs 24は、すばらしい。(いや、別に私はスペースとタブだけの行があってもいいんだけど、必要になることがあるですよね〜) (when (boundp 'show-trailing-whitespace) (setq-default show-trailing-whitespace t)) --- 参考情報 この記事は以下の記事を参…

Emacsの日本語フォント(MigMix)の設定 on Linux

これは、フォントを提供してくれている人がすごい。設定はちょろいね。 (set-default-font "MigMix 1M-10:spacing=0") (set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0208 '("MigMix 1M-10" . "unicode-bmp")))))Ubuntu 13.04のパッケージ名…

mozcの設定

この程度の設定でそれらしく動作している。Ubuntu 13.04がすごいのか、emacs-mozcがすごいのか。まぁ、Emacsの名前がついているので、emacs-mozcがすごいのでしょうねwww (require 'mozc) (setq default-input-method "japanese-mozc") (set-input-method "j…

capybara-webkit 0.9.0 on Ubuntu 13.04

必要にせまられて、つまらぬ修正をしてしまったでござる。 commit cf2c7585e5b57c5d605757ef2291594cce537b7b Author: Kouji Takao <kouji@netlab.jp> Date: Wed May 8 23:07:13 2013 +0900 build for Ubuntu 13.04 diff --git a/src/Source.cpp b/src/Source.cpp index 698d4</kouji@netlab.jp>…

開発はMac OS X、でも運用はLinux...。開発環境だけで必要な処理をコミットする!!

開発はMac OS X、でも運用はLinuxという環境だと、Mac(開発環境)だけで必要な処理が出てきますよね。例えば、/path/to/libxx.soを/path/to/libxx.dylibに変えたりとかね。 それをなんとかしながら、運用で回避していくのがMacユーザですよね〜(BK!!) 今回は…

jpmobileとRailsの各バージョンの対応

Railsの各バージョンに合わせて、jpmobileのバージョンを変更する必要があるのですね。 https://github.com/jpmobile/jpmobile/wiki/Version-:-Jpmobile-vs-Rails Gemfileはこんな感じにするのでしょうかね。(動作確認していません。すまん。) # Rails 3.2.x…

SomeClass.any_instance.stub(:some_method).ordered => NG

RSpec MockのSomeClass.any_instance.stub(:some_method)したものには、orderedメソッドがないのですね。知らなかった。 あるモデルをsave!したあとに処理していることをチェックしたかったので、 SomeModel.any_instance.stub(:save!).ordered => 例外発生 …

.screenrcを、さらします

私の.screenrcは以下のような感じです。ほとんどのことをEmacsで行なっており、シェルが必要だったり、シェルのほうが便利だったりすることだけ、シェルを使っているため、screenrcはシンプルなものです。「ここはこっちのほうがいいよ」とかあったら、コメ…

RSpecで、Cucumberのような結合試験のspecを記述する

Cucumberって、仕様設計者の意図をプログラムによる自動テストにできる魔法です。 仕様設計者っていうのは、Rubyでのプログラミングが難しいけど、お客さまのニーズを理解して、それをドキュメントにできるハイパーな人です。プログラマにとっては神様です。…

「RSpecのshouldはもう古い!新しい記法expectを使おう!」に一言申す!!

RSpecのshouldはもう古い!新しい記法expectを使おう!: http://qiita.com/items/d880250adc8cdbe7a32f という最高の記事があります。で、expect {}.to change...はどんなふうに書くんだっけかな?と思ってみてみると、それらしいものがなかったのでメモして…

「失敗したのはおれのせいだから、もうこれ以上はやめてくれ」を実現するrspec --fail-fast (笑

以下のようにしてrspecを実行することで、1つでもspecに失敗した時点でそれ以降のspecを停止できるようです。 $ rspec --fail-fast /path/to/specrake経由だと以下のような感じですよね。 $ rake SPEC='--fail-fast /path/to/spec'あと、よく使うrspecのオプ…

「おい!ちゃんとロールバックしてるか!!」をRSpecで表現する

Railsアプリケーションのコントローラでは、なにかしらの例外が発生するとデータベースの変更をロールバックしますよね。 class ItemsController < ApplicationController def create Item.transaction do ... if エラー条件 raise ActiveRecord::Rollback e…

オープンβリリース: カクテルを作る人のためのサービス「かくってる?」

新年あけましておめでとうございます。本日からカクテルを作る人のためのサービス「かくってる?」のオープンベータテストを開始します。興味のある方は http://cocktailq.herokuapp.com/ の「サインアップ」ボタンを押していただき、ユーザ登録をお願いいた…

やってよかった、中学生Ruby教室

みなさんは全国高等専門学校プログラミングコンテスト(以下、高専プロコン)をご存じでしょうか? 簡単に言うと ロボコンの姉妹イベント ですね(ぉ なかなか良いイベントなんですよね、これが。私は松江高専の5年生のときにはじめて参加しました。そのときの…

システム手帳でも、がっつりメモる

MacBook Airがあるからってやはり手帳は手放せないよね。 僕は一昨年前からFranklinCoveyの手帳を使っています。 ある程度値段がはったほうが「使わなきゃ感」があっていいかな、なんて思ってこれにしました。まぁまぁ便利に使えています。昨年までは1日見開…

はじめる!Ruby(Motion)でiOSアプリ開発

ついにこの日がきました。そう、iPhone・iPadアプリ(iOSアプリ)をRubyで開発できるようになったのです。 さっそく、いっしょにやってみましょう。 [STEP1] RubyMotionのインストール iOSアプリをRubyで開発するには RubyMotion が必要です。 Write cross-pla…

区切りの悪いところでも、休憩する

さっそくですがITエンジニアに関する「ゾーン」という言葉をご存知でしょうか。書籍「Joel on Software」にもでてくる言葉で「作業に完全に没頭して周りのことを忘れた状態」のことです。ITエンジニアはゾーンに入ったときに最もよく働くことができます。 参…

bundle gemべんり〜、でもね…

RubyでRubyGemsを作るときにどのような方法を使っていますか?(えっ、Railsしか使ってないって!?まぁ、そういわずに便利なコマンドライン用のツールとかを作るのも楽しいよ〜) 最近では、 Bundlerを使ってRubyGemsを作るのが簡単 ですよね。 作りたいプ…

クソ批評家を、無視しない。

仕事で徳島県徳島市に行きました。そこを訪れたときがたまたま寒い日で雪がちらちらしていました。たしかに寒いのだけど、私が住んでいる松江と違う感じがしました。徳島の方が湿度が低いのかな? 今回初めて徳島に行き、地元の人達(BARでの出会いはサイコー…

Rubyの、たのしさ。

取り上げるのが遅くなりましたが、るびま37号が公開されました。 今回のるびまで私が印象に残っているのは 0037 号 巻頭言 、つまり高橋さんの記事です。「巻頭言」は37回も連続で続いている、るびまのテッパン記事です(笑) 今回は「Ruby のたのしさ」につ…

ぬRuby≒Matsue.rb定例会 #matsuerb

ここのところ、寒い日が続いています。松江市内でも雪がちらほらしている日がよくあります。昨年の大雪を思い出してしまって、「いけんかったよな〜」と感じたりね。 昼ご飯のために沸かしたお茶も、この寒さで昼にはヌルくなっている今日この頃ですが、ヌル…

幼児期の、失敗した経験が重要です。

平成23年度幼稚園のPTA会長になった私は、子供のことを考え・行動しているえらい人の話を聞く機会を与えてもらいました。その中で印象に残っているのが、松江周辺の保健室のボスみたいな人の講演です。講演では次のようなことを話しておられました。 今の子…

Rubyは、我々の秘密兵器です。

国内ソフトウェア開発者の実態調査結果を発表: http://www.idcjapan.co.jp/Press/Current/20120206Apr.html より ソフトウェア開発者がスキルを有する言語と、その中で最も使用している言語を尋ねた結果を見ると、多くの回答を集めた言語はC言語、Visual Bas…