2021-04-01から1ヶ月間の記事一覧

ページネーションを行うGem「kaminari」のソースコードを読んでみた

こんにちは!kossyです! さて、今回はページネーション機能を実現するRubyのGemである「kaminari」のソースコードを読んでみたので、 ブログに残してみたいと思います。github.com 環境 Ruby 2.6.6 Rails 6.0.3 MacOS catalina kaminariとは 偉大なる本家リ…

dependabotのconfig.ymlの内容を精査する

こんにちは!kossyです! さて、今回はdependabotのconfig.ymlの内容を精査するサイトを見つけたので、ブログに残してみたいと思います。 間違いを指摘してくれる dependabot.com上記のサイトでconfig.ymlの内容を精査してくれます。 version: 1 update_conf…

RailsでMySQLを使う時にuuidにデフォルト値を入れたい

こんにちは!kossyです! さて、今回はRailsでMySQLを使う時にuuidにデフォルト値を入れる方法についてブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3 MySQL 5.7系 moduleの作成 PostgreSQLの場合だとuuid型のカラムが存在しているのですが…

PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list の解消

こんにちは!kossyです! さて、今回はPostgreSQLで遭遇する、PG::InvalidColumnReference: ERROR: for SELECT DISTINCT, ORDER BY expressions must appear in select list の解消方法について、 ブログに残してみたいと思います。 環境 PostgreSQL 12系 実…

RailsでunionとCASE文を使って複雑なORDER BY を実現する

こんにちは!kossyです! さて、今回はRailsでunionを使って複数テーブルに跨がるORDER BY を実現する方法について、ブログに残してみたいと思います。 環境 Ruby 2.6.6 Rails 6.0.3.6 POstgreSQL 12系 MacOS Catalina 実装 抽象化した例文が以下かなと。 sc…

RubyでCSVを操作するときに空行を読み飛ばすことができるskip_blankオプションについて

こんにちは!kossyです! さて、今回はRubyでCSVを操作するときに指定できるskip_blankオプションについて、ブログに残してみたいと思います。 環境 Ruby 2.6.7 Rails 6.0.3.6 MacOS Catalina 使い方 まずはドキュメントを確認します。 docs.ruby-lang.org …

google-api-clientを使ってRailsのDBのデータをスプレッドシートに出力してみた

こんにちは!kossyです! さて、今回は、スプレッドシートを操作できるGem「google-api-client」を使って、 RailsのDBのデータをスプレッドシートに出力する方法について ブログに残してみたいと思います。 google-api-clientの設定 スプレッドシートを操作…

devise-securityのpassword_expirableのコードを読む

こんにちは!kossyです! さて、今回はdevise-securityのpassword_expirableのソースコードを読んでみたので、 ブログに残してみたいと思います。 環境 devise-security 0.15.0 コメントアウト部分の翻訳 まずはコメントアウト部分を読んでみます。 Password…

devise-securityのpassword_expirableを使ってみる

こんにちは!kossyです! さて、今回はdeviseのextensionであるdevise-securityを使ってみましたので、使い方をブログに残してみたいと思います。 なお、devise_token_authを用いてToken認証をしていることを前提とします。 環境 Ruby 2.6.6 Rails 6.0.3.6 d…