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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c8e410a2fc4cb3e81d017a2f853df33a04375825
4
- data.tar.gz: 6d60e6b9a33f914b915d80aae2eb956578b1f58d
3
+ metadata.gz: ee21fb03ef5f699dfed302b64f906d0fc062fc79
4
+ data.tar.gz: e7b2dc4378037d6e9a3ab09d5f15cb015eace1a6
5
5
  SHA512:
6
- metadata.gz: 1bf9efc49b91b40f7b5cd7edd8e0c3794389b5c2ee54c6e1de471e2e537d143c8525017710160433c4c962132c1e93437be30fe2365411a8302ece1615937cda
7
- data.tar.gz: 7e8a3b48a010ea38cb998a938dd05f5ae3b3fea2ac73b8f35c2d71b89d0af5de5b95d86fba4172692bc259c461cf294669fbf9190155378f346cfababc21fdfa
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,14 @@
1
+ module Planaria::Generator
2
+ module Initializer
3
+ class Message
4
+ def initialize(name)
5
+ @name = name
6
+ end
7
+
8
+ def run
9
+ puts "Create #{@name} project"
10
+ Planaria::Utils.tree "./#{@name}"
11
+ end
12
+ end
13
+ end
14
+ 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
@@ -1,3 +1,3 @@
1
1
  module Planaria
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
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/generator/initializer"
9
- require "planaria/generator/builder"
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
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-16 00:00:00.000000000 Z
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/initializer.rb
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