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?