graphql-rubyでmethodオプションを使って、modelに定義したメソッドをfieldにする方法

こんにちは!kossyです! さて、今回はgraphql-rubyでmethodオプションを使ってmodelに定義したメソッドをfieldにする方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 方法 Userモデルがあるとして、以下のメ…

graphql-rubyでinterfaceを定義してみる

こんにちは!kossyです! さて、今回はgraphql-rubyでinterfaceを定義する方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 created_atとupdated_atをinterface化する ジェネレータを使ってGraphQLのセットア…

graphql-rubyでモデルのカラムの値を加工して返したい

こんにちは!kossyです! さて、今回はgraphql-rubyでカラムの値をよしなに加工して返す方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 graphql-batch 0.4.3 Typeファイル内にfield名と同じ名前の変数を定義…

RailsでPostgreSQLのrank関数を叩いて、ランキングをつけてみた

こんにちは!kossyです! さて、今回はRailsでpostgreSQLのrank関数SQLを直叩きしてランキングをつける方法について、 ブログに残してみたいと思います。 環境 Rails 6.0.3.4 Ruby 2.6.6 MacOS Catalina 事前準備 例として社員の売り上げを管理するようなテ…

Cannot create the snapshot because a snapshot with the identifier db_name already exists. と言われたとき

こんにちは!kossyです! さて、今回は、Cannot create the snapshot because a snapshot with the identifier db_name already exists. エラーに遭遇したので、 備忘録としてブログに残してみたいと思います。 スナップショット名の識別子が既に存在してい…

Auth0のログイン機能で取得したaccess_tokenを使ってRails側で認証を通してみた

こんにちは!kossyです! さて、今回はAuth0のログイン機能で取得したaccess_tokenを使ってRails側で認証を通してみたので、 備忘録としてブログに残してみたいと思います。 環境 Rails Ruby 2.6.3 Rails 6.0.3.4 Docker-Desktop Vue @vue/cli 4.5.9 vue@3.0…

Vue.jsのAuth0の認証チュートリアルを Vue3 + TypeScriptで書き直してみた

こんにちは!kossyです! さて、今回はVue.jsのAuth0の認証チュートリアルを Vue.js 3 + TypeScriptで書き直してみたので、 備忘録としてブログに残してみたいと思います。 環境 vue/cli 4.5.9 vue 3.0.4 node 14.15.0 npm 6.14.8 Vue.jsのボイラープレート…

RspecでRuntimeError: Circular dependency detected while autoloading constant が出た場合の対処法

こんにちは!kossyです! さて、今回はRspecでテストを実行する際に、RuntimeError: Circular dependency detected while autoloading constantが出た場合の対処法をブログに残してみたいと思います。 環境 Ruby 2.6.5 Rails 5.1.7 Docker for Desktop 原因 …

Vue.jsで環境変数を扱う時はVUE_APPを接頭辞に付与するのを忘れないようにしよう

こんにちは!kossyです! さて、今回はVue.jsで環境変数を扱う時に、VUE_APPを付与し忘れて10分ほどハマってしまったので、 備忘録としてブログに残してみたいと思います。 環境 vue/cli 4.5.9 vue 3.0.4 node 14.15.0 npm 6.14.8 事象 .envファイルに以下の…

Railsのvalidationで値が空であることを検証する absence: true

こんにちは!kossyです! さて、今回はRailsのvalidationで値が空であることを検証する absence: trueの使い方について、 ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.4 MacOS catalina まずはドキュメントを読んで使い方を把握しよう 2.…

Railsでvalidationを行う際のwith_optionsの使い方

こんにちは!kossyです! さて、今回はRailsでvalidationを行う際のwith_optionsの使い方について、ブログに残してみたいと思います! 環境 Ruby 2.6.6 Rails 6.0.3.4 MacOS catalina Documentを読んで使い方を学ぶ まずはドキュメントを読んでみましょう。 …

AWS CLI の aws configure コマンドで設定したcredentials情報が反映されない問題

こんにちは!kossyです! さて、今回はAWS CLI の aws configure コマンドで設定したcredentials情報が反映されない問題に遭遇したので、 解決した方法をブログに残してみたいと思います。 環境 aws-cli/2.1.15 Python/3.9.1 Darwin/19.6.0 事象 以下のコマ…

ActionController::Parametersのマイナーなメソッドを紹介

こんにちは!kossyです! さて、今回はActionController::Parametersのマイナーなメソッドを ブログで紹介できればと思います。 環境 Ruby 2.6.3 Rails 6.1.0 MacOS Catalina 公式Documentはこちら fetch params.fetch(key, *args)のように呼び出します。 $ …

Terraform環境構築時の「Version could not be resolved」エラーの解消方法

こんにちは!kossyです! さて、今回はTerraform環境構築時にハマったエラーの解消方法について、 ブログに残してみたいと思います。 環境 Homebrew 2.6.2 tfenv 2.0.0 terraform 0.12.28 tfenvのインストール まずはTerraformのバージョン管理ツールであるt…

Railsで様々なrequest.user_agentを取得したい

こんにちは!kossyです! さて、今回はRailsで開発中にMacOS以外の様々なユーザーエージェントを試す方法について、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 MacOS Catalina Chrome 87 検証ツールを使う chromeの検証ツールは、右…

