Sha256: bb4ac89aec111435d69e4c9a9f052c8b43ee25d2b5f180f98ab022a94b77e6aa
Contents?: true
Size: 1.4 KB
Versions: 2
Compression:
Stored size: 1.4 KB
Contents
module Inch # Stores the configuration for Inch # # @see config/base.rb class Config class << self def instance(language = :ruby) if block = @blocks[language.to_s] config = Config::Base.new(language) config = config.update(&block) config else raise "Language not registered: #{language}" end end # Registers a configuration block for a given language. # # @return [void] def register(language, &block) @blocks ||= {} @blocks[language.to_s] = block end def codebase(language = :ruby) instance(language).codebase end def base(&block) Config::Base.new(:__base__).update(&block) end # Returns the Config object for a given +language+. # Optionally parses a given +path+ for inch.yml # # @return [Config::Base] def for(language, path = nil) config = instance(language) config.codebase.update_via_yaml(path) if path config end def namespace(language, submodule = nil) name = language.to_s.split('_').collect { |w| w.capitalize }.join const = ::Inch::Language.const_get(name) const = const.const_get(submodule) unless submodule.nil? const end end end end require "inch/config/base" require "inch/config/evaluation" require "inch/config/codebase"
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
inch-0.5.0.rc5 | lib/inch/config.rb |
inch-0.5.0.rc4 | lib/inch/config.rb |