hanami-cli 1.0.0.alpha1 → 2.0.0.alpha6

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 +50 -0
  3. data/.gitignore +4 -2
  4. data/.rspec +1 -0
  5. data/.rubocop.yml +28 -1
  6. data/CHANGELOG.md +32 -1
  7. data/CODE_OF_CONDUCT.md +84 -0
  8. data/Gemfile +9 -2
  9. data/LICENSE.txt +21 -0
  10. data/README.md +12 -605
  11. data/Rakefile +5 -10
  12. data/exe/hanami +10 -0
  13. data/hanami-cli.gemspec +22 -17
  14. data/lib/hanami/cli/bundler.rb +73 -0
  15. data/lib/hanami/cli/command.rb +14 -386
  16. data/lib/hanami/cli/command_line.rb +17 -0
  17. data/lib/hanami/cli/commands/application.rb +63 -0
  18. data/lib/hanami/cli/commands/db/utils/database.rb +122 -0
  19. data/lib/hanami/cli/commands/db/utils/database_config.rb +48 -0
  20. data/lib/hanami/cli/commands/db/utils/mysql.rb +27 -0
  21. data/lib/hanami/cli/commands/db/utils/postgres.rb +49 -0
  22. data/lib/hanami/cli/commands/db/utils/sqlite.rb +37 -0
  23. data/lib/hanami/cli/commands/gem/new.rb +77 -0
  24. data/lib/hanami/cli/commands/gem/version.rb +18 -0
  25. data/lib/hanami/cli/commands/gem.rb +21 -0
  26. data/lib/hanami/cli/commands/monolith/console.rb +49 -0
  27. data/lib/hanami/cli/commands/monolith/db/create.rb +25 -0
  28. data/lib/hanami/cli/commands/monolith/db/create_migration.rb +29 -0
  29. data/lib/hanami/cli/commands/monolith/db/drop.rb +25 -0
  30. data/lib/hanami/cli/commands/monolith/db/migrate.rb +40 -0
  31. data/lib/hanami/cli/commands/monolith/db/reset.rb +26 -0
  32. data/lib/hanami/cli/commands/monolith/db/rollback.rb +55 -0
  33. data/lib/hanami/cli/commands/monolith/db/sample_data.rb +40 -0
  34. data/lib/hanami/cli/commands/monolith/db/seed.rb +40 -0
  35. data/lib/hanami/cli/commands/monolith/db/setup.rb +24 -0
  36. data/lib/hanami/cli/commands/monolith/db/structure/dump.rb +25 -0
  37. data/lib/hanami/cli/commands/monolith/db/version.rb +26 -0
  38. data/lib/hanami/cli/commands/monolith/generate/action.rb +62 -0
  39. data/lib/hanami/cli/commands/monolith/generate/slice.rb +62 -0
  40. data/lib/hanami/cli/commands/monolith/generate.rb +14 -0
  41. data/lib/hanami/cli/commands/monolith/install.rb +16 -0
  42. data/lib/hanami/cli/commands/monolith/version.rb +18 -0
  43. data/lib/hanami/cli/commands/monolith.rb +55 -0
  44. data/lib/hanami/cli/commands.rb +26 -0
  45. data/lib/hanami/cli/error.rb +8 -0
  46. data/lib/hanami/cli/generators/context.rb +38 -0
  47. data/lib/hanami/cli/generators/gem/application/monolith/action.erb +21 -0
  48. data/lib/hanami/cli/generators/gem/application/monolith/application.erb +8 -0
  49. data/lib/hanami/cli/generators/gem/application/monolith/config_ru.erb +5 -0
  50. data/lib/hanami/cli/generators/gem/application/monolith/entities.erb +9 -0
  51. data/lib/hanami/cli/generators/gem/application/monolith/env.erb +0 -0
  52. data/lib/hanami/cli/generators/gem/application/monolith/functions.erb +13 -0
  53. data/lib/hanami/cli/generators/gem/application/monolith/gemfile.erb +19 -0
  54. data/lib/hanami/cli/generators/gem/application/monolith/keep.erb +0 -0
  55. data/lib/hanami/cli/generators/gem/application/monolith/operation.erb +18 -0
  56. data/lib/hanami/cli/generators/gem/application/monolith/rakefile.erb +3 -0
  57. data/lib/hanami/cli/generators/gem/application/monolith/readme.erb +1 -0
  58. data/lib/hanami/cli/generators/gem/application/monolith/repository.erb +13 -0
  59. data/lib/hanami/cli/generators/gem/application/monolith/routes.erb +4 -0
  60. data/lib/hanami/cli/generators/gem/application/monolith/settings.erb +6 -0
  61. data/lib/hanami/cli/generators/gem/application/monolith/types.erb +10 -0
  62. data/lib/hanami/cli/generators/gem/application/monolith/validation_contract.erb +14 -0
  63. data/lib/hanami/cli/generators/gem/application/monolith/view_context.erb +15 -0
  64. data/lib/hanami/cli/generators/gem/application/monolith.rb +83 -0
  65. data/lib/hanami/cli/generators/gem/application.rb +21 -0
  66. data/lib/hanami/cli/generators/monolith/action/action.erb +13 -0
  67. data/lib/hanami/cli/generators/monolith/action/template.erb +0 -0
  68. data/lib/hanami/cli/generators/monolith/action/template.html.erb +2 -0
  69. data/lib/hanami/cli/generators/monolith/action/view.erb +13 -0
  70. data/lib/hanami/cli/generators/monolith/action.rb +123 -0
  71. data/lib/hanami/cli/generators/monolith/action_context.rb +76 -0
  72. data/lib/hanami/cli/generators/monolith/slice/action.erb +9 -0
  73. data/lib/hanami/cli/generators/monolith/slice/entities.erb +9 -0
  74. data/lib/hanami/cli/generators/monolith/slice/keep.erb +0 -0
  75. data/lib/hanami/cli/generators/monolith/slice/repository.erb +10 -0
  76. data/lib/hanami/cli/generators/monolith/slice/routes.erb +2 -0
  77. data/lib/hanami/cli/generators/monolith/slice/view.erb +9 -0
  78. data/lib/hanami/cli/generators/monolith/slice.rb +56 -0
  79. data/lib/hanami/cli/generators/monolith/slice_context.rb +33 -0
  80. data/lib/hanami/cli/repl/core.rb +55 -0
  81. data/lib/hanami/cli/repl/irb.rb +38 -0
  82. data/lib/hanami/cli/repl/pry.rb +29 -0
  83. data/lib/hanami/cli/system_call.rb +51 -0
  84. data/lib/hanami/cli/url.rb +34 -0
  85. data/lib/hanami/cli/version.rb +2 -3
  86. data/lib/hanami/cli.rb +9 -122
  87. data/lib/hanami/console/context.rb +53 -0
  88. data/lib/hanami/console/plugins/slice_readers.rb +24 -0
  89. data/lib/hanami/rake_tasks.rb +52 -0
  90. metadata +135 -43
  91. data/.circleci/config.yml +0 -63
  92. data/.travis.yml +0 -22
  93. data/lib/hanami/cli/banner.rb +0 -129
  94. data/lib/hanami/cli/command_registry.rb +0 -215
  95. data/lib/hanami/cli/errors.rb +0 -46
  96. data/lib/hanami/cli/option.rb +0 -134
  97. data/lib/hanami/cli/parser.rb +0 -144
  98. data/lib/hanami/cli/program_name.rb +0 -21
  99. data/lib/hanami/cli/registry.rb +0 -330
  100. data/lib/hanami/cli/usage.rb +0 -91
  101. data/script/ci +0 -61
