Sha256: debc3657365821a00dc6973e7efc6e323ba064ab5c7a095eeb3b061db46596ee

Contents?: true

Size: 482 Bytes

Versions: 2

Compression:

Stored size: 482 Bytes

Contents

require 'rubiks/nodes/validated_node'

module ::Rubiks
  class AnnotatedNode < ::Rubiks::ValidatedNode
    value :name, String

    validates :name_present

    def name_present
      errors << "Name required on #{self.class.name.split('::').last}" if self.name.blank?
    end

    def parse_name(name_value)
      return if name_value.nil?

      self.name = name_value.to_s
    end

    def display_name
      return if self.name.nil?

      self.name.titleize
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
rubiks-0.0.6 lib/rubiks/nodes/annotated_node.rb
rubiks-0.0.5 lib/rubiks/nodes/annotated_node.rb