bcl 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,5 +1,5 @@
1
1
  ######################################################################
2
- # Copyright (c) 2008-2010, Alliance for Sustainable Energy.
2
+ # Copyright (c) 2008-2013, Alliance for Sustainable Energy.
3
3
  # All rights reserved.
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
@@ -30,14 +30,15 @@ require 'bcl/ComponentXml'
30
30
  require 'bcl/GatherComponents'
31
31
  require 'bcl/MasterTaxonomy'
32
32
 
33
- $have_win32ole = false
34
- begin
35
- # apparently this is not a gem
36
- require 'win32ole'
37
- mod = WIN32OLE
38
- $have_win32ole = true
39
- rescue NameError
40
- # do not have win32ole
33
+ if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
34
+ begin
35
+ # apparently this is not a gem
36
+ require 'win32ole'
37
+ mod = WIN32OLE
38
+ $have_win32ole = true
39
+ rescue NameError
40
+ # do not have win32ole
41
+ end
41
42
  end
42
43
 
43
44
  module BCL
@@ -1,5 +1,5 @@
1
1
  ######################################################################
2
- # Copyright (c) 2008-2010, Alliance for Sustainable Energy.
2
+ # Copyright (c) 2008-2013, Alliance for Sustainable Energy.
3
3
  # All rights reserved.
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
@@ -1,5 +1,5 @@
1
1
  ######################################################################
2
- # Copyright (c) 2008-2010, Alliance for Sustainable Energy.
2
+ # Copyright (c) 2008-2013, Alliance for Sustainable Energy.
3
3
  # All rights reserved.
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
@@ -1,5 +1,5 @@
1
1
  ######################################################################
2
- # Copyright (c) 2008-2010, Alliance for Sustainable Energy.
2
+ # Copyright (c) 2008-2013, Alliance for Sustainable Energy.
3
3
  # All rights reserved.
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
@@ -21,15 +21,19 @@ require 'rubygems'
21
21
  require 'pathname'
22
22
  require 'fileutils'
23
23
  require 'builder' #gem install builder (creates xml files)
24
+ require 'rbconfig'
24
25
 
25
26
  $have_win32ole = false
26
- begin
27
- # apparently this is not a gem
28
- require 'win32ole'
29
- mod = WIN32OLE
30
- $have_win32ole = true
31
- rescue NameError
32
- # do not have win32ole
27
+
28
+ if RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/
29
+ begin
30
+ # apparently this is not a gem
31
+ require 'win32ole'
32
+ mod = WIN32OLE
33
+ $have_win32ole = true
34
+ rescue NameError
35
+ # do not have win32ole
36
+ end
33
37
  end
34
38
 
35
39
  module BCL
@@ -39,11 +43,8 @@ TagStruct = Struct.new(:level_hierarchy, :name, :description, :parent_tag, :chil
39
43
 
40
44
  # each TermStruct represents a row in the master taxonomy
41
45
  TermStruct = Struct.new(:first_level, :second_level, :third_level, :level_hierarchy, :name, :description,
42
- :abbr, :data_type, :enums, :ip_written, :ip_symbol, :ip_mask, :si_written, :si_symbol, :si_mask, :allow_multiple, :row, :tp_include, :tp_required, :tp_use_in_search, :tp_use_in_facets, :tp_hide_from_data_users, :tp_third_party_testing, :tp_additional_web_dev_info, :tp_additional_data_user_info, :tp_additional_data_submitter_info)
46
+ :abbr, :data_type, :enums, :ip_written, :ip_symbol, :ip_mask, :si_written, :si_symbol, :si_mask, :unit_conversion, :default_val, :min_val, :max_val, :allow_multiple, :row, :tp_include, :tp_required, :tp_use_in_search, :tp_use_in_facets, :tp_show_data_to_data_users, :tp_third_party_testing, :tp_additional_web_dev_info, :tp_additional_data_user_info, :tp_additional_data_submitter_info)
43
47
 
