Module: Changelog::Helpers::Changes
- Defined in:
- lib/changelog/helpers/changes.rb
Instance Method Summary collapse
- #changelog_files(folder) ⇒ Object
- #read_changes(folder) ⇒ Object
- #version_header(folder) ⇒ Object
- #version_sha(folder) ⇒ Object
- #version_text(folder) ⇒ Object
Instance Method Details
#changelog_files(folder) ⇒ Object
56 57 58 59 60 |
# File 'lib/changelog/helpers/changes.rb', line 56 def changelog_files(folder) Dir[File.join(destination_root, "changelog/#{folder}/*.yml")] - [ File.join(destination_root, "changelog/#{folder}/tag.yml") ] end |
#read_changes(folder) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/changelog/helpers/changes.rb', line 33 def read_changes(folder) items = {} changelog_files(folder).each do |file| yaml = YAML.load_file(file) items[yaml['type']] ||= [] items[yaml['type']] << "#{yaml['title'].strip} (@#{yaml['author']})" end sections = [] Changelog.natures.each.with_index do |nature, i| if changes = items[nature].presence lines = [] lines << "### #{nature}\n" changes.each do |change| lines << "- #{change}\n" end sections << lines.join end end sections.join("\n") end |
#version_header(folder) ⇒ Object
7 8 9 10 11 12 13 14 15 |
# File 'lib/changelog/helpers/changes.rb', line 7 def version_header(folder) if folder == "unreleased" "## [#{version_text(folder)}]\n" else = YAML.load_file(File.join(destination_root, "changelog/#{folder}/tag.yml")) date = ['date'].to_s "## [#{version_text(folder)}] - #{date}\n" end end |
#version_sha(folder) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/changelog/helpers/changes.rb', line 25 def version_sha(folder) if folder == 'unreleased' 'HEAD' else Changelog::Helpers::Git.tag(folder) || folder end end |
#version_text(folder) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/changelog/helpers/changes.rb', line 17 def version_text(folder) if folder == 'unreleased' 'Unreleased' else folder end end |