axlsx_styler 0.1.5 → 1.1.0

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.
Files changed (58) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +23 -0
  3. data/README.md +50 -26
  4. data/Rakefile +18 -4
  5. data/lib/axlsx_styler.rb +4 -23
  6. data/lib/axlsx_styler/axlsx_cell.rb +32 -30
  7. data/lib/axlsx_styler/axlsx_package.rb +17 -0
  8. data/lib/axlsx_styler/axlsx_styles.rb +36 -0
  9. data/lib/axlsx_styler/axlsx_workbook.rb +26 -43
  10. data/lib/axlsx_styler/axlsx_worksheet.rb +34 -17
  11. data/lib/axlsx_styler/version.rb +1 -1
  12. data/test/dummy_app/Rakefile +7 -0
  13. data/test/dummy_app/app/assets/config/manifest.js +3 -0
  14. data/test/dummy_app/app/assets/javascripts/application.js +0 -0
  15. data/test/dummy_app/app/assets/stylesheets/application.css +3 -0
  16. data/test/dummy_app/app/controllers/application_controller.rb +3 -0
  17. data/test/dummy_app/app/controllers/spreadsheets_controller.rb +7 -0
  18. data/test/dummy_app/app/models/application_record.rb +3 -0
  19. data/test/dummy_app/app/views/layouts/application.html.erb +14 -0
  20. data/{examples/colors_and_borders.rb → test/dummy_app/app/views/spreadsheets/test.xlsx.axlsx} +2 -7
  21. data/test/dummy_app/config.ru +4 -0
  22. data/test/dummy_app/config/application.rb +56 -0
  23. data/test/dummy_app/config/boot.rb +10 -0
  24. data/test/dummy_app/config/database.yml +25 -0
  25. data/test/dummy_app/config/environment.rb +5 -0
  26. data/test/dummy_app/config/environments/development.rb +30 -0
  27. data/test/dummy_app/config/environments/production.rb +60 -0
  28. data/test/dummy_app/config/environments/test.rb +41 -0
  29. data/test/dummy_app/config/initializers/backtrace_silencers.rb +7 -0
  30. data/test/dummy_app/config/initializers/inflections.rb +10 -0
  31. data/test/dummy_app/config/initializers/mime_types.rb +5 -0
  32. data/test/dummy_app/config/initializers/secret_token.rb +11 -0
  33. data/test/dummy_app/config/initializers/session_store.rb +8 -0
  34. data/test/dummy_app/config/initializers/wrap_parameters.rb +14 -0
  35. data/test/dummy_app/config/locales/en.yml +5 -0
  36. data/test/dummy_app/config/routes.rb +3 -0
  37. data/test/dummy_app/config/secrets.yml +22 -0
  38. data/test/dummy_app/db/schema.rb +15 -0
  39. data/test/dummy_app/db/test.sqlite3 +0 -0
  40. data/test/dummy_app/log/test.log +1004 -0
  41. data/test/helper_methods.rb +12 -0
  42. data/test/integration/application_test.rb +18 -0
  43. data/test/test_helper.rb +31 -4
  44. data/test/unit/borders_test.rb +127 -0
  45. data/test/unit/examples_test.rb +20 -0
  46. data/test/unit/merge_styles_test.rb +56 -0
  47. data/test/unit/regresssions_test.rb +44 -0
  48. data/test/unit/serialize_test.rb +34 -0
  49. data/test/unit/to_stream_test.rb +34 -0
  50. metadata +152 -47
  51. data/.gitignore +0 -24
  52. data/Gemfile +0 -4
  53. data/axlsx_styler.gemspec +0 -36
  54. data/examples/vanilla_axlsx.md +0 -70
  55. data/spreadsheet.png +0 -0
  56. data/test/cell_test.rb +0 -14
  57. data/test/integration_test.rb +0 -234
  58. data/test/workbook_test.rb +0 -10
