lib/vedeu/dsl/components/geometry.rb in vedeu-0.3.1 vs lib/vedeu/dsl/components/geometry.rb in vedeu-0.3.2
- old
+ new
@@ -1,7 +1,7 @@
require 'vedeu/models/geometry'
-require 'vedeu/dsl/shared/use'
+require 'vedeu/dsl/shared/all'
module Vedeu
module DSL
@@ -12,10 +12,20 @@
include Vedeu::DSL
include Vedeu::DSL::Use
class << self
+ # Specify the geometry of an interface or view with a simple DSL.
+ #
+ # @example
+ # Vedeu.geometry 'some_interface' do
+ # # ...
+ #
+ # @param name [String] The name of the interface or view to which this
+ # geometry belongs.
+ # @param block [Proc]
+ # @return [Vedeu::Geometry]
def geometry(name, &block)
fail InvalidSyntax, 'block not given' unless block_given?
Vedeu::Geometry.build({ name: name }, &block).store
end
@@ -35,18 +45,17 @@
#
# @param value [Boolean] Any value other than nil or false will evaluate
# to true.
#
# @example
- # interface 'my_interface' do
- # geometry do
- # centred!
+ # geometry 'some_interface' do
+ # centred!
+ # # ...
#
- # interface 'my_interface' do
- # geometry do
- # centred false
- # ...
+ # geometry 'some_interface' do
+ # centred false
+ # # ...
#
# @return [Boolean]
def centred(value = true)
model.centred = !!value
end
@@ -55,43 +64,27 @@
# Specify the number of characters/rows/lines tall the interface will be.
#
# @param value [Fixnum]
#
# @example
- # interface 'my_interface' do
- # geometry do
- # height 8
- # ...
+ # geometry 'some_interface' do
+ # height 8
+ # # ...
#
# @return [Fixnum]
def height(value)
model.height = value
end
- # Specify the name of the interface for which the geometry belongs.
- #
- # @example
- # interface 'my_interface' do
- # geometry do
- # name 'my_interface'
- # ...
- #
- # @param value [String]
- # @return [String]
- def name(value)
- model.name = value
- end
-
# Specify the number of characters/columns wide the interface will be.
#
# @param value [Fixnum]
#
# @example
- # interface 'my_interface' do
- # geometry do
- # width 25
- # ...
+ # geometry 'some_interface' do
+ # width 25
+ # # ...
#
# @return [Fixnum]
def width(value)
model.width = value
end
@@ -100,19 +93,19 @@
#
# @param value [Fixnum]
# @param block [Proc]
#
# @example
- # interface 'my_interface' do
- # geometry do
- # x 7 # start on column 7.
+ # geometry 'some_interface' do
+ # x 7 # start on column 7.
+ # # ...
#
- # interface 'other_interface' do
- # geometry do
- # x { use('my_interface').east } # start on column 8, if
- # # `my_interface` changes position,
- # # `other_interface` will too.
+ # geometry 'some_interface' do
+ # x { use('other_interface').east } # start on column 8, if
+ # # ... # `other_interface` changes
+ # # position, `some_interface` will
+ # # too.
#
# @return [Fixnum]
def x(value = 0, &block)
return model.x = block if block_given?
@@ -123,19 +116,18 @@
#
# @param value [Fixnum]
# @param block [Proc]
#
# @example
- # interface 'my_interface' do
- # geometry do
- # y 4
- # ...
+ # geometry 'some_interface' do
+ # y 4
+ # # ...
#
- # interface 'other_interface' do
- # geometry do
- # y { use('my_interface').north } # start on row/line 3, if
- # ... # `my_interface` changes position,
- # # `other_interface` will too.
+ # geometry 'some_interface' do
+ # y { use('other_interface').north } # start on row/line 3, if
+ # # ... # `other_interface` changes
+ # # position, `some_interface`
+ # # will too.
#
# @return [Fixnum]
def y(value = 0, &block)
return model.y = block if block_given?