class Md2key::Configuration

Public Class Methods

new(masters: []) click to toggle source

@param [Array<Hash{ Symbol => String,Integer,TrueClass,FalseClass }>] masters

# File lib/md2key/configuration.rb, line 19
def initialize(masters: [])
  @masters = masters.map { |m| Master.new(m) }
  validate!
end

Public Instance Methods

cover_master() click to toggle source

@return [String,nil]

# File lib/md2key/configuration.rb, line 25
def cover_master
  master = @masters.find do |master|
    master.cover
  end
  master && master.name
end
slide_master(level) click to toggle source

@param [Integer] level @return [String,nil]

# File lib/md2key/configuration.rb, line 34
def slide_master(level)
  master = @masters.find do |master|
    master.template == level
  end
  master && master.name
end

Private Instance Methods

validate!() click to toggle source
# File lib/md2key/configuration.rb, line 43
def validate!
  if @masters.select(&:cover).length > 1
    abort "Config error!\n`cover: true` cannot be specified multiple times"
  end
  (1..5).each do |level|
    if @masters.select { |m| m.template == level }.length > 1
      abort "`Config error!\ntemplate: #{level}` cannot be specified multiple times"
    end
  end
end