osbc 0.1.5 → 0.1.6

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.
data/lib/osbc/osbc.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Osbc
4
- VERSION = "0.1.5"
4
+ VERSION = "0.1.6"
5
5
  class Osbc
6
6
  end
7
7
 
@@ -1,19 +1,29 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "rake"
4
+ require_relative "task_helpers/compose_taskhelper"
5
+
6
+
7
+ def task_helper
8
+ @task_helper ||= TaskHelpers::ComposeTaskhelper.new
9
+ end
10
+
11
+ def compose_command
12
+ @compose_command ||= task_helper.compose_command
13
+ end
4
14
 
5
15
  namespace :compose do
6
16
  task :install do
7
17
  puts "Installing Blockchain and Database Containers"
8
- system "sudo docker compose build"
18
+ system "sudo #{compose_command} build"
9
19
  puts "Creating Database"
10
- system "sudo docker compose run --rm web rails db:create"
20
+ system "sudo #{compose_command} run --rm web rails db:create"
11
21
  puts "Migrating Database"
12
- system "sudo docker compose run --rm web rails db:migrate"
22
+ system "sudo #{compose_command} run --rm web rails db:migrate"
13
23
  puts "Seeding Database"
14
- system "sudo docker compose run --rm web rails db:seed"
24
+ system "sudo #{compose_command} run --rm web rails db:seed"
15
25
  puts "Stopping Containers"
16
- system "sudo docker compose down"
26
+ system "sudo #{compose_command} down"
17
27
  puts "Installing Blockchain and Database Containers... Done!"
18
28
  puts "This already setup your database with some initial values"
19
29
  puts "Start the containers with command: rake compose:up"
@@ -32,57 +42,58 @@ namespace :compose do
32
42
 
33
43
  task :build do
34
44
  puts "Building Compose..."
35
- system "sudo docker compose build"
45
+ system "sudo #{compose_command} build"
36
46
  puts "Building Compose... Done!"
37
47
  end
38
48
 
39
49
  task :up do
50
+ puts compose_command
40
51
  puts "Running Compose..."
41
- system "sudo docker compose up -d --remove-orphans"
52
+ system "sudo #{compose_command} up -d --remove-orphans"
42
53
  puts "Running Compose... Done!"
43
54
  end
44
55
 
45
56
  task :down do
46
57
  puts "Stopping Compose..."
47
- system "sudo docker compose down"
58
+ system "sudo #{compose_command} down"
48
59
  puts "Stopping Compose... Done!"
49
60
  end
50
61
 
51
62
  task :db_detach do
52
63
  puts "Running Database Detached..."
53
- system "sudo docker compose up -d db"
64
+ system "sudo #{compose_command} up -d db"
54
65
  puts "Running Database Detached... Done!"
55
66
  end
56
67
 
57
68
  task :redis_detach do
58
69
  puts "Running Redis Detached..."
59
- system "sudo docker compose up -d redis"
70
+ system "sudo #{compose_command} up -d redis"
60
71
  puts "Running Redis Detached... Done!"
61
72
  end
62
73
 
63
74
  task :back_detach do
64
75
  puts "Running Backend Detached..."
65
- system "sudo docker compose up -d --remove-orphans db redis sidekiq"
76
+ system "sudo #{compose_command} up -d --remove-orphans db redis sidekiq"
66
77
  puts "Running Backend Detached... Done!"
67
78
  end
68
79
 
69
80
  task :restart do
70
81
  puts "Restarting Compose..."
71
82
  puts "Stopping Compose..."
72
- system "sudo docker compose down"
83
+ system "sudo #{compose_command} down"
73
84
  puts "Stopping Compose... Done!"
74
85
  puts "Running Compose..."
75
- system "sudo docker compose up -d --remove-orphans"
86
+ system "sudo #{compose_command} up -d --remove-orphans"
76
87
  puts "Restarting Compose... Done!"
