robust_excel_ole 1.3 → 1.4

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/Changelog +6 -0
  3. data/README.rdoc +1 -1
  4. data/docs/README_open.rdoc +1 -1
  5. data/docs/README_ranges.rdoc +60 -57
  6. data/docs/README_sheet.rdoc +1 -1
  7. data/examples/introducing_examples/example_introducing.rb +42 -0
  8. data/examples/introducing_examples/example_open.rb +49 -0
  9. data/examples/introducing_examples/example_range.rb +67 -0
  10. data/examples/{edit_sheets → modifying_sheets}/example_access_sheets_and_cells.rb +0 -0
  11. data/examples/{edit_sheets → modifying_sheets}/example_adding_sheets.rb +0 -0
  12. data/examples/{edit_sheets → modifying_sheets}/example_concating.rb +1 -1
  13. data/examples/{edit_sheets → modifying_sheets}/example_copying.rb +1 -1
  14. data/examples/{edit_sheets → modifying_sheets}/example_expanding.rb +1 -1
  15. data/examples/{edit_sheets → modifying_sheets}/example_naming.rb +1 -1
  16. data/examples/{edit_sheets → modifying_sheets}/example_ranges.rb +1 -1
  17. data/examples/{edit_sheets → modifying_sheets}/example_saving.rb +1 -1
  18. data/examples/open_save_close/example_control_to_excel.rb +2 -2
  19. data/examples/open_save_close/example_if_obstructed_save.rb +2 -2
  20. data/examples/open_save_close/example_if_unsaved_accept.rb +1 -1
  21. data/examples/open_save_close/example_if_unsaved_forget.rb +3 -3
  22. data/examples/open_save_close/example_if_unsaved_forget_more.rb +4 -4
  23. data/examples/open_save_close/example_read_only.rb +1 -1
  24. data/examples/open_save_close/example_rename_cells.rb +1 -1
  25. data/examples/open_save_close/example_simple.rb +1 -1
  26. data/examples/open_save_close/example_unobtrusively.rb +3 -3
  27. data/lib/robust_excel_ole.rb +2 -2
  28. data/lib/robust_excel_ole/bookstore.rb +1 -1
  29. data/lib/robust_excel_ole/cell.rb +15 -2
  30. data/lib/robust_excel_ole/excel.rb +14 -12
  31. data/lib/robust_excel_ole/general.rb +12 -0
  32. data/lib/robust_excel_ole/range.rb +37 -20
  33. data/lib/robust_excel_ole/reo_common.rb +63 -37
  34. data/lib/robust_excel_ole/version.rb +1 -1
  35. data/lib/robust_excel_ole/{book.rb → workbook.rb} +35 -33
  36. data/lib/robust_excel_ole/{sheet.rb → worksheet.rb} +22 -22
  37. data/spec/bookstore_spec.rb +38 -38
  38. data/spec/cell_spec.rb +10 -10
  39. data/spec/data/another_workbook.xls +0 -0
  40. data/spec/data/workbook.xls +0 -0
  41. data/spec/excel_spec.rb +113 -105
  42. data/spec/general_spec.rb +37 -5
  43. data/spec/range_spec.rb +34 -19
  44. data/spec/reo_common_spec.rb +58 -48
  45. data/spec/{book_spec.rb → workbook_spec.rb} +198 -198
  46. data/spec/workbook_specs/workbook_all_spec.rb +33 -0
  47. data/spec/{book_specs/book_close_spec.rb → workbook_specs/workbook_close_spec.rb} +10 -10
  48. data/spec/{book_specs/book_misc_spec.rb → workbook_specs/workbook_misc_spec.rb} +148 -128
  49. data/spec/{book_specs/book_open_spec.rb → workbook_specs/workbook_open_spec.rb} +427 -427
  50. data/spec/{book_specs/book_save_spec.rb → workbook_specs/workbook_save_spec.rb} +44 -44
  51. data/spec/{book_specs/book_sheet_spec.rb → workbook_specs/workbook_sheet_spec.rb} +19 -19
  52. data/spec/{book_specs/book_subclass_spec.rb → workbook_specs/workbook_subclass_spec.rb} +5 -6
  53. data/spec/{book_specs/book_unobtr_spec.rb → workbook_specs/workbook_unobtr_spec.rb} +339 -344
  54. data/spec/{sheet_spec.rb → worksheet_spec.rb} +85 -55
  55. metadata +25 -22
  56. data/spec/book_specs/book_all_spec.rb +0 -22
