1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#!/usr/bin/env ruby
gem 'railties'
require 'rails/generators'
require 'rails/generators/rails/app/app_generator'
template_path = File.expand_path('../../templates/refinery/installer.rb', __FILE__)
def show_help_message
puts "Usage:"
puts " refinerycms APP_NAME [options]"
puts ""
puts "Options:"
# Support when running locally
relative_path = File.expand_path('../../core/lib/generators/refinery/cms/cms_generator.rb', __FILE__)
if File.exist?(relative_path)
require relative_path
else
gem 'refinerycms-core'
require 'generators/refinery/cms/cms_generator'
end
Refinery::CmsGenerator.class_options.each do |raw, option|
dasherized = "--#{option.name.to_s.gsub('_', '-')}"
dasherized = [option.aliases, "[#{dasherized}]"].flatten.join(', ') if option.aliases.any?
puts " #{dasherized}".ljust(28) << "# #{option.description}"
end
end
if ARGV.empty?
show_help_message
exit 0
end
case ARGV.first
when "-h", "--help"
show_help_message
exit 0
when "-v", "--version"
puts "Refinery CMS #{Gem.loaded_specs['refinerycms'].version}"
exit 0
end
application_name = ARGV.shift
result = Rails::Generators::AppGenerator.start [application_name, '-m', template_path, '--skip-test-unit'] | ARGV
if result && result.include?('Gemfile')
note = ["\n=== ACTION REQUIRED ==="]
note << "Now you can launch your webserver using:"
note << "\ncd #{application_name}"
note << "rails server"
note << "\nThis will launch the built-in webserver at port 3000."
note << "You can now see Refinery running in your browser at http://localhost:3000/refinery"
if ARGV.include?('--heroku')
note << "\nIf you want files and images to work on Heroku, you will need to setup S3:"
note << "heroku config:add S3_BUCKET=XXXXXXXXX S3_KEY=XXXXXXXXX S3_SECRET=XXXXXXXXXX S3_REGION=XXXXXXXXXX"
end
note << "\nThanks for installing Refinery CMS, we hope you enjoy crafting your application!"
note << "---------\n\n"
puts note
end
|