Sha256: 9230793a0e88131d459c9a33b0c3b8ac5219ef0bb14f6940fe1749010f8733c7
Contents?: true
Size: 1.45 KB
Versions: 7
Compression:
Stored size: 1.45 KB
Contents
# frozen_string_literal: true module Vedeu module Presentation # Provide position functionality to the including model. # # @api private # module Position # Gets the position. # # @return [Vedeu::Geometries::Position] def position Vedeu::Geometries::Position.coerce(@position) end # Sets the position. # # @param value [Array<void>|Hash<void>| # Vedeu::Geometries::Position] # @return [Vedeu::Geometries::Position] def position=(value) @position = Vedeu::Geometries::Position.coerce(value) end # Returns a boolean indicating the position attribute of the # including model is set. # # @return [Boolean] def position? position.is_a?(Vedeu::Geometries::Position) end # Returns the x coordinate for the model when the position # attribute of the including model is set. # # @return [Fixnum|NilClass] def x position.x if position? end # Returns the y coordinate for the model when the position # attribute of the including model is set. # # @return [Fixnum|NilClass] def y position.y if position? end private # @param block [Proc] # @return [String] def render_position(&block) return position.to_s { yield } if position? yield end end # Position end # Presentation end # Vedeu
Version data entries
7 entries across 7 versions & 1 rubygems