class SkeletorCLI::CLI
Constants
- DEFAULT_CONFIG
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/skeletor_cli/cli.rb, line 10 def initialize(*args) super(*args) find_or_init_config end
Public Instance Methods
build(slug, app_name)
click to toggle source
# File lib/skeletor_cli/cli.rb, line 16 def build(slug, app_name) skeleton = @api_client.get_skeleton(slug) RailsBuilder.build(skeleton, app_name) end
Private Instance Methods
find_or_init_config()
click to toggle source
# File lib/skeletor_cli/cli.rb, line 22 def find_or_init_config @config_file = options[:config] || File.join(ENV.fetch('HOME'), "#{DEFAULT_CONFIG}") unless options[:config].nil? || File.exist?(options[:config]) puts "Could find config directory: #{options[:config_dir]}" exit(1) end File.open(@config_file, 'w') {|f| f.write("api_key:\n")} unless File.exist?(@config_file) @config = YAML.load_file(@config_file) unless @config && @config['api_key'] && !@config['api_key'].empty? puts "Could not find api key. Please add it to #{@config_file}" exit(1) end SkeletorApi.configure do |config| config.api_key = @config['api_key'] end @api_client = SkeletorApi::Client.new end