erebus 0.0.1 → 0.0.2
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/README.rst +22 -1
- data/erebus.gemspec +1 -1
- data/lib/erebus/generator.rb +10 -0
- data/lib/erebus/generators/cpp_class.rb +3 -0
- data/lib/erebus/generators/header.rb +3 -0
- data/lib/erebus/generators/project.rb +4 -0
- data/lib/erebus/generators/source.rb +3 -0
- data/lib/erebus/generators/templates/project.erebus.erb +1 -0
- data/lib/erebus/version.rb +1 -1
- metadata +3 -2
data/README.rst
CHANGED
@@ -13,8 +13,29 @@ Install it yourself as:
|
|
13
13
|
Usage
|
14
14
|
-----------
|
15
15
|
|
16
|
-
|
16
|
+
To create a new C++ project:
|
17
17
|
|
18
|
+
erebos project NAME
|
19
|
+
|
20
|
+
To see a list of tasks erebus can do:
|
21
|
+
|
22
|
+
erebos
|
23
|
+
|
24
|
+
To create a header file:
|
25
|
+
|
26
|
+
erebos header NAME
|
27
|
+
|
28
|
+
To create a C++ source file:
|
29
|
+
|
30
|
+
erebos source NAME
|
31
|
+
|
32
|
+
To create a C source file:
|
33
|
+
|
34
|
+
erebos source NAME --ext c
|
35
|
+
|
36
|
+
To generate a C++ class:
|
37
|
+
|
38
|
+
erebos cpp_class NAME
|
18
39
|
|
19
40
|
Contributing
|
20
41
|
--------------
|
data/erebus.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
|
|
10
10
|
gem.email = ["cajun.code@gmail.com"]
|
11
11
|
gem.description = %q{C++ Project and File generators}
|
12
12
|
gem.summary = %q{C++ Development can be a pain. Project setup is dependent on the tools used in the project and the developer. This tool is a command line tool for generating project and files independent of any ide or editor.}
|
13
|
-
gem.homepage = ""
|
13
|
+
gem.homepage = "https://github.com/cajun-code/erebus"
|
14
14
|
|
15
15
|
gem.files = `git ls-files`.split($/)
|
16
16
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
data/lib/erebus/generator.rb
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
require "thor"
|
2
2
|
|
3
3
|
module Erebus
|
4
|
+
|
5
|
+
class ErebusError < StandardError
|
6
|
+
end
|
7
|
+
|
8
|
+
|
4
9
|
class Generator < Thor::Group
|
5
10
|
include Thor::Actions
|
6
11
|
|
@@ -15,8 +20,13 @@ module Erebus
|
|
15
20
|
def user
|
16
21
|
ENV["USER"]
|
17
22
|
end
|
23
|
+
|
24
|
+
def self.validate_project
|
25
|
+
fail ErebusError.new "Please go inside the project directory to run this command" if !File.exists? ".erebus"
|
26
|
+
end
|
18
27
|
end
|
19
28
|
|
29
|
+
|
20
30
|
class NamedGenerator < Generator
|
21
31
|
argument :name
|
22
32
|
|
@@ -3,6 +3,8 @@ require "erebus/generator"
|
|
3
3
|
class CppClass < Erebus::NamedGenerator
|
4
4
|
desc "Create a C/C++ Class"
|
5
5
|
|
6
|
+
#validate_project
|
7
|
+
|
6
8
|
#class_option :ext,:type => :string ,:default => "cpp", :desc => "Extention used for the source file"
|
7
9
|
|
8
10
|
def self.source_root
|
@@ -10,6 +12,7 @@ class CppClass < Erebus::NamedGenerator
|
|
10
12
|
end
|
11
13
|
|
12
14
|
def create_header_file
|
15
|
+
CppClass.validate_project
|
13
16
|
template "templates/class.h.erb", "include/#{file_name}.h"
|
14
17
|
end
|
15
18
|
def create_source_file
|
@@ -5,11 +5,14 @@ class Header < Erebus::NamedGenerator
|
|
5
5
|
|
6
6
|
class_option :ext,:type => :string ,:default => "h", :desc => "Extention used for the header"
|
7
7
|
|
8
|
+
|
9
|
+
|
8
10
|
def self.source_root
|
9
11
|
File.dirname(__FILE__)
|
10
12
|
end
|
11
13
|
|
12
14
|
def create_header_file
|
15
|
+
Header.validate_project
|
13
16
|
template "templates/blank.erb", "include/#{file_name}.#{ext}"
|
14
17
|
end
|
15
18
|
|
@@ -5,11 +5,14 @@ class Source < Erebus::NamedGenerator
|
|
5
5
|
|
6
6
|
class_option :ext,:type => :string ,:default => "cpp", :desc => "Extention used for the source file"
|
7
7
|
|
8
|
+
#validate_project
|
9
|
+
|
8
10
|
def self.source_root
|
9
11
|
File.dirname(__FILE__)
|
10
12
|
end
|
11
13
|
|
12
14
|
def create_source_file
|
15
|
+
Source.validate_project
|
13
16
|
template "templates/blank.erb", "src/#{file_name}.#{ext}"
|
14
17
|
end
|
15
18
|
|
@@ -0,0 +1 @@
|
|
1
|
+
project: <%= class_name %>
|
data/lib/erebus/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: erebus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -118,9 +118,10 @@ files:
|
|
118
118
|
- lib/erebus/generators/templates/class.h.erb
|
119
119
|
- lib/erebus/generators/templates/ignore.erb
|
120
120
|
- lib/erebus/generators/templates/main.cpp.erb
|
121
|
+
- lib/erebus/generators/templates/project.erebus.erb
|
121
122
|
- lib/erebus/generators/templates/rake.erb
|
122
123
|
- lib/erebus/version.rb
|
123
|
-
homepage:
|
124
|
+
homepage: https://github.com/cajun-code/erebus
|
124
125
|
licenses: []
|
125
126
|
post_install_message:
|
126
127
|
rdoc_options: []
|