Class: FastTrack::OmniauthFacebook

Inherits:
Track
  • Object
show all
Defined in:
lib/fast_track/omniauth.rb

Overview

TODO Devise + Facebook

Instance Attribute Summary

Attributes inherited from Track

#generator

Instance Method Summary collapse

Methods inherited from Track

before_migrate, before_migrate_block, #create_file, #g, #gem, #gem_group, gemfile, gemfile_block, #generate, #initialize, #rake, #read_file, #route, #run

Methods included from TrackMethods

#bundle_install, #config, #db_migrate!, #migration, #model

Constructor Details

This class inherits a constructor from FastTrack::Track

Instance Method Details

#facebook_configObject



69
70
71
72
73
74
# File 'lib/fast_track/omniauth.rb', line 69

def facebook_config
  {
    "[APP_ID]"     => config[:app_id],
    "[APP_SECRET]" => config[:app_secret]
  }
end

#filesObject



33
34
35
36
37
38
39
40
# File 'lib/fast_track/omniauth.rb', line 33

def files
  {
    controller:  "devise_facebook/omniauth_controller.rb",
    initializer: "devise_facebook/initializer.rb",
    config:      "devise_facebook/facebook.yml",
    user:        "devise_facebook/user.rb"
  }
end

#invokeObject



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/fast_track/omniauth.rb', line 47

def invoke

  gsub_file "config/routes.rb", "devise_for :users", 'devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }'

  migration "AddUidToUsers", {
    "provider" => "string",
    "uid"      => "string",
    "name"     => "string"
  }

  file "app/controllers/users/omniauth_callbacks_controller.rb", open_file(:controller)
  file "config/initializers/devise_facebook.rb",                 open_file(:initializer)
  file "app/models/user.rb",                                     open_file(:user), :force => true

  # TODO: Check if facebook_config is available
  # Otherwise, just give the vanilla version
  # file "config/facebook.yml",                                    replace(open_file(:config), facebook_config)
  file "config/facebook.yml",                                    open_file(:config)

  rake "db:migrate"
end