Sha256: 5e28d352534fb555b49e5483b3a009bfbd102aa70159f4936963dd47d8c22e2d

Contents?: true

Size: 515 Bytes

Versions: 2

Compression:

Stored size: 515 Bytes

Contents

module Nucleus
  #
  # @author Cedric Roeck (cedric.roeck@gmail.com)
  # @since 0.1.0
  class AbstractModel
    include Kwalify::Util::HashLike

    attr_accessor :id
    attr_accessor :name
    attr_accessor :created_at
    attr_accessor :updated_at

    def initialize(hash = nil)
      return if hash.nil?
      @name = hash['name']
      @id = hash['id']
    end

    def to_s
      return name if respond_to?('name')
      return id if id
      super.to_s
    end

    def inspect
      to_s
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
nucleus-0.3.1 lib/nucleus/core/models/abstract_model.rb
nucleus-0.2.0 lib/nucleus/core/models/abstract_model.rb