Sha256: 19436bc221df76c76665fee9c6db0c310f4fb0f10f0503613434a2d10930d0df

Contents?: true

Size: 865 Bytes

Versions: 9

Compression:

Stored size: 865 Bytes

Contents

# Guts' module namespace
module Guts
  # Configuration for Guts
  # @return [Object] returns configuration
  def self.configuration
    @configuration ||= Configuration.new
  end

  # Defining configuration through block format
  # @yield [configuration] passes current configuration into block
  def self.configure
    yield configuration
  end

  # Configuration class for Guts
  class Configuration
    # Getter and setter method for configuration
    # so that there is not a set amount of configs
    # @param [String] name the config name
    # @param [Array] args list of args (used for setting)
    # @return the configuration requested
    def method_missing(name, *args)
      name = name.to_s

      if name =~ /=$/
        instance_variable_set "@#{name.chop}", args.first
      else
        instance_variable_get "@#{name}"
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
guts-3.1.2 lib/guts/configuration.rb
guts-3.1.1 lib/guts/configuration.rb
guts-3.1.0 lib/guts/configuration.rb
guts-3.0.1 lib/guts/configuration.rb
guts-3.0.0 lib/guts/configuration.rb
guts-2.1.0 lib/guts/configuration.rb
guts-2.0.2 lib/guts/configuration.rb
guts-2.0.1 lib/guts/configuration.rb
guts-2.0.0 lib/guts/configuration.rb