Skip to content

Commit 0abbe85

Browse files
committed
make it faster and avoid run time allocations
1 parent 30aa864 commit 0abbe85

File tree

5 files changed

+7
-7
lines changed

5 files changed

+7
-7
lines changed

lib/grape/api.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,9 @@ def initialize
9595
end
9696

9797
def call(env)
98-
status, headers, body = @route_set.call(env)
99-
headers.delete('X-Cascade') unless cascade?
100-
[status, headers, body]
98+
result = @route_set.call(env)
99+
result[1].delete('X-Cascade') unless cascade?
100+
result
101101
end
102102

103103
# Some requests may return a HTTP 404 error if grape cannot find a matching

lib/grape/dsl/helpers.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ module BaseHelper
6464
attr_accessor :api
6565
def params(name, &block)
6666
@named_params ||= {}
67-
@named_params.merge! name => block
67+
@named_params[name] = block
6868
end
6969

7070
def api_changed(new_api)

lib/grape/dsl/parameters.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ def requires(*attrs, &block)
4343
orig_attrs = attrs.clone
4444

4545
opts = attrs.last.is_a?(Hash) ? attrs.pop.clone : {}
46-
opts.merge!(presence: true)
46+
opts[:presence] = true
4747

4848
if opts[:using]
4949
require_required_and_optional_fields(attrs.first, opts)

lib/grape/http/request.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ def params
1717
def headers
1818
@headers ||= env.dup.inject({}) do |h, (k, v)|
1919
if k.to_s.start_with? 'HTTP_'
20-
k = k[5..-1].gsub('_', '-').downcase.gsub(/^.|[-_\s]./) { |x| x.upcase }
20+
k = k[5..-1].tr('_', '-').downcase.gsub(/^.|[-_\s]./) { |x| x.upcase }
2121
h[k] = v
2222
end
2323
h

lib/grape/middleware/versioner/header.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ def available_media_types
6868
available_media_types = []
6969

7070
content_types.each do |extension, media_type|
71-
versions.reverse.each do |version|
71+
versions.reverse_each do |version|
7272
available_media_types += ["application/vnd.#{vendor}-#{version}+#{extension}", "application/vnd.#{vendor}-#{version}"]
7373
end
7474
available_media_types << "application/vnd.#{vendor}+#{extension}"

0 commit comments

Comments
 (0)