class Boa::Commands
Constants
- BASE_FILES_OBJC
initialize VIPER hierarchy
- BASE_FILES_SWIFT
- CONFIG_FILE
configuration
- PROJECT_FILES_OBJC
- PROJECT_FILES_SWIFT
Public Instance Methods
configure()
click to toggle source
# File lib/boa/commands.rb, line 83 def configure config = File.exists?(CONFIG_FILE) ? YAML.load_file(CONFIG_FILE) : {} project = ask("Project name [#{config[:project]}] ?") language = ask("Project language [#{config[:language]}] ?", :limited_to => ["objc", "swift", ""]) class_prefix = ask("Class prefix [#{config[:class_prefix]}] ?") author = ask("Author [#{config[:author]}] ?") config[:project] = project.empty? ? config[:project] || '' : project config[:language] = language.empty? ? config[:language] || 'objc' : language config[:class_prefix] = class_prefix.empty? ? config[:class_prefix] || '' : class_prefix config[:author] = author.empty? ? config[:author] || '' : author File.open(CONFIG_FILE, 'w') do |f| f.write config.to_yaml end config end
init()
click to toggle source
# File lib/boa/commands.rb, line 37 def init config = invoke(:configure, []) # Classes empty_directory 'Classes' # Classes/Common empty_directory 'Classes/Common' empty_directory 'Classes/Common/Categories' empty_directory 'Classes/Common/Model' empty_directory 'Classes/Common/Store' empty_directory 'Classes/Common/Utils' empty_directory 'Classes/Common/Wireframe' # Classes/Modules empty_directory 'Classes/Modules' # Add config @project = config[:project] @author = config[:author] @date = Time.now.strftime('%d/%m/%y') lang = config[:language] # Generate files base_files = case lang when 'objc' then BASE_FILES_OBJC when 'swift' then BASE_FILES_SWIFT end base_files.each do |file_name, folder| template "templates/#{lang}/#{file_name}", "#{folder}/#{@project}#{file_name}" end project_files = case lang when 'objc' then PROJECT_FILES_OBJC when 'swift' then PROJECT_FILES_SWIFT end project_files.each do |file_name, folder| template "templates/#{lang}/#{file_name}", "#{folder}/#{file_name}" end end