Sha256: 4a81ded7cac0fac6594b72ab6221218a9d52991b21a7078aa36de6cf622db111

Contents?: true

Size: 724 Bytes

Versions: 6

Compression:

Stored size: 724 Bytes

Contents

module Dox
  module DSL
    class Documentation
      attr_accessor :subject
      attr_accessor :_resource
      attr_accessor :_action
      attr_accessor :_group

      def initialize(opts = {})
        self.subject = opts.fetch :subject
      end

      def resource(name, &block)
        self._resource = Resource.new(name, &block)
      end

      def action(name, &block)
        self._action = Action.new(name, &block)
      end

      def group(name, &block)
        self._group = ResourceGroup.new(name, &block)
      end

      def config
        {}.merge(_resource ? _resource.config : {})
          .merge(_action ? _action.config : {})
          .merge(_group ? _group.config : {})
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
dox-1.3.0 lib/dox/dsl/documentation.rb
dox-1.2.0 lib/dox/dsl/documentation.rb
dox-1.1.0 lib/dox/dsl/documentation.rb
dox-1.0.2 lib/dox/dsl/documentation.rb
dox-1.0.1 lib/dox/dsl/documentation.rb
dox-1.0.0 lib/dox/dsl/documentation.rb