@@ -0,0 +1,12 @@
1
+ # Save to a file using Axlsx::Package#serialize
2
+ def serialize(filename)
3
+ @axlsx.serialize File.expand_path("../../tmp/#{filename}.xlsx", __FILE__)
4
+ assert_equal true, @workbook.styles_applied
5
+ end
6
+
7
+ # Save to a file by getting contents from stream
8
+ def to_stream(filename)
9
+ File.open(File.expand_path("../../tmp/#{filename}.xlsx", __FILE__), 'w') do |f|
10
+ f.write @axlsx.to_stream.read
11
+ end
12
+ end
@@ -0,0 +1,18 @@
1
+ ### FOR RAILS TESTS
2
+
3
+ require 'test_helper'
4
+
5
+ class ApplicationTest < ActionDispatch::IntegrationTest
6
+
7
+ def test_xlsx
8
+ get '/spreadsheets/test.xlsx'
9
+ assert_response :success
10
+
11
+ path = File.expand_path("../../../tmp/axlsx_rails.xlsx", __FILE__)
12
+
13
+ File.open(path, 'w+b') do |f|
14
+ f.write @response.body
15
+ end
16
+ end
17
+
18
+ end
@@ -1,4 +1,31 @@
1
- require 'axlsx_styler'
2
- require 'minitest/autorun'
3
- require 'minitest/pride'
4
- require 'awesome_print'
1
+ ENV["RAILS_ENV"] = "test"
2
+
3
+ require File.expand_path("../dummy_app/config/environment.rb", __FILE__)
4
+
5
+ migration_path = Rails.root.join('db/migrate')
6
+ if ActiveRecord.gem_version >= ::Gem::Version.new("6.0.0")
7
+ ActiveRecord::MigrationContext.new(migration_path, ActiveRecord::SchemaMigration).migrate
8
+ elsif ActiveRecord.gem_version >= ::Gem::Version.new("5.2.0")
9
+ ActiveRecord::MigrationContext.new(migration_path).migrate
10
+ else
11
+ ActiveRecord::Migrator.migrate(migration_path)
12
+ end
13
+
14
+ require "rails/test_help"
15
+
16
+ Rails.backtrace_cleaner.remove_silencers!
17
+
18
+ class ActiveSupport::TestCase
19
+ # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
20
+ fixtures :all
21
+ end
22
+
23
+ require 'minitest/reporters'
24
+ Minitest::Reporters.use!
25
+
26
+ require 'helper_methods'
27
+
28
+ ### Cleanup old test spreadsheets
29
+ path = File.expand_path("../../tmp", __FILE__)
30
+ FileUtils.remove_dir(path, true)
31
+ FileUtils.mkdir(path)
@@ -0,0 +1,127 @@
1
+ require 'test_helper'
2
+
3
+ class BordersTest < MiniTest::Test
4
+
5
+ def setup
6
+ @axlsx = Axlsx::Package.new
7
+ @workbook = @axlsx.workbook
8
+ end
9
+
10
+ def test_table_with_borders
11
+ filename = 'borders_test'
12
+ @workbook.add_worksheet do |sheet|
13
+ sheet.add_row
14
+ sheet.add_row ['', 'Product', 'Category', 'Price']
15
+ sheet.add_row ['', 'Butter', 'Dairy', 4.99]
16
+ sheet.add_row ['', 'Bread', 'Baked Goods', 3.45]
17
+ sheet.add_row ['', 'Broccoli', 'Produce', 2.99]
18
+ sheet.add_row ['', 'Pizza', 'Frozen Foods', 4.99]
19
+ sheet.column_widths 5, 20, 20, 20
20
+
21
+ sheet.add_style 'B2:D2', b: true
22
+ sheet.add_style 'B2:B6', b: true
23
+ sheet.add_style 'B2:D2', bg_color: '95AFBA'
24
+ sheet.add_style 'B3:D6', bg_color: 'E2F89C'
25
+ sheet.add_style 'D3:D6', alignment: { horizontal: :left }
26
+ sheet.add_border 'B2:D6'
27
+ sheet.add_border 'B3:D3', [:top]
28
+ sheet.add_border 'B3:D3', edges: [:bottom], style: :medium
29
+ sheet.add_border 'B3:D3', edges: [:bottom], style: :medium, color: '32f332'
30
+ end
31
+ serialize(filename)
32
+ assert_equal 12, @workbook.styles.style_index.count
33
+ assert_equal 12 + 2, @workbook.styles.style_index.keys.max
34
+ end
35
+
36
+ def test_duplicate_borders
37
+ filename = 'duplicate_borders_test'
38
+ @workbook.add_worksheet do |sheet|
39
+ sheet.add_row
40
+ sheet.add_row ['', 'B2', 'C2', 'D2']
41
+ sheet.add_row ['', 'B3', 'C3', 'D3']
42
+ sheet.add_row ['', 'B4', 'C4', 'D4']
43
+
44
+ sheet.add_border 'B2:D4'
45
+ sheet.add_border 'B2:D4'
46
+ end
47
+ serialize(filename)
48
+ assert_equal 8, @workbook.styles.style_index.count
49
+ assert_equal 8, @workbook.styled_cells.count
50
+ end
51
+
52
+ def test_multiple_style_borders_on_same_cells
53
+ filename = 'multiple_style_borders'
54
+ @workbook.add_worksheet do |sheet|
55
+ sheet.add_row
56
+ sheet.add_row ['', 'B2', 'C2', 'D2']
57
+ sheet.add_row ['', 'B3', 'C3', 'D3']
58
+
59
+ sheet.add_border 'B2:D3', :all
60
+ sheet.add_border 'B2:D2', edges: [:bottom], style: :thick, color: 'ff0000'
61
+ end
62
+ serialize(filename)
63
+ assert_equal 6, @workbook.styles.style_index.count
64
+ assert_equal 6, @workbook.styled_cells.count
65
+
66
+ b2_cell_style = {
67
+ border: {
68
+ style: :thick,
69
+ color: 'ff0000',
70
+ edges: [:bottom, :left, :top]
71
+ },
72
+ type: :xf,
73
+ name: 'Arial',
74
+ sz: 11,
75
+ family: 1
76
+ }
77
+ assert_equal b2_cell_style, @workbook.styles.style_index.values.find{|x| x == b2_cell_style}
78
+
79
+ d3_cell_style = {
80
+ border: {
81
+ style: :thin,
82
+ color: '000000',
83
+ edges: [:bottom, :right]
84
+ },
85
+ type: :xf,
86
+ name: 'Arial',
87
+ sz: 11,
88
+ family: 1
89
+ }
90
+ assert_equal d3_cell_style, @workbook.styles.style_index.values.find{|x| x == d3_cell_style}
91
+ end
92
+
93
+ # Overriding borders (part 1)
94
+ def test_mixed_borders_1
95
+ filename = 'mixed_borders_1'
96
+ @workbook.add_worksheet do |sheet|
97
+ sheet.add_row
98
+ sheet.add_row ['', '1', '2', '3']
99
+ sheet.add_row ['', '4', '5', '6']
100
+ sheet.add_row ['', '7', '8', '9']
101
+ sheet.add_style 'B2:D4', border: { style: :thin, color: '000000' }
102
+ sheet.add_border 'C3:D4', style: :medium
103
+ end
104
+ @workbook.apply_styles
105
+ assert_equal 9, @workbook.styled_cells.count
106
+ assert_equal 2, @workbook.styles.style_index.count
107
+ serialize(filename)
108
+ end
109
+
110
+ # Overriding borders (part 2)
111
+ def test_mixed_borders
112
+ filename = 'mixed_borders_2'
113
+ @workbook.add_worksheet do |sheet|
114
+ sheet.add_row
115
+ sheet.add_row ['', '1', '2', '3']
116
+ sheet.add_row ['', '4', '5', '6']
117
+ sheet.add_row ['', '7', '8', '9']
118
+ sheet.add_border 'B2:D4', style: :medium
119
+ sheet.add_style 'D2:D4', border: { style: :thin, color: '000000' }
120
+ end
121
+ @workbook.apply_styles
122
+ assert_equal 8, @workbook.styled_cells.count
123
+ assert_equal 6, @workbook.styles.style_index.count
124
+ serialize(filename)
125
+ end
126
+
127
+ end
@@ -0,0 +1,20 @@
1
+ require 'test_helper'
2
+
3
+ class ExamplesTest < MiniTest::Test
4
+
5
+ def setup
6
+ @axlsx = Axlsx::Package.new
7
+ @workbook = @axlsx.workbook
8
+ end
9
+
10
+ def teardown
11
+ end
12
+
13
+ def test_examples
14
+ path = File.expand_path("../../../examples/**.rb", __FILE__)
15
+ Dir[path].each do |file|
16
+ require file
17
+ end
18
+ end
19
+
20
+ end
@@ -0,0 +1,56 @@
1
+ require 'test_helper'
2
+
3
+ class MergeStylesTest < MiniTest::Test
4
+
5
+ def setup
6
+ @axlsx = Axlsx::Package.new
7
+ @workbook = @axlsx.workbook
8
+ end
9
+
10
+ def test_merge_styles_1
11
+ filename = 'merge_styles_1'
12
+ bold = @workbook.styles.add_style b: true
13
+
14
+ @workbook.add_worksheet do |sheet|
15
+ sheet.add_row
16
+ sheet.add_row ['', '1', '2', '3'], style: [nil, bold]
17
+ sheet.add_row ['', '4', '5', '6'], style: bold
18
+ sheet.add_row ['', '7', '8', '9']
19
+ sheet.add_style 'B2:D4', b: true
20
+ sheet.add_border 'B2:D4', { style: :thin, color: '000000' }
21
+ end
22
+ @workbook.apply_styles
23
+ assert_equal 9, @workbook.styles.style_index.count
24
+ serialize(filename)
25
+ end
26
+
27
+ def test_merge_styles_2
28
+ filename = 'merge_styles_2'
29
+ bold = @workbook.styles.add_style b: true
30
+
31
+ @workbook.add_worksheet do |sheet|
32
+ sheet.add_row ['A1', 'B1'], style: [nil, bold]
33
+ sheet.add_row ['A2', 'B2'], style: bold
34
+ sheet.add_row ['A3', 'B3']
35
+ sheet.add_style 'A1:A2', i: true
36
+ end
37
+ @workbook.apply_styles
38
+ assert_equal 3, @workbook.styles.style_index.count
39
+ serialize(filename)
40
+ end
41
+
42
+ def test_merge_styles_3
43
+ filename = 'merge_styles_3'
44
+ bold = @workbook.styles.add_style b: true
45
+
46
+ @workbook.add_worksheet do |sheet|
47
+ sheet.add_row ['A1', 'B1'], style: [nil, bold]
48
+ sheet.add_row ['A2', 'B2']
49
+ sheet.add_style 'B1:B2', bg_color: 'FF0000'
50
+ end
51
+ @workbook.apply_styles
52
+ assert_equal 3, @workbook.styles.style_index.count
53
+ serialize(filename)
54
+ end
55
+
56
+ end
@@ -0,0 +1,44 @@
1
+ require 'test_helper'
2
+
3
+ class RegressionsTest < MiniTest::Test
4
+
5
+ def setup
6
+ @axlsx = Axlsx::Package.new
7
+ @workbook = @axlsx.workbook
8
+ end
9
+
10
+ def test_dxf_cell
11
+ @workbook.add_worksheet do |sheet|
12
+ sheet.add_row (1..2).to_a
13
+ sheet.add_style "A1:A1", { bg_color: "AA0000" }
14
+
15
+ sheet.add_row (1..2).to_a
16
+ sheet.add_style "B1:B1", { bg_color: "CC0000" }
17
+
18
+ sheet.add_row (1..2).to_a
19
+ sheet.add_style "A3:B3", { bg_color: "00FF00" }
20
+
21
+ highlight = @workbook.styles.add_style(bg_color: "0000FF", type: :dxf)
22
+
23
+ sheet.add_conditional_formatting(
24
+ "A2:B2",
25
+ {
26
+ type: :cellIs,
27
+ operator: :greaterThan,
28
+ formula: "1",
29
+ dxfId: highlight,
30
+ priority: 1
31
+ }
32
+ )
33
+ end
34
+
35
+ serialize("test_dxf_cell")
36
+
37
+ #puts @workbook.styles.dxfs.map{|x| x.to_xml_string}
38
+ assert_equal @workbook.styles.dxfs.count, 1
39
+
40
+ #puts @workbook.styles.cellXfs.map{|x| x.to_xml_string}
41
+ assert_equal @workbook.styles.cellXfs.count, 6
42
+ end
43
+
44
+ end
@@ -0,0 +1,34 @@
1
+ require 'test_helper'
2
+
3
+ class SerializeTest < MiniTest::Test
4
+
5
+ def setup
6
+ @axlsx = Axlsx::Package.new
7
+ @workbook = @axlsx.workbook
8
+ end
9
+
10
+ def test_works_without_apply_styles_serialize
11
+ filename = 'without_apply_styles_serialize'
12
+ assert_nil @workbook.styles_applied
13
+ @workbook.add_worksheet do |sheet|
14
+ sheet.add_row ['A1', 'B1']
15
+ sheet.add_style 'A1:B1', b: true
16
+ end
17
+ serialize(filename)
18
+ assert_equal 1, @workbook.styles.style_index.count
19
+ end
20
+
21
+ # Backwards compatibility with pre 0.1.5 (serialize)
22
+ def test_works_with_apply_styles_serialize
23
+ filename = 'with_apply_styles_serialize'
24
+ assert_nil @workbook.styles_applied
25
+ @workbook.add_worksheet do |sheet|
26
+ sheet.add_row ['A1', 'B1']
27
+ sheet.add_style 'A1:B1', b: true
28
+ end
29
+ @workbook.apply_styles # important for backwards compatibility
30
+ assert_equal 1, @workbook.styles.style_index.count
31
+ serialize(filename)
32
+ end
33
+
34
+ end
@@ -0,0 +1,34 @@
1
+ require 'test_helper'
2
+
3
+ class ToStreamTest < MiniTest::Test
4
+
5
+ def setup
6
+ @axlsx = Axlsx::Package.new
7
+ @workbook = @axlsx.workbook
8
+ end
9
+
10
+ def test_works_without_apply_styles_to_stream
11
+ filename = 'without_apply_styles_to_stream'
12
+ assert_nil @workbook.styles_applied
13
+ @workbook.add_worksheet do |sheet|
14
+ sheet.add_row ['A1', 'B1']
15
+ sheet.add_style 'A1:B1', b: true
16
+ end
17
+ to_stream(filename)
18
+ assert_equal 1, @workbook.styles.style_index.count
19
+ end
20
+
21
+ # Backwards compatibility with pre 0.1.5 (to_stream)
22
+ def test_works_with_apply_styles_to_stream
23
+ filename = 'with_apply_styles_to_stream'
24
+ assert_nil @workbook.styles_applied
25
+ @workbook.add_worksheet do |sheet|
26
+ sheet.add_row ['A1', 'B1']
27
+ sheet.add_style 'A1:B1', b: true
28
+ end
29
+ @workbook.apply_styles # important for backwards compatibility
30
+ assert_equal 1, @workbook.styles.style_index.count
31
+ to_stream(filename)
32
+ end
33
+
34
+ end
metadata CHANGED
@@ -1,29 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: axlsx_styler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
+ - Weston Ganger
7
8
  - Anton Sakovich
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2016-07-06 00:00:00.000000000 Z
12
+ date: 2020-08-26 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
- name: axlsx
15
+ name: caxlsx
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - "~>"
18
+ - - ">="
18
19
  - !ruby/object:Gem::Version
