Augmented Usamimi

it { is_expected.to be_blog.written_by(izumin5210) }

Entries from 2015-02-01 to 1 month

東京に移住します

嬉しがってイベントいっぱい登録した(╹◡╹) 第9回 西日暮里.rb(2/23) Forkwell Bar #1(2/25) API Meetup Tokyo #6(2/26) Mashup Ideathon 「クルマ×ITを考える」アイデアソンvol.01 〜クルマをもっと、好きになる〜 (3/5) Cookpad TechBar -vol.2-…

【Ruby】delegateの便利オプションallow_nil,prefix

TL;DR allow_nilでNoMethodError対策 prefixでメソッド名に接頭辞をつける delegateの便利オプション allow_nil class User include ActiveMode::Model attr_accesor :profile delegate :name, to: :profile, allow_nil: true end class Profile attr_access…

【Rails】JOINするscopeのテスト

テスト方法がよくわからないので,とりあえずto_sqlして正規表現でちゃんとJOINされるか調べてみてる. describe User, type: :model do describe '.join_before_date_period' do subject { User.join_before_event } it do expect(subject.to_sql).to match…

【Rails】JOINするscopeを書く

同一のJOINを複数のscopeやメソッド,コンテキストで使用する場合, それ自体をscopeとして定義しておくとちょっとDRYになる. scope :join_before_date_period, -> do before = Event.arel_table.alias('before_event') joins( arel_table.join(before, Are…

【Rails】同一テーブルを複数回JOINする

あるモデルが1つのテーブルに対して関連を2つ持っている場合がある. :before_hogeと:after_hogeにbelongs_toしている場合とか. そういうときに両方の関連をJOINするにはArelを利用しなければならない. 以下がコード. belongs_to :before_event, class_na…

【Rails】cookpad/garageで認証不要のAPIをつくる

cookpad/garageを使って,認証なしでデータ取るようなAPIを作りたい. 必要なのは以下の2項目. Garage::ControllerHelperをincludeしない Garage::RestfulActionsの後にGarage::NoAuthenticationする class Api::UsersController < Api::BaseController inc…

【RSpec】shoulda-matchersでenum,delegateのテスト

shoulda matchers shoulda-matchersはvalidationやassociationのテストを超簡単に書ける便利マッチャ集みたいなgem. example class User < ActiveRecord::Base belongs_to :company has_one :profile delegate :name, to: :profile delegate :name, to: :co…

【RSpec】配列要素全てにマッチャを適用する

all mactcherを利用する. expect([1, 3, 5]).to all(be_odd) Compound Matcherも利用可能(Compound Matcherについては『今日から使える!RSpec 3で追加された8つの新機能』を参照されたい). expect([1, 3, 5]).to all(be_odd.and be < 10) expect([1, 4,…

【Ruby】ActiveModel::ModelなクラスでCallbackを使う

ActiveModel::Validations::Callbacksもincludeしなければならない. class UserForm include ActiveModel::Model include ActiveModel::Validations::Callbacks # 略 end ActiveModel::Modelに含まれるモジュールは以下のとおり. ActiveModel::Validations…

【gnuplot】グラフの位置をずらす

出したいのはこんなグラフ. あとは1つのラベルに対して棒グラフが複数対応するときとか. usingのxをちょっとだけずらせばOK. あとはxrangeをいい感じに調整して見た目を整える(この例だと右に0.1だけずらすとか). 例ではグラフが3つなので真ん中のやつ…

【LaTeX】付録の図表番号をA.1みたいにする

@e10dokupがどうやるか聞いてきたので. \appendix \renewcommand{\thetable}{\Alph{section}.\arabic{figure}} \renewcommand{\thefigure}{\Alph{section}.\arabic{table}} \appendix直後に\thetableや\thefigureを書き換えるだけでOKらしい. 【LaTeX】図…

『Android Project Ara とものづくりの未来』を聴講してきた

昨日の神戸.rb Meetupに続いて2日連続の勉強会参加. KIITOに比べると会場が近くて楽だ.狭いけど. Android Project Ara とものづくりの未来 Android IoTとプログラミング教育 Android IoTとプログラミング教育 from Kenichi Yoshida Android Project Araと…

神戸.rb Meetup #12 に参加した #koberb

神戸.rb Meetup #12いってきました. 今回もお菓子いっぱい食べました. ありがとうございます(写真撮るの忘れた). やったこと Callbackのテスト書いてた expect(mock).to receive(:method)が気持ち悪い問題 参考: モックのメソッドがちゃんと呼び出され…

CircleCIにcoverageを出す

Coverallsは(金銭的に)使えないけどCircleCIは使ってる,参考程度でいいからCoverage出したいという時に. colszowka/simplecovを利用する. # Gemfile group :test do # 手動requireするのでrequire: false gem 'simplecov', require: false end Circle C…

ターミナル生活を更に捗らせるtmuxの設定

【tmux】tpmでplugin管理して快適ターミナル生活 - Qiita 【Vim × tmux】アプデによる再起動も怖くない! セッションの保存・復元を実現する - Qiita ここ1年ぐらいRailsやHTML,CSS,JSどころか論文(LaTeX)もtmuxとVimで書いてる. こいつら使ってないの…

【tmux】tpmでplugin管理したら捗った

tpm(Tmux Plugin Manager) tpm(Tmux Plugin Manager)はtmuxのpluginを,VimのNeoBundleやRubyのGemfileのように.tmux.confに記述することで管理を行うことができるツール. 僕が利用しているのはこんな感じのpluginたち. tmux-yank : システムのクリップ…