JSONAPI-Resources / JSONAPI-Resources/jsonapi-resources

Add full scaffold generator support

オープン
#1,265 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

主要言語
Ruby
スター
2.3k
フォーク
546
PR マージ指標
30日以内にマージされた PR はありません

説明

This issue is a (choose one):

  • Feature request.

Checklist before submitting:

  • I've searched for an existing issue.
  • The feature I'm asking for is compliant with the JSON:API spec.

Description

Features:

note: this issue (or something similar to it) was brought up by @eccegordo in https://github.com/cerebris/jsonapi-resources/issues/1241. I opened this issue because I did not want to automatically close his in case our requests diverged, but will follow up with that issue if this issue is resolved with my PR.

As a developer, I need to be able to spin up new services, collect feedback, and validate those proofs-of-concepts as quickly as possible. Any time I spend writing boilerplate code is time not spent working on real value-adding features or concepts.

As such, I would like a way to quickly, consistently, and safely generate all of the required base file structures to get a jsonapi resource/endpoint working. Further, I would like these generated files to be opinionated, and help me fall into a "pit of success" / good practices.

In scope:

  • generate (flat or name-spaced) base controllers
  • generate (flat or name-spaced) controllers
  • generate (flat or name-spaced) base resources
  • generate (flat or name-spaced) resources
  • generate (flat or name-spaced) base models
  • generate (flat or name-spaced) models
  • generate (flat or name-spaced) routes

Out of scope:

  • declare attributes, associations, or other defining characteristics during generation
  • parameterized generation options (e.g. "don't generate base classes")
  • generate (flat or name-spaced) tests (future PR)

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、リポジトリに既存の generator のエントリポイントと規約を、対象範囲に含まれる一覧と照合して整理します。一覧には、controller、resource、model、route を、それぞれフラット形式と namespaced 形式で含めます。完了条件は、要求された base ファイルと concrete ファイルを一貫して生成できることとし、attributes、associations、parameterized options、tests は対象外とします。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rails, ruby
領域
api, backend, tooling
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。