19
- version: '2.0'
20
+ version: 2.0.2
20
21
  type: :runtime
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
- - - "~>"
25
+ - - ">="
25
26
  - !ruby/object:Gem::Version
26
- version: '2.0'
27
+ version: 2.0.2
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: activesupport
29
30
  requirement: !ruby/object:Gem::Requirement
@@ -42,90 +43,160 @@ dependencies:
42
43
  name: bundler
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
- - - "~>"
46
+ - - ">="
46
47
  - !ruby/object:Gem::Version
47
- version: '1.6'
48
+ version: '0'
48
49
  type: :development
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
- - - "~>"
53
+ - - ">="
53
54
  - !ruby/object:Gem::Version
54
- version: '1.6'
55
+ version: '0'
55
56
  - !ruby/object:Gem::Dependency
56
57
  name: rake
57
58
  requirement: !ruby/object:Gem::Requirement
58
59
  requirements:
59
- - - "~>"
60
+ - - ">="
60
61
  - !ruby/object:Gem::Version
61
- version: '0.9'
62
+ version: '0'
62
63
  type: :development
63
64
  prerelease: false
64
65
  version_requirements: !ruby/object:Gem::Requirement
65
66
  requirements:
66
- - - "~>"
67
+ - - ">="
67
68
  - !ruby/object:Gem::Version
