Sha256: ce15bcd822b01447d0518ac973e8c8b54d7a3a3fb16fb243150da35fa1f0ba2e

Contents?: true

Size: 740 Bytes

Versions: 5

Compression:

Stored size: 740 Bytes

Contents

require 'configliere'
require 'gorillib/builder'
require 'gorillib/string/inflections'

module Gorillib    
  module Configurable
    extend Gorillib::Concern
    include Gorillib::Builder

    module ClassMethods
      def receive(attrs = {}, &blk)            
        conf = settings.load_configuration_in_order!(configuration_scope.to_s)
        super(attrs.merge(conf), &blk)
      end

      def config(name, type, options = {})
        field(name, type, options)
      end
    end
    
    included do
      self.class_attribute(:configuration_scope, :settings)
      self.configuration_scope = self.to_s.underscore.to_sym
      self.settings            = Configliere::Param.new.use(:commandline, :config_file)
    end
    
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gorillib-0.6.0 lib/gorillib/configurable.rb
gorillib-0.5.2 lib/gorillib/configurable.rb
gorillib-0.5.0 lib/gorillib/configurable.rb
gorillib-0.4.2 lib/gorillib/configurable.rb
gorillib-0.4.0pre lib/gorillib/configurable.rb