strain-code 0.1.1 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef54441ed7eb018a37e99b16ec58a9c9ef16e0f1338f1f785f3ebe2db1a432cf
4
- data.tar.gz: d4c653cc8d490150ce4b892c44062dbc718d45f39ad05c9a5ba212ce4a6e7e03
3
+ metadata.gz: 5b45a589a119e1e4f49f16656624cd3e89c8ede3a9a61b1a5d597963b768a180
4
+ data.tar.gz: e4c8fc980afcd12f1f592124971de30eb265019db615760af78569213b3d50f1
5
5
  SHA512:
6
- metadata.gz: 95bd9c3ea251c15da59776692dddfa4ae4a14fb56c122a8e166f825fadc9fc373e4d33f66eac8bde94c6eb8748f045137ed87072cf5d752c157447ddaa4ff897
7
- data.tar.gz: '08008703c1d9e02afd544901365d4bee620d1f78c3772257b36ad8d3885e1610929fc91c958038f4d1bc11a09983312ef08425778aeb5c9e7e5902ac20ad8847'
6
+ metadata.gz: 809c1338a136ba50c47bd62840203ab713f9c3e6017552d293b2339bbdff8830cbcf6a28646829751cc1456d7200dd7cab8c586937e80e14b2d4a8513dde0780
7
+ data.tar.gz: c80cb2a935b320c57059754cb0faa10c027597202adbd1557bd75d4ee1e4fd32e748df239c8e3a5ea559852d0c43785a1b9732700b35827b610cffa7de382e9e
data/README.md CHANGED
@@ -12,7 +12,7 @@ gem install strain-code
12
12
  ## Usage
13
13
 
14
14
  ```ruby
15
- require 'strain_code'
15
+ require 'strain-code'
16
16
 
17
17
  # Parse one or more numbers in a variety of formats
18
18
  str_no = StrainCode.parse <<STR_NO
data/Rakefile CHANGED
@@ -3,7 +3,7 @@ require 'rake/testtask'
3
3
 
4
4
  $:.unshift File.join(File.dirname(__FILE__), 'lib')
5
5
 
6
- require 'strain_code/version'
6
+ require 'strain-code/version'
7
7
 
8
8
  SOURCES = FileList['lib/**/*.rb']
9
9
 
@@ -13,22 +13,22 @@ class StrainCode::Catalogue
13
13
  end
14
14
 
15
15
  def catalogue_hash(code)
16
- hsh = catalogues_source['catalogues'].find do |i|
16
+ catalogues_source['catalogues'].find do |i|
17
17
  i['codes'].include? code.to_s.upcase
18
18
  end
19
19
  end
20
20
 
21
21
  def catalogue(code)
22
22
  hsh = catalogue_hash(code)
23
- new(hsh) if hsh
23
+ @catalogue ||= {}
24
+ @catalogue[hsh] ||= new(hsh) if hsh
24
25
  end
25
26
  end
26
27
 
27
28
  attr_accessor :codes, :country_code, :name, :name_en, :organization
28
29
  attr_accessor :url, :url_pattern
29
30
 
30
- def initialize(code)
31
- code = self.class.catalogue_hash(code) unless code.is_a?(Hash)
32
- code.each { |k, v| self.send("#{k}=", v) unless k =~ /^_/ } if code
31
+ def initialize(hash)
32
+ hash.each { |k, v| self.send("#{k}=", v) unless k =~ /^_/ }
33
33
  end
34
34
  end
@@ -1,7 +1,7 @@
1
1
  require 'yaml'
2
2
  require 'ostruct'
3
- require 'strain_code/version'
4
- require 'strain_code/catalogue'
3
+ require 'strain-code/version'
4
+ require 'strain-code/catalogue'
5
5
 
6
6
  class StrainCode
7
7
  class << self
@@ -1,4 +1,4 @@
1
- require 'strain_code/strain_number'
1
+ require 'strain-code/number'
2
2
 
3
3
  class StrainCode::Parser
4
4
  class << self
@@ -8,7 +8,7 @@ class StrainCode::Parser
8
8
 
9
9
  def parse(numbers)
10
10
  clean(numbers).split(' = ').map do |number|
11
- StrainCode::StrainNumber.new(number)
11
+ StrainCode::Number.new(number)
12
12
  end
13
13
  end
14
14
  end
@@ -21,12 +21,12 @@ class StrainCode
21
21
  end
22
22
 
23
23
  def number(number)
24
- StrainCode::StrainNumber.new(StrainCode::Parser.clean(number))
24
+ StrainCode::Number.strain_number(number)
25
25
  end
26
26
 
27
27
  def catalogue(code)
28
- c = StrainCode::Catalogue.new(code)
29
- c.codes ? c : nil
28
+ c = StrainCode::Catalogue.catalogue(code)
29
+ c if c&.codes
30
30
  end
31
31
  end
32
32
  end
@@ -1,6 +1,12 @@
1
- class StrainCode::StrainNumber
1
+ class StrainCode::Number
2
2
  attr_accessor :ori_number, :code, :accession
3
3
 
4
+ class << self
5
+ def strain_number(number)
6
+ new(StrainCode::Parser.clean(number))
7
+ end
8
+ end
9
+
4
10
  def initialize(number)
5
11
  @ori_number = number.to_s.strip
6
12
  @code, @accession = ori_number.split(/[ :_]+/, 2)
@@ -1,5 +1,5 @@
1
1
  class StrainCode
2
- VERSION = '0.1.1'
2
+ VERSION = '0.3.0'
3
3
  VERSION_ARRAY = VERSION.split(/\./).map { |x| x.to_i } # :nodoc:
4
4
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
5
5
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
@@ -0,0 +1,3 @@
1
+ require 'strain-code/common'
2
+ require 'strain-code/parser'
3
+ #require 'strain-code/styler'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strain-code
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luis M. Rodriguez-R
@@ -50,12 +50,12 @@ files:
50
50
  - README.md
51
51
  - Rakefile
52
52
  - data/catalogues.yaml
53
- - lib/strain_code.rb
54
- - lib/strain_code/catalogue.rb
55
- - lib/strain_code/common.rb
56
- - lib/strain_code/parser.rb
57
- - lib/strain_code/strain_number.rb
58
- - lib/strain_code/version.rb
53
+ - lib/strain-code.rb
54
+ - lib/strain-code/catalogue.rb
55
+ - lib/strain-code/common.rb
56
+ - lib/strain-code/parser.rb
57
+ - lib/strain-code/strain_number.rb
58
+ - lib/strain-code/version.rb
59
59
  homepage: https://github.com/seq-code/strain-code
60
60
  licenses: []
61
61
  metadata: {}
data/lib/strain_code.rb DELETED
@@ -1,3 +0,0 @@
1
- require 'strain_code/common'
2
- require 'strain_code/parser'
3
- #require 'strain_code/styler'