68
- version: '0.9'
69
+ version: '0'
69
70
  - !ruby/object:Gem::Dependency
70
71
  name: minitest
71
72
  requirement: !ruby/object:Gem::Requirement
72
73
  requirements:
73
- - - "~>"
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: minitest-reporters
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
74
89
  - !ruby/object:Gem::Version
75
- version: '5.0'
90
+ version: '0'
76
91
  type: :development
77
92
  prerelease: false
78
93
  version_requirements: !ruby/object:Gem::Requirement
79
94
  requirements:
80
- - - "~>"
95
+ - - ">="
81
96
  - !ruby/object:Gem::Version
82
- version: '5.0'
97
+ version: '0'
83
98
  - !ruby/object:Gem::Dependency
84
- name: awesome_print
99
+ name: appraisal
85
100
  requirement: !ruby/object:Gem::Requirement
86
101
  requirements:
87
- - - "~>"
102
+ - - ">="
88
103
  - !ruby/object:Gem::Version
89
- version: '1.6'
104
+ version: '0'
90
105
  type: :development
91
106
  prerelease: false
92
107
  version_requirements: !ruby/object:Gem::Requirement
93
108
  requirements:
94
- - - "~>"
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: rails
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ - !ruby/object:Gem::Dependency
127
+ name: sqlite3
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
95
138
  - !ruby/object:Gem::Version
96
- version: '1.6'
97
- description: "\n Axlsx gem is an excellent tool to build Excel worksheets. The
98
- sheets are\n created row-by-row and styles are immediately added to each cell
99
- when a\n row is created. This gem allows to follow an alternative route: fill
100
- out\n a spreadsheet with data and apply styles later. Styles can be added\n to
101
- individual cells as well as to ranges of cells. As a bonus, this gem\n also simplifies
102
- drawing borders around groups of cells.\n "
139
+ version: '0'
140
+ description: Build clean and maintainable styles for your axlsx spreadsheets. Build
141
+ your spreadsheeet with data and then apply styles later.
103
142
  email:
143
+ - weston@westonganger.com
104
144
  - sakovias@gmail.com
105
145
  executables: []
106
146
  extensions: []
107
147
  extra_rdoc_files: []
108
148
  files:
109
- - ".gitignore"
110
- - Gemfile
149
+ - CHANGELOG.md
111
150
  - LICENSE.txt
112
151
  - README.md
113
152
  - Rakefile
114
- - axlsx_styler.gemspec
115
- - examples/colors_and_borders.rb
116
- - examples/vanilla_axlsx.md
117
153
  - lib/axlsx_styler.rb
118
154
  - lib/axlsx_styler/axlsx_cell.rb