77
88
  end
78
89
 
79
90
  task :clean_all do
80
91
  puts "Cleaning Images..."
81
92
  puts "Stopping Compose..."
82
- system "sudo docker compose down"
93
+ system "sudo #{compose_command} down"
83
94
  puts "Stopping Compose... Done!"
84
95
  puts "Removing Compose..."
85
- system "sudo docker compose rm -v"
96
+ system "sudo #{compose_command} rm -v"
86
97
  puts "Removing Compose... Done!"
87
98
  puts "Removing Containers..."
88
99
  system "sudo docker rm -f $(sudo docker ps -a -q)"
@@ -1,71 +1,81 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "rake"
4
+ require_relative "task_helpers/compose_taskhelper"
5
+
6
+
7
+ def task_helper
8
+ @task_helper ||= TaskHelpers::ComposeTaskhelper.new
9
+ end
10
+
11
+ def compose_command
12
+ @compose_comand ||= task_helper.compose_command
13
+ end
4
14
 
5
15
  namespace :compose_db do
6
16
  task :drop do
7
17
  puts "Dropping Database..."
8
- system("sudo docker compose run --rm web rake db:drop")
18
+ system "sudo #{compose_command} run --rm web rake db:drop"
9
19
  puts "Dropping Database... Done!"
10
20
  end
11
21
 
12
22
  task :rollback do
13
23
  puts "Rolling Back Database..."
14
- system("sudo docker compose run --rm web rails db:rollback")
24
+ system "sudo #{compose_command} run --rm web rails db:rollback"
15
25
  puts "Rolling Back Database... Done!"
16
26
  end
17
27
 
18
28
  task :complete_setup do
19
29
  puts "Setting up Database..."
20
- system("sudo docker compose run --rm web rake db:create")
21
- system("sudo docker compose run --rm web rake db:migrate")
22
- system("sudo docker compose run --rm web rake db:seed")
30
+ system "sudo #{compose_command} run --rm web rake db:create"
31
+ system "sudo #{compose_command} run --rm web rake db:migrate"
32
+ system "sudo #{compose_command} run --rm web rake db:seed"
23
33
  puts "Setting up Database... Done!"
24
34
  end
25
35
 
26
36
  task :setup do
27
37
  puts "Setting up and seeding Database..."
28
- system("sudo docker compose run --rm web rake db:setup")
38
+ system "sudo #{compose_command} run --rm web rake db:setup"
29
39
  puts "Setting up and seeding Database... Done!"
30
40
  end
31
41
 
32
42
  task :create do
33
43
  puts "Creating Database..."
34
- system("sudo docker compose run --rm web rake db:create")
44
+ system "sudo #{compose_command} run --rm web rake db:create"
35
45
  puts "Creating Database... Done!"
36
46
  end
37
47
 
38
48
  task :migrate do
39
49
  puts "Running Migration..."
40
- system("sudo docker compose run --rm web rake db:migrate")
50
+ system "sudo #{compose_command} run --rm web rake db:migrate"
41
51
  puts "Running Migration... Done!"
42
52
  end
43
53
 
44
54
  task :seed do
45
55
  puts "Running Seed..."
46
- system("sudo docker compose run --rm web rake db:seed")
56
+ system "sudo #{compose_command} run --rm web rake db:seed"
47
57
  puts "Running Seed... Done!"
48
58
  end
49
59
 
50
60
  task :reset_setup do
51
61
  puts "Resettting Database..."
52
- system("sudo docker compose run --rm web rake db:drop")
53
- system("sudo docker compose run --rm web rake db:setup")
62
+ system "sudo #{compose_command} run --rm web rake db:drop"
63
+ system "sudo #{compose_command} run --rm web rake db:setup"
54
64
  puts "Resetting up Database... Done!"
55
65
  end
56
66
 
57
67
  task :reset do
58
68
  puts "Resetting Database..."
