Sha256: 156527d56522f1e73483f7616cbc70c6aa7d05ac8357a1c6db271df42764be91

Contents?: true

Size: 1.3 KB

Versions: 14

Compression:

Stored size: 1.3 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.
      #
      # @param name [String|Symbol] The name of the model with the
      #   value you wish to use.
      # @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

14 entries across 14 versions & 1 rubygems

Version Path
vedeu-0.8.15 lib/vedeu/dsl/use.rb
vedeu-0.8.14 lib/vedeu/dsl/use.rb
vedeu-0.8.13 lib/vedeu/dsl/use.rb
vedeu-0.8.12 lib/vedeu/dsl/use.rb
vedeu-0.8.10 lib/vedeu/dsl/use.rb
vedeu-0.8.9 lib/vedeu/dsl/use.rb
vedeu-0.8.8 lib/vedeu/dsl/use.rb
vedeu-0.8.7 lib/vedeu/dsl/use.rb
vedeu-0.8.6 lib/vedeu/dsl/use.rb
vedeu-0.8.5 lib/vedeu/dsl/use.rb
vedeu-0.8.4 lib/vedeu/dsl/use.rb
vedeu-0.8.3 lib/vedeu/dsl/use.rb
vedeu-0.8.2 lib/vedeu/dsl/use.rb
vedeu-0.8.1 lib/vedeu/dsl/use.rb