44
-
45
-
46
-
47
48
 
48
49
  # class for parsing, validating, and querying the master taxonomy document
49
50
  class MasterTaxonomy
@@ -64,7 +65,8 @@ class MasterTaxonomy
64
65
  end
65
66
  else
66
67
  xlsx_path = Pathname.new(xlsx_path).realpath.to_s
67
-
68
+ puts "Loading taxonomy file #{xlsx_path}"
69
+
68
70
  # WINDOWS ONLY SECTION BECAUSE THIS USES WIN32OLE
69
71
  if $have_win32ole
70
72
  begin
@@ -227,6 +229,8 @@ class MasterTaxonomy
227
229
  #root_terms << TermStruct.new()
228
230
  root_tag = TagStruct.new("", "root", "Root of the taxonomy", nil, [], root_terms)
229
231
  @tag_hash[""] = root_tag
232
+
233
+ ### puts "**** tag hash: #{@tag_hash}"
230
234
 
231
235
  # find number of rows by parsing until hit empty value in first column
232
236
  row_num = 3
@@ -252,39 +256,39 @@ class MasterTaxonomy
252
256
 
253
257
  def validate_terms_header(terms_worksheet)
254
258
  test_arr = []
255
- test_arr << "First Level"
256
- test_arr << "Second Level"
257
- test_arr << "Third Level"
258
- test_arr << "Level Hierarchy"
259
- test_arr << "Term"
260
- test_arr << "Abbr"
261
- test_arr << "Description"
262
- test_arr << "Data Type"
263
- test_arr << "Allow Multiple"
264
- test_arr << "Enumerations"
265
- test_arr << "IP Units Written Out"
266
- test_arr << "IP Units Symbol"
267
- test_arr << "IP Display Mask"
268
- test_arr << "SI Units Written Out"
269
- test_arr << "SI Units Symbol"
270
- test_arr << "SI Display Mask"
271
- test_arr << "Unit Conversion"
272
- test_arr << "Default"
273
- test_arr << "Min"
274
- test_arr << "Max"
275
- test_arr << "Source"
276
- test_arr << "Review State"
277
- test_arr << "General Comments"
278
- test_arr << "Requested By / Project"
279
- test_arr << "Include in TPE"
280
- test_arr << "Required for Adding a New Product"
281
- test_arr << "Use in Search Results"
282
- test_arr << "Use in Search Facets"
283
- test_arr << "Show/Hide Data from Data Users"
284
- test_arr << "Additional Instructions for Web Developers"
285
- test_arr << "Related Third Party Testing Standards"
286
- test_arr << "Additional Guidance to Data Submitters"
287
- test_arr << "Additional Guidance to Data Users"
259
+ test_arr << {"name"=>"First Level", "strict"=>true}
260
+ test_arr << {"name"=>"Second Level", "strict"=>true}
261
+ test_arr << {"name"=>"Third Level", "strict"=>true}
262
+ test_arr << {"name"=>"Level Hierarchy", "strict"=>true}
263
+ test_arr << {"name"=>"Term", "strict"=>true}
264
+ test_arr << {"name"=>"Abbr", "strict"=>true}
265
+ test_arr << {"name"=>"Description", "strict"=>true}
266
+ test_arr << {"name"=>"Data Type", "strict"=>true}
267
+ test_arr << {"name"=>"Allow Multiple", "strict"=>true}
268
+ test_arr << {"name"=>"Enumerations", "strict"=>true}
269
+ test_arr << {"name"=>"IP Units Written Out", "strict"=>true}
270
+ test_arr << {"name"=>"IP Units Symbol", "strict"=>true}
271
+ test_arr << {"name"=>"IP Display Mask", "strict"=>true}
272
+ test_arr << {"name"=>"SI Units Written Out", "strict"=>true}
273
+ test_arr << {"name"=>"SI Units Symbol", "strict"=>true}
274
+ test_arr << {"name"=>"SI Display Mask", "strict"=>true}
275
+ test_arr << {"name"=>"Unit Conversion", "strict"=>true}
276
+ test_arr << {"name"=>"Default", "strict"=>true}
277
+ test_arr << {"name"=>"Min", "strict"=>true}
278
+ test_arr << {"name"=>"Max", "strict"=>true}
279
+ test_arr << {"name"=>"Source", "strict"=>true}
280
+ test_arr << {"name"=>"Review State", "strict"=>true}
281
+ test_arr << {"name"=>"General Comments", "strict"=>true}
282
+ test_arr << {"name"=>"Requested By / Project", "strict"=>true}
283
+ test_arr << {"name"=>"Include in TPE", "strict"=>false}
284
+ test_arr << {"name"=>"Required for Adding a New Product", "strict"=>false}
285
+ test_arr << {"name"=>"Use as a Column Header in Search Results", "strict"=>false}
286
+ test_arr << {"name"=>"Allow Users to Filter with this Facet", "strict"=>false}
287
+ test_arr << {"name"=>"Show Data to Data Users", "strict"=>false}
288
+ test_arr << {"name"=>"Additional Instructions for Web Developers", "strict"=>false}
289
+ test_arr << {"name"=>"Related Third Party Testing Standards", "strict"=>false}
290
+ test_arr << {"name"=>"Additional Guidance to Data Submitters", "strict"=>false}
291
+ test_arr << {"name"=>"Additional Guidance to Data Users", "strict"=>false}
288
292
 
