Rails
Railsにて要素が存在しないことを blank? や empty? で確かめることがある def purchased_book payments payments.none? "未購入" : "購入済み" end しかし、あるユースケースではRubyの Enumerable#none? を利用した方が意味が明らかになるので、積極的に利…
Rails AntiPatterns: Best Practice Ruby on Rails Refactoring (Addison-Wesley Professional Ruby Series) (English Edition)作者:Chad Pytel,Tammer Saleh出版社/メーカー: Addison-Wesley Professional発売日: 2010/11/09メディア: Kindle版 Best Practi…
GemfileにRubyのVersionをベタ書きしているプロジェクトがある。 rbenvでVersion管理を行っている場合、rbenv local 2.6.5と実行すると.ruby-versionというファイルが作られる。 $ cat .ruby-version 2.6.5 そして、Gemfileで以下の記述するとGemfileにRuby…
rails new .でRailsアプリケーションを作成すると、Gemfileが生成されます。 source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '2.6.5' gem 'rails', '~> 6.0.0' ~~~~~ gem 'bootsnap', '>= 1.4.2', re…
下記のようなクラスインスタンス変数を定義した後に、値を確認する方法としてAPI::APIBase.class_eval { puts @remote_host }があります。class_evalは、Moduleクラスのインスタンスメソッドでブロック内でレシーバ定義式の中であるように振舞います。 ENV['…
環境やバージョン $rails -v Rails 5.2.3 $ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin18] ソースコードリーディング Returns true if the record is persisted, i.e. it's not a new record and it was not destroyed, otherwise ret…
Active Recordのjoinsとmergeについて調査したレポートです。 準備 まずは、migrationファイルを設定 class CreateUserPlans < ActiveRecord::Migration[5.2] def change create_table :user_plans do |t| t.integer :user_id t.integer :plan_code end end …
Gemfileにて下記記述後、 bundle install した状態を前提。 gem 'html2slim' gem 'slim' html2slimを使います。 # erb2slim -h Usage: erb2slim INPUT_FILENAME_OR_DIRECTORY [OUTPUT_FILENAME_OR_DIRECTORY] [options] --trace Show a full traceback on er…