module Algoheader::Helpers
Helpers
¶ ↑
- Author
-
Dick Davis
- Copyright
-
Copyright 2021 Dick Davis
- License
-
GNU Public License 3
Module that provides helper methods.
Public Class Methods
config_from_home()
click to toggle source
# File lib/algoheader/helpers.rb, line 29 def self.config_from_home config_dir = "#{ENV['XDG_CONFIG_HOME'] || "#{Dir.home}/.config"}/algoheader" FileUtils.mkdir_p(config_dir) config_filename = "#{config_dir}/config.yml" unless File.exist?(config_filename) config_asset = File.expand_path(File.join(File.dirname(__FILE__), '..', 'assets', 'config.yml')) FileUtils.cp(config_asset, config_filename) end config_filename end
selection_from_user(config, selection = '')
click to toggle source
rubocop:disable Metrics/MethodLength, Metrics/AbcSize
# File lib/algoheader/helpers.rb, line 43 def self.selection_from_user(config, selection = '') while selection.empty? puts 'Choose a color scheme from the list below:' schemes = config['color_schemes'].collect { |scheme| scheme['name'] } schemes.each.with_index do |scheme, index| puts "#{index}: #{scheme}" end puts 'Selection => ' user_input = gets.chomp.to_i next unless (0..schemes.length - 1).include?(user_input) selection = config['color_schemes'].select { |scheme| scheme['name'] == schemes[user_input] } .first .transform_keys(&:to_sym) end selection end