Sha256: b4fb6f4762279a06c5e75ea98991d042f651d0c5da1cab742534515cff673d7c

Contents?: true

Size: 554 Bytes

Versions: 11

Compression:

Stored size: 554 Bytes

Contents

module RubyApp

  module Mixins

    module ConfigurationMixin
      require 'ruby_app/configuration'

      def configuration

        name = self.is_a?(Class) ? self.to_s : self.class.to_s
        name.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
        name.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
        name.tr!("-", "_")
        name.downcase!

        names = name.split('::')

        value = RubyApp::Configuration.document
        names.each do |name|
          value = value[name.to_sym]
        end

        return value

      end

    end

  end

end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
RubyApp-0.0.91 lib/ruby_app/mixins/configuration_mixin.rb
RubyApp-0.0.90 lib/ruby_app/mixins/configuration_mixin.rb
RubyApp-0.0.89 lib/ruby_app/mixins/configuration_mixin.rb
RubyApp-0.0.88 lib/ruby_app/mixins/configuration_mixin.rb
RubyApp-0.0.87 lib/ruby_app/mixins/configuration_mixin.rb
RubyApp-0.0.86 lib/ruby_app/mixins/configuration_mixin.rb
RubyApp-0.0.85 lib/ruby_app/mixins/configuration_mixin.rb
RubyApp-0.0.84 lib/ruby_app/mixins/configuration_mixin.rb
RubyApp-0.0.83 lib/ruby_app/mixins/configuration_mixin.rb
RubyApp-0.0.82 lib/ruby_app/mixins/configuration_mixin.rb
RubyApp-0.0.81 lib/ruby_app/mixins/configuration_mixin.rb