59
- system("sudo docker compose run --rm web rake db:drop")
60
- system("sudo docker compose run --rm web rake db:create")
61
- system("sudo docker compose run --rm web rake db:migrate")
62
- system("sudo docker compose run --rm web rake db:seed")
69
+ system "sudo #{compose_command} run --rm web rake db:drop"
70
+ system "sudo #{compose_command} run --rm web rake db:create"
71
+ system "sudo #{compose_command} run --rm web rake db:migrate"
72
+ system "sudo #{compose_command} run --rm web rake db:seed"
63
73
  puts "Resetting Compose... Done!"
64
74
  end
65
75
 
66
76
  task :force_reset do
67
77
  puts "Running Compose Down"
68
- system("rake compose:down")
69
- system("rake compose_db:reset")
78
+ system "rake compose:down"
79
+ system "rake compose_db:reset"
70
80
  end
71
81
  end
@@ -1,95 +1,105 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "rake"
4
+ require_relative "task_helpers/compose_taskhelper"
5
+
6
+
7
+ def task_helper
8
+ @task_helper ||= TaskHelpers::ComposeTaskhelper.new
9
+ end
10
+
11
+ def compose_command
12
+ @compose_comand ||= task_helper.compose_command
13
+ end
4
14
 
5
15
  namespace :compose_logs do
6
16
  task :web do
7
17
  puts "Showing Web Logs..."
8
- system "sudo docker compose logs web"
18
+ system "sudo #{compose_command} logs web"
9
19
  puts "Showing Web Logs... Done!"
10
20
  end
11
21
 
12
22
  task :db do
13
23
  puts "Showing Database Logs..."
14
- system "sudo docker compose logs db"
24
+ system "sudo #{compose_command} logs db"
15
25
  puts "Showing Database Logs... Done!"
16
26
  end
17
27
 
18
28
  task :redis do
19
29
  puts "Showing Redis Logs..."
20
- system "sudo docker compose logs redis"
30
+ system "sudo #{compose_command} logs redis"
21
31
  puts "Showing Redis Logs... Done!"
22
32
  end
23
33
 
24
34
  task :sidekiq do
25
35
  puts "Showing Sidekiq Logs..."
26
- system "sudo docker compose logs sidekiq"
36
+ system "sudo #{compose_command} logs sidekiq"
27
37
  puts "Showing Sidekiq Logs... Done!"
28
38
  end
29
39
 
30
40
  task :all do
31
41
  puts "Showing All Logs..."
32
- system "sudo docker compose logs"
42
+ system "sudo #{compose_command} logs"
33
43
  puts "Showing All Logs... Done!"
34
44
  end
35
45
 
36
46
  task :tail_web do
37
47
  puts "Tailing Web Logs..."
38
- system "sudo docker compose logs -f web"
48
+ system "sudo #{compose_command} logs -f web"
39
49
  puts "Tailing Web Logs... Done!"
40
50
  end
41
51
 
42
52
  task :tail_db do
43
53
  puts "Tailing Database Logs..."
44
- system "sudo docker compose logs -f db"
54
+ system "sudo #{compose_command} logs -f db"
45
55
  puts "Tailing Database Logs... Done!"
46
56
  end
47
57
 
48
58
  task :tail_redis do
49
59
  puts "Tailing Redis Logs..."
50
- system "sudo docker compose logs -f redis"
60
+ system "sudo #{compose_command} logs -f redis"
51
61
  puts "Tailing Redis Logs... Done!"
52
62
  end
53
63
 
54
64
  task :tail_sidekiq do
55
65
  puts "Tailing Sidekiq Logs..."
56
- system "sudo docker compose logs -f sidekiq"
66
+ system "sudo #{compose_command} logs -f sidekiq"
57
67
  puts "Tailing Sidekiq Logs... Done!"
58
68
  end
59
69
 
60
70
  task :tail_all do
61
71
  puts "Tailing All Logs..."
