planaria 0.0.4 → 0.0.5
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/lib/planaria/cli.rb +2 -2
- data/lib/planaria/generator/builder/checker.rb +0 -0
- data/lib/planaria/generator/builder/executer.rb +34 -0
- data/lib/planaria/generator/builder/message.rb +16 -0
- data/lib/planaria/generator/builder/runner.rb +24 -0
- data/lib/planaria/generator/initializer/checker.rb +28 -0
- data/lib/planaria/generator/initializer/executer.rb +52 -0
- data/lib/planaria/generator/initializer/message.rb +14 -0
- data/lib/planaria/generator/initializer/runner.rb +31 -0
- data/lib/planaria/utils.rb +24 -0
- data/lib/planaria/version.rb +1 -1
- data/lib/planaria.rb +10 -2
- metadata +11 -4
- data/lib/planaria/generator/builder.rb +0 -27
- data/lib/planaria/generator/initializer.rb +0 -43
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ee21fb03ef5f699dfed302b64f906d0fc062fc79
|
4
|
+
data.tar.gz: e7b2dc4378037d6e9a3ab09d5f15cb015eace1a6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46a4319b100c0113fc54b6b67bbb354c30e59d3efb8ac5d785acc22b2b1a9d77991cf757cc07d9414e1b2350933668ccbf183b37874938ebb864bbb932aa0ec4
|
7
|
+
data.tar.gz: 3eff8094ffde8170e45edff92c4ac5d7226a942b73a47bcbdfe03cffc094683c42ad5bde577541d75b992d47626a42b8192a8c562490e093cf6592133fc22ad3
|
data/lib/planaria/cli.rb
CHANGED
@@ -4,13 +4,13 @@ module Planaria
|
|
4
4
|
desc "init", "Create new template directories."
|
5
5
|
option :name, type: :string, aliases: '-n', required: true
|
6
6
|
def init
|
7
|
-
Generator::Initializer.new(options[:name]).run
|
7
|
+
Generator::Initializer::Runner.new(options[:name]).run
|
8
8
|
end
|
9
9
|
|
10
10
|
desc "build", "Create template."
|
11
11
|
option :name, type: :string, aliases: '-n', required: true
|
12
12
|
def build
|
13
|
-
Generator::Builder.new(options[:name]).run
|
13
|
+
Generator::Builder::Runner.new(options[:name]).run
|
14
14
|
end
|
15
15
|
end
|
16
16
|
end
|
File without changes
|
@@ -0,0 +1,34 @@
|
|
1
|
+
module Planaria::Generator
|
2
|
+
module Builder
|
3
|
+
class Executer
|
4
|
+
def initialize(name)
|
5
|
+
@name = name
|
6
|
+
end
|
7
|
+
|
8
|
+
def run
|
9
|
+
yaml_files.each do |yml|
|
10
|
+
file_name = yml.split("/").last.split(".").first
|
11
|
+
yaml = ::YAML.load(File.read yml)
|
12
|
+
|
13
|
+
yaml.each do |k, v|
|
14
|
+
instance_variable_set("@#{k}", v)
|
15
|
+
end
|
16
|
+
|
17
|
+
::File.open "./#{@name}/#{file_name}.html", "w" do |file|
|
18
|
+
file.write erb.result(binding)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def yaml_files
|
24
|
+
::Dir.glob "./#{@name}/yamls/*.yml"
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def erb
|
30
|
+
::ERB.new(File.read "./#{@name}/html/index.html.erb")
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Planaria::Generator
|
2
|
+
module Builder
|
3
|
+
class Message
|
4
|
+
def initialize(name)
|
5
|
+
@name = name
|
6
|
+
@executer = Executer.new(name)
|
7
|
+
end
|
8
|
+
|
9
|
+
def run
|
10
|
+
@executer.yaml_files.each do |file|
|
11
|
+
puts "Generate #{@name}/#{file.split("/").last.split(".").first}.html"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Planaria::Generator
|
2
|
+
module Builder
|
3
|
+
class Runner
|
4
|
+
def initialize(name)
|
5
|
+
@name = name
|
6
|
+
end
|
7
|
+
|
8
|
+
def run
|
9
|
+
execute
|
10
|
+
message
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def execute
|
16
|
+
Executer.new(@name).run
|
17
|
+
end
|
18
|
+
|
19
|
+
def message
|
20
|
+
Message.new(@name).run
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class Planaria::StopInitializer < StandardError; end
|
2
|
+
|
3
|
+
module Planaria::Generator
|
4
|
+
module Initializer
|
5
|
+
class Checker
|
6
|
+
def initialize(name)
|
7
|
+
@name = name
|
8
|
+
end
|
9
|
+
|
10
|
+
def run
|
11
|
+
check if Dir.exist?("./#{@name}")
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def check
|
17
|
+
puts "#{@name} directory is already exist. Overwrite? (type Y/n)"
|
18
|
+
input = STDIN.gets.chomp
|
19
|
+
|
20
|
+
if input.to_s == "Y"
|
21
|
+
FileUtils.rm_rf "./#{@name}"
|
22
|
+
else
|
23
|
+
raise ::Planaria::StopInitializer
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module Planaria::Generator
|
2
|
+
module Initializer
|
3
|
+
class Executer
|
4
|
+
def initialize(name)
|
5
|
+
@name = name
|
6
|
+
end
|
7
|
+
|
8
|
+
def run
|
9
|
+
create_directories
|
10
|
+
create_files
|
11
|
+
write_files
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
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
|
+
def create_files
|
30
|
+
FileUtils.touch("./#{@name}/css/#{@name}.css")
|
31
|
+
FileUtils.touch("./#{@name}/js/#{@name}.js")
|
32
|
+
end
|
33
|
+
|
34
|
+
def write_files
|
35
|
+
write_template
|
36
|
+
write_yaml
|
37
|
+
end
|
38
|
+
|
39
|
+
def write_template
|
40
|
+
::File.open "./#{@name}/html/index.html.erb", "w" do |file|
|
41
|
+
file.write(::Planaria::Templates::Html.index @name)
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
def write_yaml
|
46
|
+
::File.open "./#{@name}/yamls/base.yml", "w" do |file|
|
47
|
+
file.write(::Planaria::Templates::Yaml.default @name)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Planaria::Generator
|
2
|
+
module Initializer
|
3
|
+
class Runner
|
4
|
+
def initialize(name)
|
5
|
+
@name = name
|
6
|
+
end
|
7
|
+
|
8
|
+
def run
|
9
|
+
check
|
10
|
+
execute
|
11
|
+
message
|
12
|
+
rescue ::Planaria::StopInitializer
|
13
|
+
puts "Stop generate."
|
14
|
+
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def check
|
19
|
+
Checker.new(@name).run
|
20
|
+
end
|
21
|
+
|
22
|
+
def execute
|
23
|
+
Executer.new(@name).run
|
24
|
+
end
|
25
|
+
|
26
|
+
def message
|
27
|
+
Message.new(@name).run
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Planaria
|
2
|
+
class Utils
|
3
|
+
def self.tree(path, pre = nil)
|
4
|
+
unless pre
|
5
|
+
puts path
|
6
|
+
pre = " "
|
7
|
+
end
|
8
|
+
|
9
|
+
directories = Dir.entries(path).reject { |d| d == "." or d == ".." }.sort
|
10
|
+
|
11
|
+
directories.each do |dir|
|
12
|
+
last = dir if dir == directories.last
|
13
|
+
|
14
|
+
if FileTest.directory?(File.join(path, dir))
|
15
|
+
path_dir = File.join(path, dir)
|
16
|
+
puts "#{pre}+--#{dir}"
|
17
|
+
tree path_dir, pre + (last ? " " : "| ")
|
18
|
+
else
|
19
|
+
puts pre + (last ? "`" : "|") + "--" + dir
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/planaria/version.rb
CHANGED
data/lib/planaria.rb
CHANGED
@@ -5,7 +5,15 @@ require "fileutils"
|
|
5
5
|
require "erb"
|
6
6
|
|
7
7
|
require "planaria/cli"
|
8
|
-
require "planaria/
|
9
|
-
require "planaria/generator/
|
8
|
+
require "planaria/utils"
|
9
|
+
require "planaria/generator/initializer/runner"
|
10
|
+
require "planaria/generator/initializer/checker"
|
11
|
+
require "planaria/generator/initializer/executer"
|
12
|
+
require "planaria/generator/initializer/message"
|
13
|
+
require "planaria/generator/builder/runner"
|
14
|
+
# require "planaria/generator/builder/checker"
|
15
|
+
require "planaria/generator/builder/executer"
|
16
|
+
require "planaria/generator/builder/message"
|
17
|
+
|
10
18
|
require "planaria/templates/html"
|
11
19
|
require "planaria/templates/yaml"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: planaria
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- onigra
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -143,10 +143,17 @@ files:
|
|
143
143
|
- exe/pln
|
144
144
|
- lib/planaria.rb
|
145
145
|
- lib/planaria/cli.rb
|
146
|
-
- lib/planaria/generator/builder.rb
|
147
|
-
- lib/planaria/generator/
|
146
|
+
- lib/planaria/generator/builder/checker.rb
|
147
|
+
- lib/planaria/generator/builder/executer.rb
|
148
|
+
- lib/planaria/generator/builder/message.rb
|
149
|
+
- lib/planaria/generator/builder/runner.rb
|
150
|
+
- lib/planaria/generator/initializer/checker.rb
|
151
|
+
- lib/planaria/generator/initializer/executer.rb
|
152
|
+
- lib/planaria/generator/initializer/message.rb
|
153
|
+
- lib/planaria/generator/initializer/runner.rb
|
148
154
|
- lib/planaria/templates/html.rb
|
149
155
|
- lib/planaria/templates/yaml.rb
|
156
|
+
- lib/planaria/utils.rb
|
150
157
|
- lib/planaria/version.rb
|
151
158
|
- planaria.gemspec
|
152
159
|
- sample/config.yml
|
@@ -1,27 +0,0 @@
|
|
1
|
-
module Planaria::Generator
|
2
|
-
class Builder
|
3
|
-
def initialize(name)
|
4
|
-
@name = name
|
5
|
-
end
|
6
|
-
|
7
|
-
def run
|
8
|
-
yaml_files.each do |yml|
|
9
|
-
erb = ::ERB.new(File.read "./#{@name}/html/index.html.erb")
|
10
|
-
file_name = yml.split("/").last.split(".").first
|
11
|
-
yaml = ::YAML.load(File.read yml)
|
12
|
-
|
13
|
-
yaml.each do |k, v|
|
14
|
-
instance_variable_set("@#{k}", v)
|
15
|
-
end
|
16
|
-
|
17
|
-
::File.open "./#{@name}/#{file_name}.html", "w" do |file|
|
18
|
-
file.write erb.result(binding)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def yaml_files
|
24
|
-
Dir.glob "./#{@name}/yamls/*.yml"
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,43 +0,0 @@
|
|
1
|
-
module Planaria::Generator
|
2
|
-
class Initializer
|
3
|
-
def initialize(name)
|
4
|
-
@name = name
|
5
|
-
end
|
6
|
-
|
7
|
-
def run
|
8
|
-
create_directories
|
9
|
-
create_files
|
10
|
-
write_files
|
11
|
-
end
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def mkdir(path)
|
16
|
-
FileUtils.mkdir_p("#{path}")
|
17
|
-
end
|
18
|
-
|
19
|
-
def create_directories
|
20
|
-
mkdir "./#{@name}"
|
21
|
-
mkdir "./#{@name}/html"
|
22
|
-
mkdir "./#{@name}/css"
|
23
|
-
mkdir "./#{@name}/js"
|
24
|
-
mkdir "./#{@name}/img"
|
25
|
-
mkdir "./#{@name}/yamls"
|
26
|
-
end
|
27
|
-
|
28
|
-
def create_files
|
29
|
-
FileUtils.touch("./#{@name}/css/#{@name}.css")
|
30
|
-
FileUtils.touch("./#{@name}/js/#{@name}.js")
|
31
|
-
end
|
32
|
-
|
33
|
-
def write_files
|
34
|
-
::File.open "./#{@name}/html/index.html.erb", "w" do |file|
|
35
|
-
file.write(::Planaria::Templates::Html.index @name)
|
36
|
-
end
|
37
|
-
|
38
|
-
::File.open "./#{@name}/yamls/base.yml", "w" do |file|
|
39
|
-
file.write(::Planaria::Templates::Yaml.default @name)
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|