Skip to content

Commit ec1fc81

Browse files
committed
Apply several performance suggestions from the 'fasterer' gem.
1 parent 3e98009 commit ec1fc81

File tree

6 files changed

+29
-3
lines changed

6 files changed

+29
-3
lines changed

.fasterer.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
speedups:
2+
parallel_assignment: false
3+
rescue_vs_respond_to: true
4+
module_eval: true
5+
shuffle_first_vs_sample: true
6+
for_loop_vs_each: true
7+
each_with_index_vs_while: false
8+
map_flatten_vs_flat_map: true
9+
reverse_each_vs_reverse_each: true
10+
select_first_vs_detect: true
11+
sort_vs_sort_by: true
12+
fetch_with_argument_vs_block: true
13+
keys_each_vs_each_key: true
14+
hash_merge_bang_vs_hash_brackets: true
15+
block_vs_symbol_to_proc: true
16+
proc_call_vs_yield: true
17+
gsub_vs_tr: true
18+
select_last_vs_reverse_detect: true
19+
getter_vs_attr_reader: false
20+
setter_vs_attr_writer: false
21+
22+
exclude_paths:
23+
- 'vendor/**/*.rb'
24+
- 'spec/**/*.rb'

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@
66
/spec.pdf
77
/pkg/
88
/.rbx/
9+
/.bundle/
910
Gemfile.lock

Gemfile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ gem 'jsonlint', git: "git://github.com/dougbarth/jsonlint.git", platform
88
group :development do
99
gem 'rdf-turtle', git: "git://github.com/ruby-rdf/rdf-turtle.git", branch: "develop"
1010
gem 'rdf-trig', git: "git://github.com/ruby-rdf/rdf-trig.git", branch: "develop"
11+
gem 'fasterer'
1112
end
1213

1314
group :development, :test do

lib/json/ld/compact.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def compact(element, property = nil)
4646
inside_reverse = property == '@reverse'
4747
result = {}
4848

49-
element.keys.each do |expanded_property|
49+
element.each_key do |expanded_property|
5050
expanded_value = element[expanded_property]
5151
debug("") {"#{expanded_property}: #{expanded_value.inspect}"}
5252

lib/json/ld/context.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ def parse(local_context, remote_contexts = [])
337337
defined = {}
338338
# For each key-value pair in context invoke the Create Term Definition subalgorithm, passing result for active context, context for local context, key, and defined
339339
depth do
340-
context.keys.each do |key|
340+
context.each_key do |key|
341341
result.create_term_definition(context, key, defined)
342342
end
343343
end

lib/json/ld/resource.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ def update_obj(obj, reference_map)
174174
stub: true
175175
)
176176
else
177-
obj.keys.each do |k|
177+
obj.each_key do |k|
178178
obj[k] = update_obj(obj[k], reference_map)
179179
end
180180
obj

0 commit comments

Comments
 (0)