Sha256: 4c91942dc12911ff1a6e88025b1fb0df4537cede063ce9731dddee2e4353c7e0

Contents?: true

Size: 867 Bytes

Versions: 13

Compression:

Stored size: 867 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

13 entries across 13 versions & 1 rubygems

Version Path
guts-1.4.0 lib/guts/configuration.rb
guts-1.3.6 lib/guts/configuration.rb
guts-1.3.5 lib/guts/configuration.rb
guts-1.3.4 lib/guts/configuration.rb
guts-1.3.3 lib/guts/configuration.rb
guts-1.3.2 lib/guts/configuration.rb
guts-1.3.1 lib/guts/configuration.rb
guts-1.3.0 lib/guts/configuration.rb
guts-1.2.2 lib/guts/configuration.rb
guts-1.2.1 lib/guts/configuration.rb
guts-1.2.0 lib/guts/configuration.rb
guts-1.1.1 lib/guts/configuration.rb
guts-1.1.0 lib/guts/configuration.rb