doomspork/versions.rb

View on GitHub
lib/versions/configurable.rb

Summary

Maintainability
A
0 mins
Test Coverage
class Versions
  module Configurable

    # A simple configuration wrapper
    class Config
      attr_accessor :base_dir, :version_pattern, :class_prefix

      # The default base directory path
      BASE_DIR         = File.join(Dir.pwd, 'lib')
      # The default filename pattern
      VERSION_PATTERN  = /v(?:ersion)?[-_]?((\d+(?:\.\d+)*))/i
      # The default class prefix
      CLASS_PREFIX     = 'V'

      # Public: Create a new instance with default values
      #
      # Returns a new instance
      def initialize
        self.base_dir         = BASE_DIR
        self.version_pattern  = VERSION_PATTERN
        self.class_prefix     = CLASS_PREFIX
      end
    end

    # Public: Versions.rb configuration instance
    #
    # Returns an instance of Config
    def config
      @config ||= Config.new
    end
  end
end