289
293
 
290
294
  parse = true
@@ -293,8 +297,12 @@ class MasterTaxonomy
293
297
  if terms_worksheet.Columns(col).Rows(2).Value.nil? || col > test_arr.size
294
298
  parse = false
295
299
  else
296
- if not terms_worksheet.Columns(col).Rows(2).Value == test_arr[col-1]
297
- raise "Header does not match: #{col}: '#{terms_worksheet.Columns(col).Rows(2).Value} <> #{test_arr[col-1]}'"
300
+ if not terms_worksheet.Columns(col).Rows(2).Value == test_arr[col-1]["name"]
301
+ if test_arr[col-1]["strict"]
302
+ raise "[ERROR] Header does not match: #{col}: '#{terms_worksheet.Columns(col).Rows(2).Value} <> #{test_arr[col-1]["name"]}'"
303
+ else
304
+ puts "[WARNING] Header does not match: #{col}: '#{terms_worksheet.Columns(col).Rows(2).Value} <> #{test_arr[col-1]["name"]}'"
305
+ end
298
306
  end
299
307
  end
300
308
  col += 1
@@ -302,9 +310,9 @@ class MasterTaxonomy
302
310
  end
303
311
 
304
312
  def parse_term(terms_worksheet, row)
305
-
313
+
306
314
  term = TermStruct.new
307
- term.row = row
315
+ term.row = row
308
316
  term.first_level = terms_worksheet.Columns(1).Rows(row).Value
309
317
  term.second_level = terms_worksheet.Columns(2).Rows(row).Value
310
318
  term.third_level = terms_worksheet.Columns(3).Rows(row).Value
@@ -312,26 +320,30 @@ class MasterTaxonomy
312
320
  term.name = terms_worksheet.Columns(5).Rows(row).Value
313
321
  term.abbr = terms_worksheet.Columns(6).Rows(row).Value
314
322
  term.description = terms_worksheet.Columns(7).Rows(row).Value
