Sha256: 5b1426c2f8c0cab456d9db5c84f046d9c8bdb2ec3a8a5fc8287023fc2370ab94

Contents?: true

Size: 1.23 KB

Versions: 5

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

module Vedeu

  module DSL

    # Provides helper methods for building views.
    #
    module Use

      # Use the attribute of stored model.
      #
      # This DSL method provides access to a stored model by name.
      # You can then request an attribute of that model for use within
      # the current model. The models which current support this are
      # Border, Geometry and Interface.
      #
      # @example
      #   # Here the character used for :my_border is used in
      #   # :my_other_border.
      #   Vedeu.border :my_other_border do
      #     top_right use(:my_border).top_right
      #   end
      #
      # @note
      #   - Only models of the same repository can be used in this
      #     way.
      #   - If the stored model cannot be found, a ModelNotFound
      #     exception may be raised, or the request for an attribute
      #     may raise a NoMethodError exception.
      #
      # @macro param_name
      # @raise
      #   [Vedeu::Error::ModelNotFound|Vedeu::Error::NoMethodError]
      #   The model or attribute cannot be found.
      # @return [void] The stored model.
      def use(name)
        model.repository.by_name(name)
      end

    end # Use

  end # DSL

end # Vedeu

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
vedeu-0.8.20 lib/vedeu/dsl/use.rb
vedeu-0.8.19 lib/vedeu/dsl/use.rb
vedeu-0.8.18 lib/vedeu/dsl/use.rb
vedeu-0.8.17 lib/vedeu/dsl/use.rb
vedeu-0.8.16 lib/vedeu/dsl/use.rb