2014-03-01から1ヶ月間の記事一覧

tapについて

最近勉強のためにgemを作成しているのでだが、参考にしているgemのソースの中でtapメソッドを使っている箇所があった。 ので、今回はtapメソッドについて覚え書きです。tapメソッドはブロック変数にレシーバ自身を入れてブロックを実行する。戻り値はレシー…

Rails4.1 サポートしているmimeタイプは?

Rails3ではmime typeがpdfのデータに対してサポートしてなかったので、書籍を見ながら拡張するということはやったが、4.1ではどうなのか見てみた。すると「action_dispatch/http/mime_types.rb」を見てみると以下のコードが追加されていた。 Mime::Type.regi…

Chefで環境毎に読み込む設定ファイルを変えたい場合

Chefで環境毎、テスト環境、本番環境という意味です、に設定値を変えたい場合があります。 その場合どうするかというとenvironmentを使うと良いと思います。1.まずはnode以下のファイルを編集します。 { "run_list": [ "yum::epel", "hoge::ap" ], "environm…

今更gem作成

gemのテンプレート作成したら、ソースコードはlib以下のコードを編集する。今回はlib/multidb.rbを以下のように書く require "multidb/version" module Multidb def self.setup p "---- multidb -----" end end 次にbuildし、ローカルで試せるようにインスト…

railsの原則

「railsではステータスコード500を返す処理以外は、例外を投げてはいけない。」 ということか・・・・。参考:こちら

Vagrant + Chef soloを使った環境構築の流れ

以前もにたような記事を書いたのですが、業務でChefを使って環境作ったので、改めてメモを残します。vargrantの設定 1.Vagrantのインストール ここから入手2.Virtural Boxのインストール ここから入手3.続いてvirtural boxで使うosを選びダウンロード。 ここ…

rvmの設定復習

rvmの設定についてメモ 1.rvm list known インストール可能なrubyのバージョンなどを一覧表示2.rvm get latest 最新のrvmをインストール3.rvm use 2.1.0 使用するrubyのバージョンを指定4.rvm gemset create rails4 gemの設定を新規作成 同じことだが、別の…

今更ながらですが、gemの作り方

今更ですが、gemの作り方をちょっとメモっておきます。今回はmultidbっていうプラグインを作成するとします。 ※この名前のプラグイン自体既にありますが・・・。1.bundleを使ってひな形を作成$ bundle gem multidb2.続いて~.gemspecを編集。今回はactive_rec…

Rails4.1のenumを使ってみる

Rails4.1の新機能の一つenumをつかってみました。 1 class Music < ActiveRecord::Base 2 enum status: %i(latest old popular) 3 4 end 定義は2行目に書かれているように書きます。 で、実際に使ってみましょ。 $ bundle exec rails c $ music = Music.lat…

Rails4.1でrspec実行した時にエラーが出た

rails4.1にupdateしてからrspecを実行した時に以下のエラーが出た。 warning: you should require 'minitest/autorun' insteadこれの対処方法としては、 require 'minitest/autorun' をspec/spec_helper.rbに追加。 そうするとwaringがなくなるはず。 またsh…

Rails4.1の新機能を使って端末毎のviewの切り替えをする

Rails4.1からviewの切り替えをする仕組みが組み込まれました。 今まではJpmobileなど使ってやったと思います。ですが、今後は今回追加されたこの機能を使うことになると思います。1.before_actionに読み込ませるメソッドにuser agentをチェックするロジック…

Railsとyeoman、gruntjsを使う方法

アプリで表示する画面を作成するためにAnuglarJS、yeomanを使ったものを現在作成中です。 とは言え、まだ良く分かってない。 先日の日記でも書いた通り、こちらを参考にしているで、まずはRailsのroot直下にngappと言うフォルダを作成し、ngapp配下にgruntjs…

neobundleの設定手順

vim

新しいmacマシンにvimの設定を入れたくて、自分のmacと同じようにvim設定をしたので、 そのときの作業内容をログとして残しておこうと思います。1)neobundleを入れる $ mkdir -p ~/.vim/bundle $ git clone https://github.com/Shougo/neobundle.vim ~/.vim/…