Sha256: 4314a6ecc73ecf63417f8c392bf1b60c123ae5da335d06505498814fbb5185f8
Contents?: true
Size: 1.53 KB
Versions: 6
Compression:
Stored size: 1.53 KB
Contents
module Vedeu module Borders # Provides the mechanism to set attributes on a # {Vedeu::Borders::Border} object. At the moment, it is used for # setting the title and caption for a named border. # # @api private # class SetAttribute include Vedeu::Common # @param (see #initialize) # @return [Vedeu::Borders::Border] def self.update(name, attribute, value) new(name, attribute, value).update end # @param name [String|Symbol] # @param attribute [Symbol] # @param value [String] # @return [Vedeu::Borders::SetAttribute] def initialize(name, attribute, value) @name = name @attribute = attribute @value = value end # @return [Vedeu::Borders::Border] def update border.send(attribute, value) border.store { Vedeu.trigger(:_refresh_border_, name) } border end protected # @!attribute [r] name # @return [String|Symbol] The name of the border. attr_reader :name private # @return [Symbol] def attribute fail Vedeu::Error::MissingRequired if @attribute.nil? (@attribute.to_s + '=').to_sym end # @return [Vedeu::Borders::Border] def border @_border ||= Vedeu.borders.by_name(name) end # @return [String] The new value. def value if present?(@value) @value else '' end end end # SetAttribute end # Borders end # Vedeu
Version data entries
6 entries across 6 versions & 1 rubygems