ietfbib 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 +4 -4
- data/Gemfile.lock +6 -6
- data/ietfbib.gemspec +1 -1
- data/lib/ietfbib/version.rb +1 -1
- data/lib/ietfbib/xml_parser.rb +66 -0
- data/lib/ietfbib.rb +1 -0
- data/lib/relaton/processor.rb +5 -0
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d8a8def8e3225879205dbcec3b59aa711a8faeb7df55e819c1359e0aa133d050
|
4
|
+
data.tar.gz: 9acdc47cfb74ae75d9a96e55db94bad9857ec5863f4780ee4d16366914332900
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d53401f56639f5cfb0d6a170f152f02b6d8dda034c58b9ebae611de68c9e1e24194b5203e4b06d3665abca1ee528f23d71e38c1677c14f0178a3f01b73af621
|
7
|
+
data.tar.gz: 98236167b8d6f28c5c2ab28689266bb1748e98ca0706bd531514d08089d78ff41aa595e24fd099758712c0aada57bfa4ba8402706f28ab74f031a7c2ea50a20b
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
ietfbib (0.4.
|
5
|
-
iso-bib-item (~> 0.
|
4
|
+
ietfbib (0.4.2)
|
5
|
+
iso-bib-item (~> 0.4.1)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
@@ -13,7 +13,7 @@ GEM
|
|
13
13
|
docile (1.3.1)
|
14
14
|
equivalent-xml (0.6.0)
|
15
15
|
nokogiri (>= 1.4.3)
|
16
|
-
iso-bib-item (0.
|
16
|
+
iso-bib-item (0.4.1)
|
17
17
|
isoics (~> 0.1.6)
|
18
18
|
nokogiri (~> 1.8.4)
|
19
19
|
ruby_deep_clone (~> 0.8.0)
|
@@ -21,7 +21,7 @@ GEM
|
|
21
21
|
json (2.1.0)
|
22
22
|
method_source (0.9.0)
|
23
23
|
mini_portile2 (2.3.0)
|
24
|
-
nokogiri (1.8.
|
24
|
+
nokogiri (1.8.5)
|
25
25
|
mini_portile2 (~> 2.3.0)
|
26
26
|
pry (0.11.3)
|
27
27
|
coderay (~> 1.1.0)
|
@@ -36,7 +36,7 @@ GEM
|
|
36
36
|
rspec-mocks (~> 3.8.0)
|
37
37
|
rspec-core (3.8.0)
|
38
38
|
rspec-support (~> 3.8.0)
|
39
|
-
rspec-expectations (3.8.
|
39
|
+
rspec-expectations (3.8.2)
|
40
40
|
diff-lcs (>= 1.2.0, < 2.0)
|
41
41
|
rspec-support (~> 3.8.0)
|
42
42
|
rspec-mocks (3.8.0)
|
@@ -63,4 +63,4 @@ DEPENDENCIES
|
|
63
63
|
simplecov
|
64
64
|
|
65
65
|
BUNDLED WITH
|
66
|
-
1.16.
|
66
|
+
1.16.6
|
data/ietfbib.gemspec
CHANGED
data/lib/ietfbib/version.rb
CHANGED
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'nokogiri'
|
2
|
+
|
3
|
+
module IETFBib
|
4
|
+
class XMLParser < IsoBibItem::XMLParser
|
5
|
+
class << self
|
6
|
+
def from_xml(xml)
|
7
|
+
doc = Nokogiri::XML(xml)
|
8
|
+
IsoBibItem::BibliographicItem.new(
|
9
|
+
id: fetch_id(doc),
|
10
|
+
docid: fetch_docid(doc),
|
11
|
+
edition: doc.at('/bibitem/edition')&.text,
|
12
|
+
language: doc.xpath('/bibitem/language').map(&:text),
|
13
|
+
script: doc.xpath('/bibitem/script').map(&:text),
|
14
|
+
titles: fetch_titles(doc),
|
15
|
+
type: doc.at('bibitem')&.attr(:type),
|
16
|
+
ics: fetch_ics(doc),
|
17
|
+
dates: fetch_dates(doc),
|
18
|
+
contributors: fetch_contributors(doc),
|
19
|
+
workgroup: fetch_workgroup(doc),
|
20
|
+
abstract: fetch_abstract(doc),
|
21
|
+
copyright: fetch_copyright(doc),
|
22
|
+
link: fetch_link(doc),
|
23
|
+
relations: fetch_relations(doc),
|
24
|
+
series: fetch_series(doc)
|
25
|
+
)
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
def fetch_id(doc)
|
31
|
+
doc.at('/bibitem')[:id]
|
32
|
+
end
|
33
|
+
|
34
|
+
def fetch_titles(doc)
|
35
|
+
doc.xpath('/bibitem/title').map do |t|
|
36
|
+
{ content: t.text, language: t[:language], script: t[:script] }
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
def fetch_series(doc)
|
41
|
+
doc.xpath('/bibitem/series').map do |s|
|
42
|
+
t = s.at('./title')
|
43
|
+
title = IsoBibItem::FormattedString.new(
|
44
|
+
content: t.text,
|
45
|
+
language: t[:language],
|
46
|
+
type: t[:format],
|
47
|
+
script: t[:script]
|
48
|
+
)
|
49
|
+
abbr = s.at('./abbreviation')
|
50
|
+
abbr = IsoBibItem::LocalizedString.new(abbr.text) if abbr
|
51
|
+
IsoBibItem::Series.new(
|
52
|
+
title: title,
|
53
|
+
type: s[:type],
|
54
|
+
place: s.at('./place')&.text,
|
55
|
+
organization: s.at('./organization')&.text,
|
56
|
+
abbreviation: abbr,
|
57
|
+
from: s.at('./from')&.text,
|
58
|
+
to: s.at('./to')&.text,
|
59
|
+
number: s.at('./number')&.text,
|
60
|
+
part_number: s.at('./part_numper')&.text
|
61
|
+
)
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
data/lib/ietfbib.rb
CHANGED
data/lib/relaton/processor.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'relaton/processor'
|
2
|
+
require 'ietfbib/xml_parser'
|
2
3
|
|
3
4
|
module Relaton
|
4
5
|
module IETFBib
|
@@ -13,6 +14,10 @@ module Relaton
|
|
13
14
|
def get(code, date, opts)
|
14
15
|
::IETFBib::RfcBibliography.get(code, date, opts)
|
15
16
|
end
|
17
|
+
|
18
|
+
def from_xml(xml)
|
19
|
+
::IETFBib::XMLParser.from_xml xml
|
20
|
+
end
|
16
21
|
end
|
17
22
|
end
|
18
23
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ietfbib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
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-
|
11
|
+
date: 2018-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
103
|
+
version: 0.4.1
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: 0.4.1
|
111
111
|
description: "ietfbib: retrieve IETF Standards for bibliographic use \nusing the BibliographicItem
|
112
112
|
model.\n\nFormerly known as rfcbib.\n"
|
113
113
|
email:
|
@@ -132,6 +132,7 @@ files:
|
|
132
132
|
- lib/ietfbib/rfc_bibliography.rb
|
133
133
|
- lib/ietfbib/scrapper.rb
|
134
134
|
- lib/ietfbib/version.rb
|
135
|
+
- lib/ietfbib/xml_parser.rb
|
135
136
|
- lib/relaton/processor.rb
|
136
137
|
homepage: https://github.com/riboseinc/ietfbib
|
137
138
|
licenses:
|