315
- term.data_type = terms_worksheet.Columns(8).Rows(row).Value
316
- term.allow_multiple = terms_worksheet.Columns(9).Rows(row).Value
317
- term.enums = terms_worksheet.Columns(10).Rows(row).Value
318
- term.ip_written = terms_worksheet.Columns(11).Rows(row).Value
319
- term.ip_symbol = terms_worksheet.Columns(12).Rows(row).Value
320
- term.ip_mask = terms_worksheet.Columns(13).Rows(row).Value
321
- term.si_written = terms_worksheet.Columns(14).Rows(row).Value
322
- term.si_symbol = terms_worksheet.Columns(15).Rows(row).Value
323
- term.si_mask = terms_worksheet.Columns(16).Rows(row).Value
323
+ term.data_type = terms_worksheet.Columns(8).Rows(row).Value
324
+ term.allow_multiple = terms_worksheet.Columns(9).Rows(row).Value
325
+ term.enums = terms_worksheet.Columns(10).Rows(row).Value
326
+ term.ip_written = terms_worksheet.Columns(11).Rows(row).Value
327
+ term.ip_symbol = terms_worksheet.Columns(12).Rows(row).Value
328
+ term.ip_mask = terms_worksheet.Columns(13).Rows(row).Value
329
+ term.si_written = terms_worksheet.Columns(14).Rows(row).Value
330
+ term.si_symbol = terms_worksheet.Columns(15).Rows(row).Value
331
+ term.si_mask = terms_worksheet.Columns(16).Rows(row).Value
332
+ term.unit_conversion = terms_worksheet.Columns(17).Rows(row).Value
333
+ term.default_val = terms_worksheet.Columns(18).Rows(row).Value
334
+ term.min_val = terms_worksheet.Columns(19).Rows(row).Value
335
+ term.max_val = terms_worksheet.Columns(20).Rows(row).Value
324
336
 
325
337
  #custom TPex Columns
326
338
  term.tp_include = terms_worksheet.Columns(25).Rows(row).Value
327
339
  term.tp_required = terms_worksheet.Columns(26).Rows(row).Value
328
340
  term.tp_use_in_search = terms_worksheet.Columns(27).Rows(row).Value
329
341
  term.tp_use_in_facets = terms_worksheet.Columns(28).Rows(row).Value
330
- term.tp_hide_from_data_users = terms_worksheet.Columns(29).Rows(row).Value
331
- term.tp_third_party_testing = terms_worksheet.Columns(30).Rows(row).Value
332
- term.tp_additional_web_dev_info = terms_worksheet.Columns(31).Rows(row).Value
333
- term.tp_additional_data_user_info = terms_worksheet.Columns(32).Rows(row).Value
334
- term.tp_additional_data_submitter_info = terms_worksheet.Columns(33).Rows(row).Value
342
+ term.tp_show_data_to_data_users = terms_worksheet.Columns(29).Rows(row).Value
343
+ term.tp_additional_web_dev_info = terms_worksheet.Columns(30).Rows(row).Value
344
+ term.tp_third_party_testing = terms_worksheet.Columns(31).Rows(row).Value
345
+ term.tp_additional_data_submitter_info = terms_worksheet.Columns(32).Rows(row).Value
346
+ term.tp_additional_data_user_info = terms_worksheet.Columns(33).Rows(row).Value
335
347
 
336
348
  # trigger to quit parsing the xcel doc
337
349
  if term.first_level.nil? or term.first_level.empty?
@@ -344,18 +356,18 @@ class MasterTaxonomy
344
356
  def add_term(term)
345
357
 
346
358
  level_hierarchy = term.level_hierarchy
347
-
348
- #puts "add_term called for #{level_hierarchy}"
349
-
359
+
350
360
  # create the tag
351
361
  tag = @tag_hash[level_hierarchy]
362
+
352
363
  if tag.nil?
353
- tag = create_tag(level_hierarchy)
364
+ tag = create_tag(level_hierarchy, term.description)
354
365
  end
355
366
 
356
367
  if term.name.nil? or term.name.strip.empty?
357
368
  # this row is really about the tag
358
- tag.description = term.description
369
+ tag.description = term.description
370
+
359
371
  else
360
372
  # this row is about a term
361
373
  if not validate_term(term)
@@ -367,7 +379,7 @@ class MasterTaxonomy
367
379
  end
368
380
  end
369
381
 
