bio 2.0.3 → 2.0.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.
@@ -0,0 +1,359 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # test/unit/bio/db/embl/test_uniprotkb_P49144.rb - Unit tests for Bio::UniProtKB
4
+ #
5
+ # Copyright::: Copyright (C) 2022 BioRuby Project <staff@bioruby.org>
6
+ # License:: The Ruby License
7
+ # Contributor:: 2005 Mitsuteru Nakao <n@bioruby.org>
8
+ # 2022 Naohisa Goto <ng@bioruby.org>
9
+ #
10
+
11
+ # loading helper routine for testing bioruby
12
+ require 'pathname'
13
+ load Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 4,
14
+ 'bioruby_test_helper.rb')).cleanpath.to_s
15
+
16
+ # libraries needed for the tests
17
+ require 'test/unit'
18
+ require 'bio/db/embl/uniprotkb'
19
+
20
+ module Bio
21
+ class TestUniProtKB_P49144 < Test::Unit::TestCase
22
+
23
+ def setup
24
+ data = File.read(File.join(BioRubyTestDataPath,
25
+ 'uniprot', 'P49144.uniprot'))
26
+ @obj = Bio::UniProtKB.new(data)
27
+ end
28
+
29
+ def test_id_line
30
+ assert(@obj.id_line)
31
+ end
32
+
33
+ def test_id_line_entry_name
34
+ assert_equal('5HT1B_RABIT', @obj.id_line('ENTRY_NAME'))
35
+ end
36
+
37
+ def test_id_line_data_class
38
+ assert_equal('Reviewed', @obj.id_line('DATA_CLASS'))
39
+ end
40
+
41
+ #def test_id_line_molecule_type
42
+ # assert_equal('PRT', @obj.id_line('MOLECULE_TYPE'))
43
+ #end
44
+
45
+ def test_id_line_sequence_length
46
+ assert_equal(390, @obj.id_line('SEQUENCE_LENGTH'))
47
+ end
48
+
49
+ def test_entry
50
+ entry = '5HT1B_RABIT'
51
+ assert_equal(entry, @obj.entry)
52
+ assert_equal(entry, @obj.entry_name)
53
+ assert_equal(entry, @obj.entry_id)
54
+ end
55
+
56
+ #def test_molecule
57
+ # assert_equal('PRT', @obj.molecule)
58
+ # assert_equal('PRT', @obj.molecule_type)
59
+ #end
60
+
61
+ def test_sequence_length
62
+ seqlen = 390
63
+ assert_equal(seqlen, @obj.sequence_length)
64
+ assert_equal(seqlen, @obj.aalen)
65
+ end
66
+
67
+ def test_ac
68
+ acs = ["P49144"].freeze
69
+ assert_equal(acs, @obj.ac)
70
+ assert_equal(acs, @obj.accessions)
71
+ end
72
+
73
+ def test_accession
74
+ assert_equal('P49144', @obj.accession)
75
+ end
76
+
77
+ def test_dr
78
+ assert_equal(28, @obj.dr.size)
79
+ assert_equal(12, @obj.dr['GO'].size)
80
+ assert_equal([["IPR002147", "5HT1B_rcpt"],
81
+ ["IPR002231", "5HT_rcpt"],
82
+ ["IPR000276", "GPCR_Rhodpsn"],
83
+ ["IPR017452", "GPCR_Rhodpsn_7TM"]],
84
+ @obj.dr['InterPro'])
85
+ end
86
+
87
+ def test_dr_with_key
88
+ pfam = [{"Accession" => "PF00001",
89
+ "Version" => "7tm_1",
90
+ " " => "1",
91
+ "Molecular Type" => nil}
92
+ ].freeze
93
+ assert_equal(pfam, @obj.dr('Pfam'))
94
+ embl = [{"Accession" => "Z50163",
95
+ "Version" => "CAA90531.1",
96
+ " " => "-",
97
+ "Molecular Type" => "Genomic_DNA"},
98
+ {"Accession" => "X89731",
99
+ "Version" => "CAA61883.1",
100
+ " " => "-",
101
+ "Molecular Type" => "mRNA"},
102
+ {"Accession" => "U60826",
103
+ "Version" => "AAB58467.1",
104
+ " " => "-",
105
+ "Molecular Type" => "Genomic_DNA"}
106
+ ].freeze
107
+ assert_equal(embl, @obj.dr('EMBL'))
108
+ end
109
+
110
+ def test_dr_with_key_empty
111
+ assert_equal([], @obj.dr('NOT_A_DATABASE'))
112
+ end
113
+
114
+ def test_dt
115
+ assert(@obj.dt)
116
+ end
117
+
118
+ def test_dt_created
119
+ assert_equal('01-FEB-1996, integrated into UniProtKB/Swiss-Prot.',
120
+ @obj.dt('created'))
121
+ end
122
+
123
+ def test_dt_sequence
124
+ assert_equal('01-FEB-1996, sequence version 1.',
125
+ @obj.dt('sequence'))
126
+ end
127
+
128
+ def test_dt_annotation
129
+ assert_equal('22-FEB-2023, entry version 127.',
130
+ @obj.dt('annotation'))
131
+ end
132
+
133
+ def test_de
134
+ assert(@obj.de)
135
+ end
136
+
137
+ def test_protein_name
138
+ assert_equal("5-hydroxytryptamine receptor 1B",
139
+ @obj.protein_name)
140
+ end
141
+
142
+ def test_synonyms
143
+ ary = [
144
+ "5-HT-1B",
145
+ "5-HT1B",
146
+ "Serotonin 1D beta receptor",
147
+ "5-HT-1D-beta",
148
+ "Serotonin receptor 1B"
149
+ ].freeze
150
+ assert_equal(ary, @obj.synonyms)
151
+ end
152
+
153
+ def test_protein_name_after_calling_de
154
+ assert(@obj.de)
155
+ assert_equal("5-hydroxytryptamine receptor 1B",
156
+ @obj.protein_name)
157
+ end
158
+
159
+ def test_synonyms_after_calling_de
160
+ assert(@obj.de)
161
+ assert_equal(5, @obj.synonyms.size)
162
+ end
163
+
164
+ def test_gn
165
+ assert_equal([{:orfs=>[], :synonyms=>[], :name=>"HTR1B", :loci=>[]}],
166
+ @obj.gn)
167
+ end
168
+
169
+ def test_gn_uniprot_parser
170
+ assert_equal([{:orfs=>[], :loci=>[], :name=>"HTR1B", :synonyms=>[]}],
171
+ @obj.instance_eval("gn_uniprot_parser"))
172
+ end
173
+
174
+ def test_gn_old_parser
175
+ assert_equal([["Name=HTR1B;"]],
176
+ @obj.instance_eval("gn_old_parser"))
177
+ end
178
+
179
+ def test_gene_names
180
+ assert_equal(["HTR1B"], @obj.gene_names)
181
+ end
182
+
183
+ def test_gene_name
184
+ assert_equal('HTR1B', @obj.gene_name)
185
+ end
186
+
187
+ def test_os
188
+ assert(@obj.os)
189
+ end
190
+
191
+ def test_os_access
192
+ assert_equal("Oryctolagus cuniculus (Rabbit)", @obj.os(0))
193
+ end
194
+
195
+ def test_os_access2
196
+ assert_equal({"name"=>"(Rabbit)", "os"=>"Oryctolagus cuniculus"},
197
+ @obj.os[0])
198
+ end
199
+
200
+ def test_oc
201
+ assert_equal(["Eukaryota", "Metazoa", "Chordata", "Craniata",
202
+ "Vertebrata", "Euteleostomi", "Mammalia", "Eutheria",
203
+ "Euarchontoglires", "Glires", "Lagomorpha",
204
+ "Leporidae", "Oryctolagus"],
205
+ @obj.oc)
206
+ end
207
+
208
+ def test_ox
209
+ assert_equal({"NCBI_TaxID"=>["9986"]}, @obj.ox)
210
+ end
211
+
212
+ def test_ref # Bio::UniProtKB#ref
213
+ assert_equal(Array, @obj.ref.class)
214
+ end
215
+
216
+ def test_cc
217
+ assert_equal(Hash, @obj.cc.class)
218
+ end
219
+
220
+ def test_cc_database
221
+ assert_equal(nil, @obj.cc('DATABASE'))
222
+ end
223
+
224
+ def test_cc_alternative_products
225
+ assert_equal(nil, @obj.cc('ALTERNATIVE PRODUCTS'))
226
+ end
227
+
228
+ def test_cc_mass_spectrometry
229
+ assert_equal(nil, @obj.cc('MASS SPECTROMETRY'))
230
+ end
231
+
232
+
233
+ def test_kw
234
+ keywords = [ "Behavior", "Cell membrane", "Disulfide bond",
235
+ "G-protein coupled receptor", "Glycoprotein",
236
+ "Lipoprotein", "Membrane", "Palmitate",
237
+ "Phosphoprotein", "Receptor", "Reference proteome",
238
+ "Transducer", "Transmembrane", "Transmembrane helix" ]
239
+ assert_equal(keywords, @obj.kw)
240
+ end
241
+
242
+ def test_ft
243
+ assert(@obj.ft)
244
+ name = 'TOPO_DOM'
245
+ data = [{"From"=>1,
246
+ "To"=>49,
247
+ "diff"=>[],
248
+ "original"=>
249
+ ["TOPO_DOM",
250
+ "1",
251
+ "49",
252
+ [["note", "Extracellular"], ["evidence", "ECO:0000250"]]],
253
+ "note"=>"Extracellular",
254
+ "evidence"=>"ECO:0000250"},
255
+ {"From"=>76,
256
+ "To"=>84,
257
+ "diff"=>[],
258
+ "original"=>
259
+ ["TOPO_DOM",
260
+ "76",
261
+ "84",
262
+ [["note", "Cytoplasmic"], ["evidence", "ECO:0000250"]]],
263
+ "note"=>"Cytoplasmic",
264
+ "evidence"=>"ECO:0000250"},
265
+ {"From"=>111,
266
+ "To"=>123,
267
+ "diff"=>[],
268
+ "original"=>
269
+ ["TOPO_DOM",
270
+ "111",
271
+ "123",
272
+ [["note", "Extracellular"], ["evidence", "ECO:0000250"]]],
273
+ "note"=>"Extracellular",
274
+ "evidence"=>"ECO:0000250"},
275
+ {"From"=>146,
276
+ "To"=>165,
277
+ "diff"=>[],
278
+ "original"=>
279
+ ["TOPO_DOM",
280
+ "146",
281
+ "165",
282
+ [["note", "Cytoplasmic"], ["evidence", "ECO:0000250"]]],
283
+ "note"=>"Cytoplasmic",
284
+ "evidence"=>"ECO:0000250"},
285
+ {"From"=>188,
286
+ "To"=>205,
287
+ "diff"=>[],
288
+ "original"=>
289
+ ["TOPO_DOM",
290
+ "188",
291
+ "205",
292
+ [["note", "Extracellular"], ["evidence", "ECO:0000250"]]],
293
+ "note"=>"Extracellular",
294
+ "evidence"=>"ECO:0000250"},
295
+ {"From"=>229,
296
+ "To"=>315,
297
+ "diff"=>[],
298
+ "original"=>
299
+ ["TOPO_DOM",
300
+ "229",
301
+ "315",
302
+ [["note", "Cytoplasmic"], ["evidence", "ECO:0000250"]]],
303
+ "note"=>"Cytoplasmic",
304
+ "evidence"=>"ECO:0000250"},
305
+ {"From"=>337,
306
+ "To"=>349,
307
+ "diff"=>[],
308
+ "original"=>
309
+ ["TOPO_DOM",
310
+ "337",
311
+ "349",
312
+ [["note", "Extracellular"], ["evidence", "ECO:0000250"]]],
313
+ "note"=>"Extracellular",
314
+ "evidence"=>"ECO:0000250"},
315
+ {"From"=>372,
316
+ "To"=>390,
317
+ "diff"=>[],
318
+ "original"=>
319
+ ["TOPO_DOM",
320
+ "372",
321
+ "390",
322
+ [["note", "Cytoplasmic"], ["evidence", "ECO:0000250"]]],
323
+ "note"=>"Cytoplasmic",
324
+ "evidence"=>"ECO:0000250"}].freeze
325
+ assert_equal(data, @obj.ft[name])
326
+ end
327
+
328
+ def test_sq
329
+ assert_equal({"CRC64"=>"C22EBC077C6C897D", "aalen"=>390, "MW"=>43496},
330
+ @obj.sq)
331
+ end
332
+
333
+ def test_sq_crc64
334
+ assert_equal("C22EBC077C6C897D", @obj.sq('CRC64'))
335
+ end
336
+
337
+ def test_sq_mw
338
+ mw = 43496
339
+ assert_equal(mw, @obj.sq('mw'))
340
+ assert_equal(mw, @obj.sq('molecular'))
341
+ assert_equal(mw, @obj.sq('weight'))
342
+ end
343
+
344
+ def test_sq_len
345
+ length = 390
346
+ assert_equal(length, @obj.sq('len'))
347
+ assert_equal(length, @obj.sq('length'))
348
+ assert_equal(length, @obj.sq('AA'))
349
+ end
350
+
351
+ def test_seq
352
+ seq = "MEEPGAQCAPPLAAGSQIAVPQANLSAAHSHNCSAEGYIYQDSIALPWKVLLVLLLALFTLATTLSNAFVVATVYRTRKLHTPANYLIASLAVTDLLVSILVMPISTMYTVTGRWTLGQVVCDLWLSSDITCCTASIMHLCVIALDRYWAITDAVEYSAKRTPKRAAIMIRLVWVFSICISLPPFFWRQAKAEEEVSECLVNTDHVLYTVYSTVGAFYLPTLLLIALYGRIYVEARSRILKQTPNRTGKRLTRAQLITDSPGSTTSVTSINSRAPDVPSESGSPVYVNQVKVRVSDALLEKKKLMAARERKATKTLGIILGVFIVCWLPFFIISLVMPICKDACWFHQAIFDFFTWLGYVNSLINPIIYTMSNEDFKQAFHKLIRFKCTS"
353
+ assert_equal(seq, @obj.seq)
354
+ assert_equal(seq, @obj.aaseq)
355
+ end
356
+
357
+ end # class TestUniProtKB_P49144
358
+ end # module Bio
359
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bio
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - BioRuby project
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-05 00:00:00.000000000 Z
11
+ date: 2023-09-27 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: BioRuby is a library for bioinformatics (biology + information science).
14
14
  email: staff@bioruby.org
