Class: Kludge::Part

Inherits:
Object
  • Object
show all
Extended by:
ActiveModel::Naming, ActiveModel::Translation
Defined in:
lib/kludge/part.rb

Direct Known Subclasses

Many, One

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, options = {}) ⇒ Part

Returns a new instance of Part.



9
10
11
12
13
14
15
# File 'lib/kludge/part.rb', line 9

def initialize(name, options = {})
  @name = name
  @options = options
  @value = options[:value]
  @children = []
  @errors = ActiveModel::Errors.new(self)
end

Instance Attribute Details

#childrenObject

Returns the value of attribute children.



7
8
9
# File 'lib/kludge/part.rb', line 7

def children
  @children
end

#errorsObject (readonly)

Returns the value of attribute errors.



6
7
8
# File 'lib/kludge/part.rb', line 6

def errors
  @errors
end

#nameObject (readonly)

Returns the value of attribute name.



6
7
8
# File 'lib/kludge/part.rb', line 6

def name
  @name
end

#parentObject

Returns the value of attribute parent.



7
8
9
# File 'lib/kludge/part.rb', line 7

def parent
  @parent
end

#valueObject (readonly)

Returns the value of attribute value.



6
7
8
# File 'lib/kludge/part.rb', line 6

def value
  @value
end

Instance Method Details

#dependencyObject



29
30
31
# File 'lib/kludge/part.rb', line 29

def dependency
  @options[:belongs_to]
end

#dependent?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/kludge/part.rb', line 25

def dependent?
  @options[:belongs_to]
end

#many?Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/kludge/part.rb', line 17

def many?
  self.class == Many
end

#one?Boolean

Returns:

  • (Boolean)


21
22
23
# File 'lib/kludge/part.rb', line 21

def one?
  self.class == One
end

#saveObject



33
34
35
# File 'lib/kludge/part.rb', line 33

def save
  children.each(&:save)
end

#valid?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/kludge/part.rb', line 37

def valid?
  validate && children.map(&:valid?).all?
end