class ReleaseNotes::Generators::ReleaseNote

Public Instance Methods

check_version() click to toggle source
# File lib/release_notes/generators/release_note.rb, line 35
      def check_version
        destination = version_exists?(@destination, @release_version)

        if destination
          if options.force?
            remove_file(destination)
          else
            raise Thor::Error, 
<<-ERROR
    Another update was found using the version number #{@release_version.gsub('_', '.')}. 
    Use --force to remove the old update file and replace it.
ERROR
          end
        end
      end
copy_release_note() click to toggle source
# File lib/release_notes/generators/release_note.rb, line 51
def copy_release_note
  update_number = next_update_number(destination)
  @filename = "#{destination}/#{update_number}_#{@release_version}.md"
  template(@update_template, @filename)
end
create_directory() click to toggle source
# File lib/release_notes/generators/release_note.rb, line 31
def create_directory
  empty_directory(@destination)
end
set_local_assigns() click to toggle source
# File lib/release_notes/generators/release_note.rb, line 16
def set_local_assigns
  @app_name = ReleaseNotes.app_name
  @update_template = 'update_blank.md'
  @destination = File.expand_path(destination)
  @release_version = release_version.gsub('.', '_')
  @message = message

  message.each do |k,v|
    if v.length > 0
      @update_template = 'update.md'
      break
    end
  end
end

Protected Instance Methods

current_update_number(dirname) click to toggle source
# File lib/release_notes/generators/release_note.rb, line 63
def current_update_number(dirname)
  update_lookup_at(dirname).collect do |file|
    File.basename(file).split('_').first.to_i
  end.max.to_i
end
next_update_number(dirname) click to toggle source
# File lib/release_notes/generators/release_note.rb, line 58
def next_update_number(dirname)
  next_update_number = current_update_number(dirname) + 1
  [Time.now.utc.strftime('%Y%m%d%H%M%S'), '%.14d' % next_update_number].max
end
update_lookup_at(dirname) click to toggle source
# File lib/release_notes/generators/release_note.rb, line 69
def update_lookup_at(dirname)
  Dir.glob("#{dirname}/[0-9]*_*.md")
end
version_exists?(dirname, file_name) click to toggle source
# File lib/release_notes/generators/release_note.rb, line 73
def version_exists?(dirname, file_name)
  update_lookup_at(dirname).grep(/\d+_#{file_name}.md$/).first
end