Skip to content

Commit fd91489

Browse files
committed
Hello World
0 parents  commit fd91489

File tree

15 files changed

+407
-0
lines changed

15 files changed

+407
-0
lines changed

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.cabling.yml
2+
.env.cableguy
3+
config/devkit.yml
4+
var/mariadb

Cablefile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# -*- mode: ruby -*-
2+
# vi: set ft=ruby :
3+
4+
cabling do |cabler, cablefile, target|
5+
cabler.group = 'devkit'
6+
7+
setup :template, 'devkit.yml'
8+
setup :dotenv
9+
end

Gemfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# frozen_string_literal: true
2+
3+
source "https://rubygems.org"
4+
5+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
6+
7+
gem 'thor'
8+
gem 'dotenv'
9+
10+
source 'https://gem.fury.io/cebucodecamp' do
11+
gem 'cableguy', '0.5.1.pre11'
12+
end
13+
14+
source 'https://gem.fury.io/nlevel' do
15+
gem 'docker_task', '0.1.3.pre1'
16+
end

Gemfile.lock

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
GEM
2+
remote: https://rubygems.org/
3+
remote: https://gem.fury.io/cebucodecamp/
4+
remote: https://gem.fury.io/nlevel/
5+
specs:
6+
cableguy (0.5.1.pre11)
7+
sequel
8+
sqlite3
9+
thor
10+
docker_task (0.1.3.pre1)
11+
rake
12+
dotenv (2.2.1)
13+
rake (12.3.0)
14+
sequel (5.3.0)
15+
sqlite3 (1.3.13)
16+
thor (0.20.0)
17+
18+
PLATFORMS
19+
ruby
20+
21+
DEPENDENCIES
22+
cableguy (= 0.5.1.pre11)!
23+
docker_task (= 0.1.3.pre1)!
24+
dotenv
25+
thor
26+
27+
BUNDLED WITH
28+
1.16.0

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Overview
2+
3+
This is a dev helper toolkit for easy bootstraping of a development and test environment.
4+
5+
# Tech Stack
6+
7+
* ruby 2.4.2
8+
* bundler
9+
* cableguy
10+
* rake
11+
* thor
12+
* docker_task
13+
14+
# How to use
15+
16+
```
17+
bundle
18+
cable
19+
20+
; then list all rake tasks available
21+
rake -T
22+
```
23+
24+
Example: Start a mariadb server
25+
26+
```
27+
rake mariadb:prepare
28+
rake mariadb:docker:pull
29+
rake mariadb:reload
30+
```
31+
32+
# List of servers
33+
34+
**MariaDB server**
35+
36+
This is a MariaDB 10.2 server running in a docker container. This uses the official MariaDB server maintained by Docker.

Rakefile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
require File.expand_path('../config/boboot', __FILE__)
2+
Boboot.require_boot!
3+
4+
require_relative 'mariadb/mariadb'
5+
DevkitTask::MariaDB.new.define!

config/boboot.rb

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
require 'rubygems'
2+
3+
ROOT_PATH = DEVKIT_ROOT_PATH = File.expand_path('../..', __FILE__)
4+
5+
begin
6+
bundler_setup = true
7+
8+
if defined?(BUNDLE_GEMFILE)
9+
if BUNDLE_GEMFILE.nil?
10+
bundler_setup = false
11+
else
12+
ENV['BUNDLE_GEMFILE'] = BUNDLE_GEMFILE
13+
end
14+
else
15+
ENV['BUNDLE_GEMFILE'] = File.join(ROOT_PATH, 'Gemfile')
16+
end
17+
18+
if bundler_setup
19+
begin
20+
require 'rubygems'
21+
require 'bundler'
22+
rescue LoadError
23+
raise 'Could not load the bundler gem. Install it with `gem install bundler`.'
24+
rescue Bundler::GemNotFound
25+
raise RuntimeError, 'Bundler load failed.'
26+
end
27+
28+
Bundler.setup
29+
end
30+
end
31+
32+
module Boboot
33+
def self.root_path; ROOT_PATH; end
34+
35+
def self.require_relative_gem(gem_name, lib_path)
36+
require File.join(self.root_path, '..', gem_name, 'lib', lib_path)
37+
end
38+
39+
def self.require_boot!
40+
require File.join(self.root_path, 'config/boot')
41+
end
42+
43+
def self.disable_rubygem_warns
44+
# Disables Rubygems warnings, as otherwise this is totally out of control
45+
if (defined?(Deprecate))
46+
Deprecate.skip = true
47+
elsif (defined?(Gem::Deprecate))
48+
Gem::Deprecate.skip = true
49+
end
50+
end
51+
52+
def self.silence_warns
53+
original_verbosity = $VERBOSE
54+
$VERBOSE = nil
55+
result = yield
56+
$VERBOSE = original_verbosity
57+
result
58+
end
59+
end
60+
61+
Boboot.disable_rubygem_warns

config/boot.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
DEVKIT_LIB_PATH = File.join(DEVKIT_ROOT_PATH, 'lib')
2+
$: << DEVKIT_LIB_PATH
3+
4+
# load Cableguy generated dotenv if available.
5+
require 'dotenv'
6+
Dotenv.load('.env.cableguy')
7+
8+
require 'devkit'
9+
require 'pp'

config/templates/devkit.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
mariadb:
3+
docker:
4+
remote_repo: mariadb
5+
docker_run:
6+
opts: '--character-set-server=utf8 --collation-server=utf8_unicode_ci'
7+
var: $devkit_root/var/mariadb
8+
listen:
9+
- 127.0.0.1:3306

lib/devkit.rb

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
require 'docker_task'
2+
3+
module Devkit
4+
autoload :Config, 'devkit/config'
5+
autoload :Helper, 'devkit/helper'
6+
7+
def self.config
8+
if defined?(@config)
9+
@config
10+
else
11+
@config = Config.load_config
12+
end
13+
end
14+
15+
def self.include_docker_tasks(options = { })
16+
DockerTask.include_tasks(options)
17+
end
18+
end
19+
20+
module DevkitTask
21+
end

0 commit comments

Comments
 (0)