class ControlMod

Attributes

metadata[R]
name[R]
repo[R]
version[RW]

Public Class Methods

new(name, args) click to toggle source
# File lib/release_manager/control_mod.rb, line 7
def initialize(name, args)
  @name = name
  @metadata = args.each_with_object({}) { |(k, v), memo| memo[k.to_sym] = v; }
end

Public Instance Methods

branch() click to toggle source
# File lib/release_manager/control_mod.rb, line 20
def branch
  metadata[:branch]
end
bump_major_version() click to toggle source
# File lib/release_manager/control_mod.rb, line 57
def bump_major_version
  return unless metadata[:tag]

  pieces = metadata[:tag].split('.')
  raise "invalid semver structure #{metadata[:tag]}" if pieces.count != 3

  pieces[2] = '0'
  pieces[1] = '0'
  pieces[0] = pieces[0].next
  pin_version(pieces.join('.'))
end
bump_minor_version() click to toggle source
# File lib/release_manager/control_mod.rb, line 46
def bump_minor_version
  return unless metadata[:tag]

  pieces = metadata[:tag].split('.')
  raise "invalid semver structure #{metadata[:tag]}" if pieces.count != 3

  pieces[2] = '0'
  pieces[1] = pieces[1].next
  pin_version(pieces.join('.'))
end
bump_patch_version() click to toggle source
# File lib/release_manager/control_mod.rb, line 36
def bump_patch_version
  return unless metadata[:tag]

  pieces = metadata[:tag].split('.')
  raise "invalid semver structure #{metadata[:tag]}" if pieces.count != 3

  pieces[2] = pieces[2].next
  pin_version(pieces.join('.'))
end
git_url() click to toggle source
# File lib/release_manager/control_mod.rb, line 16
def git_url
  metadata[:git]
end
pin_branch(name) click to toggle source
# File lib/release_manager/control_mod.rb, line 83
def pin_branch(name)
  metadata[:branch] = name
  metadata.delete(:ref)
  metadata.delete(:tag)
end
pin_url(src) click to toggle source
# File lib/release_manager/control_mod.rb, line 89
def pin_url(src)
  metadata[:git] = src
end
pin_version(v) click to toggle source
# File lib/release_manager/control_mod.rb, line 77
def pin_version(v)
  metadata.delete(:ref)
  metadata.delete(:branch)
  metadata[:tag] = v
end
to_json(state = nil) click to toggle source
# File lib/release_manager/control_mod.rb, line 24
def to_json(state = nil)
  metadata.to_json(state)
end
to_s() click to toggle source
# File lib/release_manager/control_mod.rb, line 28
def to_s
  name_line = "mod '#{name}',"
  data = metadata.map do |k, v|
    v == :control_branch ? ":#{k} => #{v.inspect}" : ":#{k} => '#{v}'"
  end.join(",\n\  ")
  "#{name_line}\n  #{data}"
end
version=(v) click to toggle source
# File lib/release_manager/control_mod.rb, line 73
def version=(v)
  metadata[:tag] = v
end