@@ -7,7 +7,7 @@ $VERBOSE = nil
7
7
  include RobustExcelOle
8
8
  include General
9
9
 
10
- describe Sheet do
10
+ describe Worksheet do
11
11
 
12
12
  before(:all) do
13
13
  excel = Excel.new(:reuse => true)
@@ -22,7 +22,7 @@ describe Sheet do
22
22
  @protected_file = @dir + '/protected_sheet.xls'
23
23
  @blank_file = @dir + '/book_with_blank.xls'
24
24
  @merge_file = @dir + '/merge_cells.xls'
25
- @book = Book.open(@simple_file)
25
+ @book = Workbook.open(@simple_file)
26
26
  @sheet = @book.sheet(1)
27
27
  end
28
28
 
@@ -36,7 +36,7 @@ describe Sheet do
36
36
  context "when open sheet protected(with password is 'protect')" do
37
37
  before do
38
38
  @key_sender = IO.popen 'ruby "' + File.join(File.dirname(__FILE__), '/helpers/key_sender.rb') + '" "Microsoft Excel" ' , "w"
39
- @book_protect = Book.open(@protected_file, :visible => true, :read_only => true, :force_excel => :new)
39
+ @book_protect = Workbook.open(@protected_file, :visible => true, :read_only => true, :force_excel => :new)
40
40
  @book_protect.excel.displayalerts = false
41
41
  @key_sender.puts "{p}{r}{o}{t}{e}{c}{t}{enter}"
42
42
  @protected_sheet = @book_protect.sheet('protect')
@@ -60,7 +60,7 @@ describe Sheet do
60
60
 
61
61
  shared_context "sheet 'open book with blank'" do
62
62
  before do
63
- @book_with_blank = Book.open(@blank_file, :read_only => true)
63
+ @book_with_blank = Workbook.open(@blank_file, :read_only => true)
64
64
  @sheet_with_blank = @book_with_blank.sheet(1)
65
65
  end
66
66
 
@@ -71,7 +71,7 @@ describe Sheet do
71
71
 
72
72
  describe "workbook" do
73
73
  before do
74
- @book = Book.open(@simple_file)
74
+ @book = Workbook.open(@simple_file)
75
75
  @sheet = @book.sheet(1)
76
76
  end
77
77
 
@@ -117,21 +117,21 @@ describe Sheet do
117
117
  context "access [1,1]" do
118
118
 
119
119
  it { @sheet[1, 1].should be_kind_of Cell }
120
- it { @sheet[1, 1].value.should eq 'foo' }
120
+ it { @sheet[1, 1].Value.should eq 'foo' }
121
121
  end
122
122
 
123
123
  context "access [1, 1], [1, 2], [3, 1]" do
124
124
  it "should get every values" do
125
- @sheet[1, 1].value.should eq 'foo'
126
- @sheet[1, 2].value.should eq 'workbook'
127
- @sheet[3, 1].value.should eq 'matz'
125
+ @sheet[1, 1].Value.should eq 'foo'
126
+ @sheet[1, 2].Value.should eq 'workbook'
127
+ @sheet[3, 1].Value.should eq 'matz'
128
128
  end
129
129
  end
130
130
 
131
131
  context "supplying nil as parameter" do
132
132
  it "should access [1,1]" do
133
- @sheet[1, nil].value.should eq 'foo'
134
- @sheet[nil, 1].value.should eq 'foo'
133
+ @sheet[1, nil].Value.should eq 'foo'
134
+ @sheet[nil, 1].Value.should eq 'foo'
135
135
  end
136
136
  end
137
137
 
@@ -146,12 +146,12 @@ describe Sheet do
146
146
 
147
147
  it "change a cell to 'bar'" do
