Sha256: ded2f674f08ac5e186f9cb7cfc9f42ca8b316dac8e02527b229b4faf6d1d67fc

Contents?: true

Size: 611 Bytes

Versions: 1

Compression:

Stored size: 611 Bytes

Contents

module Jenkins
  module Build
    class Build
      BUILDS = %w[lastBuild lastStableBuild lastSuccessfulBuild lastFailedBuild lastUnstableBuild lastUnsuccessfulBuild lastCompletedBuild].freeze
      JENKINS_PATH = %r{^/jobs?/(?<job>[\w-]+)/(?<build_number>\d+|#{Regexp.union(BUILDS)})}.freeze
      NUMBER = /\A\d+\z/.freeze

      attr_reader :uri, :job, :number

      def initialize(url)
        @uri = URI(url)

        match = @uri.path.match(JENKINS_PATH) or return

        @job = match[:job]
        @number = (number = match[:build_number]) =~ NUMBER ? number.to_i : number
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jenkins-build-0.2.0.pre2 lib/jenkins/build/build.rb