Class: Jinda::Generators::ConfigGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/jinda/config_generator.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



4
5
6
# File 'lib/generators/jinda/config_generator.rb', line 4

def self.source_root
  File.dirname(__FILE__) + "/templates"
end

Instance Method Details

#backup_filesObject



8
9
10
11
12
13
14
# File 'lib/generators/jinda/config_generator.rb', line 8

def backup_files
  st="      "
  inside("config/initializers") {(File.file? "omniauth.rb") ? (run "mv omniauth.rb omniauth.rb.bak") : (puts "new omniauth.rb created")}
  inside("config/initializers") {(File.file? "mongoid.rb") ? (run "mv mongoid.rb omniauth.rb.bak") : (puts "new mongoid.rb created")}
  inside("config/initializers") {(File.file? "ckeditor.rb") ? (run "mv ckeditor.rb ckeditor.rb.bak") : (puts "new ckeditor.rb created")}
				(File.file? ".env") ? (run "cp .env .env-bak") : (puts "backup .env")
end

#finishObject



74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/generators/jinda/config_generator.rb', line 74

def finish
     puts "      configured omniauth.\n"
     puts "      configured setup_ckeditor.\n"
     puts "      configured Mongoid.\n"
     puts "\n"
     puts "      To set user/password as admin/secret run:\n"
     puts "-----------------------------------------\n"
     puts "rails jinda:seed\n"
     puts "-----------------------------------------\n"
     puts "      To config rspect run:"
     puts "-----------------------------------------\n"
     puts "rails g jinda:rspec\n"
     puts "-----------------------------------------\n"
     puts "      To config minitest run:"
     puts "-----------------------------------------\n"
     puts "rails g jinda:minitest\n"
     puts "-----------------------------------------\n"
     puts "      To login with facebook"
     puts "-----------------------------------------\n"
	puts "Please config. in .env or restore from .env-bak \n"
     puts "-----------------------------------------\n"
end

#gen_image_storeObject



17
18
19
20
21
# File 'lib/generators/jinda/config_generator.rb', line 17

def gen_image_store
  copy_file "cloudinary.yml","config/cloudinary.yml"
  copy_file ".env",".env"
  empty_directory "upload" # create upload directory just in case
end

#setup_ckeditorObject



43
44
45
46
47
48
49
50
51
# File 'lib/generators/jinda/config_generator.rb', line 43

def setup_ckeditor
  initializer "ckeditor.rb" do
%q{# gem 'ckeditor', github: 'galetahub/ckeditor'      
Ckeditor.setup do |config|
  require 'ckeditor/orm/mongoid'
end  
}  
  end            
end

#setup_mongoidObject



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/generators/jinda/config_generator.rb', line 54

def setup_mongoid
  generate "mongoid:config"
  inject_into_file 'config/mongoid.yml', :after => '  # raise_not_found_error: true' do
    "\n    raise_not_found_error: false"
  end

  inject_into_file 'config/mongoid.yml', :after => '  # belongs_to_required_by_default: true' do
    "\n    belongs_to_required_by_default: false"
  end
  inject_into_file 'config/mongoid.yml', :after => '  # app_name: MyApplicationName' do
    "\n\nproduction:" +
        "\n  clients:" +
        "\n    default:" +
        "\n      uri: <%= ENV['MONGODB_URI'] %>" +
        "\n  options:" +
        "\n    raise_not_found_error: false" +
        "\n    belongs_to_required_by_default: false\n"
  end
end

#setup_omniauthObject



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/generators/jinda/config_generator.rb', line 23

def setup_omniauth
  # gem 'bcrypt-ruby', '~> 3.0.0'
  # gem 'omniauth-identity'
  initializer "omniauth.rb" do
%q{
Rails.application.config.middleware.use OmniAuth::Builder do
  provider :identity,
    :fields => [:code, :email],
    :on_failed_registration=> lambda { |env|
IdentitiesController.action(:new).call(env)
  }
  provider :facebook, ENV['FACEBOOK_API'], ENV['FACEBOOK_KEY']
	provider :google_oauth2, ENV['GOOGLE_CLIENT_ID'], ENV['GOOGLE_CLIENT_SECRET']
end
}
  end
end