rack-linkeddata 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -5,5 +5,23 @@ module Rack
5
5
  module LinkedData
6
6
  autoload :ContentNegotiation, 'rack/linkeddata/conneg'
7
7
  autoload :VERSION, 'rack/linkeddata/version'
8
+
9
+ ##
10
+ # Registers all known RDF formats with Rack's MIME types registry.
11
+ #
12
+ # @param [Hash{Symbol => Object}] options
13
+ # @option options [Boolean] :overwrite (false)
14
+ # @return [void]
15
+ def self.register_mime_types!(options = {})
16
+ if defined?(Rack::Mime::MIME_TYPES)
17
+ RDF::Format.file_extensions.each do |file_ext, content_type|
18
+ if !Rack::Mime::MIME_TYPES.has_key?(file_ext = ".#{file_ext}") || options[:overwrite]
19
+ Rack::Mime::MIME_TYPES.merge!(file_ext => content_type.to_s)
20
+ end
21
+ end
22
+ end
23
+ end
8
24
  end
9
25
  end
26
+
27
+ Rack::LinkedData.register_mime_types!
@@ -51,11 +51,15 @@ module Rack; module LinkedData
51
51
  # @param [RDF::Enumerable] body
52
52
  # @return [Array(Integer, Hash, #each)]
53
53
  def serialize(env, status, headers, body)
54
- writer, content_type = find_writer(env)
55
- if writer
56
- headers = headers.merge(VARY).merge('Content-Type' => content_type) # FIXME: don't overwrite existing Vary headers
57
- [status, headers, [writer.dump(body)]]
58
- else
54
+ begin
55
+ writer, content_type = find_writer(env)
56
+ if writer
57
+ headers = headers.merge(VARY).merge('Content-Type' => content_type) # FIXME: don't overwrite existing Vary headers
58
+ [status, headers, [writer.dump(body)]]
59
+ else
60
+ not_acceptable
61
+ end
62
+ rescue RDF::WriterError => e
59
63
  not_acceptable
60
64
  end
61
65
  end
@@ -2,11 +2,10 @@ module Rack; module LinkedData
2
2
  module VERSION
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- TINY = 1
5
+ TINY = 2
6
6
  EXTRA = nil
7
7
 
8
- STRING = [MAJOR, MINOR, TINY].join('.')
9
- STRING << ".#{EXTRA}" if EXTRA
8
+ STRING = [MAJOR, MINOR, TINY, EXTRA].compact.join('.')
10
9
 
11
10
  ##
12
11
  # @return [String]
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 1
9
- version: 0.1.1
8
+ - 2
9
+ version: 0.1.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Datagraph
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-27 00:00:00 +02:00
17
+ date: 2010-06-04 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency