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
get_links()
click to toggle source
@return [Array<String>] of body_link_macro in hierarchy
# File lib/minireq/core/requirement.rb, line 25 def get_links to_a.inject([]) do |a, i| a.concat(i.body.scan(/\[\[([\w\.]*)\]\]/).flatten.uniq) end end
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