JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources
Does Resource class always assume @model is reloadable?
オープン
まだ誰も着手していません。
- 主要言語
- Ruby
- スター
- 2.3k
- フォーク
- 546
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
In Resource#save:
def _save(validation_context = nil)
unless @model.valid?(validation_context)
fail JSONAPI::Exceptions::ValidationErrors.new(self)
end
if defined? @model.save
saved = @model.save(validate: false)
unless saved
if @model.errors.present?
fail JSONAPI::Exceptions::ValidationErrors.new(self)
else
fail JSONAPI::Exceptions::SaveFailed.new
end
end
else
saved = true
end
@model.reload if @reload_needed
@reload_needed = false
@save_needed = !saved
:completed
end
We check to see if the save action exists but we don't check if the reload action exists.
Why is that? What other types of classes besides ActiveRecord::Base was this intended to work on? Or was this code only intended to work against ActiveRecord?
This is important to know as I'm refactoring for #1006 .
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
Resource#save から始め、特に @model.save と @model.reload の呼び出しを確認し、ActiveRecord::Base を前提とした #1006 で追跡されているリファクタリングをレビューしてください。どのモデルインターフェースをサポートする想定なのかを判断してください。完了とは、動作が明確になり、リファクタリングに明示的で検証済みの契約があることを意味します。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rails, ruby
- 領域
- api, backend
- issue の種類
- リファクタリング
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 停滞
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 20/100