Class: Rawfeed::Utils
- Inherits:
-
Object
- Object
- Rawfeed::Utils
- Defined in:
- lib/rawfeed/utils.rb
Class Method Summary collapse
- .confirm(message) ⇒ Object
- .create_directory(path) ⇒ Object
- .datetime_generator(parameter) ⇒ Object
- .enginer(directory, message, type) ⇒ Object
- .slug_generator(parameter) ⇒ Object
Class Method Details
.confirm(message) ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'lib/rawfeed/utils.rb', line 36 def self.confirm() print "#{} [y/n]: ".blue answer = STDIN.gets.chomp.downcase until %w[y n].include?(answer) print "[!] Please type 'y' or 'n': ".yellow answer = STDIN.gets.chomp.downcase end answer end |
.create_directory(path) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/rawfeed/utils.rb', line 16 def self.create_directory(path) unless File.directory?(path) FileUtils.mkdir_p(path) puts ":: Folder '#{path}', created!".green end end |
.datetime_generator(parameter) ⇒ Object
27 28 29 30 31 32 33 34 |
# File 'lib/rawfeed/utils.rb', line 27 def self.datetime_generator(parameter) begin (ENV['date'] ? Time.parse(ENV['date']) : Time.now).strftime(parameter) rescue puts "[x] Error - date format must be YYYY-MM-DD, please check you typed it correctly!".red exit 1 end end |
.enginer(directory, message, type) ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/rawfeed/utils.rb', line 46 def self.enginer(directory, , type) self.create_directory(directory) # abort("Rake aborted: #{directory} directory not found.") unless FileTest.directory?(directory) begin print "#{}\n> ".blue title = STDIN.gets.chomp rescue Interrupt puts "\n[!] Approached by the user".yellow exit! end slug = slug_generator(title) date = datetime_generator('%Y-%m-%d') datetime = datetime_generator('%Y-%m-%d %R:%S') if type == 'page' filename = File.join(directory, "#{slug}.#{CONFIG['markdown_extension']}") else filename = File.join(directory, "#{date}-#{slug}.#{CONFIG['markdown_extension']}") end if File.exist?(filename) answer = confirm("#{filename} already exists. Do you want to overwrite?") abort("Action aborted by user!") if answer == 'n' end [title, date, datetime, filename] end |
.slug_generator(parameter) ⇒ Object
23 24 25 |
# File 'lib/rawfeed/utils.rb', line 23 def self.slug_generator(parameter) parameter.downcase.strip.gsub(' ', '-').gsub(/[^\w-]/, '') end |