Module: Topping

Defined in:
lib/topping.rb,
lib/topping/errors.rb,
lib/topping/version.rb,
lib/topping/configurable.rb,
lib/topping/configurable/hq.rb,
lib/topping/configurable/branch.rb,
lib/topping/configuration_builder.rb

Defined Under Namespace

Modules: Configurable Classes: Configuration, ConfigurationBuilder, ValidationError

Constant Summary collapse

VERSION =
'0.0.4'.freeze
@@root =

rubocop:disable Style/ClassVars

ConfigurationBuilder.new

Class Method Summary collapse

Class Method Details

.buildObject



15
16
17
# File 'lib/topping.rb', line 15

def build
  root.build
end

.rootObject



11
12
13
# File 'lib/topping.rb', line 11

def root
  @@root
end

.underscore(str) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/topping.rb', line 25

def underscore(str)
  str.gsub(/::/, '/').
    gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2').
    gsub(/([a-z\d])([A-Z])/, '\1_\2').
    tr('-', '_').
    downcase
end

.underscore_namespace(klass) ⇒ Object



19
20
21
22
23
# File 'lib/topping.rb', line 19

def underscore_namespace(klass)
  klass.name.split('::').map do |key|
    Topping.underscore(key)
  end
end