@@ -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,8 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Hanami
4
- class CLI
5
- # @since 0.1.0
6
- VERSION = "1.0.0.alpha1"
4
+ module CLI
5
+ VERSION = "2.0.0.alpha6"
7
6
  end
8
7
  end
data/lib/hanami/cli.rb CHANGED
@@ -1,129 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Hanami
4
- #
5
- # @since 0.1.0
6
- module Hanami
7
- # General purpose Command Line Interface (CLI) framework for Ruby
8
- #
9
- # @since 0.1.0
10
- class CLI
11
- require "hanami/cli/version"
12
- require "hanami/cli/errors"
13
- require "hanami/cli/command"
14
- require "hanami/cli/registry"
15
- require "hanami/cli/parser"
16
- require "hanami/cli/usage"
17
- require "hanami/cli/banner"
18
-
19
- # Check if command
20
- #
21
- # @param command [Object] the command to check
22
- #
23
- # @return [TrueClass,FalseClass] true if instance of `Hanami::CLI::Command`
24
- #
25
- # @since 0.1.0
26
- # @api private
27
- def self.command?(command)
28
- case command
29
- when Class
30
- command.ancestors.include?(Command)
31
- else
32
- command.is_a?(Command)
33
- end
34
- end
35
-
36
- # Create a new instance
37
- #
38
- # @param registry [Hanami::CLI::Registry] a registry
39
- #
40
- # @return [Hanami::CLI] the new instance
41
- # @since 0.1.0
42
- def initialize(registry)
43
- @commands = registry
44
- end
45
-
46
- # Invoke the CLI
47
- #
48
- # @param arguments [Array<string>] the command line arguments (defaults to `ARGV`)
49
- # @param out [IO] the standard output (defaults to `$stdout`)
50
- #
51
- # @since 0.1.0
52
- def call(arguments: ARGV, out: $stdout)
53
- result = commands.get(arguments)
54
-
55
- if result.found?
56
- command, args = parse(result, out)
57
-
58
- result.before_callbacks.run(command, args)
59
- command.call(args)
60
- result.after_callbacks.run(command, args)
61
- else
62
- usage(result, out)
63
- end
64
- end
65
-
66
- private
3
+ require "dry/cli"
67
4
 
