planaria 0.0.5 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/planaria/cli.rb +9 -2
- data/lib/planaria/generator/builder/checker.rb +15 -0
- data/lib/planaria/generator/builder/runner.rb +7 -0
- data/lib/planaria/generator/divide/checker.rb +35 -0
- data/lib/planaria/generator/divide/executer.rb +30 -0
- data/lib/planaria/generator/divide/message.rb +15 -0
- data/lib/planaria/generator/divide/runner.rb +34 -0
- data/lib/planaria/generator/initializer/executer.rb +2 -13
- data/lib/planaria/utils.rb +14 -1
- data/lib/planaria/version.rb +1 -1
- data/lib/planaria.rb +8 -1
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 49519b1d3c6430dfe60a6e0a13254a86c7947dd2
|
4
|
+
data.tar.gz: 60c94d086775507ad227639ea8a426f89cbd0991
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: eebd5ea77c5a0fba8ef659f6c97c1923b93611924270082ac622f7fe2478de9229a925111366b14a1e34e3c3eb06547e2f579361e16978206b09d4f1796e27fc
|
7
|
+
data.tar.gz: e4c587ec1202e5986b5917490d6d2c71511b340fbf826c2e4088a8fae48a99d73aaf44fc2f075f79911d042326ec848a23df89dd06dbd1a72ee3b8da1f3b60a5
|
data/lib/planaria/cli.rb
CHANGED
@@ -1,16 +1,23 @@
|
|
1
1
|
module Planaria
|
2
2
|
class CLI < Thor
|
3
3
|
|
4
|
-
desc "init", "Create new template directories
|
4
|
+
desc "init", "Create new template directories"
|
5
5
|
option :name, type: :string, aliases: '-n', required: true
|
6
6
|
def init
|
7
7
|
Generator::Initializer::Runner.new(options[:name]).run
|
8
8
|
end
|
9
9
|
|
10
|
-
desc "build", "Create template
|
10
|
+
desc "build", "Create template"
|
11
11
|
option :name, type: :string, aliases: '-n', required: true
|
12
12
|
def build
|
13
13
|
Generator::Builder::Runner.new(options[:name]).run
|
14
14
|
end
|
15
|
+
|
16
|
+
desc "divide", "Divide project"
|
17
|
+
option :name, type: :string, aliases: '-n', required: true
|
18
|
+
option :base, type: :string, aliases: '-b', required: true
|
19
|
+
def divide
|
20
|
+
Generator::Divide::Runner.new(options[:name], options[:base]).run
|
21
|
+
end
|
15
22
|
end
|
16
23
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class Planaria::BuildProjectNotFound < StandardError; end
|
2
|
+
|
3
|
+
module Planaria::Generator
|
4
|
+
module Builder
|
5
|
+
class Checker
|
6
|
+
def initialize(name)
|
7
|
+
@name = name
|
8
|
+
end
|
9
|
+
|
10
|
+
def run
|
11
|
+
raise ::Planaria::BuildProjectNotFound unless Dir.exist?("./#{@name}")
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -6,12 +6,19 @@ module Planaria::Generator
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def run
|
9
|
+
check
|
9
10
|
execute
|
10
11
|
message
|
12
|
+
rescue ::Planaria::BuildProjectNotFound
|
13
|
+
puts "#{@name} not found"
|
11
14
|
end
|
12
15
|
|
13
16
|
private
|
14
17
|
|
18
|
+
def check
|
19
|
+
Checker.new(@name).run
|
20
|
+
end
|
21
|
+
|
15
22
|
def execute
|
16
23
|
Executer.new(@name).run
|
17
24
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
class Planaria::StopDivide < StandardError; end
|
2
|
+
class Planaria::BaseProjectNotFound < StandardError; end
|
3
|
+
|
4
|
+
module Planaria::Generator
|
5
|
+
module Divide
|
6
|
+
class Checker
|
7
|
+
def initialize(name, base)
|
8
|
+
@name = name
|
9
|
+
@base = base
|
10
|
+
end
|
11
|
+
|
12
|
+
def run
|
13
|
+
base_check
|
14
|
+
check if Dir.exist?("./#{@name}")
|
15
|
+
end
|
16
|
+
|
17
|
+
def base_check
|
18
|
+
raise ::Planaria::BaseProjectNotFound unless Dir.exist?("./#{@base}")
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
def check
|
24
|
+
puts "#{@name} directory is already exist. Overwrite? (type Y/n)"
|
25
|
+
input = STDIN.gets.chomp
|
26
|
+
|
27
|
+
if input.to_s == "Y"
|
28
|
+
FileUtils.rm_rf "./#{@name}"
|
29
|
+
else
|
30
|
+
raise ::Planaria::StopDivide
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Planaria::Generator
|
2
|
+
module Divide
|
3
|
+
class Executer
|
4
|
+
include ::Planaria::Utils
|
5
|
+
|
6
|
+
def initialize(name, base)
|
7
|
+
@name = name
|
8
|
+
@base = base
|
9
|
+
end
|
10
|
+
|
11
|
+
def run
|
12
|
+
create_directories
|
13
|
+
copy_static_files
|
14
|
+
copy_yamls
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def copy_static_files
|
20
|
+
FileUtils.copy_file("./#{@base}/html/index.html.erb", "./#{@name}/html/index.html.erb")
|
21
|
+
FileUtils.copy_file("./#{@base}/css/#{@base}.css","./#{@name}/css/#{@name}.css")
|
22
|
+
FileUtils.copy_file("./#{@base}/js/#{@base}.js", "./#{@name}/js/#{@name}.js")
|
23
|
+
end
|
24
|
+
|
25
|
+
def copy_yamls
|
26
|
+
FileUtils.cp(Dir.glob("./#{@base}/yamls/*.yml"), "./#{@name}/yamls/")
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Planaria::Generator
|
2
|
+
module Divide
|
3
|
+
class Runner
|
4
|
+
def initialize(name, base)
|
5
|
+
@name = name
|
6
|
+
@base = base
|
7
|
+
end
|
8
|
+
|
9
|
+
def run
|
10
|
+
check
|
11
|
+
execute
|
12
|
+
message
|
13
|
+
rescue ::Planaria::BaseProjectNotFound
|
14
|
+
puts "Base project not found."
|
15
|
+
rescue ::Planaria::StopDivide
|
16
|
+
puts "Stop divide."
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
def check
|
22
|
+
Checker.new(@name, @base).run
|
23
|
+
end
|
24
|
+
|
25
|
+
def execute
|
26
|
+
Executer.new(@name, @base).run
|
27
|
+
end
|
28
|
+
|
29
|
+
def message
|
30
|
+
Message.new(@name, @base).run
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
module Planaria::Generator
|
2
2
|
module Initializer
|
3
3
|
class Executer
|
4
|
+
include ::Planaria::Utils
|
5
|
+
|
4
6
|
def initialize(name)
|
5
7
|
@name = name
|
6
8
|
end
|
@@ -13,19 +15,6 @@ module Planaria::Generator
|
|
13
15
|
|
14
16
|
private
|
15
17
|
|
16
|
-
def mkdir(path)
|
17
|
-
FileUtils.mkdir_p("#{path}")
|
18
|
-
end
|
19
|
-
|
20
|
-
def create_directories
|
21
|
-
mkdir "./#{@name}"
|
22
|
-
mkdir "./#{@name}/html"
|
23
|
-
mkdir "./#{@name}/css"
|
24
|
-
mkdir "./#{@name}/js"
|
25
|
-
mkdir "./#{@name}/img"
|
26
|
-
mkdir "./#{@name}/yamls"
|
27
|
-
end
|
28
|
-
|
29
18
|
def create_files
|
30
19
|
FileUtils.touch("./#{@name}/css/#{@name}.css")
|
31
20
|
FileUtils.touch("./#{@name}/js/#{@name}.js")
|
data/lib/planaria/utils.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module Planaria
|
2
|
-
|
2
|
+
module Utils
|
3
3
|
def self.tree(path, pre = nil)
|
4
4
|
unless pre
|
5
5
|
puts path
|
@@ -20,5 +20,18 @@ module Planaria
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
end
|
23
|
+
|
24
|
+
def mkdir(path)
|
25
|
+
FileUtils.mkdir_p("#{path}")
|
26
|
+
end
|
27
|
+
|
28
|
+
def create_directories
|
29
|
+
mkdir "./#{@name}"
|
30
|
+
mkdir "./#{@name}/html"
|
31
|
+
mkdir "./#{@name}/css"
|
32
|
+
mkdir "./#{@name}/js"
|
33
|
+
mkdir "./#{@name}/img"
|
34
|
+
mkdir "./#{@name}/yamls"
|
35
|
+
end
|
23
36
|
end
|
24
37
|
end
|
data/lib/planaria/version.rb
CHANGED
data/lib/planaria.rb
CHANGED
@@ -6,14 +6,21 @@ require "erb"
|
|
6
6
|
|
7
7
|
require "planaria/cli"
|
8
8
|
require "planaria/utils"
|
9
|
+
|
9
10
|
require "planaria/generator/initializer/runner"
|
10
11
|
require "planaria/generator/initializer/checker"
|
11
12
|
require "planaria/generator/initializer/executer"
|
12
13
|
require "planaria/generator/initializer/message"
|
14
|
+
|
13
15
|
require "planaria/generator/builder/runner"
|
14
|
-
|
16
|
+
require "planaria/generator/builder/checker"
|
15
17
|
require "planaria/generator/builder/executer"
|
16
18
|
require "planaria/generator/builder/message"
|
17
19
|
|
20
|
+
require "planaria/generator/divide/runner"
|
21
|
+
require "planaria/generator/divide/checker"
|
22
|
+
require "planaria/generator/divide/executer"
|
23
|
+
require "planaria/generator/divide/message"
|
24
|
+
|
18
25
|
require "planaria/templates/html"
|
19
26
|
require "planaria/templates/yaml"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: planaria
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- onigra
|
@@ -147,6 +147,10 @@ files:
|
|
147
147
|
- lib/planaria/generator/builder/executer.rb
|
148
148
|
- lib/planaria/generator/builder/message.rb
|
149
149
|
- lib/planaria/generator/builder/runner.rb
|
150
|
+
- lib/planaria/generator/divide/checker.rb
|
151
|
+
- lib/planaria/generator/divide/executer.rb
|
152
|
+
- lib/planaria/generator/divide/message.rb
|
153
|
+
- lib/planaria/generator/divide/runner.rb
|
150
154
|
- lib/planaria/generator/initializer/checker.rb
|
151
155
|
- lib/planaria/generator/initializer/executer.rb
|
152
156
|
- lib/planaria/generator/initializer/message.rb
|