cuker 0.5.22 → 0.6.5
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 +4 -4
- data/cuker.gemspec +16 -10
- data/lib/cuker/cuker_cmd.rb +16 -3
- data/lib/cuker/helpers/formatters/abstract_model.rb +10 -7
- data/lib/cuker/helpers/formatters/csv_model.rb +1 -1
- data/lib/cuker/helpers/formatters/ruby_x_l_model.rb +7 -6
- data/lib/cuker/helpers/formatters/summary_x_l_model.rb +140 -0
- data/lib/cuker/helpers/writers/combos.xlsm +0 -0
- data/lib/cuker/helpers/writers/ruby_x_l_writer.rb +4 -3
- data/lib/cuker/helpers/writers/summary_x_l_writer.rb +104 -0
- data/lib/cuker/helpers/writers/template_excel_jira.xlsm +0 -0
- data/lib/cuker/helpers/writers/template_excel_summary.xlsm +0 -0
- data/lib/cuker/{test → sandbox}/book1.rb +0 -0
- data/lib/cuker/{test → sandbox}/ruby_xl.rb +0 -0
- data/lib/cuker/{test → sandbox}/sablon-try.rb +0 -0
- data/lib/cuker/{test → sandbox}/template.docx +0 -0
- data/lib/cuker/{test → sandbox}/xlsx_500_rows.xlsx +0 -0
- data/lib/cuker/version.rb +1 -1
- metadata +39 -20
- data/lib/cuker/helpers/writers/simple_macro_template.xlsm +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d4f880c3869c84766c1f1b13faa959ffdeaf3b31416926561d1e23831b5fa3d3
|
4
|
+
data.tar.gz: f2e443c999f42b6699a59763a46e2239682d5af7d340d5fefbabcf3d1f621c79
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ecd71bb41d84a324ec204a3287d810755d95d2065b869059e359d69623a9d137016476bbb2af165b893a6745e36f686e15dcb1d63de401253c14a45524a03265
|
7
|
+
data.tar.gz: ab111cea898528d105d23698c1de6edc5c8b470a89a62ec5537e99d829f7ea0bed53fa51d1085a235b6c82b1a4044478d769c3e92ca952dd20f41ba347e5db28
|
data/cuker.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
10
10
|
spec.email = ["ufo2mstar@gmail.com"]
|
11
11
|
|
12
12
|
spec.summary = %q{Cucumber Summary Gem}
|
13
|
-
spec.description = %q{generates reports and gives some customizable formatting options}
|
13
|
+
spec.description = %q{generates reports of your feature files and gives some customizable formatting options}
|
14
14
|
spec.homepage = "https://github.com/ufo2mstar/cuker"
|
15
15
|
spec.license = "MIT"
|
16
16
|
|
@@ -37,20 +37,26 @@ Gem::Specification.new do |spec|
|
|
37
37
|
# gem.executables = ["cuker"]
|
38
38
|
spec.require_paths = ["lib"]
|
39
39
|
|
40
|
+
|
41
|
+
# https://guides.rubygems.org/specification-reference/
|
42
|
+
|
43
|
+
# Dev Deps
|
40
44
|
spec.add_development_dependency "bundler", "~> 2.0"
|
41
45
|
spec.add_development_dependency "rake", "~> 10.0"
|
42
46
|
# spec.add_development_dependency "rspec", "~> 3.0"
|
43
|
-
|
44
|
-
spec.add_development_dependency "require_all"
|
45
47
|
spec.add_development_dependency "awesome_print"
|
46
|
-
spec.add_development_dependency "logging"
|
47
48
|
|
48
|
-
|
49
|
+
# Runtime Deps
|
50
|
+
spec.add_runtime_dependency "require_all"
|
51
|
+
spec.add_runtime_dependency "logging"
|
52
|
+
|
53
|
+
spec.add_runtime_dependency "gherkin", "~> 5.1"
|
49
54
|
|
50
|
-
|
51
|
-
spec.
|
55
|
+
spec.add_runtime_dependency "rubyXL"
|
56
|
+
# spec.add_runtime_dependency "table_print"
|
57
|
+
spec.add_runtime_dependency "text-table"
|
52
58
|
|
53
|
-
spec.
|
54
|
-
|
55
|
-
spec.
|
59
|
+
# spec.add_runtime_dependency "thor"
|
60
|
+
spec.add_runtime_dependency "highline"
|
61
|
+
spec.add_runtime_dependency "bindata"
|
56
62
|
end
|
data/lib/cuker/cuker_cmd.rb
CHANGED
@@ -24,17 +24,30 @@ module Cuker
|
|
24
24
|
PRODUCERS[:simple_jira] = [JiraModel, JiraWriter]
|
25
25
|
PRODUCERS[:monospaced_jira] = [JiraMonoModel, JiraWriter]
|
26
26
|
PRODUCERS[:jira_excel] = [RubyXLModel, RubyXLWriter]
|
27
|
+
PRODUCERS[:summary_excel] = [SummaryXLModel, SummaryXLWriter]
|
27
28
|
|
28
29
|
PRESETS = {}
|
29
30
|
PRESETS[:jira_package] = [:simple_jira, :jira_excel]
|
30
31
|
PRESETS[:jira_text] = [:simple_jira]
|
31
32
|
PRESETS[:jira_excel] = [:jira_excel]
|
33
|
+
PRESETS[:testsuite_summary] = [:summary_excel]
|
32
34
|
|
33
35
|
|
34
36
|
# desc "report PRESET_KEY [FEATURE_PATH [REPORT_PATH [REPORT_FILE_NAME [LOG_LEVEL]]]]",
|
35
37
|
# "reports parsed results into \nREPORT_PATH/REPORT_FILE_NAME \nfor all '*.feature' files in the given FEATURE_PATH\nSTDIO LOG_LEVEL adjustable\n"
|
36
38
|
|
37
|
-
def report preset_key,
|
39
|
+
def report preset_key,
|
40
|
+
feat_path = "../",
|
41
|
+
report_file_name = 'sample_report',
|
42
|
+
report_path_input = ".",
|
43
|
+
special_tags_list = [
|
44
|
+
"@uat_done",
|
45
|
+
"@cmo_done",
|
46
|
+
"@tech_done",
|
47
|
+
"@test_done",
|
48
|
+
],
|
49
|
+
log_level = :info
|
50
|
+
|
38
51
|
init_logger log_level
|
39
52
|
output_files = []
|
40
53
|
producers = PRESETS[preset_key]
|
@@ -45,13 +58,13 @@ module Cuker
|
|
45
58
|
|
46
59
|
producers.each do |producer|
|
47
60
|
report_path = File.join report_path_input, 'reports', LOG_TIME_TODAY
|
48
|
-
msg = "
|
61
|
+
msg = "producing '#{producer.to_s.upcase}' report\t @ Report Path => '#{report_path}' - '#{report_file_name}' \t for Feature Files @ '#{feat_path}'\n"
|
49
62
|
|
50
63
|
@log.info msg
|
51
64
|
puts msg
|
52
65
|
model, writer = PRODUCERS[producer]
|
53
66
|
|
54
|
-
preset_model = model.new ast_map
|
67
|
+
preset_model = model == SummaryXLModel ? model.new(ast_map, special_tags_list) : model.new(ast_map)
|
55
68
|
preset_writer = writer.new
|
56
69
|
grr = GherkinReporter.new preset_writer, preset_model, report_path, report_file_name
|
57
70
|
|
@@ -42,13 +42,6 @@ module Cuker
|
|
42
42
|
@data = []
|
43
43
|
end
|
44
44
|
|
45
|
-
def get_values_ary ary_of_hshs
|
46
|
-
get_item_ary ary_of_hshs, :values
|
47
|
-
end
|
48
|
-
|
49
|
-
def get_keys_ary ary_of_hshs
|
50
|
-
get_item_ary ary_of_hshs, :keys
|
51
|
-
end
|
52
45
|
|
53
46
|
# utility methods
|
54
47
|
# used by any model
|
@@ -90,10 +83,20 @@ module Cuker
|
|
90
83
|
end
|
91
84
|
end
|
92
85
|
|
86
|
+
|
87
|
+
def get_values_ary ary_of_hshs
|
88
|
+
get_item_ary ary_of_hshs, :values
|
89
|
+
end
|
90
|
+
|
91
|
+
def get_keys_ary ary_of_hshs
|
92
|
+
get_item_ary ary_of_hshs, :keys
|
93
|
+
end
|
94
|
+
|
93
95
|
private
|
94
96
|
|
95
97
|
def get_item_ary ary_of_hshs, item
|
96
98
|
ary_of_hshs.map(&item).flatten
|
97
99
|
end
|
100
|
+
|
98
101
|
end
|
99
102
|
end
|
@@ -97,7 +97,8 @@ module Cuker
|
|
97
97
|
|
98
98
|
TITLE_MAX_LEN = 60
|
99
99
|
|
100
|
-
EXCEL_BLANK = ''
|
100
|
+
# EXCEL_BLANK = ''
|
101
|
+
EXCEL_BLANK = nil
|
101
102
|
EXCEL_TITLE_SEP = '|'
|
102
103
|
EXCEL_ROW_SEP = '|'
|
103
104
|
EXCEL_EMPTY_LINE = ' '
|
@@ -145,13 +146,13 @@ module Cuker
|
|
145
146
|
@special_tag_titles ||= get_values_ary @special_tag_list if @special_tag_list
|
146
147
|
end
|
147
148
|
|
148
|
-
def
|
149
|
-
@
|
149
|
+
def special_tags
|
150
|
+
@special_tags ||= get_keys_ary @special_tag_list if @special_tag_list
|
150
151
|
end
|
151
152
|
|
152
153
|
def filter_special_tags(all_tags)
|
153
|
-
return [[], all_tags] unless
|
154
|
-
ignore_list = all_tags -
|
154
|
+
return [[], all_tags] unless special_tags
|
155
|
+
ignore_list = all_tags - special_tags
|
155
156
|
select_list = all_tags - ignore_list
|
156
157
|
[select_list, ignore_list]
|
157
158
|
end
|
@@ -222,7 +223,7 @@ module Cuker
|
|
222
223
|
children = feat[:children]
|
223
224
|
children.each {|child| yield feat_tags, feat_title, child}
|
224
225
|
else
|
225
|
-
@log.
|
226
|
+
@log.warn "No Features found in file @ #{@file_path}"
|
226
227
|
end
|
227
228
|
end
|
228
229
|
|
@@ -0,0 +1,140 @@
|
|
1
|
+
module Cuker
|
2
|
+
class SummaryXLModel < RubyXLModel
|
3
|
+
|
4
|
+
EXCEL_BLANK = nil
|
5
|
+
|
6
|
+
def initialize ast_map, tags_list
|
7
|
+
init_logger
|
8
|
+
|
9
|
+
@log.trace "initing #{self.class}"
|
10
|
+
@log.debug "has #{ast_map.size} items"
|
11
|
+
|
12
|
+
@asts = ast_map
|
13
|
+
|
14
|
+
@special_tag_list = tags_list
|
15
|
+
# special_tag_titles
|
16
|
+
|
17
|
+
@order = make_order
|
18
|
+
@title = make_title @order
|
19
|
+
@data = make_rows
|
20
|
+
end
|
21
|
+
|
22
|
+
def make_order
|
23
|
+
[
|
24
|
+
{:counter => "Sl.No"},
|
25
|
+
{:s_type => "Type"},
|
26
|
+
{:s_title => "Title"},
|
27
|
+
{:tags => special_tag_titles},
|
28
|
+
{:other_tags => "Other Tags"},
|
29
|
+
{:feature_title => "Feature Title"},
|
30
|
+
{:feature_count => "Feature"},
|
31
|
+
{:bg_title => "Background"},
|
32
|
+
{:file_s_num => "Scen.no"},
|
33
|
+
{:file_name => "File"},
|
34
|
+
]
|
35
|
+
end
|
36
|
+
|
37
|
+
def make_title order
|
38
|
+
get_values_ary order
|
39
|
+
end
|
40
|
+
|
41
|
+
def special_tag_titles
|
42
|
+
@special_tag_titles ||= @special_tag_list if @special_tag_list
|
43
|
+
end
|
44
|
+
|
45
|
+
def special_tags
|
46
|
+
@special_tags ||= @special_tag_list if @special_tag_list
|
47
|
+
end
|
48
|
+
|
49
|
+
def filter_special_tags(all_tags)
|
50
|
+
return [[], all_tags] unless special_tags
|
51
|
+
ignore_list = all_tags - special_tags
|
52
|
+
select_list = all_tags - ignore_list
|
53
|
+
ordered_list = []
|
54
|
+
special_tag_titles.each {|tag| ordered_list << (select_list.include?(tag) ? tag : EXCEL_BLANK)}
|
55
|
+
[ordered_list, ignore_list, select_list]
|
56
|
+
end
|
57
|
+
|
58
|
+
def make_rows
|
59
|
+
if @asts.nil? or @asts.empty?
|
60
|
+
@log.debug "No asts to parse!"
|
61
|
+
return []
|
62
|
+
end
|
63
|
+
|
64
|
+
feat_counter = 0
|
65
|
+
feature_title = []
|
66
|
+
bg_title = []
|
67
|
+
|
68
|
+
res = []
|
69
|
+
@asts.each do |file_path, ast|
|
70
|
+
@log.debug "Understanding file: #{file_path}"
|
71
|
+
@file_path = file_path
|
72
|
+
in_feat_counter = 0
|
73
|
+
|
74
|
+
if ast[:type] == :GherkinDocument
|
75
|
+
in_feature(ast) do |feat_tags_ary, feat_title, feat_item|
|
76
|
+
feat_counter += 1
|
77
|
+
in_item(feat_item) do |tags_ary, type, item_title, content_ary, example_ary|
|
78
|
+
row_hsh = {}
|
79
|
+
feature_title = feat_title
|
80
|
+
if type == :Background or type == :Feature
|
81
|
+
# bg_title = [excel_title(BACKGROUND, item_title)] + content_ary
|
82
|
+
bg_title = item_title
|
83
|
+
else
|
84
|
+
# if type == :Scenario or type == :ScenarioOutline
|
85
|
+
# scen_title = [excel_title(type.to_s, item_title)] + content_ary
|
86
|
+
scen_title = item_title
|
87
|
+
|
88
|
+
row_hsh[:counter] = feat_counter
|
89
|
+
row_hsh[:s_type] = type == :Scenario ? "S" : "SO"
|
90
|
+
row_hsh[:s_title] = excel_content_format scen_title
|
91
|
+
|
92
|
+
all_tags = [feat_tags_ary, tags_ary].flatten.compact
|
93
|
+
ordered_list, ignore_list, select_list = filter_special_tags(all_tags)
|
94
|
+
row_hsh[:tags] = ordered_list
|
95
|
+
row_hsh[:other_tags] = ignore_list.join ", "
|
96
|
+
row_hsh[:feature_title] = excel_content_format feature_title
|
97
|
+
row_hsh[:bg_title] = excel_content_format bg_title
|
98
|
+
row_hsh[:file_s_num] = in_feat_counter += 1
|
99
|
+
row_hsh[:feature_count] = in_feat_counter == 1 ? 1 : 0
|
100
|
+
row_hsh[:file_name] = file_path
|
101
|
+
|
102
|
+
# row_hsh[:examples] = "" # is nil by default
|
103
|
+
if type == :ScenarioOutline
|
104
|
+
row_hsh[:examples] = example_count example_ary
|
105
|
+
end
|
106
|
+
row_ary = []
|
107
|
+
get_keys_ary(@order).each do |k|
|
108
|
+
if k == :tags
|
109
|
+
# v.each { |tag| row_ary << (tag.nil?? EXCEL_BLANK : tag) }
|
110
|
+
tags_ary = row_hsh[k]
|
111
|
+
tags_ary.each {|tag| row_ary << tag}
|
112
|
+
else
|
113
|
+
row_ary << (row_hsh[k])
|
114
|
+
end
|
115
|
+
end
|
116
|
+
res << row_ary
|
117
|
+
end
|
118
|
+
# get_keys_ary(@order).each {|k| row_ary << excel_arg_hilight(row_hsh[k])}
|
119
|
+
end
|
120
|
+
feature_title = []
|
121
|
+
bg_title = []
|
122
|
+
end
|
123
|
+
end
|
124
|
+
end
|
125
|
+
@file_path = nil
|
126
|
+
res
|
127
|
+
end
|
128
|
+
|
129
|
+
def example_count example_ary
|
130
|
+
# [0] title
|
131
|
+
# [1] table = [[0] title [...] examples]
|
132
|
+
# [2] blank
|
133
|
+
sum = []
|
134
|
+
(1..example_ary.size).step(3).each {|i| sum << (example_ary[i].size - 1)}
|
135
|
+
sum.inject('+')
|
136
|
+
end
|
137
|
+
|
138
|
+
end
|
139
|
+
|
140
|
+
end
|
Binary file
|
@@ -7,6 +7,7 @@ module Cuker
|
|
7
7
|
def initialize
|
8
8
|
@ext = '.xlsm'
|
9
9
|
super
|
10
|
+
@template_file_name = "template_excel_jira.xlsm"
|
10
11
|
@log.debug "initing #{self.class}"
|
11
12
|
end
|
12
13
|
|
@@ -26,7 +27,7 @@ module Cuker
|
|
26
27
|
@log.debug "rxl make new sheet"
|
27
28
|
#todo: dangit! handling this path naming properly
|
28
29
|
file_name = "#{name.nil? ? super(name) : name}#{ext}"
|
29
|
-
@book[file_name] = RubyXLFile.new file_name
|
30
|
+
@book[file_name] = RubyXLFile.new file_name, @template_file_name
|
30
31
|
@active_file = @book[file_name]
|
31
32
|
file_name
|
32
33
|
end
|
@@ -52,12 +53,12 @@ module Cuker
|
|
52
53
|
class RubyXLFile < AbstractFile
|
53
54
|
attr_accessor :workbook, :worksheets, :worksheet
|
54
55
|
|
55
|
-
def initialize file_name
|
56
|
+
def initialize file_name, template_file_name
|
56
57
|
|
57
58
|
premade = File.basename(file_name) =~ /xlsm/
|
58
59
|
# premade = true
|
59
60
|
# premade = false
|
60
|
-
template_file_name = "simple_macro_template.xlsm"
|
61
|
+
# template_file_name = "simple_macro_template.xlsm"
|
61
62
|
template_file_path = File.join File.dirname(__FILE__), template_file_name
|
62
63
|
# template_file_name = './lib/cuker/helpers/writers/simple_macro_template.xlsm'
|
63
64
|
# template_file_name = './lib/cuker/helpers/writers/demo_file2.xlsm'
|
@@ -0,0 +1,104 @@
|
|
1
|
+
require_relative 'abstract_writer'
|
2
|
+
require 'rubyXL'
|
3
|
+
require 'rubyXL/convenience_methods'
|
4
|
+
|
5
|
+
module Cuker
|
6
|
+
class SummaryXLWriter < RubyXLWriter
|
7
|
+
def initialize
|
8
|
+
# @ext = '.xlsm'
|
9
|
+
super
|
10
|
+
@template_file_name = "template_excel_summary.xlsm"
|
11
|
+
@log.debug "initing #{self.class}"
|
12
|
+
end
|
13
|
+
|
14
|
+
def make_new_book name
|
15
|
+
@log.debug "summary rxl make new sheet"
|
16
|
+
#todo: dangit! handling this path naming properly
|
17
|
+
file_name = "#{name.nil? ? super(name) : name}#{ext}"
|
18
|
+
@book[file_name] = SummaryRubyXLFile.new file_name, @template_file_name
|
19
|
+
@active_file = @book[file_name]
|
20
|
+
file_name
|
21
|
+
end
|
22
|
+
|
23
|
+
def write model, output_file_path
|
24
|
+
file_name = make_new_file output_file_path
|
25
|
+
write_title model.title
|
26
|
+
model.data.each {|row| write_new_row row}
|
27
|
+
finishup
|
28
|
+
file_name
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
class SummaryRubyXLFile < RubyXLFile
|
33
|
+
attr_accessor :workbook, :worksheets, :worksheet
|
34
|
+
|
35
|
+
def initialize file_name, template_file_name
|
36
|
+
|
37
|
+
premade = File.basename(file_name) =~ /xlsm/
|
38
|
+
template_file_path = File.join File.dirname(__FILE__), template_file_name
|
39
|
+
@file_name = premade ? template_file_path : file_name
|
40
|
+
|
41
|
+
# super @file_name #replaced below
|
42
|
+
init_logger
|
43
|
+
@name = file_name
|
44
|
+
@rows = []
|
45
|
+
|
46
|
+
@log.debug "Making new #{self.class} => #{@file_name}"
|
47
|
+
|
48
|
+
@workbook = premade ? RubyXL::Parser.parse(@file_name) : RubyXL::Workbook.new
|
49
|
+
|
50
|
+
@worksheets = @workbook.worksheets
|
51
|
+
@worksheet = @workbook['Feature Summary raw']
|
52
|
+
|
53
|
+
@rows = sheet_rows.dup # starting Row
|
54
|
+
@offset = 0 # starting Col
|
55
|
+
|
56
|
+
@file_name = file_name
|
57
|
+
end
|
58
|
+
|
59
|
+
def locate_sheet sheet_name
|
60
|
+
sheet_index = @workbook.worksheets.index {|x| x.sheet_name == sheet_name}
|
61
|
+
@link_sheet = @workbook.worksheets[sheet_index]
|
62
|
+
if sheet_index
|
63
|
+
@log.debug "located sheet #{sheet_name} @location #{sheet_index}"
|
64
|
+
# @workbook.worksheets.delete_at(sheet_index)
|
65
|
+
sheet_index
|
66
|
+
else
|
67
|
+
@log.error "no sheet named '#{sheet_name}' found.. available sheets []"
|
68
|
+
nil
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def current_row
|
73
|
+
rows.size - 1
|
74
|
+
end
|
75
|
+
|
76
|
+
def current_col
|
77
|
+
@offset
|
78
|
+
end
|
79
|
+
|
80
|
+
def add_row ary
|
81
|
+
# super ary
|
82
|
+
@rows << ary
|
83
|
+
|
84
|
+
row, col = current_row, current_col
|
85
|
+
worksheet.insert_row(row)
|
86
|
+
ary.each do |val|
|
87
|
+
case val.class.to_s
|
88
|
+
when "String", "Integer", /Nil/
|
89
|
+
worksheet.insert_cell(row, col, val)
|
90
|
+
else
|
91
|
+
@log.error "SummaryRubyXLFile auto stringification of unknown format: #{val.class} => '#{val}'"
|
92
|
+
worksheet.insert_cell(row, col, val.to_s)
|
93
|
+
# worksheet.insert_cell(row, col, val.to_s)
|
94
|
+
end
|
95
|
+
col += 1
|
96
|
+
end
|
97
|
+
|
98
|
+
@log.trace workbook.worksheets.map(&:sheet_name)
|
99
|
+
end
|
100
|
+
|
101
|
+
alias :add_line :add_row
|
102
|
+
|
103
|
+
end
|
104
|
+
end
|
Binary file
|
Binary file
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
data/lib/cuker/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cuker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5
|
4
|
+
version: 0.6.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ufo2mstar
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-06-
|
11
|
+
date: 2019-06-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: awesome_print
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -53,13 +53,13 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: require_all
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
|
-
type: :
|
62
|
+
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
@@ -73,7 +73,7 @@ dependencies:
|
|
73
73
|
- - ">="
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
|
-
type: :
|
76
|
+
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
@@ -87,7 +87,7 @@ dependencies:
|
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '5.1'
|
90
|
-
type: :
|
90
|
+
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
@@ -95,13 +95,13 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '5.1'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: rubyXL
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
|
-
type: :
|
104
|
+
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
@@ -109,13 +109,13 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: text-table
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0'
|
118
|
-
type: :
|
118
|
+
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
@@ -123,20 +123,35 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: highline
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
|
-
type: :
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: bindata
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
133
147
|
prerelease: false
|
134
148
|
version_requirements: !ruby/object:Gem::Requirement
|
135
149
|
requirements:
|
136
150
|
- - ">="
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '0'
|
139
|
-
description: generates reports and gives some customizable formatting
|
153
|
+
description: generates reports of your feature files and gives some customizable formatting
|
154
|
+
options
|
140
155
|
email:
|
141
156
|
- ufo2mstar@gmail.com
|
142
157
|
executables: []
|
@@ -166,21 +181,25 @@ files:
|
|
166
181
|
- lib/cuker/helpers/formatters/jira_model.rb
|
167
182
|
- lib/cuker/helpers/formatters/jira_mono_model.rb
|
168
183
|
- lib/cuker/helpers/formatters/ruby_x_l_model.rb
|
184
|
+
- lib/cuker/helpers/formatters/summary_x_l_model.rb
|
169
185
|
- lib/cuker/helpers/formatters/title.rb
|
170
186
|
- lib/cuker/helpers/gherkin_helper.rb
|
171
187
|
- lib/cuker/helpers/string_helper.rb
|
172
188
|
- lib/cuker/helpers/writers/abstract_writer.rb
|
189
|
+
- lib/cuker/helpers/writers/combos.xlsm
|
173
190
|
- lib/cuker/helpers/writers/csv_writer.rb
|
174
191
|
- lib/cuker/helpers/writers/jira_writer.rb
|
175
192
|
- lib/cuker/helpers/writers/ruby_x_l_writer.rb
|
176
|
-
- lib/cuker/helpers/writers/
|
193
|
+
- lib/cuker/helpers/writers/summary_x_l_writer.rb
|
194
|
+
- lib/cuker/helpers/writers/template_excel_jira.xlsm
|
195
|
+
- lib/cuker/helpers/writers/template_excel_summary.xlsm
|
177
196
|
- lib/cuker/high.rb
|
178
197
|
- lib/cuker/log_utils.rb
|
179
|
-
- lib/cuker/
|
180
|
-
- lib/cuker/
|
181
|
-
- lib/cuker/
|
182
|
-
- lib/cuker/
|
183
|
-
- lib/cuker/
|
198
|
+
- lib/cuker/sandbox/book1.rb
|
199
|
+
- lib/cuker/sandbox/ruby_xl.rb
|
200
|
+
- lib/cuker/sandbox/sablon-try.rb
|
201
|
+
- lib/cuker/sandbox/template.docx
|
202
|
+
- lib/cuker/sandbox/xlsx_500_rows.xlsx
|
184
203
|
- lib/cuker/version.rb
|
185
204
|
- reports/.gitignore
|
186
205
|
- spec.bat
|
Binary file
|