munola 0.5.2 → 0.6.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 +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +12 -15
- data/lib/generators/munola/install/install_generator.rb +19 -0
- data/lib/munola/railtie.rb +10 -0
- data/lib/munola/version.rb +1 -1
- data/lib/munola.rb +4 -0
- metadata +9 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 558cd383ea993d03a3a667a3287a7ae27db1f8a41642e63bce0727846a1af987
|
|
4
|
+
data.tar.gz: 5cd95dccec42025f8cea27b8b6aaa528f8a1f7e4b17ddb1be53541a12bf62268
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2a47d2376487ef8e19cf22b5f66d00f32eb1ab8e7cab3750846ccc048a6739ec5cd7f6f4e7a527079a7c5ca3555baeb5d2ac7cf9000c2aa4ed772e225d30be0b
|
|
7
|
+
data.tar.gz: 51e549f4e966e6ad231f7618c2b9e7826a84fa0b2c8972c3fd35ff666128bfdf2d0f2b9fda657139b1548ac2ae9a2f76c138e75e8c178a9ebc95f9aa3a7c5ccb
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
## enola 0.5.3, enola-rb 0.5.3 and munola 0.6.0 (2026-08-24)
|
|
2
|
+
|
|
3
|
+
Both providers are on again. enola-labs shipped the prefix walk fix in 0.4.6,
|
|
4
|
+
which is the release the enola and enola-rb gems now drive, so the config they
|
|
5
|
+
write carries Prism and Rubydex as it did before the hang was found.
|
|
6
|
+
|
|
7
|
+
munola waits. Its binary is a fork release cut before that fix, so it stays on
|
|
8
|
+
Prism alone until the channel is re-cut, and its version file says which
|
|
9
|
+
upstream it is built on rather than implying the newest.
|
|
10
|
+
|
|
11
|
+
munola-rb is gone, and was never published. The railtie and generator move
|
|
12
|
+
into munola, which is why munola is 0.6.0: one gem for one channel, since the
|
|
13
|
+
split that makes sense for enola and enola-rb, letting a Rubyist take the
|
|
14
|
+
binary wrapper without the Rails layer, does not describe anyone's use of
|
|
15
|
+
munola. Requiring munola still loads no Rails; the generator registers when
|
|
16
|
+
the application has already loaded it.
|
|
17
|
+
|
|
1
18
|
## enola 0.5.2, enola-rb 0.5.2, munola 0.5.2 and munola-rb 0.5.2 (2026-08-23)
|
|
2
19
|
|
|
3
20
|
Rubydex is off in the config these gems write, and named in a comment beside
|
data/README.md
CHANGED
|
@@ -4,10 +4,11 @@ Four pure-Ruby gems, one repository, for running
|
|
|
4
4
|
[enola](https://github.com/enola-labs/enola), the architecture-graph tool,
|
|
5
5
|
from Ruby. None of them carries a binary or compiles anything.
|
|
6
6
|
|
|
7
|
-
Two channels
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
Two channels. `enola` wraps the released upstream binary and `enola-rb` adds
|
|
8
|
+
the Rails layer on it, split so a Rubyist can take the wrapper without Rails.
|
|
9
|
+
`munola` is one gem for its own channel, wrapper and Rails layer together,
|
|
10
|
+
because nobody installs it to avoid Rails. The Rails code is written once, in
|
|
11
|
+
`enola-rb`, and munola adds only what is munola's own.
|
|
11
12
|
|
|
12
13
|
## `enola`
|
|
13
14
|
|
|
@@ -109,14 +110,9 @@ publishes; `MUNOLA_BINARY=/path/to/enola` names one to drive instead, and
|
|
|
109
110
|
every command says which answered. `munola` depends on `enola` at the same
|
|
110
111
|
minor and on `enola-guides` 0.3.1 or later; requiring it loads no Rails.
|
|
111
112
|
|
|
112
|
-
##
|
|
113
|
+
## munola under Rails
|
|
113
114
|
|
|
114
|
-
|
|
115
|
-
both at the same minor and adds one generator.
|
|
116
|
-
|
|
117
|
-
```ruby
|
|
118
|
-
gem "munola-rb"
|
|
119
|
-
```
|
|
115
|
+
munola carries its own generator, and the rake tasks are enola-rb's:
|
|
120
116
|
|
|
121
117
|
```sh
|
|
122
118
|
bin/rails generate munola:install --tenant-column company_id
|
|
@@ -124,7 +120,8 @@ bin/rake enola:snapshot
|
|
|
124
120
|
bin/rake enola:check
|
|
125
121
|
```
|
|
126
122
|
|
|
127
|
-
The generator runs the same install `munola init` does.
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
123
|
+
The generator runs the same install `munola init` does. `munola` installs its
|
|
124
|
+
own resolver when it loads, so `enola:snapshot` and `enola:check` drive the
|
|
125
|
+
munola binary in an app that has this gem, and the upstream binary in one that
|
|
126
|
+
does not. Requiring munola loads no Rails; the generator registers when the
|
|
127
|
+
application has already loaded it.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "rails/generators"
|
|
4
|
+
require "munola"
|
|
5
|
+
|
|
6
|
+
module Munola
|
|
7
|
+
module Generators
|
|
8
|
+
class InstallGenerator < Rails::Generators::Base
|
|
9
|
+
desc "Writes enola/constraints/ and the munola recipe catalogue, binding what the tree shows a need for"
|
|
10
|
+
class_option :tenant_column, type: :string, default: nil, desc: "The column most tables carry; confirmed against db/schema.rb"
|
|
11
|
+
|
|
12
|
+
def install
|
|
13
|
+
Munola::Installer.new(destination_root, tenant_column: options[:tenant_column]).install.lines.each { |line| say line }
|
|
14
|
+
rescue Enola::Error => e
|
|
15
|
+
raise Thor::Error, "munola: #{e.message}"
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Munola
|
|
4
|
+
# The enola:* tasks come from the enola-rb railtie and drive whatever channel
|
|
5
|
+
# is installed; requiring munola installs its resolver, so under this gem
|
|
6
|
+
# they run the munola binary. Only the generator is munola's own.
|
|
7
|
+
class Railtie < Rails::Railtie
|
|
8
|
+
generators { require_relative "../generators/munola/install/install_generator" }
|
|
9
|
+
end
|
|
10
|
+
end
|
data/lib/munola/version.rb
CHANGED
data/lib/munola.rb
CHANGED
|
@@ -8,6 +8,10 @@ require_relative "munola/detector"
|
|
|
8
8
|
require_relative "munola/providers_config"
|
|
9
9
|
require_relative "munola/installer"
|
|
10
10
|
require_relative "munola/cli"
|
|
11
|
+
# munola is a wrapper first. enola-rb requires rails because it is the Rails
|
|
12
|
+
# layer; munola only registers its generator when the application has already
|
|
13
|
+
# loaded Rails, so driving the binary alone costs nothing.
|
|
14
|
+
require_relative "munola/railtie" if defined?(Rails::Railtie)
|
|
11
15
|
|
|
12
16
|
Enola.channel = Munola::CHANNEL
|
|
13
17
|
Enola.resolver_factory = -> { Munola::Resolver.new(channel: Munola::CHANNEL) }
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: munola
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Muhamed Isabegovic
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-08-
|
|
11
|
+
date: 2026-08-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: enola
|
|
@@ -16,28 +16,28 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.5.
|
|
19
|
+
version: 0.5.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: 0.5.
|
|
26
|
+
version: 0.5.3
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: enola-rb
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.5.
|
|
33
|
+
version: 0.5.3
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 0.5.
|
|
40
|
+
version: 0.5.3
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: enola-guides
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -66,7 +66,7 @@ description: |
|
|
|
66
66
|
enola-guides gem carries (Ember, data ownership, API boundaries,
|
|
67
67
|
background work, a tenant foreign key) into the project, binds the
|
|
68
68
|
recipes its tree justifies, and turns both Ruby providers on by default.
|
|
69
|
-
|
|
69
|
+
Under Rails it adds `rails generate munola:install`; the enola:* rake tasks come from enola-rb and drive munola's binary. Offered upstream where it fits;
|
|
70
70
|
no binary here, nothing compiled.
|
|
71
71
|
email:
|
|
72
72
|
- m.isabegovic@hotmail.com
|
|
@@ -79,6 +79,7 @@ files:
|
|
|
79
79
|
- LICENSE
|
|
80
80
|
- README.md
|
|
81
81
|
- exe/munola
|
|
82
|
+
- lib/generators/munola/install/install_generator.rb
|
|
82
83
|
- lib/munola.rb
|
|
83
84
|
- lib/munola/catalogue.rb
|
|
84
85
|
- lib/munola/channel.rb
|
|
@@ -86,6 +87,7 @@ files:
|
|
|
86
87
|
- lib/munola/detector.rb
|
|
87
88
|
- lib/munola/installer.rb
|
|
88
89
|
- lib/munola/providers_config.rb
|
|
90
|
+
- lib/munola/railtie.rb
|
|
89
91
|
- lib/munola/version.rb
|
|
90
92
|
homepage: https://github.com/misabegovic/enola-rb
|
|
91
93
|
licenses:
|