68
- # @since 0.1.0
69
- # @api private
70
- attr_reader :commands
71
-
72
- # Parse arguments for a command.
73
- #
74
- # It may exit in case of error, or in case of help.
75
- #
76
- # @param result [Hanami::CLI::CommandRegistry::LookupResult]
77
- # @param out [IO] sta output
78
- #
79
- # @return [Array<Hanami:CLI::Command, Array>] returns an array where the
80
- # first element is a command and the second one is the list of arguments
81
- #
82
- # @since 0.1.0
83
- # @api private
84
- def parse(result, out) # rubocop:disable Metrics/MethodLength
85
- command = result.command
86
- return [command, result.arguments] unless command?(command)
87
-
88
- result = Parser.call(command, result.arguments, result.names)
89
-
90
- if result.help?
91
- Banner.call(command, out)
92
- exit(0)
93
- end
94
-
95
- if result.error?
96
- out.puts(result.error)
97
- exit(1)
98
- end
99
-
100
- [command, result.arguments]
101
- end
5
+ module Hanami
6
+ module CLI
7
+ require_relative "cli/version"
8
+ require_relative "cli/error"
9
+ require_relative "cli/bundler"
10
+ require_relative "cli/commands"
102
11
 
103
- # Prints the command usage and exit.
104
- #
105
- # @param result [Hanami::CLI::CommandRegistry::LookupResult]
106
- # @param out [IO] sta output
107
- #
108
- # @since 0.1.0
109
- # @api private
110
- def usage(result, out)
111
- Usage.call(result, out)
112
- exit(1)
113
- end
12
+ extend Dry::CLI::Registry
114
13
 
115
- # Check if command
116
- #
117
- # @param command [Object] the command to check
118
- #
119
- # @return [TrueClass,FalseClass] true if instance of `Hanami::CLI::Command`
120
- #
121
- # @since 0.1.0
122
- # @api private
123
- #
124
- # @see .command?
125
- def command?(command)
126
- CLI.command?(command)
127
- end
14
+ register_commands!
128
15
  end
129
16
  end
@@ -0,0 +1,53 @@
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
+ attr_reader :application
14
+
15
+ # @api private
16
+ def initialize(application)
17
+ super()
18
+ @application = application
19
+
20
+ define_context_methods
21
+ include Plugins::SliceReaders.new(application)
22
+ end
23
+
24
+ private
25
+
26
+ def define_context_methods
27
+ app = application
28
+
29
+ define_method(:inspect) do
30
+ "#<#{self.class} application=#{app} env=#{app.config.env}>"
31
+ end
32
+
33
+ define_method(:app) do
34
+ app
35
+ end
36
+
37
+ define_method(:application) do
38
+ app
39
+ end
40
+
41
+ define_method(:method_missing) do |name, *args, &block|
42
+ return app.public_send(name, *args, &block) if app.respond_to?(name)
43
+
44
+ super(name, *args, &block)
45
+ end
46
+
47
+ define_method(:respond_to_missing?) do |name, include_private|
48
+ super(name, include_private) || app.respond_to?(name, include_private)
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,24 @@
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
+ super()
14
+
15
+ application.slices.each do |(name, slice)|
16
+ define_method(name) do
17
+ slice
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ 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,129 +1,221 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hanami-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.alpha1
4
+ version: 2.0.0.alpha6
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: 2019-01-30 00:00:00.000000000 Z
11
+ date: 2022-02-10 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: 2.0.alpha
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: 2.0.alpha
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: '1.6'
48
- - - "<"
47
+ version: '0.6'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
49
53
  - !ruby/object:Gem::Version
50
- version: '3'
51
- type: :development
54
+ version: '0.6'
55
+ - !ruby/object:Gem::Dependency
56
+ name: dry-files
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.1'
62
+ type: :runtime
52
63
  prerelease: false
53
64
  version_requirements: !ruby/object:Gem::Requirement
54
65
  requirements:
55
- - - ">="
66
+ - - "~>"
56
67
  - !ruby/object:Gem::Version
57
- version: '1.6'
58
- - - "<"
68
+ version: '0.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: dry-inflector
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
59
74
  - !ruby/object:Gem::Version
60
- version: '3'
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'
61
83
  - !ruby/object:Gem::Dependency
62
- name: rake
84
+ name: rspec
63
85
  requirement: !ruby/object:Gem::Requirement
64
86
  requirements:
65
87
  - - "~>"
66
88
  - !ruby/object:Gem::Version
67
- version: '12.0'
89
+ version: '3.9'
68
90
  type: :development
69
91
  prerelease: false
70
92
  version_requirements: !ruby/object:Gem::Requirement
71
93
  requirements:
72
94
  - - "~>"
73
95
  - !ruby/object:Gem::Version
74
- version: '12.0'
96
+ version: '3.9'
75
97
  - !ruby/object:Gem::Dependency
76
- name: rspec
98
+ name: rubocop
77
99
  requirement: !ruby/object:Gem::Requirement
78
100
  requirements:
79
101
  - - "~>"
80
102
  - !ruby/object:Gem::Version
81
- version: '3.7'
103
+ version: '1.0'
82
104
  type: :development
83
105
  prerelease: false
84
106
  version_requirements: !ruby/object:Gem::Requirement
85
107
  requirements:
86
108
  - - "~>"
87
109
  - !ruby/object:Gem::Version
88
- version: '3.7'
89
- description: Hanami framework to build command line interfaces with Ruby
110
+ version: '1.0'
111
+ description: Hanami command line
90
112
  email:
91
113
  - me@lucaguidi.com
92
- executables: []
114
+ executables:
115
+ - hanami
93
116
  extensions: []
94
117
  extra_rdoc_files: []
95
118
  files:
96
- - ".circleci/config.yml"
119
+ - ".github/workflows/ci.yml"
97
120
  - ".gitignore"
98
121
  - ".rspec"
99
122
  - ".rubocop.yml"
100
- - ".travis.yml"
101
123
  - CHANGELOG.md
124
+ - CODE_OF_CONDUCT.md
102
125
  - Gemfile
126
+ - LICENSE.txt
103
127
  - README.md
104
128
  - Rakefile
105
129
  - bin/console
106
130
  - bin/setup
131
+ - exe/hanami
107
132
  - hanami-cli.gemspec
108
133
  - lib/hanami/cli.rb
109
- - lib/hanami/cli/banner.rb
134
+ - lib/hanami/cli/bundler.rb
110
135
  - lib/hanami/cli/command.rb
111
- - lib/hanami/cli/command_registry.rb
112
- - lib/hanami/cli/errors.rb
113
- - lib/hanami/cli/option.rb
114
- - lib/hanami/cli/parser.rb
115
- - lib/hanami/cli/program_name.rb
116
- - lib/hanami/cli/registry.rb
117
- - 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
118
205
  - lib/hanami/cli/version.rb
