prependers 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +28 -16
- data/README.md +4 -14
- data/lib/prependers.rb +13 -1
- data/lib/prependers/version.rb +1 -1
- data/prependers.gemspec +2 -0
- metadata +31 -4
- data/Gemfile.lock +0 -60
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c33986e6c228a6eea44d3093e16717cb5327b57f23439bc492a8bea1154b7be8
|
4
|
+
data.tar.gz: f4e7cc9175ba8b51a242346f8ee5d08dcee79fe4befb0f806a45706f2b61f394
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b71e78f24c52085bac6e5102306626097601799bb377c8e9dbb6bf768122fccd3a4cc853164c13f98239ba9db722426319c766f261fe1cc303fcc8220c2d0f37
|
7
|
+
data.tar.gz: a105daf60dd5b44393f9719ad1b2c1913a52cb2d6a90f5d9d2486a4ee6a1672b7c07d38693487f22568739e53bfb851d3858807b66bdc33a24fffcaeb8882922
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,29 +1,41 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
|
3
|
+
## [Unreleased](https://github.com/nebulab/prependers/tree/HEAD)
|
4
4
|
|
5
|
-
|
6
|
-
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
5
|
+
[Full Changelog](https://github.com/nebulab/prependers/compare/v0.2.0...HEAD)
|
7
6
|
|
8
|
-
|
7
|
+
**Merged pull requests:**
|
9
8
|
|
10
|
-
|
9
|
+
- Add Rails setup helper [\#8](https://github.com/nebulab/prependers/pull/8) ([aldesantis](https://github.com/aldesantis))
|
11
10
|
|
12
|
-
|
11
|
+
## [v0.2.0](https://github.com/nebulab/prependers/tree/v0.2.0) (2019-07-09)
|
13
12
|
|
14
|
-
|
13
|
+
[Full Changelog](https://github.com/nebulab/prependers/compare/v0.1.1...v0.2.0)
|
15
14
|
|
16
|
-
|
15
|
+
**Closed issues:**
|
17
16
|
|
18
|
-
|
17
|
+
- Add a simple way to extend class methods [\#4](https://github.com/nebulab/prependers/issues/4)
|
19
18
|
|
20
|
-
|
19
|
+
**Merged pull requests:**
|
21
20
|
|
22
|
-
|
21
|
+
- Automatically prepend ClassMethods to singleton\_class [\#5](https://github.com/nebulab/prependers/pull/5) ([aldesantis](https://github.com/aldesantis))
|
23
22
|
|
24
|
-
|
23
|
+
## [v0.1.1](https://github.com/nebulab/prependers/tree/v0.1.1) (2019-07-02)
|
25
24
|
|
26
|
-
[
|
27
|
-
|
28
|
-
|
29
|
-
|
25
|
+
[Full Changelog](https://github.com/nebulab/prependers/compare/v0.1.0...v0.1.1)
|
26
|
+
|
27
|
+
**Merged pull requests:**
|
28
|
+
|
29
|
+
- Load prependers in alphabetical order [\#3](https://github.com/nebulab/prependers/pull/3) ([mtylty](https://github.com/mtylty))
|
30
|
+
|
31
|
+
## [v0.1.0](https://github.com/nebulab/prependers/tree/v0.1.0) (2019-06-21)
|
32
|
+
|
33
|
+
[Full Changelog](https://github.com/nebulab/prependers/compare/3059d0a9697a6fa5a8fc7bc84b0c8af8fdc29fef...v0.1.0)
|
34
|
+
|
35
|
+
**Merged pull requests:**
|
36
|
+
|
37
|
+
- Configure CircleCI [\#1](https://github.com/nebulab/prependers/pull/1) ([aldesantis](https://github.com/aldesantis))
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/README.md
CHANGED
@@ -49,7 +49,7 @@ If you want to extend a module's class methods, you can define a `ClassMethods`
|
|
49
49
|
prepender:
|
50
50
|
|
51
51
|
```ruby
|
52
|
-
module Animals::Dog::
|
52
|
+
module Animals::Dog::AddFamily
|
53
53
|
include Prependers::Prepender.new
|
54
54
|
|
55
55
|
module ClassMethods
|
@@ -134,21 +134,11 @@ To use prependers in your Rails app, simply create them under `app/prependers/mo
|
|
134
134
|
`app/prependers/controllers` etc. and add the following to your `config/application.rb`:
|
135
135
|
|
136
136
|
```ruby
|
137
|
-
|
138
|
-
Dir.glob(Rails.root.join('app', 'prependers', '**', '*.rb')) do |c|
|
139
|
-
Rails.configuration.cache_classes ? require(c) : load(c)
|
140
|
-
end
|
141
|
-
|
142
|
-
prepender_paths = Dir.glob(Rails.root.join('app', 'prependers', '*')).map do |p|
|
143
|
-
File.expand_path(p, __FILE__)
|
144
|
-
end
|
145
|
-
|
146
|
-
Prependers.load_paths(*prepender_paths)
|
147
|
-
end
|
137
|
+
Prependers.setup_for_rails
|
148
138
|
```
|
149
139
|
|
150
|
-
If you want to use a namespace, just pass the `:namespace` option to `#
|
151
|
-
files and modules accordingly.
|
140
|
+
If you want to use a namespace, just pass the `:namespace` option to `#setup_for_rails` and name
|
141
|
+
your files and modules accordingly.
|
152
142
|
|
153
143
|
## Development
|
154
144
|
|
data/lib/prependers.rb
CHANGED
@@ -8,9 +8,21 @@ require "prependers/loader"
|
|
8
8
|
module Prependers
|
9
9
|
class << self
|
10
10
|
def load_paths(*paths, **options)
|
11
|
-
|
11
|
+
paths.flatten.each do |path|
|
12
12
|
Loader.new(path, options).load
|
13
13
|
end
|
14
14
|
end
|
15
|
+
|
16
|
+
def setup_for_rails(load_options = {})
|
17
|
+
prependers_directories = Rails.root.join('app', 'prependers').glob('*')
|
18
|
+
|
19
|
+
Rails.application.config.tap do |config|
|
20
|
+
config.autoload_paths += prependers_directories
|
21
|
+
|
22
|
+
config.to_prepare do
|
23
|
+
Prependers.load_paths(prependers_directories, load_options)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
15
27
|
end
|
16
28
|
end
|
data/lib/prependers/version.rb
CHANGED
data/prependers.gemspec
CHANGED
@@ -24,6 +24,8 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.require_paths = ["lib"]
|
25
25
|
|
26
26
|
spec.add_development_dependency "bundler", "~> 1.17"
|
27
|
+
spec.add_development_dependency "gem-release", "~> 2.1"
|
28
|
+
spec.add_development_dependency "github_changelog_generator", "~> 1.15"
|
27
29
|
spec.add_development_dependency "rake", "~> 10.0"
|
28
30
|
spec.add_development_dependency "rspec", "~> 3.0"
|
29
31
|
spec.add_development_dependency "rspec_junit_formatter", '~> 0.4.1'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prependers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alessandro Desantis
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-04-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -24,6 +24,34 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.17'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: gem-release
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '2.1'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '2.1'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: github_changelog_generator
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '1.15'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '1.15'
|
27
55
|
- !ruby/object:Gem::Dependency
|
28
56
|
name: rake
|
29
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -123,7 +151,6 @@ files:
|
|
123
151
|
- ".travis.yml"
|
124
152
|
- CHANGELOG.md
|
125
153
|
- Gemfile
|
126
|
-
- Gemfile.lock
|
127
154
|
- LICENSE.txt
|
128
155
|
- README.md
|
129
156
|
- Rakefile
|
@@ -154,7 +181,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
181
|
- !ruby/object:Gem::Version
|
155
182
|
version: '0'
|
156
183
|
requirements: []
|
157
|
-
rubygems_version: 3.0.
|
184
|
+
rubygems_version: 3.0.6
|
158
185
|
signing_key:
|
159
186
|
specification_version: 4
|
160
187
|
summary: Easily and cleanly extend third-party code.
|
data/Gemfile.lock
DELETED
@@ -1,60 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
prependers (0.2.0)
|
5
|
-
|
6
|
-
GEM
|
7
|
-
remote: https://rubygems.org/
|
8
|
-
specs:
|
9
|
-
ast (2.4.0)
|
10
|
-
diff-lcs (1.3)
|
11
|
-
jaro_winkler (1.5.3)
|
12
|
-
parallel (1.17.0)
|
13
|
-
parser (2.6.3.0)
|
14
|
-
ast (~> 2.4.0)
|
15
|
-
rainbow (3.0.0)
|
16
|
-
rake (10.5.0)
|
17
|
-
rspec (3.8.0)
|
18
|
-
rspec-core (~> 3.8.0)
|
19
|
-
rspec-expectations (~> 3.8.0)
|
20
|
-
rspec-mocks (~> 3.8.0)
|
21
|
-
rspec-core (3.8.2)
|
22
|
-
rspec-support (~> 3.8.0)
|
23
|
-
rspec-expectations (3.8.4)
|
24
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
25
|
-
rspec-support (~> 3.8.0)
|
26
|
-
rspec-mocks (3.8.1)
|
27
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
28
|
-
rspec-support (~> 3.8.0)
|
29
|
-
rspec-support (3.8.2)
|
30
|
-
rspec_junit_formatter (0.4.1)
|
31
|
-
rspec-core (>= 2, < 4, != 2.12.0)
|
32
|
-
rubocop (0.70.0)
|
33
|
-
jaro_winkler (~> 1.5.1)
|
34
|
-
parallel (~> 1.10)
|
35
|
-
parser (>= 2.6)
|
36
|
-
rainbow (>= 2.2.2, < 4.0)
|
37
|
-
ruby-progressbar (~> 1.7)
|
38
|
-
unicode-display_width (>= 1.4.0, < 1.7)
|
39
|
-
rubocop-performance (1.3.0)
|
40
|
-
rubocop (>= 0.68.0)
|
41
|
-
rubocop-rspec (1.33.0)
|
42
|
-
rubocop (>= 0.60.0)
|
43
|
-
ruby-progressbar (1.10.1)
|
44
|
-
unicode-display_width (1.6.0)
|
45
|
-
|
46
|
-
PLATFORMS
|
47
|
-
ruby
|
48
|
-
|
49
|
-
DEPENDENCIES
|
50
|
-
bundler (~> 1.17)
|
51
|
-
prependers!
|
52
|
-
rake (~> 10.0)
|
53
|
-
rspec (~> 3.0)
|
54
|
-
rspec_junit_formatter (~> 0.4.1)
|
55
|
-
rubocop (~> 0.70.0)
|
56
|
-
rubocop-performance (~> 1.3)
|
57
|
-
rubocop-rspec (~> 1.33)
|
58
|
-
|
59
|
-
BUNDLED WITH
|
60
|
-
1.17.3
|