Module: Create
Instance Method Summary collapse
Instance Method Details
#base(project_name) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/commands/create.rb', line 29 def base(project_name) unless $settings.projects_directory Enzyme.error("The `sync.projects_directory` setting is not set. Set it using `enzyme config projects_directory \"/Users/me/Projects\"`.") return end system "mkdir #{$settings.projects_directory}/#{project_name}" system "mkdir #{$settings.projects_directory}/#{project_name}/resources" system "mkdir #{$settings.projects_directory}/#{project_name}/resources/client" system "touch #{$settings.projects_directory}/#{project_name}/.enzyme.yml" Dir.chdir("#{$settings.projects_directory}/#{project_name}") Config.set('project_name', project_name) Config.set('project_type', nil) end |
#koi(project_name) ⇒ Object
46 47 48 |
# File 'lib/commands/create.rb', line 46 def koi(project_name) Enzyme.error("Koi projects are not avaliable in this version of Enzyme (#{$version}).") end |
#pms(project_name) ⇒ Object
50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/commands/create.rb', line 50 def pms(project_name) unless $settings.projects_directory Enzyme.error("The `sync.projects_directory` setting is not set. Set it using `enzyme config projects_directory \"/Users/me/Projects\"`.") return end unless $settings.github.user Enzyme.error("The `sync.github.user` setting is not set. Set it using `enzyme config github.user \"me\"`.") return end unless $settings.github.token Enzyme.error("The `sync.github.token` setting is not set. Set it using `enzyme config github.token \"0123456789abcdef0123456789abcdef\"`.") return end base(project_name) Config.set('project_type', 'pms') system "curl -o '/tmp/#{project_name}.zip' -F 'login=#{$settings.github.user}' -F 'token=#{$settings.github.token}' -L 'https://github.com/katalyst/pms/zipball/v0.4.2alpha03'" system "unzip '/tmp/#{project_name}.zip' -d '/tmp/#{project_name}.temp'" system "rm '/tmp/#{project_name}.zip'" extracted_dir = Dir.entries("/tmp/#{project_name}.temp")[2] system "mv /tmp/#{project_name}.temp/#{extracted_dir}/* #{$settings.projects_directory}/#{project_name}/" system "rm -r '/tmp/#{project_name}.temp'" end |
#run ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/commands/create.rb', line 6 def run() ARGV.reject { |x| x.start_with?("-") } project_name = ARGV.shift project_type = ARGV.shift if project_name if project_type case project_type.to_sym when :pms pms(project_name) when :koi koi(project_name) else Enzyme.error("Unknown project type `#{project_type}`.") end else base(project_name) end else Enzyme.error("A project name must be given. For example: `enzyme create project_name`") end end |