module LoriotRb

LoriotRb methods

LoriotRb calling methods

Public Class Methods

configuration() click to toggle source
# File lib/core/configuration.rb, line 16
def self.configuration
  @configuration ||= Configuration.new
end
configuration=(config) click to toggle source
# File lib/core/configuration.rb, line 20
def self.configuration=(config)
  @configuration = config
end
configure() { |configuration| ... } click to toggle source
# File lib/core/configuration.rb, line 24
def self.configure
  yield configuration
end
root() click to toggle source
# File lib/loriot-rb.rb, line 24
def self.root
  File.expand_path('../..', __FILE__)
end
version() click to toggle source
# File lib/version.rb, line 2
def self.version
  "0.4.0"
end

Public Instance Methods

configure_on_the_fly(&block) click to toggle source

And we define a wrapper for the configuration block, that we'll use to set up our set of options

# File lib/core/configuration_dynamic.rb, line 29
def configure_on_the_fly(&block)
  instance_eval &block
end
parameter(*names) click to toggle source

Appdata provides a basic single-method DSL with .parameter method being used to define a set of available settings. This method takes one or more symbols, with each one being a name of the configuration option.

# File lib/core/configuration_dynamic.rb, line 13
def parameter(*names)
  names.each do |name|
    attr_accessor name

    # For each given symbol we generate accessor method that sets option's
    # value being called with an argument, or returns option's current value
    # when called without arguments
    define_method name do |*values|
      value = values.first
      value ? self.send("#{name}=", value) : instance_variable_get("@#{name}")
    end
  end
end