devise_token_authのset_user_by_tokenのソースコードを追ってみた

こんにちは!kossyです! さて、今回はdevise_token_authのset_user_by_tokenメソッドのコードリーディングをしてみたので、 ブログに残してみたいと思います。 偉大なる本家リポジトリはこちら なお、前提としてSupervisorというdeviseを利用したモデルが定…

産業分類コード一覧(小分類)をCSVファイルにしました

こんにちは!kossyです! さて、今回は日本標準産業分類の小分類のコードと名称を CSVファイルにしましたので、ブログに残してみたいと思います。 日本標準産業分類とは? https://www.soumu.go.jp/toukei_toukatsu/index/seido/sangyo/index.html総務省が定…

devise_token_authのtoken_validation_responseをオーバーライドする

こんにちは!kossyです! さて、今回はRailsでのトークン認証機能を提供するGem、devise_token_authの token_validatio_responseメソッドをオーバーライドする方法をブログに残してみたいと思います。 方法 devise_token_authのsessions_controller.rbのcrea…

deviseでパスワードが正しいか未定義かを確認する方法とvalid_password?のコードリーディング

こんにちは!kossyです! さて、今回は認証機能を提供するRubyのGemである「devise」を使っている際に、 パスワードが正しいか未定義かを確認する方法と、valid_password?メソッドのコードを読んでみたので、 ブログに残してみたいと思います。 deviseを使っ…

curlでproxyを設定する

こんにちは!kossyです! さて、今回はcurlでproxyを設定したくなるシチュエーションに出会ったので、 ブログに残してみたいと思います。 困った Rails APIモードでAPIサーバーを開発しているときに、リクエスト元のIPアドレスを保存する要件がありました。…

Postmanでリクエスト元のIPアドレスを変更する方法について

こんにちは、kossyです! さて、今回はPostmanでリクエスト元のIPアドレスを変更する方法について、 ブログに残してみたいと思います。 方法 下記の添付画像のように、settingを選択します。 その後、Proxyタブを選択し、 Proxy Serverの入力フォームに、変…

AngularのToken認証ライブラリ「angular-token」のInterceptor周りのソースコードを読んでみた

こんにちは!kossyです! さて、今回はAngularのToken認証ライブラリである、「angular-token」の Interceptor周りのコードを読んで見たので、ブログに残したいと思います。 環境 Angular 11.0.4 npm 6.14.8 node 12.13.1 TypeScript 4.0.5 Interceptorとは…

graphqlクライアントの Altairでトークン認証を行う方法

こんにちは!kossyです! さて、今回はgraphql-ruby + Rails APIモードでdevise_token_authを用いてトークン認証する開発において、 Altairを使ってトークン認証をパスする方法についてブログに残してみたいと思います。 環境 Rails 6.0.3.4 Ruby 2.6.3 MacO…

Rails6からデフォルトで付与されるようになったprecisionとは?

こんにちは!kossyです! さて、今回はRails6系からデフォルトで付与されるようになった、 precisionオプションについて、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3 MacOS catalina precisionとは? Railsガイドによると、 precision: …

exifrでExifを自在に操ってみた

こんにちは!kossyです! さて、今回は画像に付記されることがあるExif情報をRubyで操作できるGem、 exifrの使い方について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 exifr 1.3.9 # 使い方 exifrはjpegまたはtiff拡張子の形式の画像に対応してい…

HEYのGemfileが公開されていたので見てみた(その1)

こんにちは!kossyです! さて、今回はRuby on Railsの作者として知られているDHHが開発に参加している、HEYという有料の電子メールサービスの GemfileがGithub上に公開されていたので、どんなGemが使われているかを見てみたいと思います。 connection_pool …

chromeの検証ツールでQiitaの通信を覗き見してみた

こんにちは!kossyです! さて、今回はchromeの検証ツールを使って、 QiitaのXHR通信を覗いて見る方法について、ブログに残してみたいと思います。 環境 MacBookAir chrome検証ツールの開き方 chrome検証ツールは、Macの場合、command + option + i で開くこ…

graphql-rubyのGeneratorsを翻訳してみる

こんにちは!kossyです! さて、今回はgraphql-rubyの公式ドキュメント翻訳第2弾として、 generatorsの翻訳をしてみようかと思います。 偉大なる本家リポジトリはこちら ジェネレーター Ruby on RailsでGraphQLを使用している場合は、ジェネレーターを使用し…

ActiveRecordでpluckの代わりにselectを使ってサブクエリ化する

こんにちは!kossyです! さて、今回はActiveRecordのpluckではなくselectを使ってサブクエリを書いて、 一回のSQL発行でデータを取得する方法について、ブログに残してみたいと思います。 環境 Ruby 2.5.1 Rails 6.0.3.2 MacOS Catalina サブクエリとは 「…

Rspecで配列の値を検証するcontain_exactly

こんにちは!kossyです! さて、今回はRspecで配列の値を検証するcontain_exactlyの使い方を ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.2 rspec-rails 4.0.1 使い方 前提として、TenantモデルとUserモデル(自己参照付き)があるとして、…