Sha256: ce616aa3d28d7fcdef6ed622f53807339b0951b409c6b06ef2ecc5b0cdfd3e18

Contents?: true

Size: 1.3 KB

Versions: 2

Compression:

Stored size: 1.3 KB

Contents

require 'sugar-high/array'
require 'sugar-high/blank'
require 'hashie'
require 'set'
require 'singleton'
require 'sweetloader'

require 'cantango/core'

SweetLoader.namespaces = {:CanTango => 'cantango'}
SweetLoader.mode = :require

module CanTango
  sweetload :Registry, :ClassMethods, :Category
  extend ClassMethods

  class Config  
    sweetload :Models, :Engines, :Factory, :Ability
    sweetload :Categories
    sweetload :Autoload, :Adapters, :Debug, :Orms, :Localhosts, :Hooks, :Helpers
    sweetload :Account, :Accounts
    sweetload :User, :Guest, :Users
    sweetload :ClassMethods

    include Singleton
    extend ClassMethods

    def ability
      @ability ||= CanTango::Config::Ability.instance
      @ability.default_class ||= CanTango::Ability::Executor::Modal # from cantango-core
      @ability
    end

    def debug!
      debug.on!
    end

    # Turn on default engines and enable compile adapter 
    # i.e compilation of rules via sourcify
    def default_settings!
      engines.all :off
    end

    def clear!
      CanTango::Configuration.components.each do |component|
        if respond_to? component
          component = send(component) 
          component.send(:clear!) if component.respond_to? :clear!
        end
      end
      engines.clear!
    end
  end
end

require 'cantango/config_ext'

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cantango-config-0.2.1 lib/cantango/config.rb
cantango-config-0.2.0 lib/cantango/config.rb