Sha256: 2f21afd7ccd35e31d50eae2203e1373b93100bad624cb27bf603e276e68426b7

Contents?: true

Size: 745 Bytes

Versions: 8

Compression:

Stored size: 745 Bytes

Contents

module Qcourses
  module Configuration
    class Error < Exception; end
    class Instance
      attr_accessor :local_root, :views
      attr_writer :root
      def initialize
        @views = 'views'
      end
      def configure(&block) 
        self.views= "views/qcourses" 
        yield(self)
      end
      def root 
        raise Error.new("please configure root first") if @root.nil?
        @root
      end
      def file(path)
        File.expand_path(path, root)
      end
    end
    def self.new
      Instance.new
    end
    def root
      @@instance.root
    end
    def local_root
      @@instance.local_root
    end
    def views
      @@instance.views
    end
    def self.instance
      @@instance ||= new
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
qcourses-0.1.11 lib/qcourses/configuration.rb
qcourses-0.1.10 lib/qcourses/configuration.rb
qcourses-0.1.9 lib/qcourses/configuration.rb
qcourses-0.1.8 lib/qcourses/configuration.rb
qcourses-0.1.7 lib/qcourses/configuration.rb
qcourses-0.1.6 lib/qcourses/configuration.rb
qcourses-0.1.5 lib/qcourses/configuration.rb
qcourses-0.1.4 lib/qcourses/configuration.rb