Ruby関連のことを調べてみた2022年12月08日

Ruby関連のことを調べてみた2022年12月08日

Railsの自動読み込みにオリジナルの変換処理を追加する

この記事は [CAMPFIRE Advent Calendar 2022](https://qiita.com/advent-calendar/2022/campfire) 8日目の記事です。

アドベントカレンダー参加という良い機会に、ふと気になったRailsの自動読み込み(autoload)について調べてみました。

# 前提
以下の環境で検証しています
– OS: macOS
– Rubyバージョン: 2.7.6
– Railsバージョン: 7.0.4
– Railsオートローダ: Zeitwerk

また、[Railsガイド](https://railsguides.jp/autoloading_and_reloading_constants.html) の表現に基づき`autoload`を「自動読み込み」として称しています

# Railsの自動読み込み(オートロード)
Rail で利用されているオートローダはRails6以降のバージョンで変更され現在は[Zeitwerk](https://github.com/fxn/zeitwerk)というgemに任されています

Ra

元記事を表示

飲食店検索サイトの情報をとってきてみよう -Retty編-

## 概要
飲食店検索サイトの情報をとってきてみようシリーズ
続いてはRetty

## 言語/ライブラリ
– ruby
– nokogiri

HTML情報を取得する部分には今回は`open-uri`を採用している。

## コード
つべこべ言わずにまずはコードの紹介
“`rb
require ‘uri’
require ‘nokogiri’
require ‘kconv’
require ‘open-uri’
require ‘yaml’

area = URI.encode_www_form_component(“東京”)
keyword = URI.encode_www_form_component(“居酒屋”)
file = URI.open(“https://retty.me/restaurant-search/search-result/?latlng=35.466195%2C139.622704&free_word_area=#{area}&free_word_category=#{keyword}”)

doc = Nokogiri::HTML.parse(file

元記事を表示

Rails concern

## Rails concernとは
Railsでアプリケーションを作ると、“`controllers/concerns“`, “`models/concerns“`が自動的に生成されますがこのディレクトリを使ったことはありますか? 僕はないです。

調べてみたところ、主に
– “`共通ロジックを持つときにconcernに切り出す“`
– “`そのmodelやcontrollerとは異なるロジックである場合に切り出す“`

の2つの使い方があるのかなと思いました。

例として、メールの送信ロジックなどをあげることができます。

特定の条件(投稿数が100に達する、フォロワーが100人に達するなど)を満たした時に、メールを送信するというロジックは、複数のモデルに適用することができますし、モデルロジックとは少し異なるロジックであると考えることができます。
このような時にmoduleとしてconcernに切り出します。
切り出されたmoduleは必要とするmodelでincludeすることによって使うことができます。

## 使い方
concernの使い方としては2つあります

元記事を表示

Turbo 7: アプリケーションにTurboをインストール

:::note
この記事は[Google翻訳](https://translate.google.co.jp/)の結果を編集したものです。
:::

https://turbo.hotwired.dev/handbook/installing

Turboは、アプリケーションの``で直接Turbo配布可能スクリプトを参照するか、Webpackなどのバンドラーを介してnpmを介してコンパイルされた形式でインストールできます。

# コンパイルされた形式で

配布可能な最新のスクリプトをGitHubリリースページからダウンロードして、ページの`