class Github::Subject

Included Modules

Defined in:

github/models.cr

Constant Summary

BODY_TYPES = {Type::PULL_REQUEST, Type::ISSUE}

subject.url / latest_comment_url を取得すると本文(body)付きのオブジェクトが 返る type。Commit / CheckSuite 等は body が無くコメントとして解釈できないため、 コメント URL が無ければ本文取得の対象にしない(CI 完了通知等に本文を付けない)。

NUMBERED_TYPES = {Type::PULL_REQUEST, Type::ISSUE, Type::DISCUSSION}

subject.url 末尾が GitHub 上の番号として意味を持つ type。Release / CheckSuite のように末尾が数値 ID でも #番号 表示は誤解を招くため、これらに限定する。

UPDATE_TYPES = {Type::PULL_REQUEST, Type::ISSUE, Type::COMMIT, Type::DISCUSSION}

Constructors

Instance Method Summary

Constructor Detail

def self.new(pull : JSON::PullParser) #

[View source]

Instance Method Detail

def color : String #

[View source]
def comment_url : String #

本文取得に使う URL。コメントがあればその URL、無ければ本文を持つ type に 限り subject.url にフォールバックする。対象外(CI 等)は空文字を返し、 呼び出し側で本文なし扱いにする(issue #96)。


[View source]
def latest_comment_url : String #

[View source]
def number : String | Nil #

subject.url 末尾の PR / Issue / Discussion 番号。番号が意味を持つ type に 限り、末尾セグメントが数値なら返す。Commit(末尾が SHA)や末尾スラッシュ、 URL が無い場合などは nil を返す(issue #96)。


[View source]
def title : String | Nil #

[View source]
def type : String #

[View source]
def update? : Bool #

[View source]
def url : String #

[View source]