155
+ - lib/axlsx_styler/axlsx_package.rb
156
+ - lib/axlsx_styler/axlsx_styles.rb
119
157
  - lib/axlsx_styler/axlsx_workbook.rb
120
158
  - lib/axlsx_styler/axlsx_worksheet.rb
121
159
  - lib/axlsx_styler/border_creator.rb
122
160
  - lib/axlsx_styler/version.rb
123
- - spreadsheet.png
124
- - test/cell_test.rb
125
- - test/integration_test.rb
161
+ - test/dummy_app/Rakefile
162
+ - test/dummy_app/app/assets/config/manifest.js
163
+ - test/dummy_app/app/assets/javascripts/application.js
164
+ - test/dummy_app/app/assets/stylesheets/application.css
165
+ - test/dummy_app/app/controllers/application_controller.rb
166
+ - test/dummy_app/app/controllers/spreadsheets_controller.rb
167
+ - test/dummy_app/app/models/application_record.rb
168
+ - test/dummy_app/app/views/layouts/application.html.erb
169
+ - test/dummy_app/app/views/spreadsheets/test.xlsx.axlsx
170
+ - test/dummy_app/config.ru
171
+ - test/dummy_app/config/application.rb
172
+ - test/dummy_app/config/boot.rb
173
+ - test/dummy_app/config/database.yml
174
+ - test/dummy_app/config/environment.rb
175
+ - test/dummy_app/config/environments/development.rb
176
+ - test/dummy_app/config/environments/production.rb
177
+ - test/dummy_app/config/environments/test.rb
178
+ - test/dummy_app/config/initializers/backtrace_silencers.rb
179
+ - test/dummy_app/config/initializers/inflections.rb
180
+ - test/dummy_app/config/initializers/mime_types.rb
181
+ - test/dummy_app/config/initializers/secret_token.rb
182
+ - test/dummy_app/config/initializers/session_store.rb
183
+ - test/dummy_app/config/initializers/wrap_parameters.rb
184
+ - test/dummy_app/config/locales/en.yml
185
+ - test/dummy_app/config/routes.rb
186
+ - test/dummy_app/config/secrets.yml
187
+ - test/dummy_app/db/schema.rb
188
+ - test/dummy_app/db/test.sqlite3
189
+ - test/dummy_app/log/test.log
190
+ - test/helper_methods.rb
191
+ - test/integration/application_test.rb
126
192
  - test/test_helper.rb