62
- system "sudo docker compose logs -f"
72
+ system "sudo #{compose_command} logs -f"
63
73
  puts "Tailing All Logs... Done!"
64
74
  end
65
75
 
66
76
  task :follow_web do
67
77
  puts "Following Web Logs..."
68
- system "sudo docker compose logs -f web"
78
+ system "sudo #{compose_command} logs -f web"
69
79
  puts "Following Web Logs... Done!"
70
80
  end
71
81
 
72
82
  task :follow_db do
73
83
  puts "Following Database Logs..."
74
- system "sudo docker compose logs -f db"
84
+ system "sudo #{compose_command} logs -f db"
75
85
  puts "Following Database Logs... Done!"
76
86
  end
77
87
 
78
88
  task :follow_redis do
79
89
  puts "Following Redis Logs..."
80
- system "sudo docker compose logs -f redis"
90
+ system "sudo #{compose_command} logs -f redis"
81
91
  puts "Following Redis Logs... Done!"
82
92
  end
83
93
 
84
94
  task :follow_sidekiq do
85
95
  puts "Following Sidekiq Logs..."
86
- system "sudo docker compose logs -f sidekiq"
96
+ system "sudo #{compose_command} logs -f sidekiq"
87
97
  puts "Following Sidekiq Logs... Done!"
88
98
  end
89
99
 
90
100
  task :follow_all do
91
101
  puts "Following All Logs..."
92
- system "sudo docker compose logs -f"
102
+ system "sudo #{compose_command} logs -f"
93
103
  puts "Following All Logs... Done!"
94
104
  end
95
105
  end
@@ -1,11 +1,21 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "rake"
4
+ require_relative "task_helpers/compose_taskhelper"
5
+
6
+
7
+ def task_helper
8
+ @task_helper ||= TaskHelpers::ComposeTaskhelper.new
9
+ end
10
+
11
+ def compose_command
12
+ @compose_comand ||= task_helper.compose_command
13
+ end
4
14
 
5
15
  namespace :compose_test do
6
16
  task :all do
7
17
  puts "Running Test..."
8
- system "sudo docker compose run --rm web bundle exec rspec"
18
+ system "sudo #{compose_command} run --rm web bundle exec rspec"
9
19
  puts "Running Test... Done!"
10
20
  end
11
21
 
@@ -14,49 +24,49 @@ namespace :compose_test do
14
24
  system "rake compose:clean_all"
15
25
  puts "Cleaning Compose Images... Done!"
16
26
  puts "Running Tests ..."
17
- system "sudo docker compose run --rm web bundle exec rspec"
27
+ system "sudo #{compose_command} run --rm web bundle exec rspec"
18
28
  puts "Running Clean Test... Done!"
19
29
  end
20
30
 
21
31
  task :controllers do
22
32
  puts "Running Controllers Test..."
23
- system "sudo docker compose run --rm web bundle exec rspec spec/controllers"
33
+ system "sudo #{compose_command} run --rm web bundle exec rspec spec/controllers"
24
34
  puts "Running Controllers Test... Done!"
25
35
  end
26
36
 
27
37
  task :models do
28
38
  puts "Running Models Test..."
29
- system "sudo docker compose run --rm web bundle exec rspec spec/models"
39
+ system "sudo #{compose_command} run --rm web bundle exec rspec spec/models"
30
40
  puts "Running Models Test... Done!"
31
41
  end
32
42
 
33
43
  task :requests do
34
44
  puts "Running Requests Test..."
35
- system "sudo docker compose run --rm web bundle exec rspec spec/requests"
45
+ system "sudo #{compose_command} run --rm web bundle exec rspec spec/requests"
36
46
  puts "Running Requests Test... Done!"
37
47
  end
38
48
 
39
49
  task :helpers do
40
50
  puts "Running Helpers Test..."