370
- def create_tag(level_hierarchy)
382
+ def create_tag(level_hierarchy, tag_description="")
371
383
 
372
384
  #puts "create_tag called for #{level_hierarchy}"
373
385
 
@@ -381,7 +393,7 @@ class MasterTaxonomy
381
393
  parent_tag = create_tag(parent_level)
382
394
  end
383
395
 
384
- description = ""
396
+ description = tag_description
385
397
  child_tags = []
386
398
  terms = []
387
399
  tag = TagStruct.new(level_hierarchy, name, description, parent_tag, child_tags, terms)
@@ -406,7 +418,7 @@ class MasterTaxonomy
406
418
  def check_tag(tag)
407
419
 
408
420
  if tag.description.nil? or tag.description.empty?
409
- #puts "tag '#{tag.level_hierarchy}' has no description"
421
+ puts "[check_tag] tag '#{tag.level_hierarchy}' has no description"
410
422
  end
411
423
 
412
424
  tag.terms.each {|term| check_term(term) }
@@ -444,7 +456,7 @@ class MasterTaxonomy
444
456
  end
445
457
 
446
458
  if !term.data_type.nil?
447
- valid_types = ["double", "integer", "enum", "file", "string"]
459
+ valid_types = ["double", "integer", "enum", "file", "string", "autocomplete"]
448
460
  if (term.data_type.downcase != term.data_type) || !valid_types.include?(term.data_type)
449
461
  puts "[ERROR] Term '#{term.name}' does not have a valid data type with '#{term.data_type}'"
450
462
  end
@@ -461,7 +473,7 @@ class MasterTaxonomy
461
473
 
462
474
  def check_term(term)
463
475
  if term.description.nil? or term.description.empty?
464
- #puts "term '#{term.level_hierarchy}.#{term.name}' has no description"
476
+ #puts "[check_term] term '#{term.level_hierarchy}.#{term.name}' has no description"
465
477
  end
466
478
  end
467
479
 
@@ -493,13 +505,17 @@ class MasterTaxonomy
493
505
  xml.si_symbol term.si_symbol if !term.si_symbol.nil?
494
506
  xml.si_mask term.si_mask if !term.si_mask.nil?
495
507
  xml.row term.row if !term.row.nil?
496
-
508
+ xml.unit_conversion term.unit_conversion if !term.unit_conversion.nil?
509
+ xml.default_val term.default_val if !term.default_val.nil?
510
+ xml.min_val term.min_val if !term.min_val.nil?
511
+ xml.max_val term.max_val if !term.max_val.nil?
512
+
497
513
  if output_type == 'tpex'
498
514
  xml.tp_include term.tp_include if !term.tp_include.nil?
499
515
  xml.tp_required term.tp_required if !term.tp_required.nil?
500
516
  xml.tp_use_in_search term.tp_use_in_search if !term.tp_use_in_search.nil?
501
517
  xml.tp_use_in_facets term.tp_use_in_facets if !term.tp_use_in_facets.nil?
502
- xml.tp_hide_from_data_users term.tp_hide_from_data_users if !term.tp_hide_from_data_users.nil?
518
+ xml.tp_show_data_to_data_users term.tp_show_data_to_data_users if !term.tp_show_data_to_data_users.nil?
503
519
  xml.tp_third_party_testing term.tp_third_party_testing if !term.tp_third_party_testing.nil?
504
520
  xml.tp_additional_web_dev_info term.tp_additional_web_dev_info if !term.tp_additional_web_dev_info.nil?
505
521
  xml.tp_additional_data_user_info term.tp_additional_data_user_info if !term.tp_additional_data_user_info.nil?
