こんにちは!kossyです! さて、今回はページネーション機能を実現するRubyのGemである「kaminari」のソースコードを読んでみたので、 ブログに残してみたいと思います。github.com 環境 Ruby 2.6.6 Rails 6.0.3 MacOS catalina kaminariとは 偉大なる本家リ…
こんにちは!kossyです! さて、今回はdependabotのconfig.ymlの内容を精査するサイトを見つけたので、ブログに残してみたいと思います。 間違いを指摘してくれる dependabot.com上記のサイトでconfig.ymlの内容を精査してくれます。 version: 1 update_conf…
こんにちは!kossyです! さて、今回はRailsでMySQLを使う時にuuidにデフォルト値を入れる方法についてブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3 MySQL 5.7系 moduleの作成 PostgreSQLの場合だとuuid型のカラムが存在しているのですが…
こんにちは!kossyです! さて、今回はPostgreSQLで遭遇する、PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list の解消方法について、 ブログに残してみたいと思います。 環境 PostgreSQL 12系 実…
こんにちは!kossyです! さて、今回はRailsでunionを使って複数テーブルに跨がるORDER BY を実現する方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.6 POstgreSQL 12系 MacOS Catalina 実装 抽象化した例文が以下かなと。 sc…
こんにちは!kossyです! さて、今回はRubyでCSVを操作するときに指定できるskip_blankオプションについて、ブログに残してみたいと思います。 環境 Ruby 2.6.7 Rails 6.0.3.6 MacOS Catalina 使い方 まずはドキュメントを確認します。 docs.ruby-lang.org …
こんにちは!kossyです! さて、今回は、スプレッドシートを操作できるGem「google-api-client」を使って、 RailsのDBのデータをスプレッドシートに出力する方法について ブログに残してみたいと思います。 google-api-clientの設定 スプレッドシートを操作…
こんにちは!kossyです! さて、今回はdevise-securityのpassword_expirableのソースコードを読んでみたので、 ブログに残してみたいと思います。 環境 devise-security 0.15.0 コメントアウト部分の翻訳 まずはコメントアウト部分を読んでみます。 Password…
こんにちは!kossyです! さて、今回はdeviseのextensionであるdevise-securityを使ってみましたので、使い方をブログに残してみたいと思います。 なお、devise_token_authを用いてToken認証をしていることを前提とします。 環境 Ruby 2.6.6 Rails 6.0.3.6 d…
こんにちは!kossyです! さて、今回はVue.js & TypeScriptでのRouterGuardの実装手順をブログに残してみたいと思います。なお、今回はRails APIモードでdevise_token_authを使ってtoken認証を行っていて、VueRouterの導入は済んでいることを前提として書か…
こんにちは!kossyです! さて、今回はRails6 API + Vue.js3 + TypeScript で画像アップロード機能の実装手順をブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.4 Docker for Mac Vue 3.0.5 Vue CLI 4.5.9 TypeScript 3.9.7 なお、既にRailsA…
こんにちは!kossyです! さて、今回はRailsのActiveSupportのメソッドであるin_time_zoneメソッドの処理の中身を見てみたので、 ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.4 Docker for Mac メソッドの定義位置を確認 まずはsource_lo…
こんにちは!kossyです! さて、今回は開発環境にdockerを使っている場合のrails-erdのセッティング方法について、 ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.5 rails-erd 1.6.1 ruby-graphviz docker desktop 2.3.6 docker-compose 1.…
こんにちは!kossyです! さて、今回はRails6のHostのホワイトリスト機能の使い方について、ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.5 Docker for Mac Hostのホワイトリスト機能とは? Hostのホワイトリスト機能が入ったPRgithub.com…
こんにちは!kossyです! さて、今回はアップロードされたファイルの中身をチェックできるGem 「marcel」の使い方について、 ブログに残してみたいと思います。 GitHub - basecamp/marcel: Find the mime type of files, examining file, filename and decla…
こんにちは!kossyです! さて、今回はRailsでメソッドの定義場所を調べる方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 5.2.4 Docker for mac ActionView::Base#renderの定義場所を調べる 諸事情あってActionView::Base#renderの…
こんにちは!kossyです! さて、今回はRailsでSQL直書きでCASE文を書いてみたので、ブログに残してみたいと思います。 環境 Rails 6.0.3.4 Ruby 2.6.6 PostgeSQL 12 Docker For Mac 前提 以前書いた拙著のテーブル構成を例にとります。kossy-web-engineer.ha…
こんにちは!kossyです! さて、今回はgraphql-batchのthenメソッドを使って、loadしたobjectに処理を加える方法について、 ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 graphql-batch 0.4.3 方法 post has_many commen…
こんにちは!kossyです! さて、今回はgraphql-rubyでmethodオプションを使ってmodelに定義したメソッドをfieldにする方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 方法 Userモデルがあるとして、以下のメ…
こんにちは!kossyです! さて、今回はgraphql-rubyでinterfaceを定義する方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 created_atとupdated_atをinterface化する ジェネレータを使ってGraphQLのセットア…
こんにちは!kossyです! さて、今回はgraphql-rubyでカラムの値をよしなに加工して返す方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.3 Rails 6.0.3.4 graphql 1.11.6 graphql-batch 0.4.3 Typeファイル内にfield名と同じ名前の変数を定義…
こんにちは!kossyです! さて、今回はRailsでpostgreSQLのrank関数SQLを直叩きしてランキングをつける方法について、 ブログに残してみたいと思います。 環境 Rails 6.0.3.4 Ruby 2.6.6 MacOS Catalina 事前準備 例として社員の売り上げを管理するようなテ…
こんにちは!kossyです! さて、今回は、Cannot create the snapshot because a snapshot with the identifier db_name already exists. エラーに遭遇したので、 備忘録としてブログに残してみたいと思います。 スナップショット名の識別子が既に存在してい…
こんにちは!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…
こんにちは!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のボイラープレート…
こんにちは!kossyです! さて、今回はRspecでテストを実行する際に、RuntimeError: Circular dependency detected while autoloading constantが出た場合の対処法をブログに残してみたいと思います。 環境 Ruby 2.6.5 Rails 5.1.7 Docker for Desktop 原因 …
こんにちは!kossyです! さて、今回はVue.jsで環境変数を扱う時に、VUE_APPを付与し忘れて10分ほどハマってしまったので、 備忘録としてブログに残してみたいと思います。 環境 vue/cli 4.5.9 vue 3.0.4 node 14.15.0 npm 6.14.8 事象 .envファイルに以下の…
こんにちは!kossyです! さて、今回はRailsのvalidationで値が空であることを検証する absence: trueの使い方について、 ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.4 MacOS catalina まずはドキュメントを読んで使い方を把握しよう 2.…
こんにちは!kossyです! さて、今回はRailsでvalidationを行う際のwith_optionsの使い方について、ブログに残してみたいと思います! 環境 Ruby 2.6.6 Rails 6.0.3.4 MacOS catalina Documentを読んで使い方を学ぶ まずはドキュメントを読んでみましょう。 …
こんにちは!kossyです! さて、今回はAWS CLI の aws configure コマンドで設定したcredentials情報が反映されない問題に遭遇したので、 解決した方法をブログに残してみたいと思います。 環境 aws-cli/2.1.15 Python/3.9.1 Darwin/19.6.0 事象 以下のコマ…