aipim-rails 0.0.157 → 0.0.159

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf64999a71e2009004d3fc8e48e3344c63ad9cf8
4
- data.tar.gz: cbe8865cdca7702473650c3d490ccee8b8f92925
3
+ metadata.gz: 8363207fbab12be164815cbdd1353fc42cddba30
4
+ data.tar.gz: b5648bf5e94b2cbeee7a63df04ff0b8dfbf5b5ea
5
5
  SHA512:
6
- metadata.gz: a70fd0ad1fdc491ccfe7c183fe35d7b69d942bf715a31131902be39cc73465be79fdc5affc03dcebbd45d323f24fce5f55a7b4312a3c780f12fdf0414d1ad186
7
- data.tar.gz: a0c737c7c06962ec2367b6538a081f05c0f5ea2aa4adfc56ca3ba93e18a9d2121a539d873710623a5022ef7931f8cd4839c17e17f7a1417cbb4d2a6ebee16e23
6
+ metadata.gz: 3dbe790b4da00ffd1b215b450948b0514d5e0a16c705a96333068431e3e06492ab8ca22918ef571c36cbeca422187c492d4e4c08fd1252d4af7eab50452cdf8a
7
+ data.tar.gz: 0450df6b507ad3ad177215afb2e83855816ebf5d1e04c9ba80ff37550c27c5dbd27a11f5e5fdd4a81563214a8e4d1db1e6a9340df7aebd8bee25f43b3d5654d7
data/bin/aipim CHANGED
@@ -2,8 +2,10 @@
2
2
 
3
3
  require 'aipim-rails'
4
4
 
5
+ # root do aipim
5
6
  path = File.expand_path(File.dirname(__FILE__))+"/../"
6
7
 
8
+ # pegar o nome dos arquivos das features
7
9
  def get_files
8
10
  files = []
9
11
  ARGV.delete_at(0)
@@ -20,57 +22,77 @@ def get_files
20
22
  end
21
23
 
22
24
  if ARGV[0] == 'generate'
25
+ # Cria a pasta do aipim
23
26
  system('mkdir -p aipim')
27
+ # Cria pasta screenshot
24
28
  system('mkdir -p aipim/screenshots')
29
+ # Cria um arquivo em branco para o github nao encher o saco
25
30
  system('touch aipim/screenshots/empty')
31
+ # Cria a pasta das paginas html geradas pelo aipim
26
32
  system('mkdir -p aipim/html')
33
+ # Cria a pasta costum do HTML
27
34
  system('mkdir -p aipim/html/costum')
35
+ system('cp -n '+path+'lib/assets/costum.css aipim/html/costum')
36
+ system('cp -n '+path+'lib/assets/costum.js aipim/html/costum')
37
+ # Bootstrap
28
38
  system('cp '+path+'lib/assets/bootstrap.min.css aipim/html')
39
+ # jQuery
29
40
  system('cp '+path+'lib/assets/jquery-1.9.1.js aipim/html')
30
- system('cp '+path+'lib/assets/costum.css aipim/html/costum')
31
- system('cp '+path+'lib/assets/costum.js aipim/html/costum')
32
41
 
33
-
34
- width = "1366"
42
+ # resolucao padrão
43
+ width = "1366"
35
44
  height = "768"
45
+ screenshot = true
36
46
 
37
- unless ARGV[1].nil?
38
- width = ARGV[1].split("x")[0]
39
- height = ARGV[1].split("x")[1]
47
+ # argumentos
48
+ ARGV.each_with_index do |arg, i|
49
+ if i > 0
50
+ # argumento da resolucao
51
+ if ARGV[i] == '--resolution'
52
+ width = ARGV[i+1].split("x")[0]
53
+ height = ARGV[i+1].split("x")[1]
54
+ # argumento do screenshot
55
+ elsif ARGV[i] == '--no-screenshot'
56
+ screenshot = false
57
+ end
58
+ end
40
59
  end
41
60
 
42
- f = File.open(path+'lib/webdriver/screenshot.rb', "r")
43
- f_str = ""
44
- f.each_line {|line| f_str = f_str + line}
45
- f_str = f_str.gsub("SCREENSHOT_HEIGHT", height).gsub("SCREENSHOT_WIDTH", width)
46
- f.close
47
- f = File.open("features/support/screenshot.rb", "w")
48
- f.puts f_str
49
- f.close
61
+ if screenshot
62
+ # le o arquivo de configuracao do screenshot
63
+ f = File.open(path+'lib/webdriver/screenshot.rb', "r")
64
+ # salva tudo numa string
65
+ f_str = ""
66
+ f.each_line {|line| f_str = f_str + line}
67
+ # substitui os valores da resolucao
68
+ f_str = f_str.gsub("SCREENSHOT_HEIGHT", height).gsub("SCREENSHOT_WIDTH", width)
69
+ f.close
70
+ # abre o arquivo de configuracao do screenshot na pasta do cucumber
71
+ f = File.open("features/support/screenshot.rb", "w")
72
+ # coloca a string nesse arquivo
73
+ f.puts f_str
74
+ f.close
75
+ else
76
+ system('rm -f features/support/screenshot.rb')
77
+ end
50
78
 