119
- - script/ci
120
- 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
121
210
  licenses:
122
211
  - MIT
123
212
  metadata:
124
213
  allowed_push_host: https://rubygems.org
214
+ homepage_uri: https://hanamirb.org
125
215
  source_code_uri: https://github.com/hanami/cli
126
- post_install_message:
216
+ changelog_uri: https://github.com/hanami/cli/blob/master/CHANGELOG.md
217
+ rubygems_mfa_required: 'true'
218
+ post_install_message:
127
219
  rdoc_options: []
128
220
  require_paths:
129
221
  - lib
@@ -131,15 +223,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
131
223
  requirements:
132
224
  - - ">="
133
225
  - !ruby/object:Gem::Version
134
- version: 2.5.0
226
+ version: '3.0'
135
227
  required_rubygems_version: !ruby/object:Gem::Requirement
136
228
  requirements:
137
229
  - - ">"
138
230
  - !ruby/object:Gem::Version
139
231
  version: 1.3.1
140
232
  requirements: []
141
- rubygems_version: 3.0.2
142
- signing_key:
233
+ rubygems_version: 3.3.3
234
+ signing_key:
143
235
  specification_version: 4
144
236
  summary: Hanami CLI
145
237
  test_files: []
data/.circleci/config.yml DELETED
@@ -1,63 +0,0 @@
1
- # Ruby CircleCI 2.0 configuration file
2
- #
3
- # Check https://circleci.com/docs/2.0/language-ruby/ for more details
4
- #
5
- version: 2
6
- jobs:
7
- "ruby-2.5":
8
- docker:
9
- - image: hanami/ruby-2.5
10
- working_directory: ~/hanami-utils
11
- steps:
12
- - checkout
13
- # Download and cache dependencies
14
- - restore_cache:
15
- keys:
16
- - v1-dependencies-{{ checksum "Gemfile.lock" }}
17
- # fallback to using the latest cache if no exact match is found
18
- - v1-dependencies-
19
- - run:
20
- name: install dependencies
21
- command: |
22
- bundle install --jobs=4 --retry=3 --path vendor/bundle
23
- - save_cache:
24
- paths:
25
- - ./vendor/bundle
26
- key: v1-dependencies-{{ checksum "Gemfile.lock" }}
27
- # run tests!
28
- - run:
29
- name: run tests
30
- command: |
31
- ./script/ci
32
- "ruby-2.6":
33
- docker:
34
- - image: hanami/ruby-2.6
35
- working_directory: ~/hanami-utils
36
- steps:
37
- - checkout
38
- # Download and cache dependencies
39
- - restore_cache:
40
- keys:
41
- - v1-dependencies-{{ checksum "Gemfile.lock" }}
42
- # fallback to using the latest cache if no exact match is found
43
- - v1-dependencies-
44
- - run:
45
- name: install dependencies
46
- command: |
47
- bundle install --jobs=4 --retry=3 --path vendor/bundle
48
- - save_cache:
49
- paths:
50
- - ./vendor/bundle
51
- key: v1-dependencies-{{ checksum "Gemfile.lock" }}
52
- # run tests!
53
- - run:
54
- name: run tests
55
- command: |
56
- ./script/ci
57
-
58
- workflows:
59
- version: 2
60
- build:
61
- jobs:
62
- - "ruby-2.5"
63
- - "ruby-2.6"
data/.travis.yml DELETED
@@ -1,22 +0,0 @@
1
- language: ruby
2
- sudo: false
3
- cache: bundler
4
- before_script:
5
- - gem update --system
6
- script: ./script/ci
7
- rvm:
8
- - 2.5
9
- - 2.6
10
- - ruby-head
11
-
12
- matrix:
13
- allow_failures:
14
- - rvm: ruby-head
15
-
16
- notifications:
17
- webhooks:
18
- urls:
19
- - https://webhooks.gitter.im/e/fde2367248d53de4fe70
20
- on_success: change # options: [always|never|change] default: always
21
- on_failure: always # options: [always|never|change] default: always
22
- on_start: never # options: [always|never|change] default: always