技術のメモ帳

気が向いたときに書いてます

Ruby

FactoryMethodパターンのメモ

雑な話。 抽象クラス: 作り方は同じだけど、「何」を作るか(対象)は分からない(対象は実装しない) 具象クラス: 作り方は抽象クラスを継承し、「何」を作るかだけ指定している(対象だけを実装する) この抽象クラスが具象に処理を任せていることを「Fact…

ActiveRecord::Base.transactionの使い方を誤解していた

(誤解)テーブル名が異なる場合、 ActiveRecord::Base から実行しないとNG!? (正解)同じクラスからコールされるので、Baseのサブクラスならば Model.transaction でも model_instance.transaction でもOK # == Different Active Record classes in a sing…

deviseのカスタマイズをしていて思ったこと

deviseのカスタマイズで一番大事なのは、「devise使わず、別のgemでイチから作った方がいいんじゃないか」という疑問を棄てることかな、と思った。— Yoshiyuki Hirano (@yoshi_hirano) 2016年7月24日 要件を満たしているのであれば、実装の詳細に懲りすぎて…

BigQueryのQueryBuilderをgemで公開してみた

昨日、ようやくgemとして公開できました。 github.com 6月中旬あたりから始めて、移動中などの時間があるときに コツコツ書いてきたので、「一ヶ月もかかってしまったかー」とも思うのだけど 公開できたので、よかったなーと素直に喜びたいなと思います。 な…

Dashの独自CheatSheetをYAMLから生成するgemを作った

cheatset-yamlという、Dashの独自CheatSheetをYAMLから生成するgemを作りました。 github.com 動機に至るまで 今更ながらSpotlightを使うのをやめて、Alfredを導入した。 Alfred導入に併せて、Dashを使うようになった。 独自CheatSheetを作りたくなった。 DS…

[Ruby]sayコマンドとffmpegで多言語音声ファイルを作成する

Mac独自のsayコマンドを触っていたら、案外面白かったので、以前Google Apps Scriptで書いたSpreadSheetでテキストを翻訳する関数を使って、外国語学習で使えそうな音声ファイルを作成するスクリプトをRubyで書いてみました。 音声サンプル 以下がスクリプト…