Ruby関連のことを調べてみた

Ruby関連のことを調べてみた

[Rails7]application.bootstrap.scssの変更が反映されない

## 目的
Rails7でbin/devコマンドでサーバーを起動させた際に、エラーが起きたのでその解決方法を共有しつつ備忘録として残します。

## 開発環境
– rails 7.0.4.3
– ruby 3.1.2
– Bootstrap 5.3.3
– Popper.js 2.11.8

## 解決方法
#### 事の始まり
下記の記事を参考にRails7にBootstrap5を導入しました。

https://qiita.com/PJZ9n/items/03341f942c2c84713c99

無事bootstrapの導入が終わって動作確認をしていた際に、`application.bootstrap.scss`の変更がブラウザに反映されないことに気づきました。
これはおかしいと思って色々調べたり、試してみました。

#### Rails7では`bin/dev`を使う
投稿者は開発途中でrails6からrails7にアップデートしました。
アップデート後も`rails s`コマンドで何も問題なくサーバーが起動されていたので、そのまま`rails s`コマンド

元記事を表示

ActiveStorageを使用しての画像のリサイズがうまくいかない時

# はじめに
チーム開発が無事終了し、振り返りに躓いたところをアウトプットしています。
今回は正しくActiveStorageを導入し、リサイズの記述をしているはずなのに、リサイズされない現象が起きました。
解決方法をまとめています。

# ActiveStorageの導入手順
まずはじめに、ActiveStorageのインストールを行います。

“`
$ rails active_storage:install
“`

インストールが終わるとdb/migrateディレクトリ内にActiveStorageのマイグレーションファイルが追加されます。
これをmigrateします。

“`
$ rails db:migrate
“`

ActiveStorageを使用して画像表示をするためには、どのモデルで画像を使用するのか宣言する必要があります。
今回はItemモデルに記述していきます。

“`app/models/item.rb
class Item < ApplicationRecord has_one_attached :item_image end ``` これでA

元記事を表示

Microsoft Graph API を Ruby で操作してみる

タイトル通り、Microsoft Graph API を Ruby で操作してました。
パッと検索してもあまりわかりやすい情報が出てこなかったため、手順をメモ書きしておきます。

## 準備編

### 1. Microsoft Azure にサインイン

