sanctuary 0.1.15 → 0.1.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bbd36291ce5f4a252abad455e401ac4d267c131a704592806c3485d6c8bcd1a7
4
- data.tar.gz: 74eab0d68cc9972018ee20f30e646cdf1309fa7176599c3521ecf7e309984c61
3
+ metadata.gz: 36da4e6e9691b357ef0e13df3b1f6037f52962b420830014f83de1cd3d39daee
4
+ data.tar.gz: f5436aeb654c086f65113e7fbab36a48bdf7f2092dfef373ebf3f8fa07417ec1
5
5
  SHA512:
6
- metadata.gz: 99e4e98cfaf716caa7c840b6c1d896802fedc1ab5d2180a3e5d78fe27e5b53ef4485fe73c37efbf4f5acbca66722357441355b72fee495e92c553f68ca5a0e55
7
- data.tar.gz: 4f5bb871ccba555a8d66e8cf87bd402877565ffa87c660f10e4dc9ac126eaa6d025bc68e02d188aa9e3255b436704305c7210c47c1434927914014a54b3370eb
6
+ metadata.gz: fb55518491cf0f04df78ba3bb49ad0146d541da5abbd2eb62d6eca3cc07e72fa33b1c0a14eacc23faceca49e8d535b45138a81cd7b80424c5a8a29132d75372e
7
+ data.tar.gz: a21bccba58e56207764e630be32aea2321152b506bb2d910801c5df04dbff365a00fecae2f042277c5aeeaa988770b7da474323e97ec437dc166da83e1cf75da
@@ -10,14 +10,17 @@ module Sanctuary
10
10
  results.each do |result|
11
11
  Generator.start([result[1..-1], '', ''])
12
12
  end
13
- elsif ARGV.include?("-r")
13
+ elsif ARGV.include?("--recipe")
14
14
  result = present_recipe_choices
15
- Generator.start([result[1..-1], '', 'true'])
15
+ Generator.start([result[1..-1], '', 'recipe'])
16
+ elsif ARGV.include?("--script")
17
+ result = present_script_choices
18
+ Generator.start([result[1..-1], '', 'script'])
16
19
  else
17
20
  result = present_choices
18
21
  if ARGV.include?("-p")
19
22
  Generator.start([result[1..-1], ARGV.last, ''])
20
- else
23
+ elsif ARGV.include?("--file")
21
24
  Generator.start([result[1..-1], '', ''])
22
25
  end
23
26
  end
@@ -45,6 +48,16 @@ module Sanctuary
45
48
  return path + "/" + prompt_choice
46
49
  end
47
50
 
51
+ def self.present_script_choices(path = "")
52
+ choices = Reader.read_scripts(path)[2..-1].sort
53
+ prompt = TTY::Prompt.new
54
+ prompt_choice = prompt.enum_select("Select a template?", choices)
55
+ if Reader.directory?(path.empty? ? prompt_choice : path + "/" + prompt_choice)
56
+ return present_recipe_choices(path + "/" + prompt_choice)
57
+ end
58
+ return path + "/" + prompt_choice
59
+ end
60
+
48
61
  def self.multi_select(path = "")
49
62
  choices = Reader.read_templates(path)[2..-1].sort
50
63
  prompt = TTY::Prompt.new
@@ -6,19 +6,21 @@ module Sanctuary
6
6
  include Thor::Actions
7
7
  argument :template
8
8
  argument :name
9
- argument :recipe
9
+ argument :type
10
10
 
11
11
  def self.source_root
12
12
  Sanctuary::HOME_DIR
13
13
  end
14
14
 
15
15
  def create_lib_file
16
- unless recipe.empty?
16
+ if type == 'recipe'
17
17
  File.open(Sanctuary::HOME_DIR.gsub("templates", "recipes/") + template) do |file|
18
18
  file.each do |line|
19
19
  copy_file "#{line.gsub("||", "/").chomp}", "#{line.split("||")[1..-1].join("/").chomp}"
20
20
  end
21
21
  end
22
+ elsif type == 'script'
23
+ system "sh #{Sanctuary::HOME_DIR.gsub("templates", "scripts/")}#{template}"
22
24
  else
23
25
  if name.empty?
24
26
  # only copy the file and not the directory the file resides in
@@ -11,6 +11,10 @@ module Sanctuary
11
11
  Dir.open(HOME_DIR.gsub("templates", "recipes") + "/#{path}").to_a
12
12
  end
13
13
 
14
+ def self.read_scripts(path = "")
15
+ Dir.open(HOME_DIR.gsub("templates", "scripts") + "/#{path}").to_a
16
+ end
17
+
14
18
  def self.directory?(path = "")
15
19
  Pathname.new(HOME_DIR + "/#{path}").directory?
16
20
  end
@@ -1,3 +1,3 @@
1
1
  module Sanctuary
2
- VERSION = "0.1.15"
2
+ VERSION = "0.1.16"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sanctuary
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.15
4
+ version: 0.1.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin-Kawai
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-20 00:00:00.000000000 Z
11
+ date: 2020-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: tty-prompt