twenty-cli 0.5.5 → 0.5.7

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: 2788338657a1baa50cd9df1dbf6f0ee6cec4670c70e888d0ecf483c2dee42aec
4
- data.tar.gz: b1cc4f163fc1a2be7aeb924ab9bbfba5f4769d4d848fe78265b288fb77e14dc3
3
+ metadata.gz: 39b8553e6aa621c07c81e4379940c7da72e535b26ac3c98714288ad75ad80f0e
4
+ data.tar.gz: 2742e7429d90c5affec8e5d335773c776f9a4bfb1299b853fc97b4dd471a2b7a
5
5
  SHA512:
6
- metadata.gz: d3db4deea8e6f421c1189d328298f1acf38f2058f33fff6d11b3413c898a674159130252e5131992268871e4a217de19b051e516c76ddc128d27688865a92403
7
- data.tar.gz: 2cdd2d036d9d1abb8680abe9b97a904a6608f650093579897f7b00dc3b3dd874971eae85ede66d308371a0d46c1f5362a0f7cb543dc5d997ff092f48c25ba0ca
6
+ metadata.gz: e94e2a9446e37590d542ab101588cffd2fa8fbf31406f30f1113c72b79e23cb4f1a0d7b84680c1bb778e1210b15013fddbd20fe49e547a612150df84f8a05d8b
7
+ data.tar.gz: 46a6643af111fbdb0dfa5c52eda52d68150948a2aa377ba0065d3ae131bf0b9c43193173e4bc1d6b8ec0a544b7bc3a34484ca143076e4932ae8cfba39a70756c
@@ -21,9 +21,9 @@ class Twenty::Command::Connect < Twenty::Command
21
21
  private
22
22
 
23
23
  def run_command(options)
24
- require "twenty/server/model"
25
24
  path = File.realpath(options.path ? options.path : Dir.getwd)
26
25
  if File.exist?(path)
26
+ require_models!
27
27
  project = Twenty::Project.create(
28
28
  name: File.basename(path),
29
29
  path:
@@ -24,7 +24,7 @@ class Twenty::Command::Console < Twenty::Command
24
24
  private
25
25
 
26
26
  def run_command(options)
27
- require "twenty/server/model"
27
+ require_models!
28
28
  require "irb"
29
29
  TOPLEVEL_BINDING.irb
30
30
  end
@@ -19,8 +19,8 @@ class Twenty::Command::Disconnect < Twenty::Command
19
19
  private
20
20
 
21
21
  def run_command(options)
22
- require "twenty/server/model"
23
22
  path = File.realpath(options.path ? options.path : Dir.getwd)
23
+ require_models!
24
24
  Twenty::Project
25
25
  .where(path:)
26
26
  .first!
@@ -2,11 +2,12 @@
2
2
 
3
3
  module Twenty::Command::Hook
4
4
  module RequireMigration
5
+ Error = Class.new(RuntimeError)
6
+
5
7
  def run_command(...)
6
8
  if pending_migrations?
7
- warn "There are pending migrations.\n" \
8
- "Run \"twenty migrate\" first.\n"
9
- exit(1)
9
+ raise Error, "There are pending database migrations to run. \n" \
10
+ "Try 'twenty migrate'"
10
11
  else
11
12
  super(...)
12
13
  end
@@ -3,6 +3,7 @@
3
3
  module Twenty::Command::Hook
4
4
  module Rescue
5
5
  FRAME_MAX = 15
6
+ INDENT_BY = 2
6
7
 
7
8
  def run(...)
8
9
  super(...)
@@ -11,7 +12,8 @@ module Twenty::Command::Hook
11
12
  $stderr.print "\n",
12
13
  " ", Paint[" Exception ", :white, :red, :bold], "\n",
13
14
  " ", Paint[ex.class.to_s, :bold], "\n",
14
- " ", ex.message, "\n\n",
15
+ ex.message.each_line.map { [" " * INDENT_BY, _1] }.join,
16
+ "\n\n",
15
17
  " ", Paint[" Backtrace ", :white, :blue, :bold], "\n",
16
18
  format_backtrace(ex.backtrace), "\n",
17
19
  "\n"
@@ -20,8 +22,8 @@ module Twenty::Command::Hook
20
22
  private
21
23
 
22
24
  def format_backtrace(backtrace)
23
- backtrace.last(FRAME_MAX).map do
24
- " #{_1.gsub(Dir.getwd, "")}"
25
+ backtrace[0..FRAME_MAX-1].map do
26
+ [" " * INDENT_BY, _1.gsub(Dir.getwd, "")].join
25
27
  end.join("\n")
26
28
  end
27
29
  end
@@ -36,7 +36,7 @@ class Twenty::Command::Up < Twenty::Command
36
36
  private
37
37
 
38
38
  def run_command(options)
39
- require "twenty/server/model"
39
+ require_models!
40
40
  File.binwrite(pid, Process.pid.to_s)
41
41
  thr = Twenty::Rack.server(options).start
42
42
  thr.join
@@ -16,4 +16,10 @@ class Twenty::Command < Cmd
16
16
  require_relative "command/disconnect"
17
17
  require_relative "command/migrate"
18
18
  require_relative "command/console"
19
+
20
+ private
21
+
22
+ def require_models!
23
+ require "twenty/server/model"
24
+ end
19
25
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: twenty-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.5
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - '0x1eef'
@@ -115,7 +115,6 @@ files:
115
115
  - "./lib/twenty/cli/command/hook/rescue.rb"
116
116
  - "./lib/twenty/cli/command/hook/sqlite_conn.rb"
117
117
  - "./lib/twenty/cli/command/migrate.rb"
118
- - "./lib/twenty/cli/command/mixin/common_option_mixin.rb"
119
118
  - "./lib/twenty/cli/command/option.rb"
120
119
  - "./lib/twenty/cli/command/option/database.rb"
121
120
  - "./lib/twenty/cli/command/up.rb"
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- class Twenty::Command
4
- module CommonOptionMixin
5
- def self.included(mod)
6
- mod.module_eval do
7
- set_option "-d PATH",
8
- "--database PATH",
9
- "The path to an alternate SQLite database",
10
- as: String,
11
- default: nil
12
- end
13
- end
14
- end
15
- end