sanctuary 0.1.11 → 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: b272002de4008edcb3dc5985a67366bfa523a4c50958733e75754eb3e7010710
4
- data.tar.gz: 27872f2b7dc30902c64ca71b65906f421b91d865e9beea53675d6d835ef3fa3c
3
+ metadata.gz: 36da4e6e9691b357ef0e13df3b1f6037f52962b420830014f83de1cd3d39daee
4
+ data.tar.gz: f5436aeb654c086f65113e7fbab36a48bdf7f2092dfef373ebf3f8fa07417ec1
5
5
  SHA512:
6
- metadata.gz: ae86775d3b68ed9c06b1861b78eaa71c57e785e7b5fe16d916c0b7d68214d1d76f707fcdba7fb51d2ddf8415b49334c536c481fe627de7317d84dea8e6ccc4d9
7
- data.tar.gz: bcdab96c2e34d036f453a5e4b0829173f416be85996828956d539d553033abb9c0e44df4d54b66e5e2abbe7c429e15378cb76a1bfbcc58d646dae2f87536dbc1
6
+ metadata.gz: fb55518491cf0f04df78ba3bb49ad0146d541da5abbd2eb62d6eca3cc07e72fa33b1c0a14eacc23faceca49e8d535b45138a81cd7b80424c5a8a29132d75372e
7
+ data.tar.gz: a21bccba58e56207764e630be32aea2321152b506bb2d910801c5df04dbff365a00fecae2f042277c5aeeaa988770b7da474323e97ec437dc166da83e1cf75da
data/.gitignore CHANGED
@@ -7,4 +7,5 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  *.gem
10
- /.idea
10
+ /.idea
11
+ TODO.md
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- sanctuary (0.1.10)
4
+ sanctuary (0.1.12)
5
5
  thor (~> 0.2)
6
6
  tty-prompt (~> 0.0)
7
7
 
data/README.md CHANGED
@@ -1,9 +1,5 @@
1
1
  # Sanctuary
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/sanctuary`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
6
-
7
3
  ## Installation
8
4
 
9
5
  Add this line to your application's Gemfile:
@@ -22,22 +18,16 @@ Or install it yourself as:
22
18
 
23
19
  ## Usage
24
20
 
25
- TODO: Write usage instructions here
26
21
 
27
22
  ## Development
28
23
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
30
-
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
24
+ Use `./bin/sanctuary` to run the app.
32
25
 
33
26
  ## Contributing
34
27
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/sanctuary. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
36
28
 
37
29
  ## License
38
30
 
39
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
40
31
 
41
32
  ## Code of Conduct
42
33
 
43
- Everyone interacting in the Sanctuary project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/[USERNAME]/sanctuary/blob/master/CODE_OF_CONDUCT.md).
@@ -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
- copy_file "#{line.chomp}", "#{line.split("/")[1..-1].join("/").chomp}"
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
@@ -1,3 +1,5 @@
1
+ require("pathname")
2
+
1
3
  module Sanctuary
2
4
  HOME_DIR = Dir.home + "/.sanctuary/templates"
3
5
  class Reader
@@ -9,6 +11,10 @@ module Sanctuary
9
11
  Dir.open(HOME_DIR.gsub("templates", "recipes") + "/#{path}").to_a
10
12
  end
11
13
 
14
+ def self.read_scripts(path = "")
15
+ Dir.open(HOME_DIR.gsub("templates", "scripts") + "/#{path}").to_a
16
+ end
17
+
12
18
  def self.directory?(path = "")
13
19
  Pathname.new(HOME_DIR + "/#{path}").directory?
14
20
  end
@@ -1,3 +1,3 @@
1
1
  module Sanctuary
2
- VERSION = "0.1.11"
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.11
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: 2019-07-28 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