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.
- checksums.yaml +4 -4
- data/Changelog +6 -0
- data/README.rdoc +1 -1
- data/docs/README_open.rdoc +1 -1
- data/docs/README_ranges.rdoc +60 -57
- data/docs/README_sheet.rdoc +1 -1
- data/examples/introducing_examples/example_introducing.rb +42 -0
- data/examples/introducing_examples/example_open.rb +49 -0
- data/examples/introducing_examples/example_range.rb +67 -0
- data/examples/{edit_sheets → modifying_sheets}/example_access_sheets_and_cells.rb +0 -0
- data/examples/{edit_sheets → modifying_sheets}/example_adding_sheets.rb +0 -0
- data/examples/{edit_sheets → modifying_sheets}/example_concating.rb +1 -1
- data/examples/{edit_sheets → modifying_sheets}/example_copying.rb +1 -1
- data/examples/{edit_sheets → modifying_sheets}/example_expanding.rb +1 -1
- data/examples/{edit_sheets → modifying_sheets}/example_naming.rb +1 -1
- data/examples/{edit_sheets → modifying_sheets}/example_ranges.rb +1 -1
- data/examples/{edit_sheets → modifying_sheets}/example_saving.rb +1 -1
- data/examples/open_save_close/example_control_to_excel.rb +2 -2
- data/examples/open_save_close/example_if_obstructed_save.rb +2 -2
- data/examples/open_save_close/example_if_unsaved_accept.rb +1 -1
- data/examples/open_save_close/example_if_unsaved_forget.rb +3 -3
- data/examples/open_save_close/example_if_unsaved_forget_more.rb +4 -4
- data/examples/open_save_close/example_read_only.rb +1 -1
- data/examples/open_save_close/example_rename_cells.rb +1 -1
- data/examples/open_save_close/example_simple.rb +1 -1
- data/examples/open_save_close/example_unobtrusively.rb +3 -3
- data/lib/robust_excel_ole.rb +2 -2
- data/lib/robust_excel_ole/bookstore.rb +1 -1
- data/lib/robust_excel_ole/cell.rb +15 -2
- data/lib/robust_excel_ole/excel.rb +14 -12
- data/lib/robust_excel_ole/general.rb +12 -0
- data/lib/robust_excel_ole/range.rb +37 -20
- data/lib/robust_excel_ole/reo_common.rb +63 -37
- data/lib/robust_excel_ole/version.rb +1 -1
- data/lib/robust_excel_ole/{book.rb → workbook.rb} +35 -33
- data/lib/robust_excel_ole/{sheet.rb → worksheet.rb} +22 -22
- data/spec/bookstore_spec.rb +38 -38
- data/spec/cell_spec.rb +10 -10
- data/spec/data/another_workbook.xls +0 -0
- data/spec/data/workbook.xls +0 -0
- data/spec/excel_spec.rb +113 -105
- data/spec/general_spec.rb +37 -5
- data/spec/range_spec.rb +34 -19
- data/spec/reo_common_spec.rb +58 -48
- data/spec/{book_spec.rb → workbook_spec.rb} +198 -198
- data/spec/workbook_specs/workbook_all_spec.rb +33 -0
- data/spec/{book_specs/book_close_spec.rb → workbook_specs/workbook_close_spec.rb} +10 -10
- data/spec/{book_specs/book_misc_spec.rb → workbook_specs/workbook_misc_spec.rb} +148 -128
- data/spec/{book_specs/book_open_spec.rb → workbook_specs/workbook_open_spec.rb} +427 -427
- data/spec/{book_specs/book_save_spec.rb → workbook_specs/workbook_save_spec.rb} +44 -44
- data/spec/{book_specs/book_sheet_spec.rb → workbook_specs/workbook_sheet_spec.rb} +19 -19
- data/spec/{book_specs/book_subclass_spec.rb → workbook_specs/workbook_subclass_spec.rb} +5 -6
- data/spec/{book_specs/book_unobtr_spec.rb → workbook_specs/workbook_unobtr_spec.rb} +339 -344
- data/spec/{sheet_spec.rb → worksheet_spec.rb} +85 -55
- metadata +25 -22
- 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
|
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 =
|
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 =
|
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 =
|
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 =
|
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].
|
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].
|
126
|
-
@sheet[1, 2].
|
127
|
-
@sheet[3, 1].
|
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].
|
134
|
-
@sheet[nil, 1].
|
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].
|
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].
|
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,
|
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(
|
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.
|
208
|
+
cell.Value.should eq 'foo'
|
199
209
|
when 1
|
200
|
-
cell.
|
210
|
+
cell.Value.should eq 'workbook'
|
201
211
|
when 2
|
202
|
-
cell.
|
212
|
+
cell.Value.should eq 'sheet1'
|
203
213
|
when 3
|
204
|
-
cell.
|
214
|
+
cell.Value.should eq 'foo'
|
205
215
|
when 4
|
206
|
-
cell.
|
216
|
+
cell.Value.should be_nil
|
207
217
|
when 5
|
208
|
-
cell.
|
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.
|
230
|
+
cell.Value.should be_nil
|
221
231
|
when 6
|
222
|
-
cell.
|
232
|
+
cell.Value.should eq 'simple'
|
223
233
|
when 7
|
224
|
-
cell.
|
234
|
+
cell.Value.should be_nil
|
225
235
|
when 8
|
226
|
-
cell.
|
236
|
+
cell.Value.should eq 'workbook'
|
227
237
|
when 9
|
228
|
-
cell.
|
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.
|
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.
|
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.
|
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.
|
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 =
|
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 =
|
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 #<
|
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 #<
|
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 =
|
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 #<
|
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 #<
|
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 =
|
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 #<
|
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 #<
|
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 #<
|
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 #<
|
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 #<
|
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 #<
|
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 =
|
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
|
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,
|
677
|
-
@sheet1
|
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
|
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.
|
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-
|
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/
|
56
|
-
- examples/
|
57
|
-
- examples/
|
58
|
-
- examples/
|
59
|
-
- examples/
|
60
|
-
- examples/
|
61
|
-
- examples/
|
62
|
-
- examples/
|
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:
|