Class: Venus::Generators::CarrierwaveGenerator
- Defined in:
- lib/generators/venus/carrierwave/carrierwave_generator.rb
Instance Method Summary collapse
- #asks ⇒ Object
- #configs ⇒ Object
- #gemfile ⇒ Object
- #name ⇒ Object
- #sample_uploader ⇒ Object
- #seemore ⇒ Object
Methods inherited from Base
next_migration_number, source_root
Instance Method Details
#asks ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/generators/venus/carrierwave/carrierwave_generator.rb', line 10 def asks @rails_version = ask?("your rails version?", '3.2') @rails_version = @rails_version.index("3.2") == 0 ? '3.2' : '3.1' @imagemagick = ask?("Use imagemagick to resize picture?", true) = ask?("Install gem 'carrierwave-meta'", true) @sample_uploader = ask?("Generate sample uploader?", 'venus') @fog = ask?("Use fog to upload file to AWS S3", true) if @fog say 'checking dependent gems "settinglogic"...' generate 'venus:settingslogic' unless has_gem?('settingslogic') @settinglogic_class = ask?("Your settinglogic class name?", 'Setting') @settinglogic_yml = ask?("Your settinglogic yaml file in config/ ?", 'setting.yml') say 'checking dependent gems "aws-sdk"...' generate 'venus:aws' unless has_gem?('aws-sdk') end end |
#configs ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/generators/venus/carrierwave/carrierwave_generator.rb', line 39 def configs template "carrierwave_#{@rails_version}.erb", 'config/initializers/carrierwave.rb' if @fog ["config/#{@settinglogic_yml}", "config/#{@settinglogic_yml}.example"].each do |to_file| insert_into_setting_yml(to_file, 'aws_access_key_id', :ask, :hide_in_example => true) insert_into_setting_yml(to_file, 'aws_secret_access_key', :ask, :hide_in_example => true) @aws_bucket_carrierwave = insert_into_setting_yml(to_file, 'aws_bucket_carrierwave', @aws_bucket_carrierwave || :ask) @aws_region_carrierwave = insert_into_setting_yml(to_file, 'aws_region_carrierwave', @aws_region_carrierwave || :ask, :hint => "us-east-1") @aws_host_carrierwave = insert_into_setting_yml(to_file, 'aws_host_carrierwave', @aws_host_carrierwave || :ask, :hint => "http://example.com") end end end |
#gemfile ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/generators/venus/carrierwave/carrierwave_generator.rb', line 27 def gemfile if @rails_version == '3.2' add_gem("carrierwave", "~> 0.8.0") else add_gem("carrierwave", "0.7.1") end add_gem('mini_magick', "~> 3.6.0") if @imagemagick add_gem("carrierwave-meta", '~> 0.0.4') if add_gem('fog') if @fog bundle_install end |
#name ⇒ Object
6 7 8 |
# File 'lib/generators/venus/carrierwave/carrierwave_generator.rb', line 6 def name "carrierwave" end |
#sample_uploader ⇒ Object
52 53 54 |
# File 'lib/generators/venus/carrierwave/carrierwave_generator.rb', line 52 def sample_uploader template "uploader.erb", "app/uploaders/#{@sample_uploader}_uploader.rb" end |
#seemore ⇒ Object
56 57 58 |
# File 'lib/generators/venus/carrierwave/carrierwave_generator.rb', line 56 def seemore puts "see more configuration in https://github.com/jnicklas/carrierwave" end |