Sha256: 31fac68fcebd24cda107862f88ffae5faa53b178f788f9b7bfc5bde885350e59

Contents?: true

Size: 559 Bytes

Versions: 18

Compression:

Stored size: 559 Bytes

Contents

module Shipit
  class CommitMessage
    GITHUB_MERGE_COMMIT_PATTERN = /\AMerge pull request #(?<pr_id>\d+) from \S+\n\n(?<pr_title>.*)/

    def initialize(text)
      @text = text
    end

    def pull_request?
      !!parsed
    end

    def pull_request_number
      parsed && parsed['pr_id'].to_i
    end

    def pull_request_title
      parsed && parsed['pr_title']
    end

    def to_s
      @text
    end

    private

    def parsed
      return @parsed if defined?(@parsed)
      @parsed = to_s.match(GITHUB_MERGE_COMMIT_PATTERN)
    end
  end
end

Version data entries

18 entries across 18 versions & 1 rubygems

Version Path
shipit-engine-0.31.0 app/models/shipit/commit_message.rb
shipit-engine-0.30.0 app/models/shipit/commit_message.rb
shipit-engine-0.29.0 app/models/shipit/commit_message.rb
shipit-engine-0.28.1 app/models/shipit/commit_message.rb
shipit-engine-0.28.0 app/models/shipit/commit_message.rb
shipit-engine-0.27.1 app/models/shipit/commit_message.rb
shipit-engine-0.27.0 app/models/shipit/commit_message.rb
shipit-engine-0.26.0 app/models/shipit/commit_message.rb
shipit-engine-0.25.1 app/models/shipit/commit_message.rb
shipit-engine-0.25.0 app/models/shipit/commit_message.rb
shipit-engine-0.24.0 app/models/shipit/commit_message.rb
shipit-engine-0.23.1 app/models/shipit/commit_message.rb
shipit-engine-0.23.0 app/models/shipit/commit_message.rb
shipit-engine-0.22.0 app/models/shipit/commit_message.rb
shipit-engine-0.21.0 app/models/shipit/commit_message.rb
shipit-engine-0.20.1 app/models/shipit/commit_message.rb
shipit-engine-0.20.0 app/models/shipit/commit_message.rb
shipit-engine-0.19.0 app/models/shipit/commit_message.rb