junctions 0.0.7 → 0.0.8

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
  SHA256:
3
- metadata.gz: 2f34a5f6716ebcc9cb8765c86de1932eab58872ab2103ba86088f5016f7a15fb
4
- data.tar.gz: b10d5fb3f8b1da99c97ab58d0f0f634009dc765f6af5c5e05cf3b4b87e716543
3
+ metadata.gz: 7c071544ca819acc52e00005f1e0f90e532fe6960fb76a041afe85d23889ddc7
4
+ data.tar.gz: acf2efa3d4d0abbe8173932ba040d584784536d610b1067b7ea9039c81300974
5
5
  SHA512:
6
- metadata.gz: acbf34a8056248c1b8235da5f26f73427d9822c31f658667d540d7e9bd63f69536982ca94c97df3d661fc2293e9c952728f732255b9f0d867a2084cacc329e12
7
- data.tar.gz: b08ec8e43351e3814976df87b94cd7e8dd800c4398a152e1762e65a0da02c7e1c7a108a1f6dc4712a22fc9fd1b459c6fd24ba3bc199ec716eb8e9006226589f2
6
+ metadata.gz: 3a5ba3ab9a0f9b9247de6a7e445efbcbd0b8b42785f0094b740a254662020aec10a2bb007640f38b7e596a6f92bf73b482ac20f50faba1f78350a7452b76b663
7
+ data.tar.gz: f6c70b05de1e9e8aefe0e21b2d5e52af2976336676f2870bfd0afdda206539997900dac3d966370155f559a7e5b4378b5b2da5b076eaffa4e2064a45c85b53c1
data/README.md CHANGED
@@ -6,34 +6,23 @@ in a module can be enabled or disable by creating them in a particular namespace
6
6
 
7
7
  ```ruby
8
8
  module Core
9
- module Extensions
10
- include Junctions
11
- def overridden_method
12
- puts('You are in core')
13
- end
14
- end
9
+ include Junctions
10
+ def overridden_method
11
+ puts('You are in core')
12
+ end
15
13
  end
16
14
 
17
15
  module Wibble
18
- module Extensions
19
- def overridden_method
20
- puts('Wibble')
21
- end
16
+ def overridden_method
17
+ puts('Wibble')
22
18
  end
23
19
  end
24
20
 
25
21
  module Wobble
26
- module Extensions
27
- def overridden_method
28
- puts('Something else')
29
- end
22
+ def overridden_method
23
+ puts('Something else')
30
24
  end
31
25
  end
32
-
33
- class Demon
34
- include Core::Extensions
35
- end
36
-
37
26
  ```
38
27
  Including Junctions in Core means that if there is a 'junctions' setting as, for example, an environment variable
39
28
  ```bash
@@ -47,14 +36,14 @@ Likewise if the environment variable were:
47
36
  ```
48
37
  This would only include Wibble into the list of namespaces to override Core methods.
49
38
 
50
- You can also perform this override within the code entirely. Passing it in as an environment variable is the preferred
51
- way to handle it, but there are other options since the Junctions core and junction_list setter functions are exposed
52
- ```ruby
53
- Junctions::Engine.core = 'common'
54
- Junctions::Engine.junction_list = ['wibble', 'wobble']
55
- ```
39
+ Ruby and Rails Versions
40
+
41
+ Junctions has been built for Ruby 2.5 and Rails 5. Although it was originally built for Ruby 1.8 and Rails 2,
42
+ because of fundamental changes to later versions of rails and engines in particular, the decision was made to
43
+ track the latest Rails version only.
44
+
45
+
46
+
56
47
 
57
- #Ruby and Rails Versions
58
48
 
59
- Junctions is built for Ruby 2.4+ and Rails 5+.
60
49
 
data/junctions.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  $:.push File.expand_path('../lib', __FILE__)
2
2
 
3
3
  # Maintain your gem's version:
4
- require 'junctions/version'
4
+ require 'junctions'
5
5
 
6
6
  # Describe your gem and declare its dependencies:
7
7
  Gem::Specification.new do |s|