148
148
  @sheet[1, 1] = 'bar'
149
- @sheet[1, 1].value.should eq 'bar'
149
+ @sheet[1, 1].Value.should eq 'bar'
150
150
  end
151
151
 
152
152
  it "should change a cell to nil" do
153
153
  @sheet[1, 1] = nil
154
- @sheet[1, 1].value.should eq nil
154
+ @sheet[1, 1].Value.should eq nil
155
155
  end
156
156
 
157
157
  it "should raise error for bad ranges" do
@@ -175,17 +175,27 @@ describe Sheet do
175
175
  describe "range" do
176
176
 
177
177
  it "should create a range of one cell" do
178
- @sheet.range(1,1).values.should == ["foo"]
178
+ @sheet.range([1,2]).values.should == ["workbook"]
179
+ @sheet.range(["B1"]).values.should == ["workbook"]
180
+ @sheet.range("B1").values.should == ["workbook"]
179
181
  end
180
182
 
181
183
  it "should create a rectangular range" do
184
+ @sheet.range([1..3,2..4]).values.should == ["workbook", "sheet1", nil, nil, "foobaaa", nil, "is", "nice", nil]
185
+ @sheet.range([1..3, "B".."D"]).values.should == ["workbook", "sheet1", nil, nil, "foobaaa", nil, "is", "nice", nil]
186
+ @sheet.range(["B1:D3"]).values.should == ["workbook", "sheet1", nil, nil, "foobaaa", nil, "is", "nice", nil]
187
+ @sheet.range("B1:D3").values.should == ["workbook", "sheet1", nil, nil, "foobaaa", nil, "is", "nice", nil]
188
+ end
189
+
190
+ it "should accept old interface" do
182
191
  @sheet.range(1..3,2..4).values.should == ["workbook", "sheet1", nil, nil, "foobaaa", nil, "is", "nice", nil]
192
+ @sheet.range(1..3, "B".."D").values.should == ["workbook", "sheet1", nil, nil, "foobaaa", nil, "is", "nice", nil]
183
193
  end
184
194
 
185
195
  it "should raise an error" do
186
196
  expect{
187
- @sheet.range(0,0)
188
- }.to raise_error(RangeNotCreated, "cannot create range (0..0,0..0)")
197
+ @sheet.range([0,0])
198
+ }.to raise_error(AddressInvalid, /not in/)
189
199
  end
190
200
 
191
201
  end
@@ -195,17 +205,17 @@ describe Sheet do
195
205
  @sheet.each_with_index do |cell, i|
196
206
  case i
197
207
  when 0
198
- cell.value.should eq 'foo'
208
+ cell.Value.should eq 'foo'
199
209
  when 1
200
- cell.value.should eq 'workbook'
210
+ cell.Value.should eq 'workbook'
201
211
  when 2
202
- cell.value.should eq 'sheet1'
212
+ cell.Value.should eq 'sheet1'
203
213
  when 3
204
- cell.value.should eq 'foo'
214
+ cell.Value.should eq 'foo'
205
215
  when 4
206
- cell.value.should be_nil
216
+ cell.Value.should be_nil
207
217
  when 5
208
- cell.value.should eq 'foobaaa'
218
+ cell.Value.should eq 'foobaaa'
209
219
  end
210
220
  end
211
221
  end
@@ -217,15 +227,15 @@ describe Sheet do
217
227
  @sheet_with_blank.each_with_index do |cell, i|
218
228
  case i
219
229
  when 5
220
- cell.value.should be_nil
230
+ cell.Value.should be_nil
221
231
  when 6
222
- cell.value.should eq 'simple'
232
+ cell.Value.should eq 'simple'
223
233
  when 7
224
- cell.value.should be_nil
234
+ cell.Value.should be_nil
225
235
  when 8
226
- cell.value.should eq 'workbook'
236
+ cell.Value.should eq 'workbook'
227
237
  when 9
228
- cell.value.should eq 'sheet1'
238
+ cell.Value.should eq 'sheet1'
229
239
  end
230
240
  end
231
241
  end
@@ -243,7 +253,7 @@ describe Sheet do
243
253
  context "with argument 1" do
