class Minireq::Core::Requirement

Attributes

body[R]

Public Class Methods

new(id, options = {}) click to toggle source
Calls superclass method Minireq::Core::Node::new
# File lib/minireq/core/requirement.rb, line 13
def initialize(id, options = {})
  super(id, options)
  @body = options[:body]
  @attributes.delete(:body)
  @body ||= ''
end

Public Instance Methods

parent_id() click to toggle source
# File lib/minireq/core/requirement.rb, line 20
def parent_id
  @attributes[:parent]
end
sort_childs() click to toggle source

Sort items by attributes

# File lib/minireq/core/requirement.rb, line 32
def sort_childs
  return if @items.empty?
  return unless @attributes[:child_order]
  order = @attributes[:child_order].split(/ /)
  @items.sort! {|x, y| order.index(x.id) <=> order.index(y.id)}
rescue Exception => e
  msg = ""
  msg << "An error occured during sort childs for [#{@id}].\n"
  msg << "- child_order: #{@attributes[:child_order]};\n"
  msg << "- child_ids  : #{@items.map{|i| i.id}.join(' ')}.\n"
  msg << "Fix the error and try again.\n"
  msg << e.message
  msg << "\n\n"
  puts msg
end
system_attributes() click to toggle source
# File lib/minireq/core/requirement.rb, line 54
def system_attributes
  a = {}
  attributes.each{|k, v| a[k] = v if system_attribute?(k)}
  a
end
user_attributes() click to toggle source
# File lib/minireq/core/requirement.rb, line 48
def user_attributes
  a = {}
  attributes.each{|k, v| a[k] = v unless system_attribute?(k)}
  a
end

Private Instance Methods

system_attribute?(a) click to toggle source
# File lib/minireq/core/requirement.rb, line 62
def system_attribute?(a)
  [:parent, :child_order, :suppress_id].each{|i| return true if a.eql?(i)}
  return false
end