ダメでしょ!

プログラミングとか怒られた話とか…

Ruby

はてなブックマークのRSSフィードをブックマークカウントでフィルタできる HB!F を作った

なんで作った? HB!F はてなブックマーク RSS フィルタ https://hb-f.herokuapp.com/ ちょっと前までは公式が threshold というクエリパラメータを用意していて、それでフィルタリングができたのですが、利用者が少ないという理由で廃止されてしました。 基本…

ActiveAdmin にCSV取込機能を追加する際に便利な gem active_admin_import

前提 ruby 2.1.10p492 Rails 4.2.8 active_admin_import 既存システムの修正依頼 前に他の担当者が作成した Rails アプリで、CSVインポートが上手くいかないという相談があり、アプリを確認したところ、管理サイト側が ActiveAdmin を利用していました。 そ…

require する際の指定文字列が大文字/小文字で挙動が変わる? → Macの大文字小文字区別の問題でした

ローカル環境で問題なく実行されたコードが別の環境でうまく動作しない 私の開発環境はMacなのですが、そこで以下のように記載したコードを作成しました。 require 'CSV' 自分のローカル環境での単体テストが問題なく終了したため、Linuxの実行環境で上記の…

複数選択可能なチェックボックスやリストボックスで選択された内容を一つのカラムに保存する方法

前提 Rails 4系 haml 4.0系 どういう場面で使うか 入力画面で複数チェックボックスやリストボックスを表示するのは以下のようにかけます。(例としてリストボックス) = m.select :answer, [['ア', 'ア'], ['イ', 'イ'], ['ウ', 'ウ'], ['エ', 'エ']], {}, { m…

simple_form と bootstrap を利用した環境で f.collection_select をどう書くか

前提 rails 4系 simple_form 3.2.1 bootstrap-sass 3.3.7 そのままだと(非bootstrap になる) 通常、collection_selectは以下のように記載しています。 = f.collection_select :option_id, OptionMaster.all, :id, :option_name, { prompt: true, class: 'for…

ruby において pry を利用している際に、binding.pry を強制的に停止する方法

ちょっと知らなかったので、小ネタですがご紹介。 pry を利用している場合、 ソースコード中に binding.pry と記載することで、記載した場所でデバッグが可能です。 これをループ中に利用し、どのように値が変わっていくかをチェックすることがあるのではな…

ActiveRecord から取得した1レコードから配列を作成する

例として、option_mastersというテーブルが存在していた場合 # # Table name: option_masters # # id :integer not null, primary key # option_name :string # option1 :string # option2 :string # option3 :string # option4 :string # option5 :string #…

ruby の eachメソッドでループ回数(インデックス)が必要な場合 (for文のiのような)

each するときに、ループ回数を利用したい C言語とかで for (i=0; i >10; i++) { ... } とかやると思いますが、このループ変数 i を利用したい時がありますよね。 ruby だとどうするのがいいのか、わかっていなかったので調べてみました。 結果、rubyには便…

ruby の環境更新(アップデート)の手順まとめ

なんで更新? 利用しているPCは1年半くらい利用しており、ごちゃごちゃしてきていました。 今回、新しいWebサイト開発に着手するに当たり、環境を整理したくなりました。 前提 CUIアプリケーションはhomebrewで管理しています。 (GUIアプリケーションはhomebr…