@@ -19,11 +19,10 @@ Gem::Specification.new do |s|
19
19
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
20
20
  s.require_paths = ['lib']
21
21
 
22
- s.add_dependency 'activesupport', '~> 5'
22
+ s.add_dependency 'activesupport', '>= 5.2.4.3'
23
23
 
24
- s.add_development_dependency 'bundler', '~>1'
25
- s.add_development_dependency 'rake','~>12.2'
26
- s.add_development_dependency 'minitest', '~>5.11'
27
- s.add_development_dependency 'simplecov', '~>0.16'
28
- s.add_development_dependency 'config_files', '~>0.1.3'
24
+ s.add_development_dependency 'bundler', '~> 2.2', '>= 2.2.33'
25
+ s.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
26
+ s.add_development_dependency 'simplecov', '~> 0.21'
27
+ s.add_development_dependency 'config_files', '~> 0.1.6'
29
28
  end
@@ -1,4 +1,5 @@
1
1
  require 'active_support/inflector'
2
+
2
3
  module Junctions
3
4
  class Engine
4
5
  class << self
@@ -29,7 +30,9 @@ module Junctions
29
30
  name=base_name.gsub("#{core.classify}::", "#{junction_class}::")
30
31
  begin
31
32
  require(name.underscore)
32
- base.prepend name.constantize if name.gsub(/::[^:]*$/, '').constantize.const_defined?(name.demodulize)
33
+ base.instance_eval {
34
+ include name.constantize
35
+ } if name.gsub(/::[^:]*$/, '').constantize.const_defined?(name.demodulize)
33
36
  rescue NameError
34
37
  rescue LoadError
35
38
  rescue Exception => e
@@ -1,5 +1,5 @@
1
1
  module Rails
2
2
  module Junctions
3
- VERSION = '0.0.7'
3
+ VERSION = '0.0.8'
4
4
  end
5
5
  end
data/lib/junctions.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'active_support/core_ext/module'
1
2
  require 'junctions/engine'
2
3
  require "junctions/version"
3
4
 
@@ -6,7 +7,7 @@ module Junctions
6
7
  delegate :core=, :junction_list=, :activate, to: Junctions::Engine
7
8
 
8
9
  def included(base)
9
- Junctions::Engine.activate(base, base.name)
10
+ Junctions::Engine.activate(base, self.name)
10
11
  end
11
12
  end
12
13
  end
@@ -13,7 +13,7 @@ class Junctions::Test < MiniTest::Spec
13
13
 
14
14
  describe ::Wibble do
15
15
  it 'has to_s overridden' do
16
- assert_equal 'metal', Wibble.new.to_s
16
+ assert_equal Wibble.new.to_s, 'metal'
17
17
  end
18
18
 
19
19
  it 'has a metal method' do
@@ -3,7 +3,7 @@ module Common
3
3
  include Junctions
4
4
  class << self
5
5
  def included(base)
6
- Junctions::activate(base, name)
6
+ Junctions::activate(base, self.name)
7
7
  end
8
8
  end
9
9
 
data/test/lib/wobble.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'junctions'
2
- Junctions::Engine.core = 'common'
3
- Junctions::Engine.junction_list = ['plastic', 'metal']
2
+ Junctions.core = 'common'
3
+ Junctions.junction_list = ['plastic', 'metal']
4
4
  require 'common/wibble_extensions'
5
5
 
6
6
  class Wobble
metadata CHANGED
@@ -1,99 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: junctions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul McKibbin
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-01 00:00:00.000000000 Z
11
+ date: 2022-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '5'
19
+ version: 5.2.4.3
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '5'
26
+ version: 5.2.4.3
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1'
33
+ version: '2.2'
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: 2.2.33
34
37
  type: :development
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
41
  - - "~>"
39
42
  - !ruby/object:Gem::Version
40
- version: '1'
43
+ version: '2.2'
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: 2.2.33
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: rake
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
51
  - - "~>"
46
52
  - !ruby/object:Gem::Version
47
- version: '12.2'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
+ version: '13.0'
54
+ - - ">="
53
55
  - !ruby/object:Gem::Version
