gbbib 0.4.1 → 0.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 78ab0edb324c7147e21cdffdb800cac302407fbcbe024ebc58c7b33b62656cd7
4
- data.tar.gz: 3c94800617a4b09995b458bc07def7f54f097abc75ff8539f3a609d70adf2ddc
3
+ metadata.gz: 6eac6d0000a21b3dc52113ebda470cb6be672d2088e033648e090765559f0684
4
+ data.tar.gz: 7fb3b022408232970d3812713d14de9f32eb8ed5c3de9cec00533effd188e5c0
5
5
  SHA512:
6
- metadata.gz: 53a84eee4cb2b23876c5a3c4a96dfc4694893ee888da34570f2f93df3c34c9bb46095271fdb2198f5f221d76dce32a181a4ee4b3291207892fe6c6ebb9179e45
7
- data.tar.gz: dfd414fc158282b1c744bcfc96f23464ae75659af1f2d065311b6fcb3e2d6faa3711d525717b26302bd0272d64586857d054fd9ab2598f59a32e62c944a5d250
6
+ metadata.gz: e640701864d9f49b65a8b2842a3e6a29d0a6f4178f6598266cc95f690f9ac022fb4329a8e727e1c86d66369a64ab1e881523e51b30b2d1555f1af25a2bb88dd1
7
+ data.tar.gz: 13ec0e6d6e4c15a3a3475fccf541bb3ab37027bfa1f712e544fb55d58d96e4285eb6d9fc6a6e8f972352063a3ee30b3ea6e1bfe4fa7fc5f771d647874d801b20
data/.hound.yml ADDED
@@ -0,0 +1,3 @@
1
+ ruby:
2
+ Enabled: true
3
+ config_file: .rubocop.yml
data/.rubocop.yml CHANGED
@@ -1,5 +1,10 @@
1
- AllCops:
2
- TargetRubyVersion: 2.4.0
1
+ # This project follows the Ribose OSS style guide.
2
+ # https://github.com/riboseinc/oss-guides
3
+ # All project-specific additions and overrides should be specified in this file.
3
4
 
4
- Style/Encoding:
5
- Enabled: false
5
+ inherit_from:
6
+ - https://raw.githubusercontent.com/riboseinc/oss-guides/master/ci/rubocop.yml
7
+ AllCops:
8
+ TargetRubyVersion: 2.3
9
+ Rails:
10
+ Enabled: true
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gbbib (0.4.1)
4
+ gbbib (0.4.2)
5
5
  cnccs (~> 0.1.1)
6
6
  gb-agencies (~> 0.0.1)
7
7
  iso-bib-item (~> 0.4.2)
@@ -16,18 +16,18 @@ GEM
16
16
  docile (1.3.1)
17
17
  equivalent-xml (0.6.0)
18
18
  nokogiri (>= 1.4.3)
19
- gb-agencies (0.0.3)
20
- iso-bib-item (0.4.2)
19
+ gb-agencies (0.0.5)
20
+ iso-bib-item (0.4.4)
21
21
  isoics (~> 0.1.6)
22
22
  nokogiri (~> 1.8.4)
23
23
  ruby_deep_clone (~> 0.8.0)
24
24
  isoics (0.1.7)
25
25
  json (2.1.0)
26
- method_source (0.9.0)
26
+ method_source (0.9.2)
27
27
  mini_portile2 (2.3.0)
28
28
  nokogiri (1.8.5)
29
29
  mini_portile2 (~> 2.3.0)
30
- pry (0.11.3)
30
+ pry (0.12.2)
31
31
  coderay (~> 1.1.0)
32
32
  method_source (~> 0.9.0)
33
33
  pry-byebug (3.6.0)
@@ -67,4 +67,4 @@ DEPENDENCIES
67
67
  simplecov
68
68
 
69
69
  BUNDLED WITH
70
- 1.16.6
70
+ 1.17.1
data/README.adoc CHANGED
@@ -12,6 +12,10 @@ The standards scraped form:
12
12
  * Social organization standards - http://www.ttbz.org.cn
13
13
  * Sector standards - http://www.std.gov.cn/hb
14
14
 
15
+ NOTE: Unlike the ISO website, the GB websites require the year of publication to be included in the search.
16
+ So a standard will not be found successfully through this gem unless the year is included in its document
17
+ identifier: for example, not `CN(GB/T 1.1)`, but `CN(GB/T 1.1-2009)`.
18
+
15
19
  == Installation
16
20
 
17
21
  Add this line to your application's Gemfile:
@@ -40,6 +40,7 @@ module Gbbib
40
40
  # @return [String] Relaton XML serialisation of reference
41
41
  def get(code, year, opts)
42
42
  code += '.1' if opts[:all_parts]
43
+ code, year = code.split(/-/, 2) if /-/.match(code)
43
44
  ret = get1(code, year, opts)
44
45
  return nil if ret.nil?
45
46
  ret.to_most_recent_reference unless year
@@ -51,7 +52,7 @@ module Gbbib
51
52
 
52
53
  def fetch_ref_err(code, year, missed_years)
53
54
  id = year ? "#{code}:#{year}" : code
54
- warn "WARNING: no match found on the ISO website for #{id}. "\
55
+ warn "WARNING: no match found on the GB website for #{id}. "\
55
56
  "The code must be exactly like it is on the website."
56
57
  warn "(There was no match for #{year}, though there were matches "\
57
58
  "found for #{missed_years.join(', ')}.)" unless missed_years.empty?
@@ -67,14 +68,17 @@ module Gbbib
67
68
  end
68
69
 
69
70
  def get1(code, year, opts)
70
- result = search_filter(code) or return nil
71
+ # search must include year whenever available
72
+ searchcode = code + (year.nil? ? "" : "-#{year}")
73
+ result = search_filter(searchcode) or return nil
71
74
  ret = results_filter(result, year)
72
75
  return ret[:ret] if ret[:ret]
73
76
  fetch_ref_err(code, year, ret[:years])
74
77
  end
75
78
 
76
79
  def search_filter(code)
77
- docidrx = %r{^[^\s]+\s[\d\.]+}
80
+ # search filter needs to incorporate year
81
+ docidrx = %r{^[^\s]+\s[\d\.-]+}
78
82
  # corrigrx = %r{^[^\s]+\s[\d\.]+-[0-9]+/}
79
83
  warn "fetching #{code}..."
80
84
  result = search(code)
data/lib/gbbib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Gbbib
4
- VERSION = '0.4.1'
4
+ VERSION = '0.4.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gbbib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-10-26 00:00:00.000000000 Z
11
+ date: 2018-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -145,6 +145,7 @@ extensions: []
145
145
  extra_rdoc_files: []
146
146
  files:
147
147
  - ".gitignore"
148
+ - ".hound.yml"
148
149
  - ".rspec"
149
150
  - ".rubocop.yml"
150
151
  - ".travis.yml"