リモートで働くプログラマーの検索結果

リモ太がググったことの覚書

Ruby

Rubyで配列をハッシュに変換する

例えばRailsでUserモデルのidがkey nameがvalueとなったハッシュを作りたいときは以下の様にする User.order(:id).map{|user| [user.id, user.name]}.to_h 実行結果 {1=>"名前1", 2=>"名前2", 3=>"名前3"} idとnameが入った配列の配列にmapで変更してから…

rubyで2つの配列からkeyと値のハッシュを合成する

a = [1, 2, 3, 4, 5] b = [200, 300, 100, 600, 400] Hash[*[a,b].transpose.flatten] => {1=>200, 2=>300, 3=>100, 4=>600, 5=>400} [a,b].transposeとすることで [[1, 200], [2, 300], [3, 100], [4, 600], [5, 400]] こうなるので、この配列をflattenして…

rubyでeach_with_indexみたいなことをmapでもやりたい

with_indexをmapにつなげて書けばよいようだ array = ['apple', 'peach', 'orange'] p array.map.with_index{|v, index| index > 1 ? 'hoge' : v} => ["apple", "peach", "hoge"]

Rubyで文字列に特定の文字が含まれているか調べる

docs.ruby-lang.org Stringクラスにinclude?というメソッドがある text = "123abc" text.include?("123") => true text.include?("4") => false text.include?("3a") => true text.include?("3b") => false

rubyでの正規表現の文末の書き方

rubyでの正規表現の確認をするのはここが便利 rubular.com 通常文末のマッチを正規表現で書く場合は $を使うが rubyの場合は複数行の場合は $を使うと1行づつ評価して検索する hello goo by 上記のような2行のテキストの場合、以下どちらもマッチする text…

ransackのsort_linkでjoinしたテーブルのカラムを指定したい

def index @q = Post.joins(:category).ransack(params[:q]) @posts = @q.result end このようなcontrollerのコードがあった時にcategoryのnameでsort_linkを使いたい場合以下の様に書く = sort_link(@q, 'category_name', 'カテゴリー名') アンダーバー区切…

ransackでデフォルトのソート順を指定する

@q = Post.ransack(params[:q]) @q.sorts = 'updated_at desc' if @q.sorts.empty? @posts = @q.result ransackのSearchオブジェクトのsortsが空ならデフォルトでしたいソートを指定すればよい @q = Post.ransack(params[:q]) @q.sorts = ['updated_at desc'…

ActiveRecordで値が入力されていないものだけを抽出したい

データベースがnullを許可しているかどうかによって変わってくるけど デフォルトだとnullが許可されているので値が入力されていないものを抽出する場合には null と 空文字列 両方を抽出対象とする必要がある create_table "messages", force: :cascade do |…

deviseのログインセッションの維持期間をアクセスに応じて延長したい

rememberable のデフォルトの挙動は、ログイン日時を基準として cookie に expire が設定される なので例えば remember_for=3.days 維持期間が3日間だった場合 1/1にログインすると 1/2にアクセスしたとしても 1/4にブラウザを立ち上げ直すと再ログインが求…

GithubのGraphQLをRubyから叩いてみた

developer.github.com Githubのデータを取得したくGraphQLをrest-client gemを使って叩いてみる github.com gem install rest-client まずはここを参考にaccess_tokenを取得する help.github.com 自分のリポジトリの一覧を取得 require "rest-client" requir…

githubのようなdiffをrubyで表示できるgem「diffy」を触ってみた

github.com README見ながら動かしてみる gem install diffy requireして確認用のテキストを準備 require "Diffy" string1 = <<-TXT Hello how are you I'm fine That's great TXT string2 = <<-TXT Hello how are you? I'm fine That's swell TXT 差分をテキ…

Railsでポリモーフィックの項目のあるモデルの作り方

ぱっと思い出せなかったので rails g model ポリモーフィック で検索 qiita.com {polymorphic} とつけるとポリモーフィック関連になる rails g model message messagable:references{polymorphic} message:text rake db:migrate 上記を実行したモデル、schem…

rspec-parameterizedとは似たような条件をパラメータ化してrspecをきれいにかけるようになるgem

ちらっとタイムラインで見かけたので、rspec-parameterized についてググってみたのでメモ githubのリンク GitHub - tomykaira/rspec-parameterized: RSpec::Parameterized supports simple parameterized test syntax in rspec. かんたんに使い方をqiitaに…