69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
# File 'lib/generators/turbolog/config_generator.rb', line 69
def setup_omniauth
puts Color.blue("...............config devise for facebook...............\n")
inject_into_file 'config/initializers/devise.rb', :after => 'Devise.setup do |config|' do
"\n config.omniauth :facebook, ENV['FACEBOOK_API'], ENV['FACEBOOK_SECRET']\n"
end
puts Color.blue("..............config user model for facebook............\n")
inject_into_file 'app/models/user.rb', :after => 'include Mongoid::Document' do
"\n\n include Mongoid::Attributes::Dynamic" +
"\n devise :omniauthable, :omniauth_providers => [:facebook]" +
"\n def self.from_omniauth(auth)" +
"\n where(provider: auth.provider, uid: auth.uid).first_or_create do |user|" +
"\n user.email = auth.info.email" +
"\n user.password = Devise.friendly_token[0,20]" +
"\n end" +
"\n end\n"
end
puts Color.blue("...........Add field [provider] to user model...........\n")
inject_into_file 'app/models/user.rb', :after => ' field :encrypted_password, type: String, default: ""' do
"\n field :provider, type: String, default: \"\"\n"
"\n field :admin, type: Boolean, default: false \n"
end
end
|