Sha256: 7b30fb563409766365252e658fd30be70286bcef1afee68f16a06f0e48dda1c2
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
require 'virtus' module PrLog # Configuration options class Configuration include Virtus.model attribute :changelog_file, String, default: 'CHANGELOG.md' attribute :insert_after, Regexp, default: "# CHANGELOG\n" attribute :label_prefixes, Hash, default: { bug: 'Bug fix:' } attribute :github_repository, String attribute :access_token, String attribute :milestone, String attribute :milestone_format, String, default: 'v%{major}.%{minor}' attribute :entry_template, String, default: <<-TEXT.gsub(/^ {6}/, '') - %{title} ([#%{number}](%{html_url})) TEXT def set(attributes) self.attributes = attributes.reject do |_, value| value.nil? end end def set_from_files CONFIG_FILE_NAMES.each do |config_file_name| next unless File.exist?(config_file_name) self.attributes = YAML.load_file(config_file_name) end end def self.setup(attributes) config = new config.set_from_files config.set(attributes) config end CONFIG_FILE_NAMES = [ "#{ENV['HOME']}/.pr_log.yml", '.pr_log.yml' ].freeze end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
pr_log-0.3.0 | lib/pr_log/configuration.rb |
pr_log-0.2.0 | lib/pr_log/configuration.rb |