hanami-cli 0.2.0 → 2.0.0.alpha2

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.
Files changed (101) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +42 -0
  3. data/.gitignore +4 -2
  4. data/.rspec +1 -0
  5. data/.rubocop.yml +25 -1
  6. data/CHANGELOG.md +39 -1
  7. data/CODE_OF_CONDUCT.md +84 -0
  8. data/Gemfile +13 -6
  9. data/LICENSE.txt +21 -0
  10. data/README.md +13 -488
  11. data/Rakefile +8 -15
  12. data/bin/console +1 -0
  13. data/exe/hanami +10 -0
  14. data/hanami-cli.gemspec +24 -18
  15. data/lib/hanami/cli.rb +10 -121
  16. data/lib/hanami/cli/bundler.rb +73 -0
  17. data/lib/hanami/cli/command.rb +16 -355
  18. data/lib/hanami/cli/command_line.rb +17 -0
  19. data/lib/hanami/cli/commands.rb +26 -0
  20. data/lib/hanami/cli/commands/application.rb +63 -0
  21. data/lib/hanami/cli/commands/db/utils/database.rb +122 -0
  22. data/lib/hanami/cli/commands/db/utils/database_config.rb +48 -0
  23. data/lib/hanami/cli/commands/db/utils/mysql.rb +27 -0
  24. data/lib/hanami/cli/commands/db/utils/postgres.rb +49 -0
  25. data/lib/hanami/cli/commands/db/utils/sqlite.rb +37 -0
  26. data/lib/hanami/cli/commands/gem.rb +21 -0
  27. data/lib/hanami/cli/commands/gem/new.rb +77 -0
  28. data/lib/hanami/cli/commands/gem/version.rb +18 -0
  29. data/lib/hanami/cli/commands/monolith.rb +55 -0
  30. data/lib/hanami/cli/commands/monolith/console.rb +50 -0
  31. data/lib/hanami/cli/commands/monolith/db/create.rb +25 -0
  32. data/lib/hanami/cli/commands/monolith/db/create_migration.rb +29 -0
  33. data/lib/hanami/cli/commands/monolith/db/drop.rb +25 -0
  34. data/lib/hanami/cli/commands/monolith/db/migrate.rb +40 -0
  35. data/lib/hanami/cli/commands/monolith/db/reset.rb +26 -0
  36. data/lib/hanami/cli/commands/monolith/db/rollback.rb +55 -0
  37. data/lib/hanami/cli/commands/monolith/db/sample_data.rb +40 -0
  38. data/lib/hanami/cli/commands/monolith/db/seed.rb +40 -0
  39. data/lib/hanami/cli/commands/monolith/db/setup.rb +24 -0
  40. data/lib/hanami/cli/commands/monolith/db/structure/dump.rb +25 -0
  41. data/lib/hanami/cli/commands/monolith/db/version.rb +26 -0
  42. data/lib/hanami/cli/commands/monolith/generate.rb +14 -0
  43. data/lib/hanami/cli/commands/monolith/generate/action.rb +62 -0
  44. data/lib/hanami/cli/commands/monolith/generate/slice.rb +62 -0
  45. data/lib/hanami/cli/commands/monolith/install.rb +16 -0
  46. data/lib/hanami/cli/commands/monolith/version.rb +18 -0
  47. data/lib/hanami/cli/error.rb +8 -0
  48. data/lib/hanami/cli/generators/context.rb +38 -0
  49. data/lib/hanami/cli/generators/gem/application.rb +21 -0
  50. data/lib/hanami/cli/generators/gem/application/monolith.rb +83 -0
  51. data/lib/hanami/cli/generators/gem/application/monolith/action.erb +21 -0
  52. data/lib/hanami/cli/generators/gem/application/monolith/application.erb +8 -0
  53. data/lib/hanami/cli/generators/gem/application/monolith/config_ru.erb +5 -0
  54. data/lib/hanami/cli/generators/gem/application/monolith/entities.erb +9 -0
  55. data/lib/hanami/cli/generators/gem/application/monolith/env.erb +0 -0
  56. data/lib/hanami/cli/generators/gem/application/monolith/functions.erb +13 -0
  57. data/lib/hanami/cli/generators/gem/application/monolith/gemfile.erb +19 -0
  58. data/lib/hanami/cli/generators/gem/application/monolith/keep.erb +0 -0
  59. data/lib/hanami/cli/generators/gem/application/monolith/operation.erb +18 -0
  60. data/lib/hanami/cli/generators/gem/application/monolith/rakefile.erb +3 -0
  61. data/lib/hanami/cli/generators/gem/application/monolith/readme.erb +1 -0
  62. data/lib/hanami/cli/generators/gem/application/monolith/repository.erb +13 -0
  63. data/lib/hanami/cli/generators/gem/application/monolith/routes.erb +4 -0
  64. data/lib/hanami/cli/generators/gem/application/monolith/settings.erb +6 -0
  65. data/lib/hanami/cli/generators/gem/application/monolith/types.erb +10 -0
  66. data/lib/hanami/cli/generators/gem/application/monolith/validation_contract.erb +14 -0
  67. data/lib/hanami/cli/generators/gem/application/monolith/view_context.erb +15 -0
  68. data/lib/hanami/cli/generators/monolith/action.rb +123 -0
  69. data/lib/hanami/cli/generators/monolith/action/action.erb +13 -0
  70. data/lib/hanami/cli/generators/monolith/action/template.erb +0 -0
  71. data/lib/hanami/cli/generators/monolith/action/template.html.erb +2 -0
  72. data/lib/hanami/cli/generators/monolith/action/view.erb +13 -0
  73. data/lib/hanami/cli/generators/monolith/action_context.rb +76 -0
  74. data/lib/hanami/cli/generators/monolith/slice.rb +56 -0
  75. data/lib/hanami/cli/generators/monolith/slice/action.erb +9 -0
  76. data/lib/hanami/cli/generators/monolith/slice/entities.erb +9 -0
  77. data/lib/hanami/cli/generators/monolith/slice/keep.erb +0 -0
  78. data/lib/hanami/cli/generators/monolith/slice/repository.erb +10 -0
  79. data/lib/hanami/cli/generators/monolith/slice/routes.erb +2 -0
  80. data/lib/hanami/cli/generators/monolith/slice/view.erb +9 -0
  81. data/lib/hanami/cli/generators/monolith/slice_context.rb +33 -0
  82. data/lib/hanami/cli/repl/core.rb +55 -0
  83. data/lib/hanami/cli/repl/irb.rb +41 -0
  84. data/lib/hanami/cli/repl/pry.rb +29 -0
  85. data/lib/hanami/cli/system_call.rb +51 -0
  86. data/lib/hanami/cli/url.rb +34 -0
  87. data/lib/hanami/cli/version.rb +4 -3
  88. data/lib/hanami/console/context.rb +39 -0
  89. data/lib/hanami/console/plugins/slice_readers.rb +42 -0
  90. data/lib/hanami/rake_tasks.rb +52 -0
  91. metadata +138 -41
  92. data/.travis.yml +0 -16
  93. data/lib/hanami/cli/banner.rb +0 -126
  94. data/lib/hanami/cli/command_registry.rb +0 -213
  95. data/lib/hanami/cli/errors.rb +0 -32
  96. data/lib/hanami/cli/option.rb +0 -125
  97. data/lib/hanami/cli/parser.rb +0 -122
  98. data/lib/hanami/cli/program_name.rb +0 -19
  99. data/lib/hanami/cli/registry.rb +0 -328
  100. data/lib/hanami/cli/usage.rb +0 -88
  101. data/script/ci +0 -51
@@ -0,0 +1,9 @@
1
+ # auto_register: false
2
+ # frozen_string_literal: true
3
+
4
+ module <%= classified_slice_name %>
5
+ module Entities
6
+ end
7
+ end
8
+
9
+ Dir[File.join(__dir__, "entities", "*.rb")].each(&method(:require))
File without changes
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "<%= underscored_app_name %>/repository"
4
+ require_relative "entities"
5
+
6
+ module <%= classified_slice_name %>
7
+ class Repository < <%= classified_app_name %>::Repository
8
+ struct_namespace Entities
9
+ end
10
+ end
@@ -0,0 +1,2 @@
1
+ slice :<%= underscored_slice_name %>, at: "<%= slice_url_prefix %>" do
2
+ end
@@ -0,0 +1,9 @@
1
+ # auto_register: false
2
+ # frozen_string_literal: true
3
+
4
+ require "<%= underscored_app_name %>/view"
5
+
6
+ module <%= classified_slice_name %>
7
+ class View < <%= classified_app_name %>::View
8
+ end
9
+ end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../context"
4
+
5
+ module Hanami
6
+ module CLI
7
+ module Generators
8
+ module Monolith
9
+ class SliceContext < Generators::Context
10
+ def initialize(inflector, app, slice, slice_url_prefix)
11
+ @slice = slice
12
+ @slice_url_prefix = slice_url_prefix
13
+ super(inflector, app)
14
+ end
15
+
16
+ def classified_slice_name
17
+ inflector.classify(slice)
18
+ end
19
+
20
+ def underscored_slice_name
21
+ inflector.underscore(slice)
22
+ end
23
+
24
+ private
25
+
26
+ attr_reader :slice
27
+
28
+ attr_reader :slice_url_prefix
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "hanami/console/context"
4
+
5
+ module Hanami
6
+ module CLI
7
+ module Repl
8
+ # @api private
9
+ class Core
10
+ # @api private
11
+ attr_reader :application
12
+
13
+ # @api private
14
+ attr_reader :opts
15
+
16
+ # @api private
17
+ def initialize(application, opts)
18
+ @application = application
19
+ @opts = opts
20
+ end
21
+
22
+ # @api private
23
+ def start
24
+ raise NotImplementedError
25
+ end
26
+
27
+ # @api private
28
+ def context
29
+ @context ||= Hanami::Console::Context.new(application)
30
+ end
31
+
32
+ # @api private
33
+ def prompt
34
+ "#{name}[#{env}]"
35
+ end
36
+
37
+ # @api private
38
+ def name
39
+ (application.container.config.name || inflector.underscore(application.name))
40
+ .split("/")[0]
41
+ end
42
+
43
+ # @api private
44
+ def env
45
+ application.container.env
46
+ end
47
+
48
+ # @api private
49
+ def inflector
50
+ application.inflector
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "irb"
4
+ require_relative "core"
5
+
6
+ module Hanami
7
+ module CLI
8
+ module Repl
9
+ # @since 2.0.0
10
+ # @api public
11
+ class Irb < Core
12
+ # @api public
13
+ def start
14
+ ARGV.shift until ARGV.empty?
15
+ TOPLEVEL_BINDING.eval('self').extend(context)
16
+
17
+ IRB.conf[:PROMPT] = {}
18
+
19
+ IRB.conf[:PROMPT][:MY_PROMPT] = {
20
+ :AUTO_INDENT => true,
21
+ :PROMPT_I => ">> ",
22
+ :PROMPT_S => nil,
23
+ :PROMPT_C => nil,
24
+ :RETURN => " ==>%s\n"
25
+ }
26
+
27
+ IRB.conf[:PROMPT_MODE] = :MY_PROMPT
28
+
29
+ IRB.start
30
+ end
31
+
32
+ private
33
+
34
+ # @api private
35
+ def conf
36
+ @conf ||= IRB.conf
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "pry"
4
+ require_relative "core"
5
+
6
+ module Hanami
7
+ module CLI
8
+ module Repl
9
+ # @since 2.0.0
10
+ # @api public
11
+ class Pry < Core
12
+ # @api private
13
+ class Context
14
+ end
15
+
16
+ # @api public
17
+ def start
18
+ ::Pry.config.prompt = ::Pry::Prompt.new(
19
+ "hanami",
20
+ "my custom prompt",
21
+ [proc { |*| "#{prompt}> " }]
22
+ )
23
+
24
+ ::Pry.start(Context.new.extend(context))
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Hanami
4
+ module CLI
5
+ class SystemCall
6
+ class Result
7
+ SUCCESSFUL_EXIT_CODE = 0
8
+ private_constant :SUCCESSFUL_EXIT_CODE
9
+
10
+ attr_reader :exit_code, :out, :err
11
+
12
+ def initialize(exit_code:, out:, err:)
13
+ @exit_code = exit_code
14
+ @out = out
15
+ @err = err
16
+ end
17
+
18
+ def successful?
19
+ exit_code == SUCCESSFUL_EXIT_CODE
20
+ end
21
+ end
22
+
23
+ # Adapted from Bundler source code
24
+ #
25
+ # Bundler is released under MIT license
26
+ # https://github.com/bundler/bundler/blob/master/LICENSE.md
27
+ #
28
+ # A special "thank you" goes to Bundler maintainers and contributors.
29
+ #
30
+ # Also adapted from `hanami-devtools` source code
31
+ def call(cmd, env: {})
32
+ exitstatus = nil
33
+ out = nil
34
+ err = nil
35
+
36
+ ::Bundler.with_unbundled_env do
37
+ Open3.popen3(env, cmd) do |stdin, stdout, stderr, wait_thr|
38
+ yield stdin, stdout, wait_thr if block_given?
39
+ stdin.close
40
+
41
+ exitstatus = wait_thr&.value&.exitstatus
42
+ out = Thread.new { stdout.read }.value.strip
43
+ err = Thread.new { stderr.read }.value.strip
44
+ end
45
+ end
46
+
47
+ Result.new(exit_code: exitstatus, out: out, err: err)
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "uri"
4
+
5
+ module Hanami
6
+ module CLI
7
+ module URL
8
+ DEFAULT_URL_PREFIX = "/"
9
+ private_constant :DEFAULT_URL_PREFIX
10
+
11
+ class << self
12
+ def call(url)
13
+ result = url
14
+ result = URI.parse(result).path
15
+
16
+ unless valid?(result)
17
+ raise ArgumentError.new("invalid URL: `#{url}'")
18
+ end
19
+
20
+ result
21
+ rescue URI::InvalidURIError
22
+ raise ArgumentError.new("invalid URL: `#{url}'")
23
+ end
24
+ alias_method :[], :call
25
+
26
+ def valid?(url)
27
+ return false if url.nil?
28
+
29
+ url.start_with?(DEFAULT_URL_PREFIX)
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,6 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Hanami
2
- class CLI
3
- # @since 0.1.0
4
- VERSION = "0.2.0".freeze
4
+ module CLI
5
+ VERSION = "2.0.0.alpha2"
5
6
  end
6
7
  end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "plugins/slice_readers"
4
+
5
+ module Hanami
6
+ module Console
7
+ # Hanami application console context
8
+ #
9
+ # @api private
10
+ # @since 2.0.0
11
+ class Context < Module
12
+ # @api private
13
+ def initialize(application)
14
+ @application = application
15
+ end
16
+
17
+ # @api private
18
+ def extended(other)
19
+ super
20
+ app = @application
21
+
22
+ extend(Plugins::SliceReaders.new(app))
23
+
24
+ define_method(:inspect) do
25
+ "#<#{self.class} application=#{app} env=#{app.config.env}>"
26
+ end
27
+
28
+ define_method(:method_missing) do |name, *args, &block|
29
+ return app.public_send(name, *args, &block) if app.respond_to?(name)
30
+ super(name, *args, &block)
31
+ end
32
+
33
+ define_method(:respond_to_missing?) do |name, include_private|
34
+ super(name, include_private) || app.respond_to?(name, include_private)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "delegate"
4
+
5
+ module Hanami
6
+ module Console
7
+ module Plugins
8
+ # @api private
9
+ # @since 2.0.0
10
+ class SliceReaders < Module
11
+ # @api private
12
+ def initialize(application)
13
+ application.slices.each do |(name, slice)|
14
+ define_method(name) do
15
+ SliceDelegator.new(slice)
16
+ end
17
+ end
18
+ end
19
+
20
+ # @api private
21
+ # @since 2.0.0
22
+ class SliceDelegator < SimpleDelegator
23
+ # @api private
24
+ def respond_to_missing?(name)
25
+ key?(name)
26
+ end
27
+
28
+ private
29
+
30
+ # @api private
31
+ def method_missing(name, *args, &block)
32
+ if args.empty? && key?(name)
33
+ self[name]
34
+ else
35
+ super
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "rake"
4
+ require "hanami/cli/bundler"
5
+
6
+ module Hanami
7
+ # Install Rake tasks in an application
8
+ #
9
+ # @since 2.0.0
10
+ class RakeTasks
11
+ include Rake::DSL
12
+
13
+ # @since 2.0.0
14
+ # @api private
15
+ @tasks = []
16
+
17
+ # @since 2.0.0
18
+ # @api private
19
+ @_mutex = Mutex.new
20
+
21
+ # @since 2.0.0
22
+ # @api private
23
+ def self.register_tasks(&blk)
24
+ @_mutex.synchronize do
25
+ @tasks << blk
26
+ @tasks.uniq!
27
+ end
28
+ end
29
+
30
+ # @since 2.0.0
31
+ # @api private
32
+ def self.tasks
33
+ @_mutex.synchronize do
34
+ @tasks
35
+ end
36
+ end
37
+
38
+ # @since 0.6.0
39
+ # @api private
40
+ def self.install_tasks
41
+ new.call(tasks)
42
+ end
43
+
44
+ # @since 2.0.0
45
+ # @api private
46
+ def call(tasks)
47
+ tasks.each(&:call)
48
+ end
49
+ end
50
+ end
51
+
52
+ Hanami::CLI::Bundler.require(:cli)
metadata CHANGED
@@ -1,122 +1,220 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanami-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 2.0.0.alpha2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luca Guidi
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-04-11 00:00:00.000000000 Z
11
+ date: 2021-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: hanami-utils
14
+ name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.2'
19
+ version: '2.1'
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: '1.2'
26
+ version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
- name: concurrent-ruby
28
+ name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.0'
33
+ version: '13.0'
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: '1.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: dry-cli
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
47
+ version: '0.6'
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: '0.6'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rake
56
+ name: dry-files
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '12.0'
62
- type: :development
61
+ version: '0.1'
62
+ type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '12.0'
68
+ version: '0.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: dry-inflector
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.2'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.2'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rspec
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '3.7'
89
+ version: '3.9'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '3.9'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.11'
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
108
  - - "~>"
81
109
  - !ruby/object:Gem::Version
82
- version: '3.7'
83
- description: Hanami framework to build command line interfaces with Ruby
110
+ version: '1.11'
111
+ description: Hanami command line
84
112
  email:
85
113
  - me@lucaguidi.com
86
- executables: []
114
+ executables:
115
+ - hanami
87
116
  extensions: []
88
117
  extra_rdoc_files: []
89
118
  files:
119
+ - ".github/workflows/ci.yml"
90
120
  - ".gitignore"
91
121
  - ".rspec"
92
122
  - ".rubocop.yml"
93
- - ".travis.yml"
94
123
  - CHANGELOG.md
124
+ - CODE_OF_CONDUCT.md
95
125
  - Gemfile
126
+ - LICENSE.txt
96
127
  - README.md
97
128
  - Rakefile
98
129
  - bin/console
99
130
  - bin/setup
131
+ - exe/hanami
100
132
  - hanami-cli.gemspec
101
133
  - lib/hanami/cli.rb
102
- - lib/hanami/cli/banner.rb
134
+ - lib/hanami/cli/bundler.rb
103
135
  - lib/hanami/cli/command.rb
104
- - lib/hanami/cli/command_registry.rb
105
- - lib/hanami/cli/errors.rb
106
- - lib/hanami/cli/option.rb
107
- - lib/hanami/cli/parser.rb
108
- - lib/hanami/cli/program_name.rb
109
- - lib/hanami/cli/registry.rb
110
- - lib/hanami/cli/usage.rb
136
+ - lib/hanami/cli/command_line.rb
137
+ - lib/hanami/cli/commands.rb
138
+ - lib/hanami/cli/commands/application.rb
139
+ - lib/hanami/cli/commands/db/utils/database.rb
140
+ - lib/hanami/cli/commands/db/utils/database_config.rb
141
+ - lib/hanami/cli/commands/db/utils/mysql.rb
142
+ - lib/hanami/cli/commands/db/utils/postgres.rb
143
+ - lib/hanami/cli/commands/db/utils/sqlite.rb
144
+ - lib/hanami/cli/commands/gem.rb
145
+ - lib/hanami/cli/commands/gem/new.rb
146
+ - lib/hanami/cli/commands/gem/version.rb
147
+ - lib/hanami/cli/commands/monolith.rb
148
+ - lib/hanami/cli/commands/monolith/console.rb
149
+ - lib/hanami/cli/commands/monolith/db/create.rb
150
+ - lib/hanami/cli/commands/monolith/db/create_migration.rb
151
+ - lib/hanami/cli/commands/monolith/db/drop.rb
152
+ - lib/hanami/cli/commands/monolith/db/migrate.rb
153
+ - lib/hanami/cli/commands/monolith/db/reset.rb
154
+ - lib/hanami/cli/commands/monolith/db/rollback.rb
155
+ - lib/hanami/cli/commands/monolith/db/sample_data.rb
156
+ - lib/hanami/cli/commands/monolith/db/seed.rb
157
+ - lib/hanami/cli/commands/monolith/db/setup.rb
158
+ - lib/hanami/cli/commands/monolith/db/structure/dump.rb
159
+ - lib/hanami/cli/commands/monolith/db/version.rb
160
+ - lib/hanami/cli/commands/monolith/generate.rb
161
+ - lib/hanami/cli/commands/monolith/generate/action.rb
162
+ - lib/hanami/cli/commands/monolith/generate/slice.rb
163
+ - lib/hanami/cli/commands/monolith/install.rb
164
+ - lib/hanami/cli/commands/monolith/version.rb
165
+ - lib/hanami/cli/error.rb
166
+ - lib/hanami/cli/generators/context.rb
167
+ - lib/hanami/cli/generators/gem/application.rb
168
+ - lib/hanami/cli/generators/gem/application/monolith.rb
169
+ - lib/hanami/cli/generators/gem/application/monolith/action.erb
170
+ - lib/hanami/cli/generators/gem/application/monolith/application.erb
171
+ - lib/hanami/cli/generators/gem/application/monolith/config_ru.erb
172
+ - lib/hanami/cli/generators/gem/application/monolith/entities.erb
173
+ - lib/hanami/cli/generators/gem/application/monolith/env.erb
174
+ - lib/hanami/cli/generators/gem/application/monolith/functions.erb
175
+ - lib/hanami/cli/generators/gem/application/monolith/gemfile.erb
176
+ - lib/hanami/cli/generators/gem/application/monolith/keep.erb
177
+ - lib/hanami/cli/generators/gem/application/monolith/operation.erb
178
+ - lib/hanami/cli/generators/gem/application/monolith/rakefile.erb
179
+ - lib/hanami/cli/generators/gem/application/monolith/readme.erb
180
+ - lib/hanami/cli/generators/gem/application/monolith/repository.erb
181
+ - lib/hanami/cli/generators/gem/application/monolith/routes.erb
182
+ - lib/hanami/cli/generators/gem/application/monolith/settings.erb
183
+ - lib/hanami/cli/generators/gem/application/monolith/types.erb
184
+ - lib/hanami/cli/generators/gem/application/monolith/validation_contract.erb
185
+ - lib/hanami/cli/generators/gem/application/monolith/view_context.erb
186
+ - lib/hanami/cli/generators/monolith/action.rb
187
+ - lib/hanami/cli/generators/monolith/action/action.erb
188
+ - lib/hanami/cli/generators/monolith/action/template.erb
189
+ - lib/hanami/cli/generators/monolith/action/template.html.erb
190
+ - lib/hanami/cli/generators/monolith/action/view.erb
191
+ - lib/hanami/cli/generators/monolith/action_context.rb
192
+ - lib/hanami/cli/generators/monolith/slice.rb
193
+ - lib/hanami/cli/generators/monolith/slice/action.erb
194
+ - lib/hanami/cli/generators/monolith/slice/entities.erb
195
+ - lib/hanami/cli/generators/monolith/slice/keep.erb
196
+ - lib/hanami/cli/generators/monolith/slice/repository.erb
197
+ - lib/hanami/cli/generators/monolith/slice/routes.erb
198
+ - lib/hanami/cli/generators/monolith/slice/view.erb
199
+ - lib/hanami/cli/generators/monolith/slice_context.rb
200
+ - lib/hanami/cli/repl/core.rb
201
+ - lib/hanami/cli/repl/irb.rb
202
+ - lib/hanami/cli/repl/pry.rb
203
+ - lib/hanami/cli/system_call.rb
204
+ - lib/hanami/cli/url.rb
111
205
  - lib/hanami/cli/version.rb
