Class: Hiptest::SignatureExporter

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.export_actionwords(project, export_nodes = false) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/hiptest-publisher/signature_exporter.rb', line 6

def self.export_actionwords(project, export_nodes = false)
  exporter = SignatureExporter.new

  [
    exporter.export_actionwords(project.children[:actionwords], export_nodes),
    exporter.export_libraries(project.children[:libraries], export_nodes)
  ].flatten
end

Instance Method Details

#export_actionword(item, export_node = false) ⇒ Object



31
32
33
34
35
36
37
38
39
40
# File 'lib/hiptest-publisher/signature_exporter.rb', line 31

def export_actionword(item, export_node = false)
  hash = {
    'name' => item.children[:name],
    'uid' => item.children[:uid],
    'parameters' => export_parameters(item),
    'body_hash' => make_body_hash(item.children[:body])
  }
  hash['node'] = item if export_node
  hash
end

#export_actionwords(aws, export_nodes = false) ⇒ Object



15
16
17
# File 'lib/hiptest-publisher/signature_exporter.rb', line 15

def export_actionwords(aws, export_nodes = false)
  aws.children[:actionwords].map {|aw| export_actionword(aw, export_nodes)}
end

#export_libraries(libraries, export_nodes = false) ⇒ Object



19
20
21
# File 'lib/hiptest-publisher/signature_exporter.rb', line 19

def export_libraries(libraries, export_nodes = false)
  libraries.children[:libraries].map {|lib| export_library(lib, export_nodes)}
end

#export_library(library, export_nodes = false) ⇒ Object



23
24
25
26
27
28
29
# File 'lib/hiptest-publisher/signature_exporter.rb', line 23

def export_library(library, export_nodes = false)
  {
    'name' => library.children[:name],
    'type' => 'library',
    'actionwords' => library.children[:library_actionwords].map {|aw| export_actionword(aw, export_nodes) }
  }
end

#export_parameter(parameter) ⇒ Object



46
47
48
49
50
# File 'lib/hiptest-publisher/signature_exporter.rb', line 46

def export_parameter(parameter)
  {
    'name' => parameter.children[:name]
  }
end

#export_parameters(item) ⇒ Object



42
43
44
# File 'lib/hiptest-publisher/signature_exporter.rb', line 42

def export_parameters(item)
  item.children[:parameters].map {|p| export_parameter(p)}
end

#make_body_hash(body) ⇒ Object



52
53
54
# File 'lib/hiptest-publisher/signature_exporter.rb', line 52

def make_body_hash(body)
  Digest::MD5.hexdigest(body.map(&:flat_string).join(''))
end