244
254
  it 'should read from second row' do
245
255
  @sheet.each_row(1) do |rows|
246
- case rows.row
256
+ case rows.Row
247
257
  when 2
248
258
  rows.values.should eq ['foo', nil, 'foobaaa']
249
259
  when 3
@@ -258,7 +268,7 @@ describe Sheet do
258
268
 
259
269
  it 'should get from ["A1"]' do
260
270
  @sheet_with_blank.each_row do |rows|
261
- case rows.row - 1
271
+ case rows.Row - 1
262
272
  when 0
263
273
  rows.values.should eq [nil, nil, nil, nil, nil]
264
274
  when 1
@@ -315,7 +325,7 @@ describe Sheet do
315
325
  context "with argument 1" do
316
326
  it "should read from second column" do
317
327
  @sheet.each_column(1) do |columns|
318
- case columns.column
328
+ case columns.Column
319
329
  when 2
320
330
  columns.values.should eq ['workbook', nil, 'is']
321
331
  when 3
@@ -330,7 +340,7 @@ describe Sheet do
330
340
 
331
341
  it 'should get from ["A1"]' do
332
342
  @sheet_with_blank.each_column do |columns|
333
- case columns.column- 1
343
+ case columns.Column- 1
334
344
  when 0
335
345
  columns.values.should eq [nil, nil, nil, nil, nil]
336
346
  when 1
@@ -348,7 +358,7 @@ describe Sheet do
348
358
 
349
359
  context "read sheet which last cell is merged" do
350
360
  before do
351
- @book_merge_cells = Book.open(@merge_file)
361
+ @book_merge_cells = Workbook.open(@merge_file)
352
362
  @sheet_merge_cell = @book_merge_cells.sheet(1)
353
363
  end
354
364
 
@@ -450,7 +460,7 @@ describe Sheet do
450
460
 
451
461
  describe "[], []=" do
452
462
  before do
453
- @book1 = Book.open(@dir + '/another_workbook.xls')
463
+ @book1 = Workbook.open(@dir + '/another_workbook.xls')
454
464
  @sheet1 = @book1.sheet(1)
455
465
  end
456
466
 
@@ -488,7 +498,7 @@ describe Sheet do
488
498
  it "should raise an error if name not defined" do
