Sha256: 9270afb4af6f4887a80a6f7467c63fec33d993b8475501b52d19a2076a094604

Contents?: true

Size: 1.22 KB

Versions: 7

Compression:

Stored size: 1.22 KB

Contents

require 'date'

module Codelog
  class Config
    CONFIG_FILE_PATH = 'changelogs/codelog.yml'.freeze

    class << self
      def filename
        settings['default_changelog_filename'] || 'CHANGELOG.md'
      end

      def header
        File.open(settings['header_textfile'], 'r').read || ''
      end

      def date_input_format
        settings['date_input_format'] || '%Y-%m-%d'
      end

      def version_tag(version, release_date)
        date_suffix =
          if show_date?
            parsed_date = Date.strptime(release_date, '%Y-%m-%d').strftime(date_output_format)
            " - #{date_prefix}#{parsed_date}"
          else
            ''
          end
        "#{version_prefix}#{version}#{version_suffix}#{date_suffix}"
      end

      private

      def date_output_format
        settings['date_output_format'] || '%Y-%m-%d'
      end

      def version_prefix
        settings['version_prefix'] || ''
      end

      def version_suffix
        settings['version_suffix'] || ''
      end

      def date_prefix
        settings['date_prefix'] || ''
      end

      def show_date?
        settings['show_date']
      end

      def settings
        @settings ||= YAML.load_file(CONFIG_FILE_PATH)
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
codelog-0.8.0 lib/codelog/config.rb
codelog-0.7.0 lib/codelog/config.rb
codelog-0.6.0 lib/codelog/config.rb
codelog-0.5.0 lib/codelog/config.rb
codelog-0.4.0 lib/codelog/config.rb
codelog-0.3.1 lib/codelog/config.rb
codelog-0.3.0 lib/codelog/config.rb