September 15, 2021 @ iCARE Dev Meetup #25
Railsプロジェクトで、自分が好んで使っている便利な処理をまとめてみました。 core_ext編 sort_byは安定ソートではないので、with_indexを組み合わせて安定ソートを行う https://gist.github.com/alpaca-tc/ed793961f2db438abaae3c00b7e303fa RSpec編 partial viewでインスタンス変数を呼び出していないことをチェックするテスト https://gist.github.com/alpaca-tc/c19f00d583234a2c73eda6d8378b8c50 モデルが変更された際に、参照元・参照先の双方に関連が定義されていることをチェックするテスト https://gist.github.com/alpaca-tc/d53dee5977746256717c7522988b13d8 テーブルが変更
事業成長を加速させたエンジニアリングのウラ側 https://medpeer.connpass.com/event/211745/
GraphQL Ruby 公式ページ RailsでGraphQLを扱う場合↑のgemを使ってAPIを実装していきます。 graphiql-rails 合わせて graphiql-rails gemを入れておくとブラウザ上で実装したGraphQLの 確認ができるIDEが使えるようになります :sparkles: ※ graphql-rubyのinstall時に graphiql-rails のgemをGemfileに追加してくれます イメージ画像 環境構築 $ rails generate graphql:install create app/graphql/types create app/graphql/types/.keep create app/graphql/app_schema.rb create app/graphql/types/base_object.rb create a
なんとなくパターン・ランゲージ(パターンカタログ)のスタイルが懐かしくなったので、あのスタイルを思い出しながら書いてみます。 目的 特定のアプリと完全に同期していますが、機能的には独立したライブラリをアプリ内のgemとして提供するものです。 動機 アプリで使いたい機能として、ある程度の独立した機能を実装したい 単独のクラスやモジュールとして実装できるものではなく、複数のクラス等が関連して動く程度の粒度を想定する(ので、個別のファイル単位よりはもう少し大きい粒度になる) 独立した機能とアプリが渾然一体となり、気がつくと境界を侵食したり侵食されたりしてしまうことは避けたい 適用可能性 いくつかのclassやmoduleがアプリケーションに依存せず、独立した機能になっている場合 特定のRailsアプリからしか使われる予定がない(共有する必要・予定がない)場合 一定期間しか利用せず、どこかのタイミ
InteractorオブジェクトとはInteractorオブジェクトとは「デザインパターンのひとつで、ビジネスロジックをカプセル化するためのモデル層に属するクラス群」です。ひとつのInteractorオブジェクトはひとつの責務をもちます。 「ひとつの責務」とは、たとえば「記事を投稿する」「決済を行う」という、それ以上分割できない責務です。またInteractorオブジェクトを使うための共通のインタフェースが定義されます。 Interactorオブジェクトと同じ役割として、Serviceオブジェクトがあります。ただ、Railsの文脈で語られるServiceオブジェクトは定義があいまいで、特定のルールをもちません。ルールがないとインタフェースが統一されず、また複数の責務をもってしまうといった問題が生じます。 Interactorオブジェクトはビジネスロジックをカプセル化する役割をもち、インタフ
人に説明するときに記事あると便利なので、開発環境向けの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
class Parent < ApplicationRecord has_many :children end class Child < ApplicationRecord belongs_to :parent end そして、DBのデータが次のように登録されていたとする。 parent = Namihei child = Sazae child = Katsuo child = Wakame parent = Misae child = Shinnosuke child = Himawari この状況で以下のようなメソッドを作りたい。 require "test_helper" class ParentTest < ActiveSupport::TestCase test "zで検索" do # Sazaeが該当するのでNamiheiが返る parents = Parent.child
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く