rails

Rails 6.0.4 has been released

Rails 6.0.4 has been released | Riding Rails Rails6.0.4 がリリースされました。 これみて、あれ?なぜ6.0系だけなんだと疑問に思って少し調べてみました。 Action Packの変更点を見ると Release 6.0.4 · rails/rails · GitHub Accept base64_urlsafe CSR…

Rails versions 6.1.3.2, 6.0.3.7, 5.2.4.6, and 5.2.6 have been released!

日本はGW中なのにRailsのsecurity releaseがありました。 早めにリリースしておくのが良さそうです。 Rails versions 6.1.3.2, 6.0.3.7, 5.2.4.6, and 5.2.6 have been released! | Riding Rails ざっくり 該当のCVEは4つもあります。 [CVE-2021-22902] Poss…

Advent Calender Rankingを作ってみた

近年qiitaのAdvent Calendarほとんど見てなかったのですが、久しぶりに見ていたら、 少しfilterかけて見たいなぁと思い、scrapeしてhatena bookmarkの数を調べて、 一覧で出してみました。 Advent Calender Ranking https://advent-ranking.rochefort.dev/ …

Railsでの定数定義

これまでは、config/initializers 以下に定数用moduleを置いていました。 config/initializers ってアプリの初期化するためのが目的なので、微妙だなとはずっと思っていたのですが、 惰性でずっとこのようにしていました。 最近は 以下のようにしています。 …

Semantic UIをRails + Webpackerで使う

Semantic UI css frameworkで使ったことないものを利用してみようと思って、installしたら少し嵌ってしまったのでメモ。 ちなみに、当初はTailwind CSS を使ってみようと思ったのですが、こっちはどうも慣れないのとclassがhtmlにつきまくってメンテしづらそ…

(Rails)i18n-tasksのご紹介

昨日、RailsのSecurity UpdateがReleaseされました。 Rails 5.2.4.4 and 6.0.3.3 have been released | Riding Rails あまり影響がある人は少ないかもしれませんが、こちらで詳しく解説されてます。 Rails: セキュリティアップデート5.2.4.4と6.0.3.3がリリ…

Everyday Rails - RSpecによるRailsテスト入門 読了

Everyday Rails… Aaron Sumner 著 et al. [Leanpub PDF/iPad/Kindle] 結構昔に買って、積読状態でしたが、先ほど読み終えました。 仕事で久しぶりにRails触るということもあり、ちょっとずつ読み進めていました。 1章あたり、じっくり読んで写経しても1〜2時…

slim-lintが良い

最近仕事でよくslimを使うのですが、コードレビュー時に細かい指摘をするのがちょいちょいあって、なんとかならんかと調べてみたら sds/slim-lint: Configurable tool for analyzing Slim templates というrubygemがあり、これの出来がとても良かったのでご…

Rails Templateを使ってみる

最近なんか作ろうかと思ってから、作業開始するまでに寄り道してしまうことが多いような気がするので、開発効率上げるために、以前から利用してみたかったRails Templateを使ってみた。 公式 Rails アプリケーションのテンプレート - Railsガイド これ roche…

Rails6.0.3.2 has been released!

Rails 6.0.3.2 has been released! | Riding Rails security updateがreleaseされてました。 珍しい脆弱性だったのでご紹介。 急いであげる必要はないような脆弱性ですが、対応したい人は上げておきましょう。 内容 ここに書かれてます。 [CVE-2020-8185] Un…

Everyday Rails - RSpecによるRailsテスト入門 chapter9

最近、積読状態だった以下を読んでいます。 RSpec学ぶにはなかなか良い本だと思います。 9章の内容が良かったのでご紹介。 leanpub.com 9. 速くテストを書き、速いテストを書く aggregate_failures aggregate_failures を使えば、事前処理が同じようなitをま…

(rails)いつの間にかannotateが動かなくなっていた

ctran/annotate_models: Annotate Rails classes with schema and routes info こんな感じで、migrateのタイミングで自動的にモデル関連ファイルにannotate(コメント)を追加してくれるgemです。 これがいつの間にか動かなくなっていました。 # == Schema I…

Ruby on Rails 6 エンジニア養成読本 読了

最近RubyやRailsからは離れていたので、私にはおさらい含めて新しい機能を知れるちょうど良い内容でした。 個人的に良かった点 Rails6新機能 ActionText、Action Mailbox、zeitwerk(詳細ではないですが、触れられています)など概要知れて良いです。 Action…

Passenger5系でRailsのログローテートを行う

Railsのログローテト、Rails側でやるのか logrotated でやるのかというざっくり2パターンありますが、 個人的にはlogrotatedでやることが多いです。 久しぶりにPassengerを触ったので、最近のPassengerではどうするのが良いのだろうかと調べてみました。 公…

Bulmaのカスタマイズ方法 with Rails Webpacker

昨日作った Twitter Video Downloader で利用したBulmaについてです。 Bulma: a modern CSS framework based on Flexbox いいですよね。 bootstrapにしろCSSのFrameworkはゴリゴリCSS書くのがつらいエンジニアとしては、とても有り難いです。 Customize方法 …

Twitterの動画をダウンロードするWebサービスを作った

