require_infector 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cf7083a443e7113c8f8d0c78bd59f3e9022ef419
4
- data.tar.gz: b0f0b975167833bd18162dc56ff17203e8d6c596
3
+ metadata.gz: 5eb95097d981ce961d0e66be4a1ec32915d1ba5f
4
+ data.tar.gz: 38289dd86239157fb1803e93d7183d522910b9a8
5
5
  SHA512:
6
- metadata.gz: 426abf443efb081f86a1702568b82b3a0b7247e236e6a8c28a63c0ec341d56e89b6a453637c12fd436436feee8ede14327b475650dd787958110e7773dd90474
7
- data.tar.gz: d1404526b7e7f3feb7c947e9d3db1effca229d54657e70e4dadf4dd80b505f393383ebdfbf97cd8964b7047f7397d797550168bd9123ffb4919d455d06249ea1
6
+ metadata.gz: 41c1542988ecaa27f040bc39ac569c983dc734aae6c52432e9a8a1e8a4740860ede075c99663d201335c7930a0590576a6b18d0216bd118ed8565080af074011
7
+ data.tar.gz: 9d97332c91889038720c86126edbc11023b6d30b93df2326fd7cb5b66b2636edb0f0f82e9c6381171443aeaf0896a73dfc284934d166cccc0b5a4d30d31c6c3d
@@ -1,3 +1,3 @@
1
1
  module RequireInfector
2
- VERSION = '0.2.0'
2
+ VERSION = '0.3.0'
3
3
  end
@@ -1,33 +1,36 @@
1
1
  require 'require_infector/version'
2
2
 
3
3
  module RequireInfector
4
- # It's including patches
5
- # @param plugin_name [String] the plugin name
6
- # @param resources [String] names of resources which will need patching
7
- # @param options [Hash] options
8
- # @example
9
- # Rails.config.to_prepare do
10
- # require_infector 'awesome_plugin', ['user', 'issue', 'user_controller', 'issue_helper']
11
- # end
12
- def require_infector(plugin_name, resources, options = {})
13
- default_options = {
14
- dir: 'infectors',
15
- prefix: nil,
16
- postfix: nil
17
- }
4
+ def self.included(base) # :nodoc:
5
+ base.class_eval do
6
+ # Method include patches
7
+ # @param plugin_name [String] the plugin name
8
+ # @param resources [String] names of resources which will need patching
9
+ # @param options [Hash] options
10
+ # @example
11
+ # Rails.config.to_prepare do
12
+ # require_infector 'awesome_plugin', ['user', 'issue', 'user_controller', 'issue_helper']
13
+ # end
14
+ def require_infector(plugin_name, resources, options = {})
15
+ default_options = {
16
+ dir: 'infectors',
17
+ prefix: nil,
18
+ postfix: nil
19
+ }
18
20
 
19
- options = default_options.merge options
21
+ options = default_options.merge options
20
22
 
21
- resources.to_a.each do |resource|
22
- require_dependency resource unless options[:skip_require_dependency]
23
+ resources.to_a.each do |resource|
24
+ require_dependency resource unless options[:skip_require_dependency]
23
25
 
24
- infector_name = [options[:prefix], resource, options[:postfix]].select(&:present?).join('_')
25
- resource_patch = [plugin_name, options[:dir], infector_name].select(&:present?).join('/')
26
- resource_constant, resource_patch_constant = [resource, resource_patch].map(&:camelize).map(&:constantize)
26
+ infector_name = [options[:prefix], resource, options[:postfix]].select(&:present?).join('_')
27
+ resource_patch = [plugin_name, options[:dir], infector_name].select(&:present?).join('/')
28
+ resource_constant, resource_patch_constant = [resource, resource_patch].map(&:camelize).map(&:constantize)
27
29
 
28
- resource_constant.send(:include, resource_patch_constant) unless resource_constant.included_modules.include? resource_patch_constant
30
+ resource_constant.send(:include, resource_patch_constant) unless resource_constant.included_modules.include? resource_patch_constant
31
+ end
32
+ end
29
33
  end
30
- end
31
34
  end
32
35
 
33
- ActionDispatch::Reloader.send(:include, ::RequireInfector) unless ActionDispatch::Reloader.included_modules.include? ::RequireInfector
36
+ Kernel.send(:include, ::RequireInfector) unless Kernel.included_modules.include? ::RequireInfector
@@ -17,6 +17,4 @@ Gem::Specification.new do |spec|
17
17
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
18
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
19
  spec.require_paths = ['lib']
20
-
21
- spec.add_development_dependency 'rails'
22
20
  end
metadata CHANGED
@@ -1,29 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: require_infector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Roman Shipiev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-14 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: rails
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
11
+ date: 2016-04-09 00:00:00.000000000 Z
12
+ dependencies: []
27
13
  description: It's using for patching
28
14
  email:
29
15
  - roman@shipiev.pro