Sha256: 567c7cf331d0b1f4ae2a3175a285ca7ac1eb2f4e6098ebf95fc9f8761959ecb5
Contents?: true
Size: 1.24 KB
Versions: 1
Compression:
Stored size: 1.24 KB
Contents
# frozen_string_literal: true require 'yaml' module GFSM module Data class Configuration attr_reader :change_types def initialize(config_path) @change_types = [] configuration = YAML.load_file(config_path) configuration.each do |key, value| if key == "change_types" self.load_change_types(value) end end @change_types end def get_change_type_from_category(category) @change_types.find do |change_type| category.match(change_type.matcher) end end private def load_change_types(change_types_config) change_types_config.each do |key, value| if !value.include?("matcher") raise "Change type #{key} is missing the matcher" end @change_types << GFSM::Data::ChangeType.new( /#{Regexp.quote(value["matcher"])}/i, value.include?("title") ? value["title"] : 'no-title', value.include?("bump") ? value["bump"].to_sym : :patch, value.include?("priority") ? value["priority"] : -100, value.include?("ignore_on_changelog") ? value["ignore_on_changelog"] : false, ) end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
gfsm-0.8.0 | lib/data/configuration.rb |