jalc 1.2.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +7 -9
- data/lib/jalc/registration/client.rb +4 -2
- data/lib/jalc/rest/client.rb +6 -3
- data/lib/jalc/version.rb +1 -1
- data/sig/jalc.rbs +16 -13
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6906443971313b98068ef7816cfde731a473da34698637fafdaeeb99c2409150
|
4
|
+
data.tar.gz: 35272d82457609a1cb8238bbceb7b69b0b5bcfddb9b1d92a8cbc145459ca3ada
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2b50fda5332b2cca03aeb53954f45cd734ed6122377b5fe363370948729e5023133203178e63b5f37723b352a778af5c5e302a3e487c668e37c77edf30a3156f
|
7
|
+
data.tar.gz: c87b1536b93b0766312f228425da6c97339a86f8b90eea24ea38ee7118bb796c40872bf22f67d738f9503187ec35634a64f70dcac9c4a01dcfef06e6c8d7a865
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -31,15 +31,15 @@ JaLC::REST.config.logger = MyLogger.new
|
|
31
31
|
|
32
32
|
# GET /prefixes
|
33
33
|
prefixes_res = JaLC::REST.prefixes(ra: 'JaLC', sort: 'siteId', order: 'desc')
|
34
|
-
prefix = prefixes_res
|
34
|
+
prefix = prefixes_res['data']['items'].first['prefix'] #=> "10.123"
|
35
35
|
|
36
36
|
# GET /doilist/:prefix
|
37
37
|
doilist_res = JaLC::REST.doilist(prefix, rows: 100)
|
38
|
-
doi = doilist_res
|
38
|
+
doi = doilist_res['data']['items'].last['dois']['doi'] #=> "10.123/abc"
|
39
39
|
|
40
40
|
# GET /dois/:doi
|
41
41
|
doi_res = JaLC::REST.doi(doi)
|
42
|
-
doi_res
|
42
|
+
doi_res['data']
|
43
43
|
```
|
44
44
|
|
45
45
|
### JaLC Registration API
|
@@ -55,10 +55,8 @@ JaLC::Registration.configure do |config|
|
|
55
55
|
config.logger = nil
|
56
56
|
end
|
57
57
|
|
58
|
-
res = JaLC::Registration.post(File.open('/path/to/xml'))
|
59
|
-
|
60
|
-
# body is an REXML::Document
|
61
|
-
res.body.root.elements['head/okcnt'].text #=> "1"
|
58
|
+
res = JaLC::Registration.post(File.open('/path/to/xml')) # returns a REXML::Document
|
59
|
+
res.root.elements['head/okcnt'].text #=> "1"
|
62
60
|
|
63
61
|
# async registration (result_method=2)
|
64
62
|
async_res = JaLC::Registration.post(StringIO.new(<<~XML))
|
@@ -73,10 +71,10 @@ async_res = JaLC::Registration.post(StringIO.new(<<~XML))
|
|
73
71
|
</body
|
74
72
|
</root>
|
75
73
|
XML
|
76
|
-
exec_id = async_res.
|
74
|
+
exec_id = async_res.root.elements['head/exec_id'].text #=> "12345"
|
77
75
|
|
78
76
|
result_res = JaLC::Registration.get_result(exec_id)
|
79
|
-
result_res.
|
77
|
+
result_res.root.elements['head/status'].text #=> "2"
|
80
78
|
```
|
81
79
|
|
82
80
|
## Development
|
@@ -20,7 +20,7 @@ module JaLC
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def post(xml_file)
|
23
|
-
conn.post(
|
23
|
+
response = conn.post(
|
24
24
|
'/jalc/infoRegistry/registDataReceive/index',
|
25
25
|
{
|
26
26
|
login_id: Faraday::Multipart::ParamPart.new(@id, 'text/plain'),
|
@@ -28,10 +28,11 @@ module JaLC
|
|
28
28
|
fname: Faraday::Multipart::FilePart.new(xml_file, 'text/xml'),
|
29
29
|
},
|
30
30
|
)
|
31
|
+
response.body
|
31
32
|
end
|
32
33
|
|
33
34
|
def get_result(exec_id)
|
34
|
-
conn.get(
|
35
|
+
response = conn.get(
|
35
36
|
'/jalc/infoRegistry/registDataResult/index',
|
36
37
|
{
|
37
38
|
login_id: @id,
|
@@ -39,6 +40,7 @@ module JaLC
|
|
39
40
|
exec_id: exec_id,
|
40
41
|
},
|
41
42
|
)
|
43
|
+
response.body
|
42
44
|
end
|
43
45
|
|
44
46
|
private
|
data/lib/jalc/rest/client.rb
CHANGED
@@ -18,7 +18,7 @@ module JaLC
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def prefixes(ra: nil, sort: nil, order: nil)
|
21
|
-
conn.get(
|
21
|
+
response = conn.get(
|
22
22
|
'/prefixes',
|
23
23
|
{
|
24
24
|
ra: ra,
|
@@ -26,10 +26,11 @@ module JaLC
|
|
26
26
|
order: order,
|
27
27
|
}.compact,
|
28
28
|
)
|
29
|
+
response.body
|
29
30
|
end
|
30
31
|
|
31
32
|
def doilist(prefix, from: nil, to: nil, rows: nil, page: nil, sort: nil, order: nil)
|
32
|
-
conn.get(
|
33
|
+
response = conn.get(
|
33
34
|
"/doilist/#{prefix}",
|
34
35
|
{
|
35
36
|
from: from,
|
@@ -40,11 +41,13 @@ module JaLC
|
|
40
41
|
order: order,
|
41
42
|
}.compact,
|
42
43
|
)
|
44
|
+
response.body
|
43
45
|
end
|
44
46
|
|
45
47
|
def doi(doi)
|
46
48
|
encoded_doi = URI.encode_www_form_component(URI.encode_www_form_component(doi))
|
47
|
-
conn.get("/dois/#{encoded_doi}")
|
49
|
+
response = conn.get("/dois/#{encoded_doi}")
|
50
|
+
response.body
|
48
51
|
end
|
49
52
|
|
50
53
|
private
|
data/lib/jalc/version.rb
CHANGED
data/sig/jalc.rbs
CHANGED
@@ -1,6 +1,7 @@
|
|
1
|
-
type faraday_response = untyped
|
2
|
-
|
3
1
|
module JaLC
|
2
|
+
interface _Logger
|
3
|
+
end
|
4
|
+
|
4
5
|
VERSION: String
|
5
6
|
|
6
7
|
module Registration
|
@@ -24,22 +25,25 @@ module JaLC
|
|
24
25
|
class Client
|
25
26
|
interface _IO
|
26
27
|
end
|
28
|
+
type rexml_document = untyped
|
27
29
|
|
28
|
-
def initialize: (id: String, password: String, ?logger:
|
29
|
-
def post: (_IO xml_file) ->
|
30
|
-
def get_result: (Integer | String exec_id) ->
|
30
|
+
def initialize: (id: String, password: String, ?logger: _Logger?, ?base_url: String) -> void
|
31
|
+
def post: (_IO xml_file) -> rexml_document
|
32
|
+
def get_result: (Integer | String exec_id) -> rexml_document
|
31
33
|
end
|
32
34
|
|
33
35
|
class Config
|
34
36
|
attr_accessor id: String?
|
35
37
|
attr_accessor password: String?
|
36
|
-
attr_accessor logger:
|
38
|
+
attr_accessor logger: _Logger?
|
37
39
|
|
38
40
|
def initialize: -> void
|
39
41
|
end
|
40
42
|
end
|
41
43
|
|
42
44
|
module REST
|
45
|
+
type response_body = Hash[String, untyped] | String | nil
|
46
|
+
|
43
47
|
BASE_URL: String
|
44
48
|
|
45
49
|
def self.configure: { (Config) -> void } -> void
|
@@ -49,8 +53,7 @@ module JaLC
|
|
49
53
|
end
|
50
54
|
|
51
55
|
class HTTPError < Error
|
52
|
-
type
|
53
|
-
type response_hash = {status: Integer, headers: faraday_header, body: untyped, request: {method: Symbol, url: URI, headers: faraday_header, body: String?}}
|
56
|
+
type response_hash = {status: Integer, headers: Hash[String, String], body: response_body, request: {method: Symbol, url: URI, headers: Hash[String, String], body: String?}}
|
54
57
|
|
55
58
|
attr_reader response: response_hash?
|
56
59
|
|
@@ -71,14 +74,14 @@ module JaLC
|
|
71
74
|
end
|
72
75
|
|
73
76
|
class Client
|
74
|
-
def initialize: (?logger:
|
75
|
-
def prefixes: (?ra: String?, ?sort: String?, ?order: String?) ->
|
76
|
-
def doilist: (String, ?from: String?, ?to: String?, ?rows: Integer? | String?, ?page: Integer? | String?, ?sort: String?, ?order: String?) ->
|
77
|
-
def doi: (String) ->
|
77
|
+
def initialize: (?logger: _Logger?, ?base_url: String) -> void
|
78
|
+
def prefixes: (?ra: String?, ?sort: String?, ?order: String?) -> response_body
|
79
|
+
def doilist: (String, ?from: String?, ?to: String?, ?rows: Integer? | String?, ?page: Integer? | String?, ?sort: String?, ?order: String?) -> response_body
|
80
|
+
def doi: (String) -> response_body
|
78
81
|
end
|
79
82
|
|
80
83
|
class Config
|
81
|
-
attr_accessor logger:
|
84
|
+
attr_accessor logger: _Logger?
|
82
85
|
|
83
86
|
def initialize: -> void
|
84
87
|
end
|