Ruby
Railsプロジェクトを動かそうとしたら下記のエラー Your bundle is locked to mimemagic (0.3.5), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed sources, that means the author of mimemagi…
# idと名前の2次元配列、CSVの配列などを使う時に便利 arr =[ [1, 'hoge'], [2, 'moge'], ] arr.each do |id, name| puts id, name end # 出力 # 1 # hoge # 2 # moge 以下と同等のことが出来ます arr.each do |values| id, name = values puts id, name end…
StringのVersion情報 "2.1.1" を "2.2.0" などと比較したい Gem::Version を使うことで比較できる p "1.9" < "1.10" # => false p Gem::Version.new("1.9") < Gem::Version.new("1.10") # => true 文字列にも対応。便利。 "1.1.beta9" と "1.1.beta10" では…
実運用しているアプリが2020/2/13あたりからインデックスの新規作成が上手くいかず調査しました。 エラー class Post < ApplicationRecord searchkick end 動かない状態のサンプル(GitHub) reindexでエラーが出ます。 irb(main):001:0> Post.reindex Traceba…
表題通り1つのexpectに対して複数のchangeを検証したい it '複数のchangeを見るぞ' do expect { subject }.to change { x }.by(1). and change { y }.by(2) end 見づらいのであまり使いたくない… 参考 stackoverflow.com RSpec3.1からの機能らしい rspec.info
create_list(:user, 10) create_list に個数を渡すだけ。 神🎉 通常の create 同様、引数も渡せます create_list(:user, 10, name: 'hoge') create以外にもbuildもありました build_list(:user) 公式ドキュメントが読みやすくて感動 devhints.io
Step-to-Rails-Expert.rb#20に参加してきました step-to-rails-expert-rb.connpass.com Step-to-Rails-Expert.rb 参加は2回目 今回からもくもく会ベースの企画になりました 内容 みなさん今日やることや気になった話題のシェアしながらもくもくしたり話した…
MENTAというメンターとメンティーのマッチングサイトに登録してみたら 申し込んでくれる方がいたため晴れて(?)メンターになりました✨ menta.work なんでやっているか つまるところ、自分のためです。 スキルアップのため 恩送り的な 情けは人の為ならず的…
Rubyの簡単なサンプル arr = [ { name: "hoge1", age: 10 }, { name: "hoge2", age: 13 }, { name: "hoge3", age: 15 }, { name: "hoge4", age: nil } ] arr.min_by{ |e| e[:age] } => ArgumentError (comparison of NilClass with 10 failed) ブロックの戻…
Railsのアプリを作っていて電話番号のバリデーションをするための正規表現はどう書いたらいいのか悩んだので調べてみました ※細かくやっていますが新しい電話番号や考慮されないパターンがあるかもなのでバリデーションは緩くしておくことをおすすめします。…
Rubyで中央値(メジアン)を求めるコード (a.size % 2).zero? ? a[a.size/2 - 1, 2].inject(:+) / 2.0 : a[a.size/2] 動作確認 a = [3, 5, 10, 23, 88] (a.size % 2).zero? ? a[a.size/2 - 1, 2].inject(:+) / 2.0 : a[a.size/2] # => 10 a = [3, 5, 10, 23, 8…
文字数を取得する時などに改行や空白文字を削除したい text = "春はあげぽよ てか、どんどん白くなる山の端らへんが異常に明るくなって、紫の雲が細く風に流されてるの見て、マジパねぇ、ウケる。 夏は神テン 満月がデラヤバなんてあえてウチの口から言うま…
こんなやつが出てきて挙動が分からず困っていたら多重代入というやつらしい。 a, b = Hoge.moge 多重代入についてまとめます。 左辺が1つで右辺が複数の場合 配列に変換される a = 1, 2 #=> [1, 2] a #=> [1, 2] 左辺、右辺ともに2つの場合 左辺の各変数に右…
h = 'Hoge'.constantize h.create(fuga: 'fuga') した時に active_support/inflector/methods.rb:268:in `const_get': uninitialized constant Hoge (NameError) とHogeという定数、クラスがなかったため怒られてしまった。 safe_constantizeで回避 safe_con…
task :test do puts 'hoge' return puts 'moge' end 実行する rake aborted! LocalJumpError: unexpected return 怒られた… rake taskの中断はreturnじゃなくてnextとのこと task :test do puts 'hoge' next puts 'moge' end 以下の場合はreturnとのこと tas…
Your Gemfile has no gem server sources. If you need gems that are not already on your machine, add a line like this to your Gemfile: source 'https://rubygems.org' と怒られた時の対処法 英文読めば分かるですが自分が読まずに調べてしまったので……
each_with_index Rubyの each でインデックスを取得したい場合 each_with_index を使う。 %w(a b c).each_with_index do |n, index| puts "#{index} #{n}" end # 0 a # 1 b # 2 c インデックスを任意の数字から始める with_index indexを1から始めたい場合な…