51
79
  elsif ARGV[0] == 'html'
80
+ # remove os htmls antigos
52
81
  %x[rm -f aipim/html/*.feature.html]
53
- features = []
82
+ # pega o nome das features
54
83
  files = get_files
55
- files.each do |f|
56
- features << Parser.init(f)
57
- end
58
- ConvertToHtml.index(features)
59
- ConvertToHtml.init(features)
60
-
61
- elsif ARGV[0] == 'markdown' || ARGV[0] == 'md'
62
- %x[rm -rf aipim/markdown]
63
- %x[mkdir -p aipim/markdown]
84
+ # recebe o features master
64
85
  features = []
65
- files = get_files
66
86
  files.each do |f|
67
87
  features << Parser.init(f)
68
88
  end
69
- Markdown.init(features)
89
+ # gera a index do relatorio
90
+ ConvertToHtml.index(features)
91
+ # geara o html das features
92
+ ConvertToHtml.features(features)
70
93
 
94
+ # nao serve para nada!! é śó de DEBUG!!
71
95
  elsif ARGV[0] == 'parser'
72
- %x[rm -rf aipim/markdown]
73
- %x[mkdir -p aipim/markdown]
74
96
  files = get_files
75
97
  files.each do |f|
76
98
  puts "Tentando abrir arquivo #{f}"
@@ -1,3 +1,2 @@
1
1
  require 'aipim-rails/parser'
2
- require 'aipim-rails/convert_to_html'
3
- require 'aipim-rails/markdown'
2
+ require 'aipim-rails/convert_to_html'
@@ -27,7 +27,6 @@ module ConvertToHtml
27
27
  def self.index(features)
28
28
 
29
29
  output = File.open("aipim/html/index.html", "w")
30
-
31
30
  output.puts '
32
31
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
33
32
  <html>
@@ -38,14 +37,13 @@ module ConvertToHtml
38
37
  <script src="jquery-1.9.1.js"></script>
39
38
  <script src="costum/costum.js"></script>
40
39
  </head>
41
- <body>'
42
- output.puts '
40
+ <body>
43
41
  <div class="panel panel-default scenario-index-panel">
44
42
  <div class="panel-body scenario-index-body">
45
43
  <ul class="list-unstyled">'
46
44
  features.each_with_index do |feature,i|
47
45
  output.puts '
48
- <li><a href="#">'+(i+1).to_s+'. '+feature[:feature_name]+'</a></li>'
46
+ <li><a href="'+feature[:filename]+'.html">'+(i+1).to_s+'. '+feature[:feature_name]+'</a></li>'
49
47
  end
50
48
  output.puts '
51
49
  </ul>
@@ -57,7 +55,7 @@ module ConvertToHtml
57
55
  output.close
58
56
  end
59
57
 
60
- def self.init(features)
58
+ def self.features(features)
61
59
 
62
60
  features.each_with_index do |feature, i|
63
61
  output = File.open("aipim/html/"+feature[:filename]+".html", "w")
@@ -72,8 +70,7 @@ module ConvertToHtml
72
70
  <script src="jquery-1.9.1.js"></script>
73
71
  <script src="costum/costum.js"></script>
74
72
  </head>
75
- <body>'
76
- output.puts '
73
+ <body>
77
74
  <div class="panel panel-default scenario-index-panel">
78
75
  <div class="panel-body scenario-index-body">
79
76
  <ul class="list-unstyled">'
@@ -8,37 +8,40 @@ module Parser
8
8
 
9
9
 
10
10
  def self.tag_screenshot(line,file,workset)
11
- if line && ParserHelper.is_marcacao?(line) && ParserHelper.is_screenshot?(line)
11
+ if line && ParserHelper.is_tag?(line) && ParserHelper.is_screenshot?(line)
12
12
  workset[:screenshot] = true
13
13
  line = ParserHelper::read_line(file)
14
14
  end
15
- return line, file, workset
15
+ return line, workset
16
16
  end
17
17
 
18
18
  def self.tag_feature(line,file,workset)
19
- if line && ParserHelper.is_funcionalidade?(line)
20
- workset[:feature_name] = ParserHelper.get_funcionalidade(line)
21
- while ((line = ParserHelper::read_line(file)) && !ParserHelper.is_comando?(line))
19
+ if line && ParserHelper.is_feature?(line)
20
+
21
+ workset[:feature_name] = ParserHelper.get_feature(line)
22
+
23
+ while ((line = ParserHelper::read_line(file)) && !ParserHelper.is_command?(line))
22
24
  workset[:feature_description] << line if !(line.gsub(" ", "") == "")
23
25
  end
26
+
24
27
  end
25
- return line, file, workset
28
+ return line, workset
26
29
  end
27
30
 
28
31
  def self.tag_context(line,file,workset)
29
- if line && ParserHelper.is_contexto?(line)
30
- while ((line = ParserHelper::read_line(file)) && !ParserHelper.is_comando?(line))
32
+ if line && ParserHelper.is_context?(line)
33
+ while ((line = ParserHelper::read_line(file)) && !ParserHelper.is_command?(line))
31
34
  workset[:context_description] << line if !(line.gsub(" ", "") == "")
32
35
  end
33
36
  end
34
- return line, file, workset
37
+ return line, workset
35
38
  end
36
39
 
37
40
  def self.tag_scenario(line,file,workset)
38
- if line && ParserHelper.is_cenario?(line)
39
- scenario_name = ParserHelper.get_cenario(line)
41
+ if line && ParserHelper.is_scenario?(line)
42
+ scenario_name = ParserHelper.get_scenario(line)
40
43
  scenario_steps = []
41
- while ((line = ParserHelper::read_line(file)) && !ParserHelper.is_comando?(line))
44
+ while ((line = ParserHelper::read_line(file)) && !ParserHelper.is_command?(line))
42
45
  scenario_steps << line if !(line.gsub(" ", "") == "")
43
46
  end
44
47
  if workset[:screenshot]
@@ -48,7 +51,16 @@ module Parser
48
51
  end
49
52
  workset[:scenarios] << {name: scenario_name, steps: scenario_steps, screenshot: screenshot}
50
53
  end
51
- return line, file, workset
54
+ return line, workset
55
+ end
56
+
57
+ def self.process_tags(line, file, workset)
58
+ line, workset = tag_screenshot(line, file, workset)
59
+ line, workset = tag_feature(line, file, workset)
60
+ line, workset = tag_context(line, file, workset)
61
+ line, workset = tag_scenario(line, file, workset)
62
+ line = ParserHelper::read_line(file) unless ParserHelper.is_command?(line)
63
+ return line, workset
52
64
  end
53
65
 
54
66
  def self.parser(filename)
@@ -72,16 +84,7 @@ module Parser
72
84
 
73
85
  line = ParserHelper::read_line(file)
74
86
  while (line)
75
-
76
- line, file, workset = tag_screenshot(line, file, workset)
77
-
78
- line, file, workset = tag_feature(line, file, workset)
79
-
80
- line, file, workset = tag_context(line, file, workset)
81
-
82
- line, file, workset = tag_scenario(line, file, workset)
83
-
84
- line = ParserHelper::read_line(file) unless ParserHelper.is_comando?(line)
87
+ line, workset = process_tags(line,file,workset)
85
88
  end
86
89
  file.close
87
90
 
@@ -1,34 +1,34 @@
1
1
  module ParserHelper
2
2
 
3
- def self.is_comando?(line)
4
- is_funcionalidade?(line) || is_cenario?(line) || is_contexto?(line) || is_marcacao?(line)
3
+ def self.is_command?(line)
4
+ is_feature?(line) || is_scenario?(line) || is_context?(line) || is_tag?(line)
5
5
  end
6
6
 
7
- def self.is_funcionalidade?(line)
7
+ def self.is_feature?(line)
8
8
  return line =~ /Funcionalidade:.*/
9
9
  end
10
10
 
11
- def self.get_funcionalidade(line)
11
+ def self.get_feature(line)
12
12
  line.gsub("Funcionalidade:", '').split(' ').join(' ')
13
13
  end
14
14
 
15
- def self.is_cenario?(line)
15
+ def self.is_scenario?(line)
16
16
  return line =~ /Cenário:.*/
17
17
  end
18
18
 
19
- def self.get_cenario(line)
19
+ def self.get_scenario(line)
20
20
  line.gsub("Cenário:", '').split(' ').join(' ')
21
21
  end
22
22
 
23
- def self.is_contexto?(line)
23
+ def self.is_context?(line)
24
24
  return true if line =~ /Contexto:.*/
25
25
  end
26
26
 
27
- def self.get_contexto(line)
27
+ def self.get_context(line)
28
28
  line.gsub("Contexto:", '').split(' ').join(' ')
29
29
  end
30
30
 
31
- def self.is_marcacao?(line)
31
+ def self.is_tag?(line)
32
32
  return true if line =~ /@.*/
33
33
  end
34
34
 
@@ -36,7 +36,7 @@ module ParserHelper
36
36
  return (line.include? "@screenshot") && (line.include? "@javascript")
37
37
  end
38
38
 
39
- def self.is_comentario?(line)
39
+ def self.is_comment?(line)
40
40
  return true if line =~ /#.*/
41
41
  end
42
42
 
@@ -0,0 +1,10 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
+ <html>
3
+ <head>
4
+ <META http-equiv="Content-Type" content="text/html; charset=utf-8">
5
+ <link href="bootstrap.min.css" rel="stylesheet">
6
+ <link href="costum/costum.css" rel="stylesheet">
7
+ <script src="jquery-1.9.1.js"></script>
8
+ <script src="costum/costum.js"></script>
9
+ </head>
10
+ <body>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aipim-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.157
4
+ version: 0.0.159
5
5
  platform: ruby
6
6
  authors:
7
7
  - Facta TI
@@ -46,15 +46,15 @@ extensions: []
46
46
  extra_rdoc_files: []
47
47
  files:
48
48
  - lib/aipim-rails.rb
49
- - lib/aipim-rails/markdown.rb
50
49
  - lib/aipim-rails/parser.rb
51
50
  - lib/aipim-rails/parser_helper.rb
51
+ - lib/aipim-rails/convert_to_html.rb
52
52
  - lib/webdriver/screenshot.rb
53
53
  - lib/assets/bootstrap.min.css
54
54
  - lib/assets/jquery-1.9.1.js
55
55
  - lib/assets/costum.css
56
56
  - lib/assets/costum.js
57
- - lib/aipim-rails/convert_to_html.rb
57
+ - lib/assets/header.html
58
58
  - bin/aipim
59
59
  homepage: http://rubygems.org/gems/aipim
60
60
  licenses:
@@ -1,74 +0,0 @@
1
- require 'aipim-rails/parser'
2
-
3
- module Markdown
4
-
5
- def self.init(features)
6
- features.each_with_index do |feature, i|
7
- output = File.new("aipim/markdown/#{feature[:filename]}", "w")
8
- write_feature(feature, output)
9
- output.close
10
- end
11
- #read_content(filename)
12
- end
13
-
14
- def self.write_feature(feature, output)
15
- feature[:scenarios].each_with_index do |scenario, i|
16
- output.puts "[#{i+1}. #{scenario[:name]}](#) "
17
- end
18
- output.puts ''
19
- output.puts "# #{feature[:feature_name]} #"
20
- end
21
-
22
- def self.read_content(features, output)
23
-
24
-
25
- file = File.new("features/"+filename, "r")
26
- output = File.new("aipim/markdown/"+filename+".md", "a")
27
-
28
- is_screenshot = false; scenario_counter = 1; screenshot_counter = 0
29
- screenshots = %x[\ls aipim/screenshots/#{filename}].split("\n")
30
-
31
- output.puts ""
32
- line = ParserHelper.read_line(file)
33
- while (line)
34
-
35
- if !ParserHelper.is_comando?(line) && !(line.gsub(" ", "") == "")
36
- output.puts " #{line} "
37
- line = ParserHelper.read_line(file)
38
-
39
- elsif ParserHelper.is_marcacao?(line) && ParserHelper.is_screenshot?(line)
40
- is_screenshot = true
41
- line = ParserHelper.read_line(file)
42
-
43
- elsif ParserHelper.is_funcionalidade?(line)
44
- output.puts "# #{ParserHelper.get_funcionalidade(line)} #"
45
- line = ParserHelper.read_line(file)
46
-
47
- elsif ParserHelper.is_cenario?(line)
48
- output.puts "> ## #{scenario_counter}. #{ParserHelper.get_cenario(line)} ##"
49
- scenario_counter = scenario_counter+1
50
- while ((line = ParserHelper.read_line(file)) && !ParserHelper.is_comando?(line))
51
- output.puts "> #{line} " if !(line.gsub(" ", "") == "")
52
- end
53
- if is_screenshot
54
- output.puts '> [![Alt text](../screenshots/'+filename+'/'+screenshots[screenshot_counter].to_s+')](../screenshots/'+filename+'/'+screenshots[screenshot_counter].to_s+') '
55
- screenshot_counter = screenshot_counter+1
56
- is_screenshot = false
57
- end
58
- output.puts ''
59
-
60
- elsif ParserHelper.is_contexto?(line)
61
- output.puts "## Contexto : #{ParserHelper.get_contexto(line)} ##"
62
- line = ParserHelper.read_line(file)
63
-
64
- else
65
- line = ParserHelper.read_line(file)
66
- end
67
- end
68
- file.close
69
- output.close
70
-
71
-
72
- end
73
-
74
- end