Sha256: bfed888135fa0e4b8d263235425f6ec687f3bae6fbfde595af0267bffef062fd

Contents?: true

Size: 1.19 KB

Versions: 1

Compression:

Stored size: 1.19 KB

Contents

module Apress
  module Documentation
    module Dsl
      module Mixins
        module Dependable
          # Public: создает зависимости между документами, является частью DSL
          #
          # Arguments:
          #   documents_slugs - Массив полных слагов для документом от которых зависит текущий документ.
          # Examples:
          #   Apress::Documentation.build(:module) do
          #     document(:doc2) do
          #       depends_on('module/doc1', 'other_model/other_document')
          #     end
          #
          #     document(:doc1)
          #   end
          #
          def depends_on(*documents_slugs)
            documents_slugs.each do |document_slug|
              document = Apress::Documentation::Storage::Modules.instance.fetch_document(document_slug)
              document ||= document_slug
              Apress::Documentation::Storage::DependencyGraph.instance.add_document(document)
              Apress::Documentation::Storage::DependencyGraph.instance.add_dependency(@target, document)
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
apress-documentation-0.4.0 lib/apress/documentation/dsl/compilers/mixins/dependable.rb