Class: ActiveTriples::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/active_triples/configuration.rb,
lib/active_triples/configuration/item.rb,
lib/active_triples/configuration/merge_item.rb,
lib/active_triples/configuration/item_factory.rb

Overview

Class which contains configuration for RDFSources.

Defined Under Namespace

Classes: Item, ItemFactory, MergeItem

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ Configuration

Returns a new instance of Configuration.

Parameters:

  • options (Hash) (defaults to: {})

    the configuration options.



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

def initialize(options={})
  @inner_hash = Hash[options.to_a]
end

Instance Attribute Details

#inner_hashObject

Returns the value of attribute inner_hash.



9
10
11
# File 'lib/active_triples/configuration.rb', line 9

def inner_hash
  @inner_hash
end

Instance Method Details

#[](value) ⇒ Object

Returns the configured value for an option

Returns:

  • the configured value



43
44
45
# File 'lib/active_triples/configuration.rb', line 43

def [](value)
  to_h[value]
end

#itemsHash{Symbol => ActiveTriples::Configuration::Item}

Returns a hash with keys as the configuration property and values as reflections which know how to set a new value to it.

Returns:



33
34
35
36
37
38
# File 'lib/active_triples/configuration.rb', line 33

def items
  to_h.each_with_object({}) do |config_value, hsh|
    key = config_value.first
    hsh[key] = build_configuration_item(key)
  end
end

#merge(options) ⇒ ActiveTriples::Configuration

Merges this configuration with other configuration options. This uses reflection setters to handle special cases like :type.

Parameters:

  • options (Hash)

    configuration options to merge in.

Returns:



21
22
23
24
25
26
27
# File 'lib/active_triples/configuration.rb', line 21

def merge(options)
  new_config = Configuration.new(options)
  new_config.items.each do |property, item|
    build_configuration_item(property).set item.value
  end
  self
end

#to_hHash{Symbol => String, ::RDF::URI}

Returns the available configured options as a hash.

This filters the options the class is initialized with.

Returns:

  • (Hash{Symbol => String, ::RDF::URI})


52
53
54
# File 'lib/active_triples/configuration.rb', line 52

def to_h
  @inner_hash.slice(*valid_config_options)
end