junctions 0.0.7 → 0.0.8

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 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