Sha256: 872f3ff3e91c67487c1c8d1d25b7e1cb3c607b167f6eabf23ef4dbdb4f6d055d

Contents?: true

Size: 934 Bytes

Versions: 6

Compression:

Stored size: 934 Bytes

Contents

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

    set_chef_id "name"
    set_chef_type "role"
    set_chef_json_class "Chef::Role"
    set_resource_path "roles"

    attribute :name
    validates_presence_of :name

    attribute :description, default: String.new
    attribute :default_attributes, default: Hash.new
    attribute :override_attributes, default: Hash.new
    attribute :run_list, default: Array.new
    attribute :env_run_lists, default: Hash.new
  end

  module DSL
    # Coerces instance functions into class functions on Ridley::Role. 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::Role
    def role
      Context.new(Ridley::Role, self)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

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