41
- system "sudo docker compose run --rm web bundle exec rspec spec/helpers"
51
+ system "sudo #{compose_command} run --rm web bundle exec rspec spec/helpers"
42
52
  puts "Running Helpers Test... Done!"
43
53
  end
44
54
 
45
55
  task :mailers do
46
56
  puts "Running Mailers Test..."
47
- system "sudo docker compose run --rm web bundle exec rspec spec/mailers"
57
+ system "sudo #{compose_command} run --rm web bundle exec rspec spec/mailers"
48
58
  puts "Running Mailers Test... Done!"
49
59
  end
50
60
 
51
61
  task :routing do
52
62
  puts "Running Routing Test..."
53
- system "sudo docker compose run --rm web bundle exec rspec spec/routing"
63
+ system "sudo #{compose_command} run --rm web bundle exec rspec spec/routing"
54
64
  puts "Running Routing Test... Done!"
55
65
  end
56
66
 
57
67
  task :views do
58
68
  puts "Running Views Test..."
59
- system "sudo docker compose run --rm web bundle exec rspec spec/views"
69
+ system "sudo #{compose_command} run --rm web bundle exec rspec spec/views"
60
70
  puts "Running Views Test... Done!"
61
71
  end
62
72
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "taskhelper"
4
+
5
+
6
+ class TaskHelpers::ComposeTaskhelper < TaskHelpers::Taskhelper
7
+ def compose_command
8
+ @compose_comand ||= compose_command_finder
9
+ end
10
+
11
+ private
12
+ def compose_command_finder
13
+ @command = ["docker compose", "docker-compose"]
14
+ command_return = ""
15
+ @command.each do |command|
16
+ system "#{command} --version > /dev/null 2>&1"
17
+ command_return = command if $?.success?
18
+ end
19
+ raise ComposeError if command_return.empty?
20
+ command_return
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TaskHelpers
4
+ class Taskhelper
5
+ class ComposeError < StandardError
6
+ def initialize(message = "Docker Compose is not installed")
7
+ super
8
+ end
9
+ end
10
+
11
+ private
12
+ def dev_error(e)
13
+ if env_acceptable?
14
+ puts "#{e.class}: #{e.message}"
15
+ puts e.backtrace
16
+ end
17
+ end
18
+
19
+ def env_acceptable?
20
+ Rails.env.development? || Rails.env.test?
21
+ end
22
+ end
23
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: osbc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - jesus_gautamah
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-11-21 00:00:00.000000000 Z
11
+ date: 2022-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -597,6 +597,8 @@ files:
597
597
  - lib/tasks/compose_db.rake
598
598
  - lib/tasks/compose_logs.rake
599
599
  - lib/tasks/compose_test.rake
600
+ - lib/tasks/task_helpers/compose_taskhelper.rb
601
+ - lib/tasks/task_helpers/taskhelper.rb
600
602
  - log/.keep
601
603
  - mining_concept.ipynb
602
604
  - outerspace-blockchain.gemspec
@@ -619,9 +621,9 @@ licenses:
619
621
  metadata:
620
622
  allowed_push_host: https://rubygems.org
621
623
  homepage_uri: https://outerspace-blockchain.herokuapp.com/
622
- source_code_uri: https://github.com/outerspace-coding/outerspace-blockchain
624
+ source_code_uri: https://github.com/JesusGautamah/outerspace-blockchain
623
625
  changelog_uri: https://github.com/outerspace-coding/outerspace-blockchain/blob/main/CHANGELOG.md
624
- post_install_message:
626
+ post_install_message:
625
627
  rdoc_options: []
626
628
  require_paths:
627
629
  - lib
@@ -637,7 +639,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
637
639
  version: '0'
638
640
  requirements: []
639
641
  rubygems_version: 3.2.32
640
- signing_key:
642
+ signing_key:
641
643
  specification_version: 4
642
644
  summary: Blockchain implementation in Ruby
643
645
  test_files: []