faster_rails_partial_lookup 0.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 +7 -0
- data/.gitignore +2 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +68 -0
- data/README.md +27 -0
- data/faster_rails_partial_lookup.gemspec +25 -0
- data/lib/faster_rails_partial_lookup.rb +5 -0
- data/lib/faster_rails_partial_lookup/action_view/path_resolver.rb +18 -0
- data/lib/faster_rails_partial_lookup/version.rb +3 -0
- metadata +106 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ef13a529304000ffb9074e4219b92538b383cc45eff793a05428a5733ed1bb4d
|
4
|
+
data.tar.gz: 81add76f4610e620ecedfc0e7cc4422c00398fc0fca20facca60f2c8f723fc0a
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1f2d0e7d232bb64940ccbe828702abc7d14a18726d7acfe7c4d34b0bba1cd610e5747afe922c352f00d557fada08017af93e550a90585f2e4413ac476cb297bd
|
7
|
+
data.tar.gz: 159d40739cccb1a19d1930254014c87e989cf1138e3d31c5ed98c71a84312de7b0bb0113b7c90239b733ee57a7d0371def3c507e58b0aa36f88975983b9dcdad
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
faster_rails_partial_lookup (0.1.0)
|
5
|
+
actionview (< 6.0.0)
|
6
|
+
|
7
|
+
GEM
|
8
|
+
remote: https://rubygems.org/
|
9
|
+
specs:
|
10
|
+
actionview (5.2.3)
|
11
|
+
activesupport (= 5.2.3)
|
12
|
+
builder (~> 3.1)
|
13
|
+
erubi (~> 1.4)
|
14
|
+
rails-dom-testing (~> 2.0)
|
15
|
+
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
16
|
+
activesupport (5.2.3)
|
17
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
18
|
+
i18n (>= 0.7, < 2)
|
19
|
+
minitest (~> 5.1)
|
20
|
+
tzinfo (~> 1.1)
|
21
|
+
builder (3.2.3)
|
22
|
+
concurrent-ruby (1.1.5)
|
23
|
+
crass (1.0.4)
|
24
|
+
diff-lcs (1.3)
|
25
|
+
erubi (1.8.0)
|
26
|
+
i18n (1.6.0)
|
27
|
+
concurrent-ruby (~> 1.0)
|
28
|
+
loofah (2.2.3)
|
29
|
+
crass (~> 1.0.2)
|
30
|
+
nokogiri (>= 1.5.9)
|
31
|
+
mini_portile2 (2.4.0)
|
32
|
+
minitest (5.11.3)
|
33
|
+
nokogiri (1.10.3)
|
34
|
+
mini_portile2 (~> 2.4.0)
|
35
|
+
rails-dom-testing (2.0.3)
|
36
|
+
activesupport (>= 4.2.0)
|
37
|
+
nokogiri (>= 1.6)
|
38
|
+
rails-html-sanitizer (1.0.4)
|
39
|
+
loofah (~> 2.2, >= 2.2.2)
|
40
|
+
rake (10.5.0)
|
41
|
+
rspec (3.8.0)
|
42
|
+
rspec-core (~> 3.8.0)
|
43
|
+
rspec-expectations (~> 3.8.0)
|
44
|
+
rspec-mocks (~> 3.8.0)
|
45
|
+
rspec-core (3.8.0)
|
46
|
+
rspec-support (~> 3.8.0)
|
47
|
+
rspec-expectations (3.8.3)
|
48
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
49
|
+
rspec-support (~> 3.8.0)
|
50
|
+
rspec-mocks (3.8.0)
|
51
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
52
|
+
rspec-support (~> 3.8.0)
|
53
|
+
rspec-support (3.8.0)
|
54
|
+
thread_safe (0.3.6)
|
55
|
+
tzinfo (1.2.5)
|
56
|
+
thread_safe (~> 0.1)
|
57
|
+
|
58
|
+
PLATFORMS
|
59
|
+
ruby
|
60
|
+
|
61
|
+
DEPENDENCIES
|
62
|
+
bundler (~> 1.16)
|
63
|
+
faster_rails_partial_lookup!
|
64
|
+
rake (~> 10.0)
|
65
|
+
rspec (~> 3.0)
|
66
|
+
|
67
|
+
BUNDLED WITH
|
68
|
+
1.17.2
|
data/README.md
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# FasterRailsPartialLookup
|
2
|
+
|
3
|
+
Rails template lookup is very slow in development, due to some issues with IO in ruby core. This gem monkey patches
|
4
|
+
the path resolver, to give performance boosts.
|
5
|
+
|
6
|
+
There is a PR that addresses the issue entirely, but has not been backported into Rails yet:
|
7
|
+
https://github.com/rails/rails/pull/33860
|
8
|
+
|
9
|
+
## Installation
|
10
|
+
|
11
|
+
Add this line to your application's Gemfile:
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
gem 'faster_rail_partial_lookup', require: false
|
15
|
+
```
|
16
|
+
|
17
|
+
And then execute:
|
18
|
+
|
19
|
+
$ bundle
|
20
|
+
|
21
|
+
## Usage
|
22
|
+
|
23
|
+
In an initializer, load the lookup in development and test:
|
24
|
+
|
25
|
+
```ruby
|
26
|
+
require 'faster_rails_partial_lookup' unless Rails.env.production?
|
27
|
+
```
|
@@ -0,0 +1,25 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require 'faster_rails_partial_lookup/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = 'faster_rails_partial_lookup'
|
7
|
+
spec.version = FasterRailsPartialLookup::VERSION
|
8
|
+
spec.authors = ['Michael Wheeler']
|
9
|
+
spec.email = ['mwheeler@g2crowd.com']
|
10
|
+
|
11
|
+
spec.summary = 'faster_rails_partial_lookup gem'
|
12
|
+
|
13
|
+
spec.files = `[ -d ".git" ] > /dev/null && type git > /dev/null && git ls-files -z`.split("\x0").reject do |f|
|
14
|
+
f.match(%r{^(test|spec|features)/})
|
15
|
+
end
|
16
|
+
spec.bindir = 'exe'
|
17
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
18
|
+
spec.require_paths = ['lib']
|
19
|
+
|
20
|
+
spec.add_dependency 'actionview', '< 6.0.0'
|
21
|
+
|
22
|
+
spec.add_development_dependency 'bundler', '~> 1.16'
|
23
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
24
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
25
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'action_view'
|
2
|
+
|
3
|
+
module ActionView
|
4
|
+
class PathResolver
|
5
|
+
def find_template_paths(query)
|
6
|
+
prefilter(query).reject do |filename|
|
7
|
+
File.directory?(filename) ||
|
8
|
+
!File.fnmatch(query, filename, File::FNM_EXTGLOB)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def prefilter(query)
|
13
|
+
path = query.split('{')[0]
|
14
|
+
# sort by + sign to make sure that variant matches get priority
|
15
|
+
Dir[path + '*'].uniq.sort_by { |i| i =~ /\+/ ? 0 : 1 }
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
metadata
ADDED
@@ -0,0 +1,106 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: faster_rails_partial_lookup
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Michael Wheeler
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2019-05-30 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: actionview
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "<"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 6.0.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "<"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 6.0.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '1.16'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '1.16'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '10.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '10.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.0'
|
69
|
+
description:
|
70
|
+
email:
|
71
|
+
- mwheeler@g2crowd.com
|
72
|
+
executables: []
|
73
|
+
extensions: []
|
74
|
+
extra_rdoc_files: []
|
75
|
+
files:
|
76
|
+
- ".gitignore"
|
77
|
+
- Gemfile
|
78
|
+
- Gemfile.lock
|
79
|
+
- README.md
|
80
|
+
- faster_rails_partial_lookup.gemspec
|
81
|
+
- lib/faster_rails_partial_lookup.rb
|
82
|
+
- lib/faster_rails_partial_lookup/action_view/path_resolver.rb
|
83
|
+
- lib/faster_rails_partial_lookup/version.rb
|
84
|
+
homepage:
|
85
|
+
licenses: []
|
86
|
+
metadata: {}
|
87
|
+
post_install_message:
|
88
|
+
rdoc_options: []
|
89
|
+
require_paths:
|
90
|
+
- lib
|
91
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">="
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
96
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- - ">="
|
99
|
+
- !ruby/object:Gem::Version
|
100
|
+
version: '0'
|
101
|
+
requirements: []
|
102
|
+
rubygems_version: 3.0.3
|
103
|
+
signing_key:
|
104
|
+
specification_version: 4
|
105
|
+
summary: faster_rails_partial_lookup gem
|
106
|
+
test_files: []
|