Sha256: 954b641b56dcb0ad381b1dc90c44bf9369cd95145d756dad333db2920956e687

Contents?: true

Size: 842 Bytes

Versions: 36

Compression:

Stored size: 842 Bytes

Contents

require 'singleton'

module Brief
  class Configuration
    include Singleton

    def self.method_missing(meth, *args, &block)
      if instance.respond_to?(meth)
        instance.send(meth, *args, &block)
      else
        super
      end
    end

    def current
      @current ||= {
        docs_path: 'docs',
        models_path: 'models',
        templates_path: 'templates',
        data_path: 'data',
        assets_path: 'assets'
      }.to_mash
    end

    def set(attribute, value = nil)
      current[attribute] = value
      self
    end

    def method_missing(meth, *args, &block)
      if current.respond_to?(meth) && current.key?(meth)
        current.send(meth, *args, &block)
      else
        # swallow invalid method calls in production
        super if ENV['BRIEF_DEBUG_MODE']
        nil
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
brief-1.14.2 lib/brief/configuration.rb
brief-1.14.1 lib/brief/configuration.rb
brief-1.14.0 lib/brief/configuration.rb
brief-1.13.2 lib/brief/configuration.rb
brief-1.13.1 lib/brief/configuration.rb
brief-1.12.9 lib/brief/configuration.rb
brief-1.12.8 lib/brief/configuration.rb
brief-1.12.7 lib/brief/configuration.rb
brief-1.12.6 lib/brief/configuration.rb
brief-1.12.5 lib/brief/configuration.rb
brief-1.12.4 lib/brief/configuration.rb
brief-1.12.3 lib/brief/configuration.rb
brief-1.12.2 lib/brief/configuration.rb
brief-1.12.1 lib/brief/configuration.rb
brief-1.12.0 lib/brief/configuration.rb
brief-1.11.10 lib/brief/configuration.rb
brief-1.11.9 lib/brief/configuration.rb
brief-1.11.8 lib/brief/configuration.rb
brief-1.11.7 lib/brief/configuration.rb
brief-1.11.6 lib/brief/configuration.rb