rack-accept 0.4.3 → 0.4.4

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.
data/lib/rack/accept.rb CHANGED
@@ -4,13 +4,6 @@ require 'rack'
4
4
  #
5
5
  # http://mjijackson.com/rack-accept
6
6
  module Rack::Accept
7
- VERSION = [0, 4, 3]
8
-
9
- # Returns the current version of Rack::Accept as a string.
10
- def self.version
11
- VERSION.join('.')
12
- end
13
-
14
7
  # Enables Rack::Accept to be used as a Rack middleware.
15
8
  def self.new(app, &block)
16
9
  Context.new(app, &block)
@@ -38,7 +38,7 @@ module Rack::Accept
38
38
  # subtype, and 3) the media type parameters. An empty array is returned if
39
39
  # no match can be made.
40
40
  def parse_media_type(media_type)
41
- m = media_type.to_s.match(/^([a-z*]+)\/([a-z*-]+)(?:;([a-z0-9=;]+))?$/)
41
+ m = media_type.to_s.match(/^([a-z*]+)\/([a-z0-9*\-.+]+)(?:;([a-z0-9=;]+))?$/)
42
42
  m ? [m[1], m[2], m[3] || ''] : []
43
43
  end
44
44
  module_function :parse_media_type
@@ -0,0 +1,10 @@
1
+ module Rack
2
+ module Accept
3
+ VERSION = [0, 4, 4]
4
+
5
+ # Returns the current version of Rack::Accept as a string.
6
+ def self.version
7
+ VERSION.join('.')
8
+ end
9
+ end
10
+ end
data/rack-accept.gemspec CHANGED
@@ -1,7 +1,11 @@
1
+ $LOAD_PATH.unshift(File.expand_path('../lib', __FILE__))
2
+
3
+ require 'rack/accept/version'
4
+
1
5
  Gem::Specification.new do |s|
2
6
  s.name = 'rack-accept'
3
- s.version = '0.4.3'
4
- s.date = '2010-07-29'
7
+ s.version = Rack::Accept.version
8
+ s.date = Time.now.strftime('%Y-%m-%d')
5
9
 
6
10
  s.summary = 'HTTP Accept* for Ruby/Rack'
7
11
  s.description = 'HTTP Accept, Accept-Charset, Accept-Encoding, and Accept-Language for Ruby/Rack'
@@ -42,4 +42,17 @@ class MediaTypeTest < Test::Unit::TestCase
42
42
  m = M.new('text/*;q=0.5;a=42')
43
43
  assert_equal(0.5, m.qvalue('text/plain'))
44
44
  end
45
+
46
+ def test_vendored_types
47
+ m = M.new("application/vnd.ms-excel")
48
+ assert_equal(nil, m.best_of(%w< application/vnd.ms-powerpoint >))
49
+
50
+ m = M.new("application/vnd.api-v1+json")
51
+ assert_equal(false, m.accept?("application/vnd.api-v2+json"))
52
+
53
+ v1, v2 = "application/vnd.api-v1+json", "application/vnd.api-v2+json"
54
+ m = M.new("#{v1},#{v2}")
55
+ assert_equal(v1, m.best_of([v1, v2]))
56
+ assert_equal(v2, m.best_of([v2, v1]))
57
+ end
45
58
  end
metadata CHANGED
@@ -1,13 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-accept
3
3
  version: !ruby/object:Gem::Version
4
- hash: 9
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 4
9
- - 3
10
- version: 0.4.3
4
+ prerelease:
5
+ version: 0.4.4
11
6
  platform: ruby
12
7
  authors:
13
8
  - Michael Jackson
@@ -15,7 +10,7 @@ autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
12
 
18
- date: 2010-07-29 00:00:00 -06:00
13
+ date: 2011-05-03 00:00:00 -07:00
19
14
  default_executable:
20
15
  dependencies:
21
16
  - !ruby/object:Gem::Dependency
@@ -26,10 +21,6 @@ dependencies:
26
21
  requirements:
27
22
  - - ">="
28
23
  - !ruby/object:Gem::Version
29
- hash: 3
30
- segments:
31
- - 0
32
- - 4
33
24
  version: "0.4"
34
25
  type: :runtime
35
26
  version_requirements: *id001
@@ -41,9 +32,6 @@ dependencies:
41
32
  requirements:
42
33
  - - ">="
43
34
  - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
35
  version: "0"
48
36
  type: :development
49
37
  version_requirements: *id002
@@ -68,6 +56,7 @@ files:
68
56
  - lib/rack/accept/media_type.rb
69
57
  - lib/rack/accept/request.rb
70
58
  - lib/rack/accept/response.rb
59
+ - lib/rack/accept/version.rb
71
60
  - lib/rack/accept.rb
72
61
  - test/charset_test.rb
73
62
  - test/context_test.rb
@@ -100,23 +89,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
100
89
  requirements:
101
90
  - - ">="
102
91
  - !ruby/object:Gem::Version
103
- hash: 3
104
- segments:
105
- - 0
106
92
  version: "0"
107
93
  required_rubygems_version: !ruby/object:Gem::Requirement
108
94
  none: false
109
95
  requirements:
110
96
  - - ">="
111
97
  - !ruby/object:Gem::Version
112
- hash: 3
113
- segments:
114
- - 0
115
98
  version: "0"
116
99
  requirements: []
117
100
 
118
101
  rubyforge_project:
119
- rubygems_version: 1.3.7
102
+ rubygems_version: 1.6.2
120
103
  signing_key:
121
104
  specification_version: 3
122
105
  summary: HTTP Accept* for Ruby/Rack