@@ -516,6 +532,7 @@ class MasterTaxonomy
516
532
  xml.tag!(level_string) {
517
533
  s_temp = tag.name
518
534
  xml.name s_temp
535
+ xml.description tag.description
519
536
 
520
537
  level += 1
521
538
 
@@ -1,5 +1,5 @@
1
1
  ######################################################################
2
- # Copyright (c) 2008-2010, Alliance for Sustainable Energy.
2
+ # Copyright (c) 2008-2013, Alliance for Sustainable Energy.
3
3
  # All rights reserved.
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
data/lib/bcl/TarBall.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  ######################################################################
2
- # Copyright (c) 2008-2010, Alliance for Sustainable Energy.
2
+ # Copyright (c) 2008-2013, Alliance for Sustainable Energy.
3
3
  # All rights reserved.
4
4
  #
5
5
  # This library is free software; you can redistribute it and/or
@@ -0,0 +1,22 @@
1
+ ######################################################################
2
+ # Copyright (c) 2008-2013, Alliance for Sustainable Energy.
3
+ # All rights reserved.
4
+ #
5
+ # This library is free software; you can redistribute it and/or
6
+ # modify it under the terms of the GNU Lesser General Public
7
+ # License as published by the Free Software Foundation; either
8
+ # version 2.1 of the License, or (at your option) any later version.
9
+ #
10
+ # This library is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
+ # Lesser General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU Lesser General Public
16
+ # License along with this library; if not, write to the Free Software
17
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
+ ######################################################################
19
+
20
+ module BCL
21
+ VERSION = "0.1.6"
22
+ end
data/lib/bcl.rb CHANGED
@@ -3,4 +3,5 @@ require 'bcl/ComponentXml'
3
3
  require 'bcl/GatherComponents'
4
4
  require 'bcl/TarBall'
5
5
  require 'bcl/MasterTaxonomy'
6
- require 'bcl/MongoToComponent'
6
+ require 'bcl/MongoToComponent'
7
+ require 'bcl/version'
metadata CHANGED
@@ -1,145 +1,138 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: bcl
3
- version: !ruby/object:Gem::Version
4
- hash: 17
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.6
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 1
9
- - 5
10
- version: 0.1.5
11
6
  platform: ruby
12
- authors:
13
- - Dan Macumber
7
+ authors:
8
+ - Daniel Macumber
14
9
  - Nicholas Long
15
10
  - Andrew Parker
16
11
  - Katherine Fleming
17
12
  autorequire:
18
13
  bindir: bin
19
14
  cert_chain: []
20
-
21
- date: 2012-09-26 00:00:00 Z
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
15
+ date: 2013-02-08 00:00:00.000000000 Z
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
24
18
  name: uuid
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
19
+ requirement: !ruby/object:Gem::Requirement
27
20
  none: false
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 3
32
- segments:
33
- - 0
34
- version: "0"
21
+ requirements:
22
+ - - ! '>='
23
+ - !ruby/object:Gem::Version
24
+ version: '0'
35
25
  type: :runtime
36
- version_requirements: *id001
37
- - !ruby/object:Gem::Dependency
38
- name: builder
39
26
  prerelease: false
40
- requirement: &id002 !ruby/object:Gem::Requirement
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ none: false
29
+ requirements:
30
+ - - ! '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: builder
35
+ requirement: !ruby/object:Gem::Requirement
41
36
  none: false
42
- requirements:
43
- - - ">="
44
- - !ruby/object:Gem::Version
45
- hash: 3
46
- segments:
47
- - 0
48
- version: "0"
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
49
41
  type: :runtime
50
- version_requirements: *id002
51
- - !ruby/object:Gem::Dependency
52
- name: zliby
53
42
  prerelease: false
54
- requirement: &id003 !ruby/object:Gem::Requirement
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ none: false
45
+ requirements:
46
+ - - ! '>='
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ - !ruby/object:Gem::Dependency
50
+ name: zliby
51
+ requirement: !ruby/object:Gem::Requirement
55
52
  none: false
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- hash: 3
60
- segments:
61
- - 0
62
- version: "0"
53
+ requirements:
54
+ - - ! '>='
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
63
57
  type: :runtime
64
- version_requirements: *id003
65
- - !ruby/object:Gem::Dependency
66
- name: archive-tar-minitar
67
58
  prerelease: false
68
- requirement: &id004 !ruby/object:Gem::Requirement
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ none: false
61
+ requirements:
62
+ - - ! '>='
63
+ - !ruby/object:Gem::Version
64
+ version: '0'
65
+ - !ruby/object:Gem::Dependency
66
+ name: archive-tar-minitar
67
+ requirement: !ruby/object:Gem::Requirement
69
68
  none: false
70
- requirements:
71
- - - ">="
72
- - !ruby/object:Gem::Version
73
- hash: 3
74
- segments:
75
- - 0
76
- version: "0"
69
+ requirements:
70
+ - - ! '>='
71
+ - !ruby/object:Gem::Version
72
+ version: '0'
77
73
  type: :runtime
78
- version_requirements: *id004
79
- - !ruby/object:Gem::Dependency
80
- name: mongo
81
74
  prerelease: false
82
- requirement: &id005 !ruby/object:Gem::Requirement
75
+ version_requirements: !ruby/object:Gem::Requirement
83
76
  none: false
84
- requirements:
85
- - - ">="
86
- - !ruby/object:Gem::Version
87
- hash: 3
88
- segments:
89
- - 0
90
- version: "0"
77
+ requirements:
78
+ - - ! '>='
79
+ - !ruby/object:Gem::Version
80
+ version: '0'
81
+ - !ruby/object:Gem::Dependency
82
+ name: mongo
83
+ requirement: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
91
89
  type: :runtime
92
- version_requirements: *id005
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ none: false
93
+ requirements:
94
+ - - ! '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
93
97
  description: Classes for creating component XML files for the BCL
94
- email: Daniel.Macumber@nrel.gov
98
+ email: Nicholas.Long@nrel.gov
95
99
  executables: []
96
-
97
100
  extensions: []
98
-
99
101
  extra_rdoc_files: []
100
-
101
- files:
102
- - lib/bcl.rb
102
+ files:
103
103
  - lib/bcl/ComponentSpreadsheet.rb
104
104
  - lib/bcl/ComponentXml.rb
105
+ - lib/bcl/current_taxonomy.json
106
+ - lib/bcl/current_taxonomy.xml
105
107
  - lib/bcl/GatherComponents.rb
106
- - lib/bcl/TarBall.rb
107
108
  - lib/bcl/MasterTaxonomy.rb
108
109
  - lib/bcl/MongoToComponent.rb
109
- - lib/bcl/current_taxonomy.json
110
- - lib/bcl/current_taxonomy.xml
110
+ - lib/bcl/TarBall.rb
111
+ - lib/bcl/version.rb
112
+ - lib/bcl.rb
111
113
  homepage: http://bcl.nrel.gov
112
- licenses: []
113
-
114
+ licenses:
115
+ - LGPL
114
116
  post_install_message:
115
117
  rdoc_options: []
116
-
117
- require_paths:
118
+ require_paths:
118
119
  - lib
119
- required_ruby_version: !ruby/object:Gem::Requirement
120
+ required_ruby_version: !ruby/object:Gem::Requirement
120
121
  none: false
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- hash: 3
125
- segments:
126
- - 0
127
- version: "0"
128
- required_rubygems_version: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
126
+ required_rubygems_version: !ruby/object:Gem::Requirement
129
127
  none: false
130
- requirements:
131
- - - ">="
132
- - !ruby/object:Gem::Version
133
- hash: 3
134
- segments:
135
- - 0
136
- version: "0"
128
+ requirements:
129
+ - - ! '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
137
132
  requirements: []
138
-
139
133
  rubyforge_project:
140
- rubygems_version: 1.8.24
134
+ rubygems_version: 1.8.23
141
135
  signing_key:
142
136
  specification_version: 3
143
137
  summary: Classes for creating component XML files for the BCL
144
138
  test_files: []
145
-