[Microsoft Azure](https://portal.azure.com/) にアクセスし、Microsoftアカウントでサインインします。

![スクリーンショット 2024-05-19 19.06.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/688854/45201e0a-e8ef-d2ff-de8d-b791a6774bf6.png)

### 2. アプリを作成

サインインに成功したら、[アプリの登録](https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade) からアプリを新規作成します。

![スクリーンショッ

元記事を表示

特定のリポジトリのIssueを全てクローズするスクリプト

GitHubでまとめてIssueを閉じたりする場合、数が少ないなら手動でポチポチ行えば良いです。
ただ、Issueが数百ある場合は面倒なので工夫をしたいです。
今回使われなくなった社内のリポジトリをアーカイブする作業があり、その前にIssueを全て閉じる作業を行うためのスクリプトを作成してみました。

https://github.com/Umekawa/issue_closer

## アクセストークンの準備

まずスクリプトなどを利用してGitHubの操作を行う場合、アクセストークンを発行する必要があります。
GitHubにアクセス・ログインし、今回は右上の自分のアイコンをクリック -> `Settings` -> `Developer Settings` -> `Personal access tokens` -> `Fine-grained tokens` と辿っていきます。
`Fine-grained personal access tokens`のページに到達したら、`Generate new token`をクリックし、トークンの作成画面にジャンプします。

トークンの作成

元記事を表示

[Rails7] Popper.js Popper__namespace.createPopper is not a function エラー解決方法

## 目的
Rails7で後からbootstrap5を導入しました。
その際にPopper.jsのエラーにハマったのですが無事解決でき、記事が少なかったので備忘録として投稿します。

## 開発環境
– rails 7.0.4.3
– ruby 3.1.2
– Bootstrap 5.3.3
– Popper.js 2.11.8

## Bootstrap5導入方法
rails7で後からBootstrap5の導入をしたい方はこちらを参考にしてください。

https://qiita.com/PJZ9n/items/03341f942c2c84713c99

投稿者はこの記事を参考にしてBootstrap5を導入する途中でPopper.jsのエラーにハマりました。

## エラー内容
ブラウザでBootstrapのjavascriptで動く部分の動作確認をしていたら、下の写真のようなエラーに遭遇しました。

エラー名:`Popper__namespace.createPopper is not a function`

![スクリーンショット 2024-05

元記事を表示

Redmineのバージョンをrequireせずに読み取る

とある処理を書いていて、Redmineのバージョンを知りたいな〜と思うタイミングがありました。

しかしRedmineの`version.rb`はsubversionの処理への依存関係を持っており、なんかrequireしたくないなーという感じでした。

https://github.com/redmine/redmine/blob/6a4abab8ce00b5b0cb6e0a161bfedf3366393308/lib/redmine/version.rb
“`rb
require ‘redmine/scm/adapters/subversion_adapter’
“`

そこでパースして読み取ってみることにしました。

## Prism

まずはPrismを使ってみました。Ruby 3.3.0以上にはバンドルされていますが、それ以前のRubyでは自分でgem installする必要があります。

“`rb
require ‘prism’

class MyVisitor < Prism::Visitor def initialize @version_hash =

元記事を表示

rbenv versionで指定Versionが変更しても、ruby -vでVersionが変更されていない

# サマリ
Ubuntu22.04LTS にはRubyがプリインストールされていますが、後からインストールしたbenvとrubyとのバージョンに齟齬が発生しました。
どうやらMacOSとかでもこういう現象がままあるようです。
“`
~$ rbenv local 3.2.3
~$ ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-linux-gnu]
“`

# 環境
WSL2(windows11)
Ubuntu22.04LTS

# 原因
ちゃんとrbenvのREADMEに書いてありました。穴があったら入りたい。

https://github.com/rbenv/rbenv?tab=readme-ov-file#installation

要はrbenvが環境変数を利用するために必要な設定が抜けてました。
rbenvが管理するRubyのバージョンを適切に切り替えるためのコマンドを通すためのパスが通ってなかったことになります。

# 対策
rbenvが参照にしているユーザー設定ファイルを確認します。

元記事を表示

現場で使える ruby on rails 5速習実践ガイド を読んでみて

# はじめに
現場で使える Ruby on Rails 5速習実践ガイドを読んでみて感じたこと、調べてみたことにまとめました
# 良かったところ
* Railsでかかれているアプリケーションの構築方法だけでなく、どうやって動いているかまで詳しく説明されていて良かった
* テストの重要性やチーム開発の流れについて書かれており、実際に実務をイメージすることができる内容でした
* コードのリファクタリングや共通化に関してもわかりやすく書かれていた
# 学んだこと
### rails7 でのセットアップ
本書はrails5での書き方をされているため、現在(2024/05)使われているrails7での書き方に直す必要がありました
今回は、Dockerでの構築でのセットアップを紹介しようと思います
本書で学ぶ際にセットアップで悩んでいる方がいらっしゃれば、
参考にしていただけると幸いです

dockerでの構築で参考にさせていただいたのは、
Udemyで講座を配信しておられる
かめれおん さんの`米国AI開発者がゼロから教えるDocker講座`です

https://www.udemy.com/c

元記事を表示

GopherからみたRubyKaigi 【学生支援 by pixiv】

# はじめに
どうもKizukuです。
今回は[pixiv](https://www.pixiv.net/)様の学生支援を受けて[RubyKaigi2024](https://rubykaigi.org/2024/)に参加してきたので、その内容について記事にしたいと思います。
僕は普段Goを書いており、Rubyに関しては初心者であるため、RubyKaigiの詳しいセッションの内容や発展的な感想等は含まれません。あらかじめご了承ください。

今回の僕のRubyKaigiに参加する目的はこちら
– Rubyistとのつながりを作る
– 僕は今まで様々なカンファレンスやイベントに参加してきましたが、Ruby関連のイベントにはほとんど参加したことがなくRubyistとのつながりがほとんどなかったため、RubyKaigi本編やアフターイベントなどを通じて様々な方と繋がれたらいいなと思いました
– OSS活動をしている方のセッションやお話を聞いて熱量を知る
– RubyKaigiはRubyを”使う”人ではなく、Rubyを”作る”人のカンファレンスで、Rubyそのものや関連ライブラリ

元記事を表示

【Rails × AmazonS3】 RailsアプリでAmazonS3を利用し、本番環境に画像をアップロードする

# はじめに
はじめまして、ずっと大地と申します。
2023年11月より、オンラインスクールのRUNTEQにて、未経験からのWebエンジニア転職を目指して学習をしています。
初学者のうえ、記事を書くのは初めてです。
記述漏れや作成ファイルの記載忘れなど、不備があるかもしれないので、間違いなどあれば教えて頂けたらと幸いです。
また、人によって環境の違いがあるかと思うので、あくまでも私自身の環境で、記事投稿時の記録ということをお許しください。

# 概要
アプリ開発にて実装した、`Amazon S3`での本番環境の画像アップロードについて、設定が多く難しいと感じたので、記事にしたいと思います。
`CarrierWave`を導入済み、`AWS`に`rootユーザー`、`IAMユーザー`としてログインできる状態を前提とします。

https://aws.amazon.com/jp/register-flow/

# 環境
Ruby 3.2.3
Rails 7.1.3.2
CarrierWave
Amazon S3
Render.com

# 手順

### rootユーザーとしてサインイン

元記事を表示

RubyKaigi2024に参加しました!

# はじめに
ハイサイ! 楽天ラクマでサーバーサイドエンジニアをしている[ななな](https://x.com/na8Ka23_09)と申します! 今年でエンジニア生活3年目です!
今回、人生初のRubyKaigiに参加してきました!(沖縄!:island:)
本記事では実際に参加したセッションをいくつかピックアップして振り返りをしていきたいと思います。(何か間違いがあれば是非教えていただけると:bow:)

↑那覇空港にも案内がありました!うれしい!!

# いくつかセッションをピックアップ
## An adventure of Happy Eyeballs
https://rubykaigi.org/2024/presentations/coe401_.html#day1

スライド: https:/

元記事を表示

irb の TypeCompletor を Windows でも試してみる

RubyKaigi 2024 の[Writing Weird Code @tompng](https://drive.google.com/file/d/1Dkx15u_5UAGoFqJHCeAuj2FXS-z_U7EE/view) や [Exploring Reline @ima1zumi](https://speakerdeck.com/ima1zumi/exploring-reline-enhancing-command-line-usability) で紹介されている新しい irb の補完機能がよさそうなので手元でもインストールしてみた。

# Ruby 3.3 のインストール
3.2 でも gem update irb とかすれば動くらしいけどせっかくなので Ruby 3.3 を入れる。

https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-3.3.1-1/rubyinstaller-devkit-3.3.1-1-x64.exe をダウンロード&インストール。
Ruby 本体は

元記事を表示

ランダムな画面遷移(2パターン)

## はじめに
 今月の頭に小さなアプリを作ってみようと思い立ち、その中でランダムな画面遷移機能の実装に挑戦しました。

この時に作成したアプリはこちら
(2024年7月末まで稼働予定)

https://tomi-meisei.onrender.com/

## 環境
ruby 3.2.2

rails 7.1.3.2

Render

MacBook

## 付けたい機能
 「指定のリンクをクリックすると、その時々で異なる結果のページを表示させる」

これを実装するために今回は2種類の方法を取ってみました。

## 方法1
データベースに保存された値をランダムに表示させる方法

**ランダムに表示したいデータベース作成**

`rails g model randam_rogers`
(※randamの綴りが間違えていますがご了承ください)

“`ruby
class CreateRandamRogers < ActiveRecord::Migration[7.1] def change create_table :randam_rogers do |t|

元記事を表示

ruby練習

今回は簡単なプログラムを作ってメソッドや配列を使う練習をしたものを言語化して整理します。
#### 仕様
アプリケーションを起動すると
##### [1] : 書籍を登録する, [2] : 書籍情報を確認する, [3] : アプリケーションを終了する
という選択肢を表示し、ユーザーに入力を求め、その入力に従い以下の処理を行う。
アプリケーションを終了するまで、処理を繰り返す。

#### [1]の処理
名前、著者名、ジャンル、ページ数を入力させ、保存する
#### [2]の処理
登録された書籍情報から番号と名前で一覧を表示し(例 [1]ハリーポッター)、見たい書籍の番号の入力を求める。
入力された書籍の名前、著者名、ジャンル、ページ数を表示する。
#### [3]の処理
アプリケーションを終了する

“`ruby:雛形
def registration_book
# 書籍の名前、著者名、ジャンル、ページ数を登録できるようにしなさい
book = {}
puts ‘書籍名を入力してください’
puts ‘著者名を入力してください’
puts ‘ジャンルを入力してく

元記事を表示

[ruby]インスタンス変数とクラス間での引き渡し

今回はrubyのインスタンス変数とクラス間での引き渡しについて。
今もよく躓くところだが、理解できた部分をアウトプットしていく!

## `initialize`メソッドとインスタンス変数に関して

“`diff ruby
class Item
attr_accessor :name, :price

def initialize(name, price)
@name = name
@price = price
end

def display
puts “#{@name}の値段は#{@price}です”
end

end

item01 = Item.new(“バナナ”, 150)
item01.display
“`
上記コード、`item01.display`の実行結果「`バナナの値段は150です`」が出力されるまで。

ここでは`initialize`メソッドとインスタンス変数に関して。

`item01 = Item.new(“バナナ”, 15

元記事を表示

大文字、小文字を区別して変換するプログラム

大文字、小文字を区別して変換するプログラミング課題です。

>問題
>あなたは、とある会社で文字列の校正を行う仕事をしています。
>
>校正ルール表と校正ルールに則って、校正を行います。
>校正ルール表は以下の条件を満たす、長さ 26 の文字列です。
>
>・i 番目の文字は英字アルファベット順で i 番目の文字の大文字または小文字
>
>校正ルールは以下のとおりです。
>
>・校正する文章に登場する全ての英字アルファベットについて、校正ルール表に書かれた英字アルファベットと 大文字/小文字 が一致するように書き換える
>
>校正ルール表および校正前の文字列が与えられるので、校正ルールに従って校正を行った後の文字列を出力するプログラムを作成してください。

という問題です。
Rubyで実装しました。

“`Ruby
str1 = gets.chomp
str2 = gets.chomp
array1 = str1.split(“”)
array2 = str2.split(“”)
num1 = array1.length
num2 = array2.length
ans = “”

元記事を表示

Ruby(Rails)で使える省略記法

# Ruby on Railsで使える省略記法

RubyやRailsのコーディングをする際、省略記法を使うとコードが簡潔になり、読みやすさが向上します。特にリファクタリング時やシンプルな処理を記述する際に役立ちます。

### if/unless文を1行で書く方法(後置if)

通常のif文やunless文は複数行にわたることが多いですが、簡単な条件、処理であれば1行で書くことができます。

**通常のif文:**
“`ruby
point = 7
day = 2
if day == 2
point += 10
end
point # => 17
“`
**1行のif文:**
“`ruby
point = 7
day = 2
point += 10 if day == 2
point # => 17
“`
### 三項演算子(条件演算子)

三項演算子を使うと、シンプルな条件分岐を1行で書くことができます。基本的な構文は次の通りです。

“`ruby
result = condition ? true_value : false_value
“`
**例:**
“`

元記事を表示

Rails7 Devise パスワードリセット機能

### はじめに
はじめまして、初学者からプログラミング学習中のErikaと申します🐣
今回個人開発をしていて、Devise導入済みのRailsアプリケーションでのパスワードリセット機能実装で手こずったので記録として残します。

:::note warn
この記事は初学者が執筆したものであり、誤りが含まれている可能性があります。もし誤りがあれば、コメントなどでご指摘いただけると助かります🙇‍♀️
:::

### 開発環境
Rails 7.1.3.3
ruby 3.2.2

### 前提条件
Deviseが導入済み
Userモデル作成済み
.env導入済み

### ルーティングの確認
コメントの部分を足します。
“`ruby:routes.rb
Rails.application.routes.draw do
devise_for :users, controllers: {
sessions: ‘users/sessions’,
registrations: ‘users/registrations’,

元記事を表示

RubyKaigi2024参加レポート

こんにちわ
楽天ラクマでエンジニアをしているHayashiです

先日、沖縄で開催されたRubyKaigiに初めて参加してきましたのでそのレポートをお届けします

## 那覇市
![1000001435.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798068/ccdfe42a-6fbd-d61a-15bc-4dadc40f569f.jpeg)

2024年のRubyKaigiは沖縄の那覇市で5月15日-17日の日程で開催されました
上の写真の建物は那覇市役所ですが、全体から醸し出す最終兵器感がたまりません
いざというときにはトランスフォームして戦ってくれる様な気が致しました

## 沖縄の会場
![1000001428.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798068/3cb92e55-9320-40d8-8e2b-01515b6c6429.jpeg)

会場は「那覇文化芸術劇場 なはーと」という建物を

元記事を表示

Linux Ruby3.3.1インストール完全に理解した(rbenv)

# 環境

H/W : HP ENVY x360 Convertible 13-ar0xxx(CPU:Ryzen7 3700U Mem:16GB)
OS : Linux(Debian12 bookworm on WSL2)
Host OS : Windows11 Home 23H2

# はじめに

何度やってもRubyをすんなりインストールできないヘタレが完全に理解したので投稿します。

# 参考URL
**今回インストール作業で参考にしたサイト(Qiita)**
[Debianシステム全体にrbenvを導入する](https://qiita.com/OverZenith/items/402521c31d00c560f54e)
[DebianにRubyを入れる方法](https://qiita.com/mikihit0/items/48793c2b96e6a6eb8444)
[rbenvでRubyをインストール](https://qiita.com/abgata20000/items/8bfd25d76692063cc012)

**Macbook AirにrbenvでRubyを導

元記事を表示

OTHERカテゴリの最新記事