openbox 0.1.0 → 0.2.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/.rubocop.yml +4 -0
- data/Gemfile.lock +1 -1
- data/exe/openbox +1 -1
- data/lib/openbox/command.rb +6 -13
- data/lib/openbox/commands/console.rb +21 -0
- data/lib/openbox/commands/migrate.rb +21 -0
- data/lib/openbox/commands/rake.rb +21 -0
- data/lib/openbox/commands/seed.rb +21 -0
- data/lib/openbox/commands/server.rb +25 -0
- data/lib/openbox/commands/sidekiq.rb +21 -0
- data/lib/openbox/entrypoint.rb +24 -0
- data/lib/openbox/runtime.rb +8 -3
- data/lib/openbox/version.rb +1 -1
- data/lib/openbox.rb +8 -2
- metadata +8 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 905c948832fb826dd639688aafec9e39fc2527ed047bb35ee1a8871a198acc31
|
4
|
+
data.tar.gz: b3568ee2c518336993a421abbd24c841c1ce776792a98e62c124123e57d37de9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 372e2b1efd3dcd11e33798d5c094be2348c7e1553a5f304d571178a77370d63360b089f0051dc69b3745fead40093a0d32175893b7f41fc64a6f6e379a5831ce
|
7
|
+
data.tar.gz: 60156481a01491f8ba3aaa3612cb4c573f643dd4e13c8922e5d9b8c9639c7331061582aead5071fd762d6c9fa7f627dd3a137bde626ffb5b942b0c569f51d313
|
data/.rubocop.yml
CHANGED
data/Gemfile.lock
CHANGED
data/exe/openbox
CHANGED
data/lib/openbox/command.rb
CHANGED
@@ -1,24 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'thor'
|
4
|
-
require 'openbox/runtime'
|
5
4
|
|
6
5
|
module Openbox
|
7
|
-
# The
|
6
|
+
# The base command of openbox
|
8
7
|
#
|
9
8
|
# @since 0.1.0
|
10
|
-
class Command < Thor
|
9
|
+
class Command < Thor::Group
|
10
|
+
# Execute command
|
11
|
+
#
|
11
12
|
# @since 0.1.0
|
12
|
-
|
13
|
-
|
14
|
-
Openbox.database.ensure_connection!
|
15
|
-
return exec('bundle exec rails server') if Openbox.runtime.rails?
|
16
|
-
|
17
|
-
exec('bundle exec rackup -o 0.0.0.0')
|
18
|
-
end
|
19
|
-
|
20
|
-
def self.exit_on_failure?
|
21
|
-
true
|
13
|
+
def execute
|
14
|
+
raise NotImplementedError
|
22
15
|
end
|
23
16
|
end
|
24
17
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Openbox
|
4
|
+
# :nodoc:
|
5
|
+
module Commands
|
6
|
+
# The Console Command
|
7
|
+
#
|
8
|
+
# @since 0.1.0
|
9
|
+
class Console < Openbox::Command
|
10
|
+
# Run rails console
|
11
|
+
#
|
12
|
+
# @since 0.1.0
|
13
|
+
def execute
|
14
|
+
Openbox.database.ensure_connection!
|
15
|
+
exec('bundle exec rails console')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Openbox::Entrypoint.register(Console, 'console', 'console', 'Run rails console') if Openbox.runtime.has?('rails')
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Openbox
|
4
|
+
# :nodoc:
|
5
|
+
module Commands
|
6
|
+
# The Migrate Command
|
7
|
+
#
|
8
|
+
# @since 0.1.0
|
9
|
+
class Migrate < Openbox::Command
|
10
|
+
# Run rails migrate
|
11
|
+
#
|
12
|
+
# @since 0.1.0
|
13
|
+
def execute
|
14
|
+
Openbox.database.ensure_connection!
|
15
|
+
exec('bundle exec rails db:migrate')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Openbox::Entrypoint.register(Migrate, 'migrate', 'migrate', 'Run rails migrate') if Openbox.runtime.has?('rails')
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Openbox
|
4
|
+
# :nodoc:
|
5
|
+
module Commands
|
6
|
+
# The Rake Command
|
7
|
+
#
|
8
|
+
# @since 0.1.0
|
9
|
+
class Rake < Openbox::Command
|
10
|
+
# Run rake task with database connection check
|
11
|
+
#
|
12
|
+
# @since 0.1.0
|
13
|
+
def execute
|
14
|
+
Openbox.database.ensure_connection!
|
15
|
+
exec("bundle exec rake #{args}")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Openbox::Entrypoint.register(Rake, 'rake', 'rake', 'Run rake task') if Openbox.runtime.has?('rails', 'rake')
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Openbox
|
4
|
+
# :nodoc:
|
5
|
+
module Commands
|
6
|
+
# The Seed Command
|
7
|
+
#
|
8
|
+
# @since 0.1.0
|
9
|
+
class Seed < Openbox::Command
|
10
|
+
# Run rails seed
|
11
|
+
#
|
12
|
+
# @since 0.1.0
|
13
|
+
def execute
|
14
|
+
Openbox.database.ensure_connection!
|
15
|
+
exec('bundle exec rails db:seed')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Openbox::Entrypoint.register(Seed, 'seed', 'seed', 'Run rails seed') if Openbox.runtime.has?('rails')
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Openbox
|
4
|
+
# :nodoc:
|
5
|
+
module Commands
|
6
|
+
# The Server Command
|
7
|
+
#
|
8
|
+
# @since 0.1.0
|
9
|
+
class Server < Openbox::Command
|
10
|
+
# Run Application Server
|
11
|
+
#
|
12
|
+
# @since 0.1.0
|
13
|
+
def execute
|
14
|
+
Openbox.database.ensure_connection!
|
15
|
+
return exec('bundle exec rails server') if Openbox.runtime.rails?
|
16
|
+
|
17
|
+
exec('bundle exec rackup -o 0.0.0.0')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
if Openbox.runtime.has?('rails', 'rack')
|
22
|
+
Openbox::Entrypoint.register(Server, 'server', 'server', 'Start application server')
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Openbox
|
4
|
+
# :nodoc:
|
5
|
+
module Commands
|
6
|
+
# The Sidekiq Command
|
7
|
+
#
|
8
|
+
# @since 0.1.0
|
9
|
+
class Sidekiq < Openbox::Command
|
10
|
+
# Run sidekiq
|
11
|
+
#
|
12
|
+
# @since 0.1.0
|
13
|
+
def execute
|
14
|
+
Openbox.database.ensure_connection!
|
15
|
+
exec('bundle exec sidekiq')
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Openbox::Entrypoint.register(Sidekiq, 'sidekiq', 'sidekiq', 'Run rails sidekiq') if Openbox.runtime.has?('sidekiq')
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'thor'
|
4
|
+
require 'openbox/runtime'
|
5
|
+
require 'openbox/command'
|
6
|
+
|
7
|
+
module Openbox
|
8
|
+
# The Container Entrypoint
|
9
|
+
#
|
10
|
+
# @since 0.1.0
|
11
|
+
class Entrypoint < Thor
|
12
|
+
# :nodoc:
|
13
|
+
def self.exit_on_failure?
|
14
|
+
true
|
15
|
+
end
|
16
|
+
|
17
|
+
require 'openbox/commands/server'
|
18
|
+
require 'openbox/commands/rake'
|
19
|
+
require 'openbox/commands/migrate'
|
20
|
+
require 'openbox/commands/seed'
|
21
|
+
require 'openbox/commands/console'
|
22
|
+
require 'openbox/commands/sidekiq'
|
23
|
+
end
|
24
|
+
end
|
data/lib/openbox/runtime.rb
CHANGED
@@ -7,6 +7,13 @@ module Openbox
|
|
7
7
|
#
|
8
8
|
# @since 0.1.0
|
9
9
|
class Runtime
|
10
|
+
# @param dependencies [Array<Bundler::Dependency>]
|
11
|
+
#
|
12
|
+
# @since 0.1.0
|
13
|
+
def initialize(dependencies = [])
|
14
|
+
@dependencies = dependencies
|
15
|
+
end
|
16
|
+
|
10
17
|
# Check for Rails environment
|
11
18
|
#
|
12
19
|
# @return [TrueClass|FalseClass]
|
@@ -22,9 +29,7 @@ module Openbox
|
|
22
29
|
#
|
23
30
|
# @since 0.1.0
|
24
31
|
def select(*names)
|
25
|
-
|
26
|
-
.definition
|
27
|
-
.current_dependencies
|
32
|
+
@dependencies
|
28
33
|
.select { |dep| names.include?(dep.name) && (dep.groups & groups).any? }
|
29
34
|
end
|
30
35
|
|
data/lib/openbox/version.rb
CHANGED
data/lib/openbox.rb
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
require_relative 'openbox/version'
|
4
4
|
require_relative 'openbox/database'
|
5
5
|
require_relative 'openbox/runtime'
|
6
|
-
require_relative 'openbox/command'
|
7
6
|
|
8
7
|
# The tool to build Ruby container easier
|
9
8
|
#
|
@@ -20,7 +19,12 @@ module Openbox
|
|
20
19
|
return @runtime if @runtime
|
21
20
|
|
22
21
|
LOCK.synchronize do
|
23
|
-
|
22
|
+
dependencies = if defined?(Bundler)
|
23
|
+
Bundler.definition.current_dependencies
|
24
|
+
else
|
25
|
+
[]
|
26
|
+
end
|
27
|
+
@runtime ||= Runtime.new(dependencies)
|
24
28
|
end
|
25
29
|
end
|
26
30
|
|
@@ -34,4 +38,6 @@ module Openbox
|
|
34
38
|
@database ||= Database.new
|
35
39
|
end
|
36
40
|
end
|
41
|
+
|
42
|
+
require_relative 'openbox/entrypoint'
|
37
43
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openbox
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- 蒼時弦也
|
@@ -46,7 +46,14 @@ files:
|
|
46
46
|
- exe/openbox
|
47
47
|
- lib/openbox.rb
|
48
48
|
- lib/openbox/command.rb
|
49
|
+
- lib/openbox/commands/console.rb
|
50
|
+
- lib/openbox/commands/migrate.rb
|
51
|
+
- lib/openbox/commands/rake.rb
|
52
|
+
- lib/openbox/commands/seed.rb
|
53
|
+
- lib/openbox/commands/server.rb
|
54
|
+
- lib/openbox/commands/sidekiq.rb
|
49
55
|
- lib/openbox/database.rb
|
56
|
+
- lib/openbox/entrypoint.rb
|
50
57
|
- lib/openbox/runtime.rb
|
51
58
|
- lib/openbox/version.rb
|
52
59
|
- openbox.gemspec
|