Sha256: e75e13594a3bf63037160513b7fc4604c7f09c8f3ced001efe4796371d822db5
Contents?: true
Size: 1.15 KB
Versions: 18
Compression:
Stored size: 1.15 KB
Contents
module Naether # # Helper for handling Maven notations, supports notations: # * artifactId:groupId:version # * artifactId:groupId:type:version # * artifactId:groupId:type:classifier:version # class Notation attr_reader :group, :artifact, :version, :classifier, :type PATTERN = Regexp.compile( '^(.+?):(.+?):(.+?)(:(.+?)(:(.+))?)?$' ) def initialize(notation) if notation =~ PATTERN @group = Regexp.last_match(1) @artifact = Regexp.last_match(2) # artifactId:groupId:type:classifier:version if Regexp.last_match(7) @type = Regexp.last_match(3) @classifier = Regexp.last_match(5) @version = Regexp.last_match(7) # artifactId:groupId:type:version elsif Regexp.last_match(5) @type = Regexp.last_match(3) @version = Regexp.last_match(5) # artifactId:groupId:version - else @type = 'jar' @version = Regexp.last_match(3) end end end def to_notation "#{group}:#{artifact}:#{type}#{":#{classifier}" if classifier}:#{version}" end end end
Version data entries
18 entries across 18 versions & 1 rubygems