Sha256: a80c4873eaf54bd2ba7127737dc72e8a35dbd785d8d91aa64d5551ed105b1cb3

Contents?: true

Size: 839 Bytes

Versions: 3

Compression:

Stored size: 839 Bytes

Contents

module Eaco

  ##
  # Eaco DSL entry point.
  #
  # @see DSL::Resource
  # @see DSL::Actor
  # @see DSL::ACL
  #
  module DSL
    extend self # Oh the irony.

    autoload :Base,     'eaco/dsl/base'

    autoload :ACL,      'eaco/dsl/acl'
    autoload :Actor,    'eaco/dsl/actor'
    autoload :Resource, 'eaco/dsl/resource'

    ##
    # Entry point for the {Resource} authorization definition.
    #
    # @see DSL::Resource
    # @see DSL::ACL
    #
    def authorize(resource_class, options = {}, &block)
      DSL::Resource.eval(resource_class, options, &block)
      DSL::ACL.eval(resource_class, options)
    end

    ##
    # Entry point for the {Actor} designators definition.
    #
    # @see DSL::Actor
    #
    def actor(actor_class, options = {}, &block)
      DSL::Actor.eval(actor_class, options, &block)
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
eaco-0.6.1 lib/eaco/dsl.rb
eaco-0.6.0 lib/eaco/dsl.rb
eaco-0.5.0 lib/eaco/dsl.rb