@@ -26,7 +26,8 @@ extra_rdoc_files:
26
26
  - doc/RELEASE_NOTES-1.4.3.rdoc
27
27
  - doc/RELEASE_NOTES-1.5.0.rdoc
28
28
  files:
29
- - ".travis.yml"
29
+ - ".github/workflows/ruby.yml"
30
+ - ".gitignore"
30
31
  - BSDL
31
32
  - COPYING
32
33
  - COPYING.ja
@@ -60,14 +61,6 @@ files:
60
61
  - doc/Tutorial.rd.ja.html
61
62
  - doc/bioruby.css
62
63
  - etc/bioinformatics/seqdatabase.ini
63
- - gemfiles/Gemfile.travis-jruby1.8
64
- - gemfiles/Gemfile.travis-jruby1.9
65
- - gemfiles/Gemfile.travis-rbx
66
- - gemfiles/Gemfile.travis-ruby1.8
67
- - gemfiles/Gemfile.travis-ruby1.9
68
- - gemfiles/Gemfile.windows
69
- - gemfiles/modify-Gemfile.rb
70
- - gemfiles/prepare-gemspec.rb
71
64
  - lib/bio.rb
72
65
  - lib/bio/alignment.rb
73
66
  - lib/bio/appl/bl2seq/report.rb
