Class: Beadme::Template
- Inherits:
-
Object
- Object
- Beadme::Template
- Includes:
- Thor::Shell
- Defined in:
- lib/beadme/template.rb
Overview
This class is responsible for generating the README.md file
Instance Attribute Summary collapse
-
#dir ⇒ Object
readonly
Returns the value of attribute dir.
-
#questions ⇒ Object
readonly
Returns the value of attribute questions.
-
#save_path ⇒ Object
readonly
Returns the value of attribute save_path.
-
#template ⇒ Object
readonly
Returns the value of attribute template.
Instance Method Summary collapse
- #ask(question, color = nil) ⇒ Object
-
#create ⇒ Object
Create the README.md file.
-
#initialize(template: Beadme.configuration.default_template, questions: Beadme.configuration.default_questions, dir: Dir.pwd) ⇒ Template
constructor
A new instance of Template.
Constructor Details
#initialize(template: Beadme.configuration.default_template, questions: Beadme.configuration.default_questions, dir: Dir.pwd) ⇒ Template
Returns a new instance of Template.
25 26 27 28 29 30 31 32 33 34 |
# File 'lib/beadme/template.rb', line 25 def initialize( template: Beadme.configuration.default_template, questions: Beadme.configuration.default_questions, dir: Dir.pwd ) @template = template @questions = questions @dir = dir @save_path = File.join(dir, 'README.md') end |
Instance Attribute Details
#dir ⇒ Object (readonly)
Returns the value of attribute dir.
15 16 17 |
# File 'lib/beadme/template.rb', line 15 def dir @dir end |
#questions ⇒ Object (readonly)
Returns the value of attribute questions.
15 16 17 |
# File 'lib/beadme/template.rb', line 15 def questions @questions end |
#save_path ⇒ Object (readonly)
Returns the value of attribute save_path.
15 16 17 |
# File 'lib/beadme/template.rb', line 15 def save_path @save_path end |
#template ⇒ Object (readonly)
Returns the value of attribute template.
15 16 17 |
# File 'lib/beadme/template.rb', line 15 def template @template end |
Instance Method Details
#ask(question, color = nil) ⇒ Object
17 18 19 20 21 22 23 |
# File 'lib/beadme/template.rb', line 17 def ask(question, color = nil) say question, color print '> ' super '' ensure print "\e[2J\e[f" end |
#create ⇒ Object
Create the README.md file
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/beadme/template.rb', line 37 def create check_dir check_file erb = ERB.new(template) # ERB template will use this variable to populate the content data = ask_questions File.write(save_path, erb.result(binding)) print 'Successfully generate Readme.md in ' say save_path, :green rescue ArgumentError => e say e. exit 1 rescue StandardError => e say "An error occurred while generating the README.md \n file: #{e.}" exit 1 end |