class Herdsman::HerdMemberConfig

Attributes

args[R]
defaults[R]
overrides[R]
path[R]

Public Class Methods

new(path, args = {}, overrides = {}, defaults = {}) click to toggle source
# File lib/herdsman/herd_member_config.rb, line 4
def initialize(path, args = {}, overrides = {}, defaults = {})
  @path      = path
  @args      = args
  @overrides = overrides
  @defaults  = defaults
  validate!
end

Public Instance Methods

fetch_cache() click to toggle source
# File lib/herdsman/herd_member_config.rb, line 24
def fetch_cache
  overridable_arg('fetch_cache').to_i
rescue
  default_fetch_cache
end
name() click to toggle source
# File lib/herdsman/herd_member_config.rb, line 12
def name
  args.fetch('name')
rescue
  default_name
end
revision() click to toggle source
# File lib/herdsman/herd_member_config.rb, line 18
def revision
  overridable_arg('revision')
rescue
  default_revision
end

Private Instance Methods

default_fetch_cache() click to toggle source
# File lib/herdsman/herd_member_config.rb, line 42
def default_fetch_cache
  overridable_default('fetch_cache', 0)
end
default_name() click to toggle source
# File lib/herdsman/herd_member_config.rb, line 34
def default_name
  File.basename(path)
end
default_revision() click to toggle source
# File lib/herdsman/herd_member_config.rb, line 38
def default_revision
  overridable_default('revision', 'master')
end
overridable_arg(arg) click to toggle source
# File lib/herdsman/herd_member_config.rb, line 52
def overridable_arg(arg)
  overrides.fetch(arg)
rescue
  args.fetch(arg)
end
overridable_default(arg, default) click to toggle source
# File lib/herdsman/herd_member_config.rb, line 46
def overridable_default(arg, default)
  defaults.fetch(arg)
rescue
  default
end
validate!() click to toggle source
# File lib/herdsman/herd_member_config.rb, line 58
def validate!
  raise 'Invalid repo config, path is required' unless path.is_a?(String)
end