@@ -465,6 +458,9 @@ files:
465
458
  - test/data/sim4/simple2-A4.sim4
466
459
  - test/data/soft/GDS100_partial.soft
467
460
  - test/data/soft/GSE3457_family_partial.soft
461
+ - test/data/uniprot/P03589.uniprot
462
+ - test/data/uniprot/P28907.uniprot
463
+ - test/data/uniprot/P49144.uniprot
468
464
  - test/data/uniprot/p53_human.uniprot
469
465
  - test/functional/bio/sequence/test_output_embl.rb
470
466
  - test/functional/bio/test_command.rb
@@ -509,6 +505,9 @@ files:
509
505
  - test/unit/bio/db/embl/test_embl_to_bioseq.rb
510
506
  - test/unit/bio/db/embl/test_uniprot.rb
511
507
  - test/unit/bio/db/embl/test_uniprotkb.rb
508
+ - test/unit/bio/db/embl/test_uniprotkb_P03589.rb
509
+ - test/unit/bio/db/embl/test_uniprotkb_P28907.rb
510
+ - test/unit/bio/db/embl/test_uniprotkb_P49144.rb
512
511
  - test/unit/bio/db/embl/test_uniprotkb_new_part.rb
513
512
  - test/unit/bio/db/fasta/test_defline.rb
