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

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

【Ruby】between?でtime.zoneを範囲指定として渡す際の注意点

Rubyの`between?()`の返り値が想定と違かった原因をメモ。

“`Ruby:
now = Time.zone.now
start_time = Time.zone.parse(“2024/07/01 12:00”)
end_time = Time.zone.parse(“2024/07/31 23:59”)

if now.between?(start_time, end_time)
~…
end
“`
データとしてはこんな感じ。
`now`が`2024/07/31 23:59`になったと仮定して動作を確認していたら
条件がfalseになってif文に入らなかった。
## 原因
`end_time`をparseしたときに秒数を指定していないので、
`now`が`23:59:00`以降になると分岐条件がfalseになってif文に入らない。
## 解決策
終了時刻は秒数を指定する。
“`Ruby:
end_time = Time.zone.parse(“2024/07/31 23:59”)

end_time = Time.zone.parse(“2024/07/

元記事を表示

【オブジェクト指向】デザインパターンについて

## デザインパターンとは
JavaやRubyなどオブジェクト指向言語において、よく使われる設計をパターン化したものです。
これを用いることでプログラムが再利用しやすくなり、読みやすいものとなります。

## デザインパターンの種類
「GoF」のデザインパターンがあり、全23種の設計パターンに分けられており、大カテゴリーに分けると
「生産」「構造」「振る舞い」の3つに分けることができます。

+ 生産
+ [Abstract Factory](#abstract-factory)
+ [Builder](#builder)
+ [Factory Method](#factory-method)
+ [Prototype](#prototype)
+ [Singleton](#singleton)
+ 構造
+ [Adapter](#adapter)
+ [Bridge](#bridge)
+ [Composite](#composite)
+ [Decorator](#decorator)
+ [Facade](#facade)
+ [F

元記事を表示

[Rails] 単一ファイルのRailsアプリケーションを作ってみた

# はじめに

週刊Railsウォッチ: Ruby on Jets 6.0がRailsをサポートほか(20240620後編)

上記の記事で、気になる箇所がありました。

**1ファイルで動くRailsアプリケーションを作った**

これを見た時の自分は、「え?そんなことできるの?」と思いました。

https://greg.molnar.io/blog/a-single-file-rails-application/

上記記事の記載があったので、参考にして自分も作ってみました。
その内容をアウトプットいたします。

# 実装
## 環境
– Ruby:3.2.2

お好きなディレクトリで、`app.ru`を作成します。

“`rb:app.ru
# frozen_string_literal: true
require ‘bundler/inline’

gemfile(true) do
source ‘https://rubygems.org’

gem ‘rails’, ‘7.0.4’
gem ‘sqlite3’, ‘~> 1.4’
gem ‘puma’
en

元記事を表示

RubyKaigi2024初参加者レポート

初めまして、Qiitaに初投稿させていただきます。株式会社キネカでWebエンジニアをやらせていただております。nikeです。
## はじめに
今回初めて、弊社のメンバーとRubyKaigiに参加させていただいたので、振り返りも兼ねてレポートとしてまとめます。恥ずかしながら技術的な内容は私の力不足もあり、ほとんどできませんが、今後初めてRubyKaigiに参加する人の参考になればなと思い書かせていただきます。

https://rubykaigi.org/2024/
## 事前に準備したこと
#### Rubyコミッターの松田明さんによる「初心者のための RubyKaigi 入門 」
私が技術カンファレンス自体の参加が初めてなこともあり、かなり不安だったのですが、こちらを一読してからRubyKaigiにかなり臨みやすくなったなと感じています。私と同じようにRubyKaigi初参加を考えてる方是非!
RubyKaigi自体の目的、参加者の心構え、に関してかなり簡潔にまとめてくださっています。

https://speakerdeck.com/a_matsuda/rubykaigi-int

元記事を表示

RubyXLで利用できる罫線の種類を調べる

## 環境
Ubuntu 20.4
Ruby 2.6
Rails 5.2

## はじめに

Excelファイルに対し、読み取りと書き込みの両方ができる、RubyXLというgemがあります。このgemのchange_borderメソッドを利用して、Excelのセルに罫線を引くことができます。このメソッドで使うことができる、パラメータと罫線の種類について調べてみました。

## change_borderの使い方

change_borderの使い方は公式サイトを見れば載っています。

公式サイト
https://github.com/weshatheleopard/rubyXL?tab=readme-ov-file#changing-borders-

“`
# Possible weights: hairline, thin, medium, thick
# Possible “directions”: top, bottom, left, right, diagonal
worksheet.sheet_data[0][0].change_border(:top, ‘thin’)

元記事を表示

erbからslimに変換する際の`File.exists?` メソッド使用についての解決方法

# はじめに

erbからslimに変換しようとしてエラーで詰まって調べてあまり有用な記事がなかったため
作成することにします(自分見直し用でもあります!)

# 起きたこと

dockerコンテナ内で

“`bash
erb2slim app/views/users/ app/views/users/ -d
“`
をしてapp/views/users/内のerbファイルを一括でslimファイルに変換しようとしたところ
“`
NoMethodError: undefined method `exists?’ for File:Class
Use –trace for backtrace.
“`
とエラーが出て、できなかったので
“`bash
erb2slim app/views/users/ app/views/users/ -d –trace
“`
–traceオプションをつけてエラーが起きているファイルを特定したところ
“`
/usr/local/bundle/gems/html2slim-0.2.0/lib/html2slim/converter.rb:1

元記事を表示

【2024年6月】Rails7をWindows上で環境構築する方法

「Railsをインストールできない」

RailsはWebアプリ開発フレームワークで初心者にもわかりやすいと言われます。

しかし、環境構築で挫折する人が多いのも現状です。

今回はRailsをWindows11で開発できるセットアップを行います。

せっかく始めるのに、何もできないまま終わりたくないですよね。

動画でサポートしていきます。

YouTubeを活用してぜひ始めてみてください。

結論は、WSL2を使いましょう。

# YouTubeでの解説-2024年6月24日投稿