最近サッカーが好きでTwitterのTimelineに流れる動画をダウンロードしたくて、 色々調べているうちに勢い余ってWebサービス化してしまいました。 今、workドメインが1円なんですよねー。 twitter-video-downloader rails 5.1.4 bulma 0.6.1 (css framework) …

administrate のラベルを日本語化する

今日もthoughtbot/administrate tipsです。 default_locale を ja に変更すると、一部日本語化されますが、各columnのラベルはそのままです。 ちなみに、default の locales は以下。 administrate/config/locales at master · thoughtbot/administrate ソー…

Rails管理画面生成gem administrate でソート順を指定する

Dashboardのソート順を変更したいと思ったのですが、どうやらそれを設定するための機能は用意されていないようでした。 少し調べてみると、以下のissueで議論されていました。 Default order/sort of lists · Issue #442 · thoughtbot/administrate 対応方法…

acts-as-taggable-on のタグ件数に条件を追加する

acts-as-taggable-on を利用すると以下のように簡単にタグクラウドの実装が出来てしまいます。 mbleigh/acts-as-taggable-on: A tagging plugin for Rails applications that allows for custom tagging along dynamic contexts. <% tag_cloud(@tags, %w(css…

Rails の seed.rb に冪等性を持たせる

rake db:seed を何回やっても大丈夫なようにするには auto increment の管理が必要になります。 本番環境で何度も実行することは、ほぼあり得ないし、開発環境であれば直接DBをわさわさしちゃえば間に合うので、まともに実装する必要はないんでしょうが、少…

ActiveRecord::StatementInvalid: SQLite3::BusyException: database is locked

RailsでSQLite3 の lock timeout が発生したので少し調べて見ました。 (原因は複数transactionが発生してロックかかってただけです) まずは みんな大好きstackoverflow。 ruby on rails - SQLite3::BusyException - Stack Overflow 一時的な対策ではあるが…

Rails管理画面生成gem administrate を使ってみる

この手のものはrails_admin、Active Adminなどが有名ですが、 DSLを覚える必要があったり色々癖があって選択が難しいです。 どれを選ぼうか迷っていたら、thoughtbot/administrate というものを見つけました。 paperclip、factory_girlなどで有名な thoughtb…

Railsで配列の値を like or 検索する

like検索時に配列の値をorで簡単に複数検索できないものかと調べてみたら ReneB/activerecord-like というgemで実現できました。 How to use it 単一カラムでのlike words = %w(フロンターレ 中村憲剛) like_words = words.map{ |word| "%#{word}%" } puts P…

RailsでDBの値を暗号化する

DB保存時に個人情報的なやつは暗号化しておきたいという要望はよくあるかと思います。 今回はattr_encrypted というgemを利用してみました。 自前で実装するなら ActiveSupport::MessageEncryptor が利用できるようですのでこちらも少し試してみました。 ま…

WEB+DB PRESS Vol.94 Pumaについて

WEB+DB PRESS Vol.94作者: 藤原俊一郎,朽木拓,八木俊広,吉田太一郎,うらがみ,のざきひろふみ,うさみけんた,水嶋淳貴,佐々木健一,柴崎優季,前島真一,伊藤直也,遠藤雅伸,ひげぽん,海野弘成,はまちや2,竹原,WEB+DB PRESS編集部出版社/メーカー: 技術評論社発売…

WEB+DB PRESS Vol.93 Rails 5の特集が良い

WEB+DB Vol.93 WEB+DB PRESS Vol.93作者: 原田騎郎,吉羽龍太郎,松浦隼人,須藤涼介,生沼一公,森下雅章,前島真一,鍛治匠一,伊藤直也,のざきひろふみ,うらがみ,高山温,佐々木健一,わかめまさひろ,ひげぽん,遠藤雅伸,海野弘成,はまちや2,竹原,藤田正訓,WEB+DB PR…

ERBをHamlに置換する

手元のアプリでなんとなくERBを使っていたのですが、 Haml使いたくなったので、置換してみました。 dhl/erb2haml: Simple script to bulk covert ERB files in a Rails app to Haml 使い方 Gemfileに突っ込んでbundleすれば、以下のrakeタスクが実行できるよ…

webpack-rails を試してみる

Rails5.1ではWebpackが導入される - rochefort's blog で書いたように、Rails5.1 ではWebpackが導入されそうです。 DHHさんが言うことはだいたい正しいので、 これまで面倒そうだと毛嫌いしていたWebpackを試して見ることにしました。 最初に感想 Webpackを…

Rails5.1ではWebpackが導入される

ちょうど手元のRails アプリでsprockets捨ててみようかどうか調べていたところですが いよいよ公式にjQuery外してyarnとWebpack導入するという議論がされているようです。 これはなかなか大きい変更です。 超いいまとめ。 Rails5.1に向けてフロントエンド周…

logrotate.d のdebugモードがおかしい

Railsのログローテートは、Linuxのlogrotateで行う派なのですが、 久しぶりに設定してdebugモードで確認してみるとエラーが出て小一時間ほど嵌ってしまいました。 結果から言うと、logrotate のBugだそうです。 Bug #1320201 “behaviour in debug mode doesn…