Class: Ridley::NodeResource

Inherits:
Resource show all
Includes:
Logging
Defined in:
lib/ridley/resources/node_resource.rb

Instance Method Summary collapse

Methods included from Logging

logger, #logger, set_logger

Methods inherited from Resource

#all, #connection, #create, #delete, #delete_all, #find, #from_file, #from_json, #new, representation, represented_by, resource_path, set_resource_path, #update

Constructor Details

#initialize(connection_registry, options = {}) ⇒ NodeResource

Returns a new instance of NodeResource.

Parameters:

  • connection_registry (Celluloid::Registry)


9
10
11
# File 'lib/ridley/resources/node_resource.rb', line 9

def initialize(connection_registry, options = {})
  super(connection_registry)
end

Instance Method Details

#merge_data(target, options = {}) ⇒ Ridley::NodeObject

Merges the given data with the the data of the target node on the remote

Parameters:

  • target (Ridley::NodeResource, String)

    node or identifier of the node to merge

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

    a customizable set of options

Options Hash (options):

  • :run_list (Array)

    run list items to merge

  • :attributes (Hash)

    attributes of normal precedence to merge

Returns:

Raises:



27
28
29
30
31
32
33
# File 'lib/ridley/resources/node_resource.rb', line 27

def merge_data(target, options = {})
  unless node = find(target)
    abort Errors::ResourceNotFound.new
  end

  update(node.merge_data(options))
end