514
513
  - test/unit/bio/db/fasta/test_defline_misc.rb
@@ -594,7 +593,7 @@ homepage: http://bioruby.org/
594
593
  licenses:
595
594
  - Ruby
596
595
  metadata: {}
597
- post_install_message:
596
+ post_install_message:
598
597
  rdoc_options:
599
598
  - "--main"
600
599
  - README.rdoc
@@ -617,8 +616,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
617
616
  - !ruby/object:Gem::Version
618
617
  version: '0'
619
618
  requirements: []
620
- rubygems_version: 3.1.6
621
- signing_key:
619
+ rubygems_version: 3.4.10
620
+ signing_key:
622
621
  specification_version: 4
623
622
  summary: Bioinformatics library
624
623
  test_files: []
data/.travis.yml DELETED
@@ -1,71 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 2.6
4
- - 2.5
5
- - 2.4
6
- - 2.3.8
7
- - 2.2.10
8
- env:
9
- - TESTOPTS=-v
10
- gemfile:
11
- - Gemfile
12
- before_install:
13
- - mkdir /tmp/bioruby
14
- - ruby gemfiles/modify-Gemfile.rb
15
- - ruby gemfiles/prepare-gemspec.rb
16
- matrix:
17
- include:
18
- - rvm: 2.0.0
19
- gemfile: gemfiles/Gemfile.travis-ruby1.9
20
- env: TESTOPTS=-v
21
- - rvm: 2.1.10
22
- gemfile: gemfiles/Gemfile.travis-ruby1.9
23
- env: TESTOPTS=-v
24
- - rvm: truffleruby
25
- gemfile: gemfiles/Gemfile.travis-jruby1.9
26
- env: TESTOPTS=-v
27
- - rvm: rbx-3.29
28
- gemfile: gemfiles/Gemfile.travis-rbx
29
- env: TESTOPTS=-v
30
- - rvm: jruby
31
- gemfile: gemfiles/Gemfile.travis-jruby1.9
32
- env: TMPDIR=/tmp/bioruby TESTOPTS=-v
33
- - rvm: 2.5
34
- gemfile: Gemfile
35
- env: BIORUBY_RAKE_DEFAULT_TASK=gem-test TESTOPTS=-v
36
- - rvm: jruby
37
- gemfile: gemfiles/Gemfile.travis-jruby1.9
38
- env: TMPDIR=/tmp/bioruby BIORUBY_RAKE_DEFAULT_TASK=gem-test TESTOPTS=-v
39
- allow_failures:
40
- - rvm: 1.8.7
41
- gemfile: gemfiles/Gemfile.travis-ruby1.8
42
- env: TESTOPTS=-v
43
- - rvm: 1.9.3
44
- gemfile: gemfiles/Gemfile.travis-ruby1.9
45
- env: TESTOPTS=-v
46
- - rvm: truffleruby
47
- gemfile: gemfiles/Gemfile.travis-jruby1.9
48
- env: TESTOPTS=-v
49
- - rvm: rbx-3.29
50
- gemfile: gemfiles/Gemfile.travis-rbx
51
- env: TESTOPTS=-v
52
- - rvm: jruby
53
- gemfile: gemfiles/Gemfile.travis-jruby1.9
54
- env: TMPDIR=/tmp/bioruby TESTOPTS=-v
55
- - rvm: jruby
56
- gemfile: gemfiles/Gemfile.travis-jruby1.9
57
- env: TMPDIR=/tmp/bioruby BIORUBY_RAKE_DEFAULT_TASK=gem-test TESTOPTS=-v
58
-
59
- # uncomment this line if your project needs to run something other than `rake`:
60
- # script: bundle exec rspec spec
61
-
62
- #before_install:
63
- # - sudo apt-get update
64
- # - sudo apt-get install libxml2-dev libexpat1-dev
65
-
66
- # block build for the branches
67
- branches:
68
- except:
69
- - biohackathon2008
70
- - bioruby-1.4.3
71
-
@@ -1,6 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rake", "~>10.4"
4
- # rdoc 4.3.0 requires Ruby >= 1.9.3
5
- gem "rdoc", "~>4.2.0"
6
-
@@ -1,5 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rake"
4
- gem "rdoc"
5
-
@@ -1,10 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rake"
4
- gem "rdoc"
5
-
6
- platforms :rbx do
7
- gem 'racc'
8
- gem 'rubysl', '~> 2.0'
9
- gem 'psych'
10
- end
@@ -1,6 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rake", "~>10.4"
4
- # rdoc 4.3.0 requires Ruby >= 1.9.3
5
- gem "rdoc", "~>4.2.0"
6
-
@@ -1,5 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rake"
4
- gem "rdoc"
5
-
@@ -1,6 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gem "rake"
4
- gem "rdoc"
5
- gem "test-unit"
6
-
@@ -1,28 +0,0 @@
1
- #
2
-
3
- require 'pathname'
4
-
5
- envname_default_task = 'BIORUBY_RAKE_DEFAULT_TASK'
6
-
7
- gem_dir = Pathname.new(File.join(File.dirname(__FILE__), '..')).realpath
8
-
9
- case t = ENV[envname_default_task]
10
- when 'gem-test'
11
- # do nothing
12
- else
13
- $stderr.print "#{$0}: skipped: ENV[#{envname_default_task}]=#{t.inspect}\n"
14
- exit(0)
15
- end
16
-
17
- target = ENV['BUNDLE_GEMFILE']
18
- unless target then
19
- $stderr.puts("Error: env BUNDLE_GEMFILE is not set.")
20
- end
21
-
22
- File.open(target, 'a') do |w|
23
- $stderr.puts "Add a line to #{target}"
24
- $stderr.puts "gem 'bio', :path => '#{gem_dir}'"
25
- w.puts ""
26
- w.puts "gem 'bio', :path => '#{gem_dir}'"
27
- end
28
-
@@ -1,29 +0,0 @@
1
- #
2
-
3
- require 'pathname'
4
- require 'fileutils'
5
-
6
- envname_default_task = 'BIORUBY_RAKE_DEFAULT_TASK'
7
-
8
- gem_dir = Pathname.new(File.join(File.dirname(__FILE__), '..')).realpath
9
-
10
- case t = ENV[envname_default_task]
11
- when 'gem-test'
12
- # do nothing
13
- else
14
- $stderr.print "#{$0}: skipped: ENV[#{envname_default_task}]=#{t.inspect}\n"
15
- exit(0)
16
- end
17
-
18
- # update bundler to avoid Bundler's bug fixed in the latest version
19
- $stderr.puts "gem update bundler"
20
- system("gem update bundler")
21
-
22
- $stderr.puts "cd #{gem_dir}"
23
- Dir.chdir(gem_dir)
24
-
25
- args = [ 'bioruby.gemspec', '.gemspec' ]
26
-
27
- $stderr.puts(['cp', *args].join(" "))
28
- FileUtils.cp(*args)
29
-