127
- - test/workbook_test.rb
128
- homepage: https://github.com/sakovias/axlsx_styler
193
+ - test/unit/borders_test.rb
194
+ - test/unit/examples_test.rb
195
+ - test/unit/merge_styles_test.rb
196
+ - test/unit/regresssions_test.rb
197
+ - test/unit/serialize_test.rb
198
+ - test/unit/to_stream_test.rb
199
+ homepage: https://github.com/axlsx-styler-gem/axlsx_styler
129
200
  licenses:
130
201
  - MIT
131
202
  metadata: {}
@@ -137,20 +208,54 @@ required_ruby_version: !ruby/object:Gem::Requirement
137
208
  requirements:
138
209
  - - ">="
139
210
  - !ruby/object:Gem::Version
140
- version: 1.9.3
211
+ version: 2.3.0
141
212
  required_rubygems_version: !ruby/object:Gem::Requirement
142
213
  requirements:
143
214
  - - ">="
144
215
  - !ruby/object:Gem::Version
145
216
  version: '0'
146
217
  requirements: []
147
- rubyforge_project:
148
- rubygems_version: 2.2.2
218
+ rubygems_version: 3.1.2
149
219
  signing_key:
150
220
  specification_version: 4
151
- summary: This gem allows to separate data from styles when using Axlsx gem.
221
+ summary: Build clean and maintainable styles for your axlsx spreadsheets. Build your
222
+ spreadsheeet with data and then apply styles later.
152
223
  test_files:
153
- - test/cell_test.rb
154
- - test/integration_test.rb
224
+ - test/integration/application_test.rb
155
225
  - test/test_helper.rb
156
- - test/workbook_test.rb
226
+ - test/unit/examples_test.rb
227
+ - test/unit/borders_test.rb
228
+ - test/unit/merge_styles_test.rb
229
+ - test/unit/regresssions_test.rb
230
+ - test/unit/serialize_test.rb
231
+ - test/unit/to_stream_test.rb
232
+ - test/dummy_app/app/models/application_record.rb
233
+ - test/dummy_app/app/views/spreadsheets/test.xlsx.axlsx
234
+ - test/dummy_app/app/views/layouts/application.html.erb
235
+ - test/dummy_app/app/assets/stylesheets/application.css
236
+ - test/dummy_app/app/assets/config/manifest.js
237
+ - test/dummy_app/app/assets/javascripts/application.js
238
+ - test/dummy_app/app/controllers/spreadsheets_controller.rb
239
+ - test/dummy_app/app/controllers/application_controller.rb
240
+ - test/dummy_app/config.ru
241
+ - test/dummy_app/log/test.log
242
+ - test/dummy_app/config/database.yml
243
+ - test/dummy_app/config/environments/production.rb
244
+ - test/dummy_app/config/environments/test.rb
245
+ - test/dummy_app/config/environments/development.rb
246
+ - test/dummy_app/config/routes.rb
247
+ - test/dummy_app/config/environment.rb
248
+ - test/dummy_app/config/locales/en.yml
249
+ - test/dummy_app/config/boot.rb
250
+ - test/dummy_app/config/initializers/secret_token.rb
251
+ - test/dummy_app/config/initializers/inflections.rb
252
+ - test/dummy_app/config/initializers/mime_types.rb
253
+ - test/dummy_app/config/initializers/session_store.rb
254
+ - test/dummy_app/config/initializers/wrap_parameters.rb
255
+ - test/dummy_app/config/initializers/backtrace_silencers.rb
256
+ - test/dummy_app/config/secrets.yml
257
+ - test/dummy_app/config/application.rb
258
+ - test/dummy_app/Rakefile
259
+ - test/dummy_app/db/schema.rb
260
+ - test/dummy_app/db/test.sqlite3
261
+ - test/helper_methods.rb