serrano 0.5.0 → 1.0.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.
@@ -1,13 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "erb"
1
4
  require "faraday"
2
- require 'faraday_middleware'
5
+ require "faraday_middleware"
3
6
  require "multi_json"
4
7
  require "serrano/error"
5
- require "serrano/constants"
6
- require 'serrano/helpers/configuration'
7
- require 'serrano/filterhandler'
8
- require 'serrano/error'
9
- require 'serrano/faraday'
10
- require 'serrano/utils'
8
+ require "serrano/helpers/configuration"
9
+ require "serrano/filterhandler"
10
+ require "serrano/error"
11
+ require "serrano/faraday"
12
+ require "serrano/utils"
11
13
 
12
14
  ##
13
15
  # Serrano::RequestCursor
@@ -15,7 +17,6 @@ require 'serrano/utils'
15
17
  # Class to perform HTTP requests to the Crossref API
16
18
  module Serrano
17
19
  class RequestCursor #:nodoc:
18
-
19
20
  attr_accessor :endpt
20
21
  attr_accessor :id
21
22
  attr_accessor :query
@@ -36,8 +37,8 @@ module Serrano
36
37
  attr_accessor :args
37
38
 
38
39
  def initialize(endpt, id, query, filter, offset,
39
- limit, sample, sort, order, facet, select,
40
- works, agency, options, verbose, cursor,
40
+ limit, sample, sort, order, facet, select,
41
+ works, agency, options, verbose, cursor,
41
42
  cursor_max, args)
42
43
 
43
44
  self.endpt = endpt
@@ -61,89 +62,89 @@ module Serrano
61
62
  end
62
63
 
63
64
  def perform
64
- filt = filter_handler(self.filter)
65
- fieldqueries = field_query_handler(self.args)
66
- self.select = self.select.join(",") if self.select && self.select.class == Array
65
+ filt = filter_handler(filter)
66
+ fieldqueries = field_query_handler(args)
67
+ self.select = select.join(",") if select && select.class == Array
67
68
 
68
- if self.cursor_max.class != nil
69
- if !self.cursor_max.kind_of?(Integer)
70
- raise "cursor_max must be of class int"
71
- end
69
+ unless cursor_max.class.nil?
70
+ raise "cursor_max must be of class int" unless cursor_max.is_a?(Integer)
72
71
  end
73
72
 
74
- arguments = { query: self.query, filter: filt, offset: self.offset,
75
- rows: self.limit, sample: self.sample, sort: self.sort,
76
- order: self.order, facet: self.facet, select: self.select,
77
- cursor: self.cursor }.tostrings
73
+ arguments = {query: query, filter: filt, offset: offset,
74
+ rows: limit, sample: sample, sort: sort,
75
+ order: order, facet: facet, select: select,
76
+ cursor: cursor}.tostrings
78
77
  arguments = arguments.merge(fieldqueries)
79
- opts = arguments.delete_if { |k, v| v.nil? }
78
+ opts = arguments.delete_if { |_k, v| v.nil? }
80
79
 
81
- if verbose
82
- $conn = Faraday.new(:url => Serrano.base_url, :request => options || []) do |f|
80
+ conn = if verbose
81
+ Faraday.new(url: Serrano.base_url, request: options || []) do |f|
83
82
  f.response :logger
84
83
  f.use FaradayMiddleware::RaiseHttpException
85
84
  f.adapter Faraday.default_adapter
86
85
  end
87
86
  else
88
- $conn = Faraday.new(:url => Serrano.base_url, :request => options || []) do |f|
87
+ Faraday.new(url: Serrano.base_url, request: options || []) do |f|
89
88
  f.use FaradayMiddleware::RaiseHttpException
90
89
  f.adapter Faraday.default_adapter
91
90
  end
92
91
  end
93
92
 
94
- $conn.headers[:user_agent] = make_ua
95
- $conn.headers["X-USER-AGENT"] = make_ua
93
+ conn.headers[:user_agent] = make_ua
94
+ conn.headers["X-USER-AGENT"] = make_ua
95
+
96
+ if id.nil?
97
+ endpt2 = endpt
98
+ js = _req(conn, endpt, opts)
99
+ cu = js["message"]["next-cursor"]
100
+ max_avail = js["message"]["total-results"]
101
+ _redo_req(conn, js, opts, cu, max_avail)
96
102
 
97
- if self.id.nil?
98
- $endpt2 = self.endpt
99
- js = self._req(self.endpt, opts)
100
- cu = js['message']['next-cursor']
101
- max_avail = js['message']['total-results']
102
- res = self._redo_req(js, opts, cu, max_avail)
103
- return res
104
103
  else
104
+ self.id = Array(id)
105
+ # url encoding
106
+ self.id = id.map { |x| ERB::Util.url_encode(x) }
105
107
  coll = []
106
- Array(self.id).each do |x|
107
- if self.works
108
- $endpt2 = self.endpt + '/' + x.to_s + "/works"
108
+ id.each do |x|
109
+ endpt2 = if works
110
+ endpt + "/" + x.to_s + "/works"
109
111
  else
110
- if self.agency
111
- $endpt2 = self.endpt + '/' + x.to_s + "/agency"
112
+ endpt2 = if agency
113
+ endpt + "/" + x.to_s + "/agency"
112
114
  else
113
- $endpt2 = self.endpt + '/' + x.to_s
115
+ endpt + "/" + x.to_s
114
116
  end
115
117
  end
116
118
 
117
- js = self._req($endpt2, opts)
118
- cu = js['message']['next-cursor']
119
- max_avail = js['message']['total-results']
120
- coll << self._redo_req(js, opts, cu, max_avail)
119
+ js = _req(conn, endpt2, opts)
120
+ cu = js["message"]["next-cursor"]
121
+ max_avail = js["message"]["total-results"]
122
+ coll << _redo_req(conn, js, opts, cu, max_avail)
121
123
  end
122
- return coll
124
+ coll
123
125
  end
124
126
  end
125
127
 
126
- def _redo_req(js, opts, cu, max_avail)
127
- if !cu.nil? and self.cursor_max > js['message']['items'].length
128
+ def _redo_req(conn, js, opts, cu, max_avail)
129
+ if !cu.nil? && (cursor_max > js["message"]["items"].length)
128
130
  res = [js]
129
- total = js['message']['items'].length
130
- while !cu.nil? and self.cursor_max > total and total < max_avail do
131
+ total = js["message"]["items"].length
132
+ while !cu.nil? && (cursor_max > total) && (total < max_avail)
131
133
  opts[:cursor] = cu
132
- out = self._req($endpt2, opts)
133
- cu = out['message']['next-cursor']
134
+ out = _req(conn, endpt2, opts)
135
+ cu = out["message"]["next-cursor"]
134
136
  res << out
135
- total = res.collect {|x| x['message']['items'].length}.reduce(0, :+)
137
+ total = res.collect { |x| x["message"]["items"].length }.sum
136
138
  end
137
- return res
139
+ res
138
140
  else
139
- return js
141
+ js
140
142
  end
141
143
  end
142
144
 
143
- def _req(path, opts)
144
- res = $conn.get path, opts
145
- return MultiJson.load(res.body)
145
+ def _req(conn, path, opts)
146
+ res = conn.get path, opts
147
+ MultiJson.load(res.body)
146
148
  end
147
-
148
149
  end
149
150
  end
@@ -1,23 +1,28 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "faraday"
2
4
  require "multi_json"
3
5
 
4
- def get_styles
6
+ def fetch_styles
5
7
  base = "https://api.github.com/repos/citation-style-language/styles"
6
- conn = Faraday.new(:url => base)
7
- args = { per_page: 1 }
8
- tt = conn.get 'commits', args
8
+ conn = Faraday.new(url: base) { |f|
9
+ f.use FaradayMiddleware::RaiseHttpException
10
+ f.adapter Faraday.default_adapter
11
+ }
12
+ args = {per_page: 1}
13
+ tt = conn.get "commits", args
9
14
  commres = MultiJson.load(tt.body)
10
- sha = commres[0]['sha']
15
+ sha = commres[0]["sha"]
11
16
  sty = conn.get "git/trees/" + sha
12
17
  res = MultiJson.load(sty.body)
13
- files = res['tree'].collect { |x| x['path'] }
18
+ files = res["tree"].collect { |x| x["path"] }
14
19
  matches = files.collect { |x|
15
- if x.match('csl').nil?
20
+ if x.match("csl").nil?
16
21
  nil
17
22
  else
18
- x.match('csl').string
23
+ x.match("csl").string
19
24
  end
20
25
  }
21
26
  csls = matches.compact
22
- return csls.collect { |z| z.gsub('.csl', '') }
27
+ csls.collect { |z| z.gsub(".csl", "") }
23
28
  end
@@ -1,33 +1,35 @@
1
+ # frozen_string_literal: true
2
+
1
3
  def make_ua
2
- requa = 'Faraday/v' + Faraday::VERSION
3
- habua = 'Serrano/v' + Serrano::VERSION
4
- ua = requa + ' ' + habua
4
+ requa = "Faraday/v" + Faraday::VERSION
5
+ habua = "Serrano/v" + Serrano::VERSION
6
+ ua = requa + " " + habua
5
7
  if Serrano.mailto
6
- ua = ua + " (mailto:%s)" % Serrano.mailto
8
+ ua += " (mailto:%s)" % Serrano.mailto
7
9
  end
8
- return ua
10
+ # ua += format(' (mailto:%s)', Serrano.mailto) if Serrano.mailto
11
+ ua
9
12
  end
10
13
 
11
14
  def field_query_handler(x)
12
- tmp = x.keep_if { |z| z.match(/query_/) }
13
- return rename_query_filters(tmp)
15
+ tmp = x.keep_if { |z| z.match(/query_/) }
16
+ rename_query_filters(tmp)
14
17
  end
15
18
 
16
19
  def rename_query_filters(foo)
17
- foo = foo.tostrings
18
- foo = foo.map { |x,y| [x.to_s.sub('container_title', 'container-title'), y] }.to_h
19
- foo = foo.map { |x,y| [x.to_s.sub('query_', 'query.'), y] }.to_h
20
- return foo
20
+ foo = foo.tostrings
21
+ foo = foo.map { |x, y| [x.to_s.sub("container_title", "container-title"), y] }.to_h
22
+ foo.map { |x, y| [x.to_s.sub("query_", "query."), y] }.to_h
21
23
  end
22
24
 
23
25
  class Hash
24
- def tostrings
25
- Hash[self.map{|(k,v)| [k.to_s,v]}]
26
- end
26
+ def tostrings
27
+ Hash[map { |(k, v)| [k.to_s, v] }]
28
+ end
27
29
  end
28
30
 
29
31
  class Hash
30
- def tosymbols
31
- Hash[self.map{|(k,v)| [k.to_sym,v]}]
32
- end
32
+ def tosymbols
33
+ Hash[map { |(k, v)| [k.to_sym, v] }]
34
+ end
33
35
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Serrano
2
- VERSION = "0.5.0"
4
+ VERSION = "1.0.0"
3
5
  end
@@ -1,38 +1,51 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path("lib", __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'serrano/version'
5
+ require "serrano/version"
5
6
 
6
7
  Gem::Specification.new do |s|
7
- s.name = 'serrano'
8
- s.version = Serrano::VERSION
9
- s.platform = Gem::Platform::RUBY
10
- s.required_ruby_version = '>= 2.1'
11
- s.date = '2018-04-08'
12
- s.summary = "Crossref Client"
8
+ s.name = "serrano"
9
+ s.version = Serrano::VERSION
10
+ s.platform = Gem::Platform::RUBY
11
+ s.required_ruby_version = ">= 2.1"
12
+ s.date = "2020-10-19"
13
+ s.summary = "Crossref Client"
13
14
  s.description = "Low Level Ruby Client for the Crossref Search API"
14
- s.authors = "Scott Chamberlain"
15
- s.email = 'myrmecocystus@gmail.com'
16
- s.homepage = 'https://github.com/sckott/serrano'
17
- s.licenses = 'MIT'
15
+ s.authors = "Scott Chamberlain"
16
+ s.email = "myrmecocystus@gmail.com"
17
+ s.homepage = "https://github.com/sckott/serrano"
18
+ s.licenses = "MIT"
18
19
 
19
- s.files = `git ls-files -z`.split("\x0").reject {|f| f.match(%r{^(test|spec|features)/}) }
20
+ s.files = `git ls-files -z`.split("\x0").reject do |f|
21
+ f.match(%r{^(test|spec|features)/})
22
+ end
20
23
  s.require_paths = ["lib"]
21
24
 
22
- s.bindir = 'bin'
23
- s.executables = ['serrano']
25
+ s.bindir = "bin"
26
+ s.executables = ["serrano"]
27
+
28
+ s.add_development_dependency "bundler", '~> 2.1', '>= 2.1.4'
29
+ s.add_development_dependency "codecov", "~> 0.2.0"
30
+ s.add_development_dependency "json", '~> 2.3', '>= 2.3.1'
31
+ s.add_development_dependency "rake", '~> 13.0', '>= 13.0.1'
32
+ s.add_development_dependency "standard", "~> 0.7"
33
+ s.add_development_dependency "simplecov", "~> 0.19.0"
34
+ s.add_development_dependency "test-unit", '~> 3.3', '>= 3.3.6'
35
+ s.add_development_dependency "vcr", "~> 6.0"
36
+ s.add_development_dependency "webmock", '~> 3.9', '>= 3.9.3'
24
37
 
25
- s.add_development_dependency 'bundler', '~> 1.16', '>= 1.16.1'
26
- s.add_development_dependency 'rake', '~> 12.3', '>= 12.3.1'
27
- s.add_development_dependency 'test-unit', '~> 3.2', '>= 3.2.7'
28
- s.add_development_dependency 'simplecov', '~> 0.16.1'
29
- s.add_development_dependency 'codecov', '~> 0.1.10'
30
- s.add_development_dependency 'json', '~> 2.1'
31
- s.add_development_dependency 'vcr', '~> 4.0'
32
- s.add_development_dependency 'webmock', '~> 3.3'
38
+ s.add_runtime_dependency "faraday", "~> 1.1"
39
+ s.add_runtime_dependency "faraday_middleware", "~> 1.0"
40
+ s.add_runtime_dependency "multi_json", '~> 1.15'
41
+ s.add_runtime_dependency 'thor', '~> 1.0', '>= 1.0.1'
33
42
 
34
- s.add_runtime_dependency 'faraday', '~> 0.14.0'
35
- s.add_runtime_dependency 'faraday_middleware', '~> 0.12.2'
36
- s.add_runtime_dependency 'thor', '~> 0.20.0'
37
- s.add_runtime_dependency 'multi_json', '~> 1.13', '>= 1.13.1'
43
+ s.metadata = {
44
+ "homepage_uri" => "https://github.com/sckott/serrano",
45
+ "documentation_uri" => "https://www.rubydoc.info/gems/serrano",
46
+ "changelog_uri" =>
47
+ "https://github.com/sckott/serrano/releases/tag/v#{s.version}",
48
+ "source_code_uri" => "https://github.com/sckott/serrano",
49
+ "bug_tracker_uri" => "https://github.com/sckott/serrano/issues"
50
+ }
38
51
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: serrano
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Chamberlain
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-08 00:00:00.000000000 Z
11
+ date: 2020-10-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,192 +16,218 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
19
+ version: '2.1'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 1.16.1
22
+ version: 2.1.4
23
23
  type: :development
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - "~>"
28
28
  - !ruby/object:Gem::Version
29
- version: '1.16'
29
+ version: '2.1'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 1.16.1
32
+ version: 2.1.4
33
33
  - !ruby/object:Gem::Dependency
34
- name: rake
34
+ name: codecov
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '12.3'
39
+ version: 0.2.0
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: 0.2.0
47
+ - !ruby/object:Gem::Dependency
48
+ name: json
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.3'
40
54
  - - ">="
41
55
  - !ruby/object:Gem::Version
42
- version: 12.3.1
56
+ version: 2.3.1
43
57
  type: :development
44
58
  prerelease: false
45
59
  version_requirements: !ruby/object:Gem::Requirement
46
60
  requirements:
47
61
  - - "~>"
48
62
  - !ruby/object:Gem::Version
49
- version: '12.3'
63
+ version: '2.3'
50
64
  - - ">="
51
65
  - !ruby/object:Gem::Version
52
- version: 12.3.1
66
+ version: 2.3.1
53
67
  - !ruby/object:Gem::Dependency
54
- name: test-unit
68
+ name: rake
55
69
  requirement: !ruby/object:Gem::Requirement
56
70
  requirements:
57
71
  - - "~>"
58
72
  - !ruby/object:Gem::Version
59
- version: '3.2'
73
+ version: '13.0'
60
74
  - - ">="
61
75
  - !ruby/object:Gem::Version
62
- version: 3.2.7
76
+ version: 13.0.1
63
77
  type: :development
64
78
  prerelease: false
65
79
  version_requirements: !ruby/object:Gem::Requirement
66
80
  requirements:
67
81
  - - "~>"
68
82
  - !ruby/object:Gem::Version
69
- version: '3.2'
83
+ version: '13.0'
70
84
  - - ">="
71
85
  - !ruby/object:Gem::Version
72
- version: 3.2.7
86
+ version: 13.0.1
73
87
  - !ruby/object:Gem::Dependency
74
- name: simplecov
88
+ name: standard
75
89
  requirement: !ruby/object:Gem::Requirement
76
90
  requirements:
77
91
  - - "~>"
78
92
  - !ruby/object:Gem::Version
79
- version: 0.16.1
93
+ version: '0.7'
80
94
  type: :development
81
95
  prerelease: false
82
96
  version_requirements: !ruby/object:Gem::Requirement
83
97
  requirements:
84
98
  - - "~>"
85
99
  - !ruby/object:Gem::Version
86
- version: 0.16.1
100
+ version: '0.7'
87
101
  - !ruby/object:Gem::Dependency
88
- name: codecov
102
+ name: simplecov
89
103
  requirement: !ruby/object:Gem::Requirement
90
104
  requirements:
91
105
  - - "~>"
92
106
  - !ruby/object:Gem::Version
93
- version: 0.1.10
107
+ version: 0.19.0
94
108
  type: :development
95
109
  prerelease: false
96
110
  version_requirements: !ruby/object:Gem::Requirement
97
111
  requirements:
98
112
  - - "~>"
99
113
  - !ruby/object:Gem::Version
100
- version: 0.1.10
114
+ version: 0.19.0
101
115
  - !ruby/object:Gem::Dependency
102
- name: json
116
+ name: test-unit
103
117
  requirement: !ruby/object:Gem::Requirement
104
118
  requirements:
105
119
  - - "~>"
106
120
  - !ruby/object:Gem::Version
107
- version: '2.1'
121
+ version: '3.3'
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: 3.3.6
108
125
  type: :development
109
126
  prerelease: false
110
127
  version_requirements: !ruby/object:Gem::Requirement
111
128
  requirements:
112
129
  - - "~>"
113
130
  - !ruby/object:Gem::Version
114
- version: '2.1'
131
+ version: '3.3'
132
+ - - ">="
133
+ - !ruby/object:Gem::Version
134
+ version: 3.3.6
115
135
  - !ruby/object:Gem::Dependency
116
136
  name: vcr
117
137
  requirement: !ruby/object:Gem::Requirement
118
138
  requirements:
119
139
  - - "~>"
120
140
  - !ruby/object:Gem::Version
121
- version: '4.0'
141
+ version: '6.0'
122
142
  type: :development
123
143
  prerelease: false
124
144
  version_requirements: !ruby/object:Gem::Requirement
125
145
  requirements:
126
146
  - - "~>"
127
147
  - !ruby/object:Gem::Version
128
- version: '4.0'
148
+ version: '6.0'
129
149
  - !ruby/object:Gem::Dependency
130
150
  name: webmock
131
151
  requirement: !ruby/object:Gem::Requirement
132
152
  requirements:
133
153
  - - "~>"
134
154
  - !ruby/object:Gem::Version
135
- version: '3.3'
155
+ version: '3.9'
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: 3.9.3
136
159
  type: :development
137
160
  prerelease: false
138
161
  version_requirements: !ruby/object:Gem::Requirement
139
162
  requirements:
140
163
  - - "~>"
141
164
  - !ruby/object:Gem::Version
142
- version: '3.3'
165
+ version: '3.9'
166
+ - - ">="
167
+ - !ruby/object:Gem::Version
168
+ version: 3.9.3
143
169
  - !ruby/object:Gem::Dependency
144
170
  name: faraday
145
171
  requirement: !ruby/object:Gem::Requirement
146
172
  requirements:
147
173
  - - "~>"
148
174
  - !ruby/object:Gem::Version
149
- version: 0.14.0
175
+ version: '1.1'
150
176
  type: :runtime
151
177
  prerelease: false
152
178
  version_requirements: !ruby/object:Gem::Requirement
153
179
  requirements:
154
180
  - - "~>"
155
181
  - !ruby/object:Gem::Version
156
- version: 0.14.0
182
+ version: '1.1'
157
183
  - !ruby/object:Gem::Dependency
158
184
  name: faraday_middleware
159
185
  requirement: !ruby/object:Gem::Requirement
160
186
  requirements:
161
187
  - - "~>"
162
188
  - !ruby/object:Gem::Version
163
- version: 0.12.2
189
+ version: '1.0'
164
190
  type: :runtime
165
191
  prerelease: false
166
192
  version_requirements: !ruby/object:Gem::Requirement
167
193
  requirements:
168
194
  - - "~>"
169
195
  - !ruby/object:Gem::Version
170
- version: 0.12.2
196
+ version: '1.0'
171
197
  - !ruby/object:Gem::Dependency
172
- name: thor
198
+ name: multi_json
173
199
  requirement: !ruby/object:Gem::Requirement
174
200
  requirements:
175
201
  - - "~>"
176
202
  - !ruby/object:Gem::Version
177
- version: 0.20.0
203
+ version: '1.15'
178
204
  type: :runtime
179
205
  prerelease: false
180
206
  version_requirements: !ruby/object:Gem::Requirement
181
207
  requirements:
182
208
  - - "~>"
183
209
  - !ruby/object:Gem::Version
184
- version: 0.20.0
210
+ version: '1.15'
185
211
  - !ruby/object:Gem::Dependency
186
- name: multi_json
212
+ name: thor
187
213
  requirement: !ruby/object:Gem::Requirement
188
214
  requirements:
189
215
  - - "~>"
190
216
  - !ruby/object:Gem::Version
191
- version: '1.13'
217
+ version: '1.0'
192
218
  - - ">="
193
219
  - !ruby/object:Gem::Version
194
- version: 1.13.1
220
+ version: 1.0.1
195
221
  type: :runtime
196
222
  prerelease: false
197
223
  version_requirements: !ruby/object:Gem::Requirement
198
224
  requirements:
199
225
  - - "~>"
200
226
  - !ruby/object:Gem::Version
201
- version: '1.13'
227
+ version: '1.0'
202
228
  - - ">="
203
229
  - !ruby/object:Gem::Version
204
- version: 1.13.1
230
+ version: 1.0.1
205
231
  description: Low Level Ruby Client for the Crossref Search API
206
232
  email: myrmecocystus@gmail.com
207
233
  executables:
@@ -209,12 +235,11 @@ executables:
209
235
  extensions: []
210
236
  extra_rdoc_files: []
211
237
  files:
238
+ - ".github/workflows/ruby.yml"
212
239
  - ".gitignore"
213
- - ".travis.yml"
214
240
  - CHANGELOG.md
215
241
  - CODE_OF_CONDUCT.md
216
242
  - Gemfile
217
- - Gemfile.lock
218
243
  - LICENSE
219
244
  - README.md
220
245
  - Rakefile
@@ -222,8 +247,6 @@ files:
222
247
  - lib/serrano.rb
223
248
  - lib/serrano/cn.rb
224
249
  - lib/serrano/cnrequest.rb
225
- - lib/serrano/constants.rb
226
- - lib/serrano/cursor_testing.rb
227
250
  - lib/serrano/error.rb
228
251
  - lib/serrano/faraday.rb
229
252
  - lib/serrano/filterhandler.rb
@@ -238,7 +261,12 @@ files:
238
261
  homepage: https://github.com/sckott/serrano
239
262
  licenses:
240
263
  - MIT
241
- metadata: {}
264
+ metadata:
265
+ homepage_uri: https://github.com/sckott/serrano
266
+ documentation_uri: https://www.rubydoc.info/gems/serrano
267
+ changelog_uri: https://github.com/sckott/serrano/releases/tag/v1.0.0
268
+ source_code_uri: https://github.com/sckott/serrano
269
+ bug_tracker_uri: https://github.com/sckott/serrano/issues
242
270
  post_install_message:
243
271
  rdoc_options: []
244
272
  require_paths:
@@ -254,8 +282,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
254
282
  - !ruby/object:Gem::Version
255
283
  version: '0'
256
284
  requirements: []
257
- rubyforge_project:
258
- rubygems_version: 2.7.3
285
+ rubygems_version: 3.1.2
259
286
  signing_key:
260
287
  specification_version: 4
261
288
  summary: Crossref Client