Sha256: b145f086c31a28f2e9eb42ea3a1091db267f1a9b6abcbaf65f4b37241fa3bce0

Contents?: true

Size: 957 Bytes

Versions: 5

Compression:

Stored size: 957 Bytes

Contents

module Ridley 
  # @author Jamie Winsor <jamie@vialstudios.com>
  class Node
    include Ridley::Resource

    set_chef_id "name"
    set_chef_type "node"
    set_chef_json_class "Chef::Node"
    set_resource_path "nodes"

    attribute :name
    validates_presence_of :name

    attribute :chef_environment, default: "_default"
    attribute :automatic, default: Hash.new
    attribute :normal, default: Hash.new
    attribute :default, default: Hash.new
    attribute :override, default: Hash.new
    attribute :run_list, default: Array.new
  end
  
  module DSL
    # Coerces instance functions into class functions on Ridley::Node. This coercion
    # sends an instance of the including class along to the class function.
    #
    # @see Ridley::Context
    #
    # @return [Ridley::Context]
    #   a context object to delegate instance functions to class functions on Ridley::Node
    def node
      Context.new(Ridley::Node, self)
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ridley-0.0.5 lib/ridley/resources/node.rb
ridley-0.0.4 lib/ridley/resources/node.rb
ridley-0.0.3 lib/ridley/resources/node.rb
ridley-0.0.2 lib/ridley/resources/node.rb
ridley-0.0.1 lib/ridley/resources/node.rb