ActiveSupport::Testing::TimeHelpers の travel_to を使って日時を固定するテストで、 それ以降に実行する他のテストでも日時が固定されたままになっている現象に遭遇した。 # foo_spec.rb describe 'foo' do before { travel_to(Time.zone.now) } # ... end # bar_spec.rb describe 'bar' do # 日時が固定されたまま end
ActiveSupport::Testing::TimeHelpers の travel_to を使って日時を固定するテストで、 それ以降に実行する他のテストでも日時が固定されたままになっている現象に遭遇した。 # foo_spec.rb describe 'foo' do before { travel_to(Time.zone.now) } # ... end # bar_spec.rb describe 'bar' do # 日時が固定されたまま end
Rails concerns have received much criticism over the years. Are they the solution to all the problems or something to avoid at all costs? I think a problem with concerns is that you can use them however you want, so no surprise you can shoot yourself in the foot when doing it. After all, concerns are just Ruby mixins with some syntax sugar to remove common boilerplate code. 37signals has years of
September 18, 2022 Code I like (II): Fractal journeys Fractal is about similar patterns recurring at progressively smaller scales. To me, good code is a fractal: you observe the same qualities repeated at different levels of abstraction. This is not surprising. Good code is the one that is easy to understand, and the best mechanism we have to deal with complexity is building abstractions. These in
June 13, 2022 Code I like (I): Domain-driven boldness One of the first things I did when I started working at 37signals almost three years ago was cloning the git repo for Basecamp. I poked around and ended up at this method: module Person::Tombstonable ... def decease case when deceasable? erect_tombstone remove_administratorships remove_accesses_later self when deceased? nil else raise ArgumentE
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 3行まとめ MRSKは「コンテナ時代のCapistrano(Capistrano for Containers)」的なデプロイツール。すごくDHHぽい。 $5くらいの素のcompute instanceがHerokuみたいに使えるようになる(ただしDBやS3やRedisは必要に応じて別途用意する前提、合わせて別インスタンスで立ち上げる機能もあり) 37Signalsではproductionで使ってるようだけどまだまだ荒削りなので、しばらくは一緒に開発したいくらいの勢いで使いたい人向け MRSKとは MRSKはRailsの創始者DHHが新
Provides a Rails generator to produce Dockerfiles and related files. This is being proposed as the generator to be included in Rails 7.1, and a substantial number of pull requests along those lines have already been merged. This repository contains fixes and features beyond those pull requests. Highlights: Supports all Rails supported releases, not just Rails 7.1, and likely works with a number of
はじめに 「Railsは関心の分離が不十分である」という批判をよく目にします。状況が深刻になったら、Railsに足りない別のピースを導入しなければならないというのです。しかし私たちはそうは思いません。 「素のRails(vanilla Rails1)ではここまでしかできない」みたいな批判を耳にすることがよくあります。Railsはアーキテクチャレベルで関心の分離が不十分なのだから、アプリはいずれメンテナンス不能になり、足りないピースを導入するという別のアプローチが必要になるというのです。 代表的なDDD(ドメイン駆動開発)書籍では、概念上の4つの層である「プレゼンテーション層」「アプリケーション層」「ドメイン層」「インフラストラクチャ層」について議論しています。 アプリケーション層は、ドメイン層と協調動作してビジネスタスクを実装します。しかし、Railsが提供しているのは「コントローラ」と「
この手の記事が世界の至る所で書かれている気がしますが、シークレットキーを渡す方法を含めて最新の GitHub Actions 情報に対応したものを見つけることができなかったので書きます。 やりたいこと Rspec や Rubocop を GitHub Actions で動かしたい Rails の Environment Credentials を使っているので RAILS_MASTER_KEY を渡したい Dependabot が作成するプルリクにもシークレット RAILS_MASTER_KEY を渡したい 前提 Private repository YAML ファイル まずは GitHub Actions の設定 YAML ファイルです。PostgreSQL と Redis をサービスコンテナとして用意しています。Ruby の実行には ruby/setup-ruby を使っています。ここ
概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Rails adds a minimal flag to generate a new application | Saeloun Blog 原文公開日: 2020/09/20 著者: Vamsi Pavan Mahesh サイト: Saeloun Blog | Ruby on Rails Consulting Company based in San Francisco and Boston | Saeloun Blog 日本語タイトルは内容に即したものにしました。 Rails 6.1でrails newの生成を最小限にするフラグが追加(翻訳) 追加前 Railsアプリケーションを新たに生成する場合、デフォルトではモダンなフルスタックWebアプリケーションを構築するのに必要なフレームワーク機能を可能な限りすべて取り入れます。 し
Deploying a Rails application to Kubernetes © 2019-2023 Marco Colli, Founder @ Pushpad, Cuber There are many ways to deploy a Ruby on Rails application: one of them is using Docker containers and Kubernetes for orchestration. This guide shows some of the advantages of Kubernetes compared to other solutions and explains how to deploy a Rails application in production using Kubernetes. We focus on t
人に説明するときに記事あると便利なので、開発環境向けのDockerfileとdocker-compose.ymlを書いておく。 Dockerfile FROM ruby:3.0.0 WORKDIR /app # Using Node.js v14.x(LTS) RUN curl -fsSL https://deb.nodesource.com/setup_14.x | bash - # Add packages RUN apt-get update && apt-get install -y \ git \ nodejs \ vim # Add yarnpkg for assets:precompile RUN npm install -g yarn # Add Chrome RUN curl -sO https://dl.google.com/linux/direct/google-ch
GoodJob is a new Postgres-based, multithreaded, second-generation ActiveJob backend for Ruby on Rails. Inspired by Delayed::Job and Que, GoodJob is designed for maximum compatibility with Ruby on Rails, ActiveJob, and Postgres to be simple and performant for most workloads. Designed for ActiveJob. Complete support for async, queues, delays, priorities, timeouts, and retries with near-zero configur
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く