波打際のブログさん

主に、プログラミング備忘録など。

Ruby

レールから外れないためのActiveRecordリファレンス

はじめに RailsのActiveRecordはとても優秀なORMですが、使い方を理解せずに生のSQLを書いてしまうと、DBアダプターを変更した時に正しく動作することが保証されません。 今回はActiveRecordのレールから外れてしまいそうになった時、護輪軌条となるように、…

論理削除gemを1年ほど保守してみて。重大な欠点にやっと気づいたポエム。

はじめに kakurenboというgemはご存知でしょうか?paranoiaの欠点を克服すべく1年ほど前に私が開発を始めたgemです。(参考:Rails4と3で論理削除を行うためのGem Kakurenbo の紹介と今更論理削除Gemを実装した理由。 - 波打際のブログさん)issueやpullreques…

ActiveAdminノウハウまとめ

はじめに 私が関わったプロジェクトでActiveAdminを使い倒す機会があったので、ドキュメントに掲載されていないことを中心に トラブル編 と 活用編 の2項目を備忘録程度にまとめてみました。 想定環境 Rails4 + ActiveAdmin(1.0.0.pre) トラブル編 Rails4で…

論理削除Gem、 Kakurenbo をアップデートしました。

様々なわけがあってkakurenboは非推奨です。新規のプロジェクトではkakurenbo-putiの使用をおすすめします。 Kakurenboとは Rails4で論理削除を実現するためのGemです。実装に至った経緯は Rails4と3で論理削除を行うためのGem Kakurenbo の紹介と今更論理削…

Rails4のバリデータをテストまでしっかり書いた備忘録

はじめに Rails4には様々なバリデータが用意されていますが、プロダクトを実装する過程で自作のバリデータを定義して使いたくなることが稀によくあります。稀によくある事なので、その都度使い方を調べていていますが、バリデータの実装からロケールファイル…

クラウドIDEを使ってみた Nitrous.io & Codeanywhere

はじめに お久しぶりです。昨年末から関ってきた某プロジェクトを5月にリリースし、最近やっと落ち着いてきました。落ち着いてきたついでに先週末ごろから開発環境を0から作り直しているのですが、開発環境の構築って面倒くさいですよね。検証環境なんかはVa…

RailsのEnumと相性が悪い人向けのInumをバージョンアップさせた話。

はじめに Railsの列挙型事情 Rails4.1以前では公式に列挙型が実装されておらず、列挙型を実現するために様々なgemが生み出されてきましたが、Rails4.1でついにActiveRecord::Enumという列挙型のクラスがやっと実装され、長い列挙型宗教戦争が終わろうとして…

Rails4と3で論理削除を行うためのGem Kakurenbo の紹介と今更論理削除Gemを実装した理由。

様々なわけがあってkakurenboは非推奨です。新規のプロジェクトではkakurenbo-putiの使用をおすすめします。 Kakurenboとは Rails4及びRails3で論理削除を行うためのGemです。paranoia及びacts_as_paranoidと互換性があるので、gemを置き換えるだけでそのま…

Ruby on RailsのI18nで使用する名前空間に関してのまとめと、ベストプラクティスの検討。

はじめに Ruby on RailsにはI18nというgemが標準で同梱されており、特に何もせずとも文章の国際化を行うことができる仕組みになっています。ちなみに、I18nとはinternationalizationを表しており、iとnの間に18文字あるから `I18n` だそうです。 最近関わっ…

RubyでInteger値を持つEnum、Inumを作ってみた。

この記事はバージョン2.x系の記事で、現行バージョンの3.xとは互換性がありません。 RailsのEnumと相性が悪い人向けのInumをバージョンアップさせた話。 - 波打際のブログさん こちらの記事がバージョン3.x系の記事となります。 はじめに 最近Rubyを使用する…

rbenv-railsを使用して、バージョン指定したrailsプロジェクトを30秒で生成する。

はじめに 以前、Bundlerを使ってローカルなRailsから新規プロジェクトを作る 方法を紹介しましたが、プロジェクトを生成するたびに実行するのは結構面倒です。そこでこの作業を自動的に行うシェルスクリプトを書いたので紹介します。 → 追記:せっかくなので…

Bundlerを使ってローカルなRailsから新規プロジェクトを作る

はじめに 本項では、ローカルなRailsから新規プロジェクトを作成し、gitで管理を行います。グローバルな環境にRailsをインストールしないことで、複数のバージョンのRailsを使い分けしやすくなります。 環境 CentOS6.4 rbenvを使って3分でRubyをインストール…

rbenvを使って3分でRubyをインストールする方法まとめ。

はじめに 最近モダンなrbenvを使って、3分の作業時間でRubyをインストールできたのでその方法をまとめておきます。 rbenv rbenvはrvmと同様にRubyのバージョン管理ソフトです。rvmよりも黒魔術を使わないため、副作用が少なく、最近モダンらしいです。乗るし…