Class: Hiptest::NodeModifiers::ItemsOrderer

Inherits:
Object
  • Object
show all
Defined in:
lib/hiptest-publisher/node_modifiers/items_orderer.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(project) ⇒ ItemsOrderer

Returns a new instance of ItemsOrderer.



10
11
12
# File 'lib/hiptest-publisher/node_modifiers/items_orderer.rb', line 10

def initialize(project)
  @project = project
end

Class Method Details

.add(project, order) ⇒ Object



6
7
8
# File 'lib/hiptest-publisher/node_modifiers/items_orderer.rb', line 6

def self.add(project, order)
  self.new(project).order_items(order)
end

Instance Method Details

#order_items(order) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/hiptest-publisher/node_modifiers/items_orderer.rb', line 14

def order_items(order)
  if (order == 'order')
    @project.each_sub_nodes(Hiptest::Nodes::Folder) do |folder|
      folder.children[:scenarios].sort_by! {|sc| sc.order_in_parent}
      folder.children[:subfolders].sort_by! {|f| f.order_in_parent}
    end
  end

  if (order == 'alpha')
    @project.each_sub_nodes(Hiptest::Nodes::Folder) do |folder|
      folder.children[:scenarios].sort_by! {|sc| sc.children[:name] }
      folder.children[:subfolders].sort_by! {|f| f.children[:name] }
    end

    @project.children[:scenarios].children[:scenarios].sort_by! {|sc| sc.children[:name] }
  end
end