54
- version: '12.2'
55
- - !ruby/object:Gem::Dependency
56
- name: minitest
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '5.11'
56
+ version: 13.0.6
62
57
  type: :development
63
58
  prerelease: false
64
59
  version_requirements: !ruby/object:Gem::Requirement
65
60
  requirements:
66
61
  - - "~>"
67
62
  - !ruby/object:Gem::Version
68
- version: '5.11'
63
+ version: '13.0'
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ version: 13.0.6
69
67
  - !ruby/object:Gem::Dependency
70
68
  name: simplecov
71
69
  requirement: !ruby/object:Gem::Requirement
72
70
  requirements:
73
71
  - - "~>"
74
72
  - !ruby/object:Gem::Version
75
- version: '0.16'
73
+ version: '0.21'
76
74
  type: :development
77
75
  prerelease: false
78
76
  version_requirements: !ruby/object:Gem::Requirement
79
77
  requirements:
80
78
  - - "~>"
81
79
  - !ruby/object:Gem::Version
82
- version: '0.16'
80
+ version: '0.21'
83
81
  - !ruby/object:Gem::Dependency
84
82
  name: config_files
85
83
  requirement: !ruby/object:Gem::Requirement
86
84
  requirements:
87
85
  - - "~>"
88
86
  - !ruby/object:Gem::Version
89
- version: 0.1.3
87
+ version: 0.1.6
90
88
  type: :development
91
89
  prerelease: false
92
90
  version_requirements: !ruby/object:Gem::Requirement
93
91
  requirements:
94
92
  - - "~>"
95
93
  - !ruby/object:Gem::Version
96
- version: 0.1.3
94
+ version: 0.1.6
97
95
  description: Description of Junctions.
98
96
  email:
99
97
  - pmckibbin@gmail.com
@@ -103,7 +101,6 @@ extra_rdoc_files: []
103
101
  files:
104
102
  - ".gitignore"
105
103
  - Gemfile
106
- - Gemfile.lock
107
104
  - LICENSE
108
105
  - README.md
109
106
  - junctions.gemspec
@@ -121,7 +118,7 @@ homepage: http://github.com/blackrat/junctions
121
118
  licenses:
122
119
  - MIT
123
120
  metadata: {}
124
- post_install_message:
121
+ post_install_message:
125
122
  rdoc_options: []
126
123
  require_paths:
127
124
  - lib
@@ -136,8 +133,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
133
  - !ruby/object:Gem::Version
137
134
  version: '0'
138
135
  requirements: []
139
- rubygems_version: 3.0.2
140
- signing_key:
136
+ rubygems_version: 3.1.6
137
+ signing_key:
141
138
  specification_version: 4
142
139
  summary: Summary of Junctions.
143
140
  test_files:
data/Gemfile.lock DELETED
@@ -1,45 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- junctions (0.0.7)
5
- activesupport (~> 5)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- activesupport (5.2.2)
11
- concurrent-ruby (~> 1.0, >= 1.0.2)
12
- i18n (>= 0.7, < 2)
13
- minitest (~> 5.1)
14
- tzinfo (~> 1.1)
15
- concurrent-ruby (1.1.4)
16
- config_files (0.1.3)
17
- activesupport
18
- docile (1.3.1)
19
- i18n (1.5.3)
20
- concurrent-ruby (~> 1.0)
21
- json (2.2.0)
22
- minitest (5.11.3)
23
- rake (12.3.2)
24
- simplecov (0.16.1)
25
- docile (~> 1.1)
26
- json (>= 1.8, < 3)
27
- simplecov-html (~> 0.10.0)
28
- simplecov-html (0.10.2)
29
- thread_safe (0.3.6)
30
- tzinfo (1.2.5)
31
- thread_safe (~> 0.1)
32
-
33
- PLATFORMS
34
- ruby
35
-
36
- DEPENDENCIES
37
- bundler (~> 1)
38
- config_files (~> 0.1.3)
39
- junctions!
40
- minitest (~> 5.11)
41
- rake (~> 12.2)
42
- simplecov (~> 0.16)
43
-
44
- BUNDLED WITH
45
- 1.17.3