489
499
  expect {
490
500
  @sheet1["foo"]
491
- }.to raise_error(NameNotFound, /name "foo" not in #<Sheet: Sheet1/)
501
+ }.to raise_error(NameNotFound, /name "foo" not in #<Worksheet: Sheet1/)
492
502
  end
493
503
 
494
504
  it "should set a range to a value" do
@@ -502,14 +512,14 @@ describe Sheet do
502
512
  it "should raise an error if name cannot be evaluated" do
503
513
  expect{
504
514
  @sheet1["foo"] = 1
505
- }.to raise_error(NameNotFound, /name "foo" not in #<Sheet: Sheet1/)
515
+ }.to raise_error(NameNotFound, /name "foo" not in #<Worksheet: Sheet1/)
506
516
  end
507
517
  end
508
518
 
509
519
  describe "namevalue_glob, set_namevalue_glob" do
510
520
 
511
521
  before do
512
- @book1 = Book.open(@dir + '/another_workbook.xls')
522
+ @book1 = Workbook.open(@dir + '/another_workbook.xls')
513
523
  @sheet1 = @book1.sheet(1)
514
524
  end
515
525
 
@@ -534,7 +544,7 @@ describe Sheet do
534
544
  it "should raise an error of coordinates are given instead of a defined name" do
535
545
  expect {
536
546
  @sheet1.namevalue_glob("A1")
537
- }.to raise_error(NameNotFound, /name "A1" not in #<Sheet: Sheet1/)
547
+ }.to raise_error(NameNotFound, /name "A1" not in #<Worksheet: Sheet1/)
538
548
  end
539
549
 
540
550
  it "should return default value for a range with empty contents" do
@@ -552,7 +562,7 @@ describe Sheet do
552
562
  it "should raise an error if name cannot be evaluated" do
553
563
  expect{
554
564
  @sheet1.set_namevalue_glob("foo", 1)
555
- }.to raise_error(NameNotFound, /name "foo" not in #<Sheet: Sheet1/)
565
+ }.to raise_error(NameNotFound, /name "foo" not in #<Worksheet: Sheet1/)
556
566
  end
557
567
 
558
568
  it "should color the cell" do
@@ -567,7 +577,7 @@ describe Sheet do
567
577
  describe "namevalue, set_namevalue" do
568
578
 
569
579
  before do
570
- @book1 = Book.open(@dir + '/another_workbook.xls')
580
+ @book1 = Workbook.open(@dir + '/another_workbook.xls')
571
581
  @sheet1 = @book1.sheet(1)
572
582
  @sheet2 = @book1.sheet(2)
573
583
  end
@@ -602,13 +612,13 @@ describe Sheet do
602
612
  it "should raise an error if name not defined for the sheet" do
603
613
  expect {
604
614
  @sheet1.namevalue("foo")
605
- }.to raise_error(NameNotFound, /name "foo" not in #<Sheet: Sheet1/)
615
+ }.to raise_error(NameNotFound, /name "foo" not in #<Worksheet: Sheet1/)
606
616
  expect {
607
617
  @sheet1.namevalue("named_formula")
608
- }.to raise_error(NameNotFound, /name "named_formula" not in #<Sheet: Sheet1/)
618
+ }.to raise_error(NameNotFound, /name "named_formula" not in #<Worksheet: Sheet1/)
609
619
  expect {
610
620
  @sheet2.namevalue("firstcell")
611
- }.to raise_error(NameNotFound, /name "firstcell" not in #<Sheet: Sheet2/)
621
+ }.to raise_error(NameNotFound, /name "firstcell" not in #<Worksheet: Sheet2/)
612
622
  end
613
623
 
614
624
  it "should set a range to a value" do
@@ -622,7 +632,7 @@ describe Sheet do
622
632
  it "should raise an error if name cannot be evaluated" do
623
633
  expect{
624
634
  @sheet1.set_namevalue_glob("foo", 1)
625
- }.to raise_error(NameNotFound, /name "foo" not in #<Sheet: Sheet1/)
635
+ }.to raise_error(NameNotFound, /name "foo" not in #<Worksheet: Sheet1/)
626
636
  end
627
637
 
628
638
  it "should raise an error if name not defined and default value is not provided" do
@@ -631,10 +641,10 @@ describe Sheet do
631
641
  }.to_not raise_error
632
642
  expect {
633
643
  @sheet1.namevalue("foo", :default => :__not_provided)
634
- }.to raise_error(NameNotFound, /name "foo" not in #<Sheet: Sheet1 another_workbook/)
644
+ }.to raise_error(NameNotFound, /name "foo" not in #<Worksheet: Sheet1 another_workbook/)
635
645
  expect {
636
646
  @sheet1.namevalue("foo")
637
- }.to raise_error(NameNotFound, /name "foo" not in #<Sheet: Sheet1 another_workbook/)
647
+ }.to raise_error(NameNotFound, /name "foo" not in #<Worksheet: Sheet1 another_workbook/)
638
648
  @sheet1.namevalue("foo", :default => nil).should be_nil
639
649
  @sheet1.namevalue("foo", :default => 1).should == 1
640
650
  @sheet1.namevalue_glob("empty", :default => 1).should be_nil
@@ -654,7 +664,7 @@ describe Sheet do
654
664
  context "adding, renaming, deleting the name of a range" do
655
665
 
656
666
  before do
657
- @book1 = Book.open(@dir + '/another_workbook.xls', :read_only => true, :visible => true)
667
+ @book1 = Workbook.open(@dir + '/another_workbook.xls', :read_only => true, :visible => true)
658
668
  @book1.excel.displayalerts = false
659
669
  @sheet1 = @book1.sheet(1)
660
670
  end
@@ -667,30 +677,30 @@ describe Sheet do
667
677
  expect{
668
678
  @sheet1[1,2].Name.Name
669
679
  }.to raise_error
670
- @sheet1.add_name("foo",1,2)
671
- @sheet1[1,2].Name.Name.should == "Sheet1!foo"
680
+ @sheet1.add_name("foo",[1,2])
681
+ @sheet1.Range("foo").Address.should == "$B$1"
672
682
  end
673
683
 
674
684
  it "should rename an already named range with a giving address" do
675
685
  @sheet1[1,1].Name.Name.should == "Sheet1!firstcell"
676
- @sheet1.add_name("foo",1,1)
677
- @sheet1[1,1].Name.Name.should == "Sheet1!foo"
686
+ @sheet1.add_name("foo",[1..2,3..4])
687
+ @sheet1.Range("foo").Address.should == "$C$1:$D$2"
678
688
  end
679
689
 
680
690
  it "should raise an error" do
681
691
  expect{
682
- @sheet1.add_name("foo", -2, 1)
683
- }.to raise_error(RangeNotEvaluatable, /cannot add name "foo" to cell with row -2 and column 1/)
692
+ @sheet1.add_name("foo", [-2, 1])
693
+ }.to raise_error(RangeNotEvaluatable, /cannot add name "foo" to range/)
684
694
  end
685
695
 
686
696
  it "should rename a range" do
687
- @sheet1.add_name("foo",1,1)
697
+ @sheet1.add_name("foo",[1,1])
688
698
  @sheet1.rename_range("foo","bar")
689
699
  @sheet1.namevalue_glob("bar").should == "foo"
690
700
  end
691
701
 
692
702
  it "should delete a name of a range" do
693
- @sheet1.add_name("foo",1,1)
703
+ @sheet1.add_name("foo",[1,1])
694
704
  @sheet1.delete_name("foo")
695
705
  expect{
696
706
  @sheet1.namevalue_glob("foo")
@@ -698,7 +708,27 @@ describe Sheet do
698
708
  end
699
709
 
700
710
  it "should add a name of a rectangular range" do
701
- @sheet1.add_name("foo",1..3,1..4)
711
+ @sheet1.add_name("foo",[1..3,1..4])
712
+ @sheet1["foo"].should == [["foo", "workbook", "sheet1", nil], ["foo", 1.0, 2.0, 4.0], ["matz", 3.0, 4.0, 4.0]]
713
+ end
714
+
715
+ it "should add a name of a rectangular range" do
716
+ @sheet1.add_name("foo","A1:D3")
717
+ @sheet1["foo"].should == [["foo", "workbook", "sheet1", nil], ["foo", 1.0, 2.0, 4.0], ["matz", 3.0, 4.0, 4.0]]
718
+ end
719
+
720
+ it "should add a name of a rectangular range" do
721
+ @sheet1.add_name("foo",["A1:D3"])
722
+ @sheet1["foo"].should == [["foo", "workbook", "sheet1", nil], ["foo", 1.0, 2.0, 4.0], ["matz", 3.0, 4.0, 4.0]]
723
+ end
724
+
725
+ it "should use the old interface" do
726
+ @sheet1.add_name("foo",1..3,"A".."D")
727
+ @sheet1["foo"].should == [["foo", "workbook", "sheet1", nil], ["foo", 1.0, 2.0, 4.0], ["matz", 3.0, 4.0, 4.0]]
728
+ end
729
+
730
+ it "should add a name of a rectangular range" do
731
+ @sheet1.add_name("foo",[1..3, "A".."D"])
702
732
  @sheet1["foo"].should == [["foo", "workbook", "sheet1", nil], ["foo", 1.0, 2.0, 4.0], ["matz", 3.0, 4.0, 4.0]]
703
733
  end
704
734
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: robust_excel_ole
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.3'
4
+ version: '1.4'
5
5
  platform: ruby
6
6
  authors:
7
7
  - traths
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-24 00:00:00.000000000 Z
11
+ date: 2018-10-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -52,14 +52,17 @@ files:
52
52
  - docs/README_ranges.rdoc
53
53
  - docs/README_save_close.rdoc
54
54
  - docs/README_sheet.rdoc
55
- - examples/edit_sheets/example_access_sheets_and_cells.rb
56
- - examples/edit_sheets/example_adding_sheets.rb
57
- - examples/edit_sheets/example_concating.rb
58
- - examples/edit_sheets/example_copying.rb
59
- - examples/edit_sheets/example_expanding.rb
60
- - examples/edit_sheets/example_naming.rb
61
- - examples/edit_sheets/example_ranges.rb
62
- - examples/edit_sheets/example_saving.rb
55
+ - examples/introducing_examples/example_introducing.rb
56
+ - examples/introducing_examples/example_open.rb
57
+ - examples/introducing_examples/example_range.rb
58
+ - examples/modifying_sheets/example_access_sheets_and_cells.rb
59
+ - examples/modifying_sheets/example_adding_sheets.rb
60
+ - examples/modifying_sheets/example_concating.rb
61
+ - examples/modifying_sheets/example_copying.rb
62
+ - examples/modifying_sheets/example_expanding.rb
63
+ - examples/modifying_sheets/example_naming.rb
64
+ - examples/modifying_sheets/example_ranges.rb
65
+ - examples/modifying_sheets/example_saving.rb
63
66
  - examples/open_save_close/example_control_to_excel.rb
64
67
  - examples/open_save_close/example_default_excel.rb
65
68
  - examples/open_save_close/example_force_excel.rb
@@ -76,7 +79,6 @@ files:
76
79
  - examples/open_save_close/example_unobtrusively.rb
77
80
  - lib/reo_console.rb
78
81
  - lib/robust_excel_ole.rb
79
- - lib/robust_excel_ole/book.rb
80
82
  - lib/robust_excel_ole/bookstore.rb
81
83
  - lib/robust_excel_ole/cell.rb
82
84
  - lib/robust_excel_ole/cygwin.rb
@@ -86,20 +88,12 @@ files:
86
88
  - lib/robust_excel_ole/reo_common.rb
87
89
  - lib/robust_excel_ole/robustexcelole.sublime-project
88
90
  - lib/robust_excel_ole/robustexcelole.sublime-workspace
89
- - lib/robust_excel_ole/sheet.rb
90
91
  - lib/robust_excel_ole/version.rb
92
+ - lib/robust_excel_ole/workbook.rb
93
+ - lib/robust_excel_ole/worksheet.rb
91
94
  - lib/spec_helper.rb
92
95
  - reo.bat
93
96
  - robust_excel_ole.gemspec
94
- - spec/book_spec.rb
95
- - spec/book_specs/book_all_spec.rb
96
- - spec/book_specs/book_close_spec.rb
97
- - spec/book_specs/book_misc_spec.rb
98
- - spec/book_specs/book_open_spec.rb
99
- - spec/book_specs/book_save_spec.rb
100
- - spec/book_specs/book_sheet_spec.rb
101
- - spec/book_specs/book_subclass_spec.rb
102
- - spec/book_specs/book_unobtr_spec.rb
103
97
  - spec/bookstore_spec.rb
104
98
  - spec/cell_spec.rb
105
99
  - spec/cygwin_spec.rb
@@ -123,8 +117,17 @@ files:
123
117
  - spec/helpers/key_sender.rb
124
118
  - spec/range_spec.rb
125
119
  - spec/reo_common_spec.rb
126
- - spec/sheet_spec.rb
127
120
  - spec/spec_helper.rb
121
+ - spec/workbook_spec.rb
122
+ - spec/workbook_specs/workbook_all_spec.rb
123
+ - spec/workbook_specs/workbook_close_spec.rb
124
+ - spec/workbook_specs/workbook_misc_spec.rb
125
+ - spec/workbook_specs/workbook_open_spec.rb
126
+ - spec/workbook_specs/workbook_save_spec.rb
127
+ - spec/workbook_specs/workbook_sheet_spec.rb
128
+ - spec/workbook_specs/workbook_subclass_spec.rb
129
+ - spec/workbook_specs/workbook_unobtr_spec.rb
130
+ - spec/worksheet_spec.rb
128
131
  - version.rb
129
132
  homepage: https://github.com/Thomas008/robust_excel_ole
130
133
  licenses: