rack-linkeddata 3.0.0 → 3.1.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 +4 -4
- data/README.md +1 -1
- data/VERSION +1 -1
- data/lib/rack/linkeddata.rb +4 -4
- data/lib/rack/linkeddata/conneg.rb +9 -3
- metadata +12 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 966d05516d9e34419506a0fdaa47a04e61ba51b18630f98f2590fc7d82c1a00b
|
4
|
+
data.tar.gz: 2a616206491f89c318b16beb61a35688965958271dce37b5a0ce412a17568507
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86a3666ae1e6e3e0ef7bc0bb730883ccce7063ebe1f7053eead450ad7498dff6aecf9cd2fdadd00f3da9ab5d3acef68696899feb045e8c139c8e1342fcd5e8bc
|
7
|
+
data.tar.gz: e98c08daae3e76e3b3c7c8037b718b5be537be1e1e74578d36f2addaa99d38ec1a1aeb1dcd94eb3c566823d700d13023aad107cd28613663ed263ae8f6c55d8c
|
data/README.md
CHANGED
@@ -99,7 +99,7 @@ for N-Triples, N-Quads, Turtle, RDF/XML, RDF/JSON, JSON-LD, RDFa, TriG and TriX.
|
|
99
99
|
## Dependencies
|
100
100
|
|
101
101
|
* [Rack](http://rubygems.org/gems/rack) (~> 2.0)
|
102
|
-
* [Linked Data](http://rubygems.org/gems/linkeddata) (~> 3.
|
102
|
+
* [Linked Data](http://rubygems.org/gems/linkeddata) (~> 3.1)
|
103
103
|
|
104
104
|
## Installation
|
105
105
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.1.0
|
data/lib/rack/linkeddata.rb
CHANGED
@@ -9,18 +9,18 @@ module Rack
|
|
9
9
|
##
|
10
10
|
# Registers all known RDF formats with Rack's MIME types registry.
|
11
11
|
#
|
12
|
+
# @param [Boolean] :overwrite (false)
|
12
13
|
# @param [Hash{Symbol => Object}] options
|
13
|
-
# @option options [Boolean] :overwrite (false)
|
14
14
|
# @return [void]
|
15
|
-
def self.register_mime_types!(
|
15
|
+
def self.register_mime_types!(overwrite: false, **options)
|
16
16
|
if defined?(Rack::Mime::MIME_TYPES)
|
17
17
|
RDF::Format.each do |format|
|
18
|
-
if !Rack::Mime::MIME_TYPES.has_key?(file_ext = ".#{format.to_sym}") ||
|
18
|
+
if !Rack::Mime::MIME_TYPES.has_key?(file_ext = ".#{format.to_sym}") || overwrite
|
19
19
|
Rack::Mime::MIME_TYPES.merge!(file_ext => format.content_type.first)
|
20
20
|
end
|
21
21
|
end
|
22
22
|
RDF::Format.file_extensions.each do |file_ext, formats|
|
23
|
-
if !Rack::Mime::MIME_TYPES.has_key?(file_ext = ".#{file_ext}") ||
|
23
|
+
if !Rack::Mime::MIME_TYPES.has_key?(file_ext = ".#{file_ext}") || overwrite
|
24
24
|
Rack::Mime::MIME_TYPES.merge!(file_ext => formats.first.content_type.first)
|
25
25
|
end
|
26
26
|
end
|
@@ -32,9 +32,9 @@ module Rack; module LinkedData
|
|
32
32
|
# @param [#call] app
|
33
33
|
# @param [Hash{Symbol => Object}] options
|
34
34
|
# Other options passed to writer.
|
35
|
-
# @
|
35
|
+
# @param [String] :default (DEFAULT_CONTENT_TYPE) Specific content type
|
36
36
|
# @option options [RDF::Format, #to_sym] :format Specific RDF writer format to use
|
37
|
-
def initialize(app, options
|
37
|
+
def initialize(app, options)
|
38
38
|
@app, @options = app, options
|
39
39
|
@options[:default] = (@options[:default] || DEFAULT_CONTENT_TYPE).to_s
|
40
40
|
end
|
@@ -64,6 +64,8 @@ module Rack; module LinkedData
|
|
64
64
|
# Serializes an `RDF::Enumerable` response into a Rack protocol
|
65
65
|
# response using HTTP content negotiation rules or a specified Content-Type.
|
66
66
|
#
|
67
|
+
# Passes parameters from Accept header, and Link header to writer.
|
68
|
+
#
|
67
69
|
# @param [Hash{String => String}] env
|
68
70
|
# @param [Integer] status
|
69
71
|
# @param [Hash{String => Object}] headers
|
@@ -74,7 +76,11 @@ module Rack; module LinkedData
|
|
74
76
|
find_writer(env, headers) do |writer, ct, accept_params = {}|
|
75
77
|
begin
|
76
78
|
# Passes content_type as writer option to allow parameters to be extracted.
|
77
|
-
|
79
|
+
writer_options = @options.merge(
|
80
|
+
accept_params: accept_params,
|
81
|
+
link: env['HTTP_LINK']
|
82
|
+
)
|
83
|
+
result, content_type = writer.dump(body, nil, **writer_options), ct.split(';').first
|
78
84
|
break
|
79
85
|
rescue RDF::WriterError
|
80
86
|
# Continue to next writer
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-linkeddata
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arto Bendiken
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2019-12-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: linkeddata
|
@@ -17,34 +17,28 @@ dependencies:
|
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '3.
|
20
|
+
version: '3.1'
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '3.
|
27
|
+
version: '3.1'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rdf
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '3.
|
35
|
-
- - ">="
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: 3.0.8
|
34
|
+
version: '3.1'
|
38
35
|
type: :runtime
|
39
36
|
prerelease: false
|
40
37
|
version_requirements: !ruby/object:Gem::Requirement
|
41
38
|
requirements:
|
42
39
|
- - "~>"
|
43
40
|
- !ruby/object:Gem::Version
|
44
|
-
version: '3.
|
45
|
-
- - ">="
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: 3.0.8
|
41
|
+
version: '3.1'
|
48
42
|
- !ruby/object:Gem::Dependency
|
49
43
|
name: rack
|
50
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -65,28 +59,28 @@ dependencies:
|
|
65
59
|
requirements:
|
66
60
|
- - "~>"
|
67
61
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.9.
|
62
|
+
version: 0.9.20
|
69
63
|
type: :development
|
70
64
|
prerelease: false
|
71
65
|
version_requirements: !ruby/object:Gem::Requirement
|
72
66
|
requirements:
|
73
67
|
- - "~>"
|
74
68
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.9.
|
69
|
+
version: 0.9.20
|
76
70
|
- !ruby/object:Gem::Dependency
|
77
71
|
name: rspec
|
78
72
|
requirement: !ruby/object:Gem::Requirement
|
79
73
|
requirements:
|
80
74
|
- - "~>"
|
81
75
|
- !ruby/object:Gem::Version
|
82
|
-
version: '3.
|
76
|
+
version: '3.9'
|
83
77
|
type: :development
|
84
78
|
prerelease: false
|
85
79
|
version_requirements: !ruby/object:Gem::Requirement
|
86
80
|
requirements:
|
87
81
|
- - "~>"
|
88
82
|
- !ruby/object:Gem::Version
|
89
|
-
version: '3.
|
83
|
+
version: '3.9'
|
90
84
|
- !ruby/object:Gem::Dependency
|
91
85
|
name: rack-test
|
92
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,14 +121,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
127
121
|
requirements:
|
128
122
|
- - ">="
|
129
123
|
- !ruby/object:Gem::Version
|
130
|
-
version: 2.
|
124
|
+
version: '2.4'
|
131
125
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
132
126
|
requirements:
|
133
127
|
- - ">="
|
134
128
|
- !ruby/object:Gem::Version
|
135
129
|
version: '0'
|
136
130
|
requirements: []
|
137
|
-
rubygems_version: 3.0.
|
131
|
+
rubygems_version: 3.0.6
|
138
132
|
signing_key:
|
139
133
|
specification_version: 4
|
140
134
|
summary: Linked Data content negotiation for Rack applications.
|