Skip to content

Commit

Permalink
Add ExcelGenerator
Browse files Browse the repository at this point in the history
  • Loading branch information
kenta-s committed Jun 24, 2022
1 parent 3086dbb commit 6164d04
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
24 changes: 24 additions & 0 deletions lib/excel_generator.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
require 'rubyXL'

class ExcelGenerator
attr_reader :worksheet

def initialize(image_handler)
@image_handler = image_handler
workbook = RubyXL::Workbook.new
@worksheet = workbook.worksheets[0]

add_cells
end

private

def add_cells
# creating necessary cells to display an image
@image_handler.width.times do |i|
@image_handler.height.times do |j|
@worksheet.add_cell(i, j, '')
end
end
end
end
18 changes: 18 additions & 0 deletions spec/lib/excel_generator_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
require 'pathname'
require './lib/excel_generator'
require './lib/image_handler'

require 'irb'

RSpec.describe ExcelGenerator do
describe '#initialize' do
it 'initializes worksheet based on image width and height' do
image_path = Pathname.new('spec/fixtures/images/100_200.png')
image_handler = ImageHandler.new(image_path)
excel_generator = described_class.new(image_handler)
expect(excel_generator.worksheet[99][199]).to be_a(RubyXL::Cell)
expect(excel_generator.worksheet[99][200]).to eq(nil)
expect(excel_generator.worksheet[100]).to eq(nil)
end
end
end

0 comments on commit 6164d04

Please sign in to comment.