Method: Clerq::Entities::Node#initialize

Defined in:
lib/clerq/entities/node.rb

#initialize(id: '', title: '', body: '', meta: {}) ⇒ Node

Returns a new instance of Node.

Raises:

  • (ArgumentError)


42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/clerq/entities/node.rb', line 42

def initialize(id: '', title: '', body: '', meta: {})
  raise ArgumentError, "Invalid argument :id" unless id.is_a? String
  raise ArgumentError, "Invalid argument :title" unless title.is_a? String
  raise ArgumentError, "Invalid argument :body" unless body.is_a? String
  raise ArgumentError, "Invalid argument :meta" unless meta.is_a? Hash
  id = meta.delete(:id) if id.empty? && meta[:id]
  meta.delete(:id) unless id.empty?
  @parent = nil
  @items = []
  @id = id
  @title = title
  @body = body
  @meta = meta
end