mimas 0.3.0 → 0.3.1

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: ea7a87706ea7f9976b782cb891e446b813c7c866e2a4907f451565e670d194a5
4
- data.tar.gz: adde800fcc3df657cc512cfd14b9fe1ef314e3d4f19f903c68259c3d7394ef28
3
+ metadata.gz: 63e189942a8ac6122487ac902f2a3ccf5e353442b2159cd336a0b0b4828d4fb3
4
+ data.tar.gz: 07250c8fe15deef0ebacd566feeb500efc91a6cf1d77631f63e1ae4c084e7ba0
5
5
  SHA512:
6
- metadata.gz: 984c764fc02feeb671c63f33528258abb8ad271811400d27affe7e220fd4eb6d66652b57a3b829fa1bf972aa23a6a2d5fbb42fe6bc7ec290cf1c1155fc352654
7
- data.tar.gz: 939fa01df07457e75ecb9b2929757edfa0045cb109ec7f7b33366566397af491aca94df1f4a00125f99bd119ab05fc8cc4b318f3cb6c21e0bdabbc03a1853619
6
+ metadata.gz: ffc9f5c7c236c550f205376277f591b68af6a4328d1f4e510d2e21f3500aec6aa09a0066ca25f57953b867126dda52594ec7afb5492a5d8353047d722fe24fd4
7
+ data.tar.gz: e4cbbfe1fd2bdbd973a00116507f0d7b3b47871c7d20acddd9baa9d09827c51c6c85ba3fc8e37d7f5f737a5ff4a1137f2c2f64d751fe24f41e0e494c3a757c32
@@ -5,8 +5,8 @@ module Mimas
5
5
  class Archiver
6
6
  DEFAULT_OUTPUT_PATH = Pathname.new(Dir.pwd).join("tmp")
7
7
 
8
- def initialize(root:, output_path: DEFAULT_OUTPUT_PATH, output_file:, archive_root: nil, glob: nil, files: [])
9
- @root = root || Dir.pwd
8
+ def initialize(root: Dir.pwd, output_path: DEFAULT_OUTPUT_PATH, output_file:, archive_root: nil, glob: nil, files: [])
9
+ @root = root
10
10
  @output = Pathname.new(output_path).join(output_file)
11
11
  @archive_root = archive_root || ""
12
12
  @glob = glob
data/lib/mimas/cli.rb CHANGED
@@ -3,15 +3,18 @@ module Mimas
3
3
  module Commands
4
4
  extend Dry::CLI::Registry
5
5
 
6
- register "init", Init
7
- register "install ruby", Install
8
- register "provision", Provision
9
- register "push", Push
10
- register "console", Console
11
- register "archive", Archive
12
- register "setup caddy", Setup::Caddy
13
- register "setup deploy_user", Setup::DeployUser
14
- register "setup ruby", Setup::Ruby
6
+ register "init", Init
7
+ register "install ruby", Install
8
+ register "provision", Provision
9
+ register "push", Push, aliases: ["deploy"]
10
+ register "console", Console
11
+ register "archive", Archive
12
+
13
+ register "setup" do |setup|
14
+ setup.register "caddy", Setup::Caddy
15
+ setup.register "deploy_user", Setup::DeployUser
16
+ setup.register "ruby", Setup::Ruby
17
+ end
15
18
  end
16
19
 
17
20
  Plugins.fetch.each do |plugin|
@@ -2,9 +2,9 @@ module Mimas
2
2
  module CLI
3
3
  module Commands
4
4
  class Archive < BaseCommand
5
- desc "Create your site's archive which will be uploaded to the server"
5
+ desc "Create your site's archive which will be uploaded to the server, in a `tmp` folder. Use this to inspect what will be uploaded."
6
6
 
7
- argument :site, desc: "The name of the site to archive"
7
+ argument :site, desc: "The name of the site to archive."
8
8
 
9
9
  def call(site: :default)
10
10
  site = Config.current.sites[site.to_sym]
@@ -4,10 +4,10 @@ module Mimas
4
4
  class Console < BaseCommand
5
5
  desc "Run your app's console"
6
6
 
7
- argument :server_name, required: true, desc: "The name of the server to run the console on"
8
- argument :site, desc: "The site to run the console for. Uses the default site if unspecified"
7
+ argument :server_name, required: true, desc: "The name of the server to run the console on"
8
+ argument :site, default: :default, desc: "The site to run the console for. Uses the default site if unspecified"
9
9
 
10
- def call(server_name:, site: :default)
10
+ def call(server_name:, site:, **)
11
11
  server = Config.current.servers[server_name.to_sym]
12
12
  site = Config.current.sites[site.to_sym]
13
13
 
@@ -5,14 +5,14 @@ module Mimas
5
5
  desc "Push your Ruby app to the server"
6
6
 
7
7
  argument :server_name, required: true, desc: "The name of the server to push to"
8
- argument :site, desc: "The site to push. Uses the default site if unspecified"
8
+ argument :site, default: :default, desc: "The site to push. Uses the default site if unspecified"
9
9
 
10
10
  example [
11
11
  "production # Push the default site to the production server",
12
12
  "production app # Push the `:app` site to the production server"
13
13
  ]
14
14
 
15
- def call(server_name:, site: :default)
15
+ def call(server_name:, site:, **)
16
16
  server = Config.current.servers[server_name.to_sym]
17
17
  site = Config.current.sites[site.to_sym]
18
18
 
@@ -21,7 +21,7 @@ module Mimas
21
21
  deploy_ruby_app
22
22
  end
23
23
  ensure
24
- File.delete(archive_path)
24
+ File.delete(archive_path) if archive_path
25
25
  end
26
26
  end
27
27
  end
@@ -8,7 +8,7 @@ module Mimas
8
8
  Net::SSH.start(host, user) do |session|
9
9
  session.open_channel do |channel|
10
10
  channel.request_pty do
11
- channel.exec("cd #{current_path(site)} && /bin/bash -lc #{console_command}") do
11
+ channel.exec("cd #{current_path(site)} && /bin/bash -lc '#{console_command}'") do
12
12
  channel.on_data do |_, data|
13
13
  $stdout.print(data) if data
14
14
  end
data/lib/mimas/server.rb CHANGED
@@ -5,6 +5,8 @@ module Mimas
5
5
  # Server setup helpers
6
6
  include Harden, DeployUser, Ruby, Caddy
7
7
 
8
+ include Console
9
+
8
10
  attr_reader :name, :host, :user, :ssh_options
9
11
 
10
12
  def initialize(name, args)
data/lib/mimas/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Mimas
2
- VERSION = "0.3.0"
2
+ VERSION = "0.3.1"
3
3
  end
data/lib/mimas.rb CHANGED
@@ -24,6 +24,7 @@ require_relative "mimas/server/harden"
24
24
  require_relative "mimas/server/deploy_user"
25
25
  require_relative "mimas/server/caddy"
26
26
  require_relative "mimas/server/ruby"
27
+ require_relative "mimas/server/console"
27
28
  require_relative "mimas/server"
28
29
 
29
30
  require_relative "mimas/deployment/caddy"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mimas
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ayush Newatia
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2026-07-30 00:00:00.000000000 Z
10
+ date: 2026-07-31 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: dry-cli