112
- - script/ci
113
- homepage: http://hanamirb.org
206
+ - lib/hanami/console/context.rb
207
+ - lib/hanami/console/plugins/slice_readers.rb
208
+ - lib/hanami/rake_tasks.rb
209
+ homepage: https://hanamirb.org
114
210
  licenses:
115
211
  - MIT
116
212
  metadata:
117
213
  allowed_push_host: https://rubygems.org
214
+ homepage_uri: https://hanamirb.org
118
215
  source_code_uri: https://github.com/hanami/cli
119
- post_install_message:
216
+ changelog_uri: https://github.com/hanami/cli/blob/master/CHANGELOG.md
217
+ post_install_message:
120
218
  rdoc_options: []
121
219
  require_paths:
122
220
  - lib
@@ -124,16 +222,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
124
222
  requirements:
125
223
  - - ">="
126
224
  - !ruby/object:Gem::Version
127
- version: '0'
225
+ version: 2.6.0
128
226
  required_rubygems_version: !ruby/object:Gem::Requirement
129
227
  requirements:
130
- - - ">="
228
+ - - ">"
131
229
  - !ruby/object:Gem::Version
132
- version: '0'
230
+ version: 1.3.1
133
231
  requirements: []
134
- rubyforge_project:
135
- rubygems_version: 2.7.6
136
- signing_key:
232
+ rubygems_version: 3.2.4
233
+ signing_key:
137
234
  specification_version: 4
138
235
  summary: Hanami CLI
139
236
  test_files: []