frame 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile.lock +8 -1
- data/Rakefile +11 -0
- data/lib/generators/frame.rb +3 -3
- data/lib/generators/frame/admin/admin_generator.rb +6 -3
- data/lib/generators/frame/admin/templates/{pages.rb → app/admin/pages.rb} +0 -0
- data/lib/generators/frame/admin/templates/{pages_controller.rb → app/controllers/pages_controller.rb} +1 -1
- data/lib/generators/frame/admin/templates/{show.html.erb → app/views/pages/show.html.erb} +0 -0
- data/lib/generators/frame/devise/devise_generator.rb +17 -17
- data/lib/generators/frame/{omniauth/templates → devise/templates/app/views/layouts}/defaults.html.erb +1 -0
- data/lib/generators/frame/layout/layout_generator.rb +8 -14
- data/lib/generators/frame/layout/templates/app/assets/images/econ_f_128.gif +0 -0
- data/lib/generators/frame/layout/templates/app/assets/images/econ_f_128.png +0 -0
- data/lib/generators/frame/layout/templates/app/assets/images/econ_f_16.gif +0 -0
- data/lib/generators/frame/layout/templates/app/assets/images/econ_f_16.png +0 -0
- data/lib/generators/frame/layout/templates/app/assets/images/econ_f_256.gif +0 -0
- data/lib/generators/frame/layout/templates/app/assets/images/econ_f_256.png +0 -0
- data/lib/generators/frame/layout/templates/app/assets/images/econ_f_32.gif +0 -0
- data/lib/generators/frame/layout/templates/app/assets/images/econ_f_32.png +0 -0
- data/lib/generators/frame/layout/templates/app/assets/images/econ_f_32_loading.gif +0 -0
- data/lib/generators/frame/layout/templates/app/assets/images/econ_f_64.gif +0 -0
- data/lib/generators/frame/layout/templates/app/assets/images/econ_f_64.png +0 -0
- data/lib/generators/frame/layout/templates/app/assets/images/favicon.ico +0 -0
- data/lib/generators/frame/layout/templates/{application_helper.rb → app/helpers/application_helper.rb} +1 -1
- data/lib/generators/frame/layout/templates/{frame.css → app/stylesheets/frame.css} +0 -0
- data/lib/generators/frame/layout/templates/{application.html.erb → app/views/layouts/application.html.erb} +0 -0
- data/lib/generators/frame/layout/templates/{default_layout.html.erb → app/views/layouts/default_layout.html.erb} +0 -0
- data/lib/generators/frame/layout/templates/{defaults.html.erb → app/views/layouts/defaults.html.erb} +0 -0
- data/lib/generators/frame/omniauth/omniauth_generator.rb +76 -65
- data/lib/generators/frame/omniauth/templates/app/assets/images/facebook_32.png +0 -0
- data/lib/generators/frame/omniauth/templates/app/assets/images/facebook_64.png +0 -0
- data/lib/generators/frame/omniauth/templates/app/assets/images/github_32.png +0 -0
- data/lib/generators/frame/omniauth/templates/app/assets/images/github_64.png +0 -0
- data/lib/generators/frame/omniauth/templates/app/assets/images/google_32.png +0 -0
- data/lib/generators/frame/omniauth/templates/app/assets/images/google_64.png +0 -0
- data/lib/generators/frame/omniauth/templates/app/assets/images/twitter_32.png +0 -0
- data/lib/generators/frame/omniauth/templates/app/assets/images/twitter_64.png +0 -0
- data/lib/generators/frame/omniauth/templates/app/controllers/authentications_controller.rb +54 -0
- data/lib/generators/frame/omniauth/templates/app/controllers/registrations_controller.rb +23 -0
- data/lib/generators/frame/omniauth/templates/app/models/user.rb +54 -0
- data/lib/generators/frame/omniauth/templates/app/views/authentications/index.html.erb +13 -0
- data/lib/generators/frame/omniauth/templates/app/views/devise/sessions/new.html.erb +11 -0
- data/lib/generators/frame/omniauth/templates/app/views/registrations/edit.html.erb +47 -0
- data/lib/generators/frame/omniauth/templates/app/views/registrations/new.html.erb +25 -0
- data/lib/generators/frame/omniauth/templates/app/views/shared/_login_form.html.erb +14 -0
- data/lib/generators/frame/omniauth/templates/app/views/shared/_open_auth.html.erb +39 -0
- data/lib/generators/frame/omniauth/templates/config/initializers/omniauth.rb +13 -0
- data/lib/generators/frame/pages/pages_generator.rb +1 -1
- data/lib/generators/frame/secret/secret_generator.rb +5 -0
- data/lib/generators/frame/secret/templates/Rakefile +39 -0
- metadata +74 -16
- data/lib/generators/frame/devise/templates/defaults.html.erb +0 -47
- data/lib/generators/frame/layout/templates/econ64.gif +0 -0
- data/lib/generators/frame/layout/templates/favicon.ico +0 -0
- data/lib/generators/frame/omniauth/templates/omniauth.rb +0 -6
- data/lib/generators/frame/omniauth/templates/omniauth_callbacks_controller.rb +0 -38
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
frame (0.0.
|
|
4
|
+
frame (0.0.5)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: http://rubygems.org/
|
|
@@ -136,6 +136,11 @@ GEM
|
|
|
136
136
|
omniauth (1.0.0)
|
|
137
137
|
hashie (~> 1.2)
|
|
138
138
|
rack
|
|
139
|
+
omniauth-facebook (1.4.0)
|
|
140
|
+
omniauth-oauth2 (~> 1.0.2)
|
|
141
|
+
omniauth-github (1.0.1)
|
|
142
|
+
omniauth (~> 1.0)
|
|
143
|
+
omniauth-oauth2 (~> 1.0)
|
|
139
144
|
omniauth-google-oauth2 (0.1.7)
|
|
140
145
|
omniauth (~> 1.0)
|
|
141
146
|
omniauth-oauth2
|
|
@@ -234,6 +239,8 @@ DEPENDENCIES
|
|
|
234
239
|
mysql2
|
|
235
240
|
oauth2
|
|
236
241
|
omniauth
|
|
242
|
+
omniauth-facebook
|
|
243
|
+
omniauth-github
|
|
237
244
|
omniauth-google-oauth2
|
|
238
245
|
omniauth-twitter
|
|
239
246
|
rails (= 3.2.8)
|
data/Rakefile
CHANGED
|
@@ -17,3 +17,14 @@ end
|
|
|
17
17
|
|
|
18
18
|
desc "Run tests"
|
|
19
19
|
task :default => :test
|
|
20
|
+
|
|
21
|
+
task :build_gem do
|
|
22
|
+
gem_version = ''
|
|
23
|
+
STDOUT.puts "What is the gem version (x.x.x)?"
|
|
24
|
+
gem_version = STDIN.gets.chomp
|
|
25
|
+
#gem_version = ask("What is the gem version (x.x.x)?")
|
|
26
|
+
system("gem build frame.gemspec")
|
|
27
|
+
system("gem push frame-#{gem_version}.gem")
|
|
28
|
+
system("git tag -a v#{gem_version} -m 'version #{gem_version}'")
|
|
29
|
+
system("git push --tags")
|
|
30
|
+
end
|
data/lib/generators/frame.rb
CHANGED
|
@@ -7,9 +7,9 @@ module Frame
|
|
|
7
7
|
@_frame_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'frame', generator_name, 'templates'))
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
def self.banner
|
|
11
|
+
"rails generate frame:#{generator_name} #{self.arguments.map{ |a| a.usage }.join(' ')} [options]"
|
|
12
|
+
end
|
|
13
13
|
|
|
14
14
|
private
|
|
15
15
|
|
|
@@ -8,6 +8,9 @@ module Frame
|
|
|
8
8
|
|
|
9
9
|
desc "Installs Active Admin."
|
|
10
10
|
|
|
11
|
+
# Need to seed the production environment with:
|
|
12
|
+
#AdminUser.create!(:email=>'test@test.com',:username=>'test',:password=>'password')
|
|
13
|
+
|
|
11
14
|
def add_gems
|
|
12
15
|
add_gem("sass-rails", :group => "test")
|
|
13
16
|
add_gem("meta_search", :group => "test")
|
|
@@ -32,11 +35,11 @@ module Frame
|
|
|
32
35
|
end
|
|
33
36
|
|
|
34
37
|
def update_admin_form
|
|
35
|
-
template
|
|
38
|
+
template('app/admin/pages.rb')
|
|
36
39
|
end
|
|
37
40
|
|
|
38
41
|
def update_pages_controller
|
|
39
|
-
template
|
|
42
|
+
template('app/controllers/pages_controller.rb')
|
|
40
43
|
end
|
|
41
44
|
|
|
42
45
|
def cleanup_page_routes
|
|
@@ -52,7 +55,7 @@ module Frame
|
|
|
52
55
|
remove_file filename
|
|
53
56
|
end
|
|
54
57
|
}
|
|
55
|
-
template
|
|
58
|
+
template('app/views/pages/show.html.erb')
|
|
56
59
|
end
|
|
57
60
|
|
|
58
61
|
private
|
|
File without changes
|
|
@@ -15,7 +15,7 @@ class PagesController < ApplicationController
|
|
|
15
15
|
format.html
|
|
16
16
|
format.json { render json: @page }
|
|
17
17
|
else
|
|
18
|
-
format.html { redirect_to
|
|
18
|
+
format.html { redirect_to :admin_root }
|
|
19
19
|
format.json { render json: @page.errors, status: :unprocessable_entity }
|
|
20
20
|
end
|
|
21
21
|
|
|
File without changes
|
|
@@ -26,31 +26,25 @@ module Frame
|
|
|
26
26
|
end
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
def update_initializers
|
|
30
|
+
gsub_file 'config/initializers/devise.rb', /config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com"/ do
|
|
31
|
+
default_mailer = "webmaster@econtriver.com"
|
|
32
|
+
mailer_sender = ask("What is the mail sender address? [#{default_mailer}]")
|
|
33
|
+
mailer_sender = default_mailer if mailer_sender.blank?
|
|
34
|
+
"config.mailer_sender = \"#{mailer_sender}\""
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
37
|
|
|
38
38
|
def add_default_layout
|
|
39
39
|
template 'defaults.html.erb', 'app/views/layouts/defaults.html.erb'
|
|
40
40
|
end
|
|
41
41
|
|
|
42
|
-
def update_db
|
|
43
|
-
if yes?("Would you like to migrate the database?")
|
|
44
|
-
rake("db:migrate")
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
|
|
48
42
|
|
|
49
|
-
private
|
|
43
|
+
#private
|
|
50
44
|
|
|
51
45
|
|
|
52
|
-
def
|
|
53
|
-
default_mailer = "
|
|
46
|
+
def update_environments
|
|
47
|
+
default_mailer = "econtriver.com"
|
|
54
48
|
action_mailer = ask("What is the action mailer domain (normally just the domain)? [#{default_mailer}]")
|
|
55
49
|
action_mailer = default_mailer if action_mailer.blank?
|
|
56
50
|
application(nil, :env => "production") do
|
|
@@ -64,6 +58,12 @@ module Frame
|
|
|
64
58
|
end
|
|
65
59
|
end
|
|
66
60
|
|
|
61
|
+
def update_db
|
|
62
|
+
if yes?("Would you like to migrate the database?")
|
|
63
|
+
rake("db:migrate")
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
67
67
|
end
|
|
68
68
|
end
|
|
69
69
|
end
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
<li class="right last lighter"><%%= current_user.email %></li>
|
|
16
16
|
<%% else %>
|
|
17
17
|
<%%= link_to '<li class="right hover">Sign in</li>'.html_safe, user_session_path %>
|
|
18
|
+
<%%= link_to '<li class="right hover">Sign up</li>'.html_safe, new_user_registration_path %>
|
|
18
19
|
<%% end %>
|
|
19
20
|
</ul>
|
|
20
21
|
</nav>
|
|
@@ -10,40 +10,34 @@ module Frame
|
|
|
10
10
|
|
|
11
11
|
class_option :force, :type => :boolean, :default => false, :desc => "Force file regeneration"
|
|
12
12
|
|
|
13
|
-
#def add_gems
|
|
14
|
-
# add_gem "mysql2"
|
|
15
|
-
#end
|
|
16
|
-
#Frame.Generators.PagesGenerator.add_gems
|
|
17
|
-
|
|
18
13
|
def remove_index
|
|
19
14
|
filename="public/index.html"
|
|
20
|
-
if File.exists?(
|
|
15
|
+
if File.exists?(filename) and yes?("Would you like to remove '#{filename}'?")
|
|
21
16
|
remove_file filename
|
|
22
17
|
end
|
|
23
18
|
end
|
|
24
|
-
#Frame.Generators.PagesGenerator.remove_index
|
|
25
19
|
|
|
26
20
|
def add_default_layout
|
|
27
|
-
template
|
|
28
|
-
template
|
|
21
|
+
template('app/views/layouts/defaults.html.erb')
|
|
22
|
+
template('app/views/layouts/default_layout.html.erb')
|
|
29
23
|
end
|
|
30
24
|
|
|
31
25
|
def add_page_helpers
|
|
32
|
-
template
|
|
26
|
+
template('app/helpers/application_helper.rb')
|
|
33
27
|
end
|
|
34
28
|
|
|
35
29
|
def add_images
|
|
36
|
-
template
|
|
37
|
-
template
|
|
30
|
+
template('app/assets/images/econ_f_64.gif')
|
|
31
|
+
template('app/assets/images/favicon.ico')
|
|
38
32
|
end
|
|
39
33
|
|
|
40
34
|
def replace_html_app
|
|
41
35
|
@title = Rails.application.class.parent_name
|
|
42
|
-
template
|
|
36
|
+
template('app/views/layouts/application.html.erb')
|
|
43
37
|
end
|
|
44
38
|
|
|
45
39
|
def copy_css
|
|
46
|
-
template
|
|
40
|
+
template('app/assets/stylesheets/frame.css')
|
|
47
41
|
add_if_missing('app/assets/stylesheets/application.css', " *= require frame\n", :after => " *= require_self\n")
|
|
48
42
|
end
|
|
49
43
|
|
|
Binary file
|
|
Binary file
|
|
@@ -7,6 +7,6 @@ module ApplicationHelper
|
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
def logo
|
|
10
|
-
image_tag("
|
|
10
|
+
image_tag("econ_f_64.gif", {:alt => "eContriver", :class => "round", :style => "width: 64px; height: 64px"})
|
|
11
11
|
end
|
|
12
12
|
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/generators/frame/layout/templates/{defaults.html.erb → app/views/layouts/defaults.html.erb}
RENAMED
|
File without changes
|
|
@@ -1,88 +1,99 @@
|
|
|
1
1
|
require 'generators/frame'
|
|
2
2
|
require 'rails/generators/migration'
|
|
3
|
-
#require "omniauth-twitter"
|
|
4
3
|
|
|
5
4
|
module Frame
|
|
6
5
|
module Generators
|
|
7
6
|
class OmniauthGenerator < Base
|
|
8
7
|
include Rails::Generators::Migration
|
|
9
8
|
|
|
10
|
-
desc "Installs
|
|
9
|
+
desc "Installs Omniauth."
|
|
11
10
|
|
|
12
11
|
def install_omniauth
|
|
12
|
+
|
|
13
13
|
gem 'omniauth'
|
|
14
|
-
gem 'oauth2'
|
|
15
14
|
gem 'omniauth-twitter'
|
|
16
15
|
gem 'omniauth-google-oauth2'
|
|
16
|
+
gem 'omniauth-github'
|
|
17
17
|
|
|
18
18
|
Bundler.with_clean_env do
|
|
19
19
|
run "bundle"
|
|
20
20
|
end
|
|
21
|
+
end
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
rake("db:migrate")
|
|
26
|
-
|
|
27
|
-
add_if_missing('app/models/user.rb', ":provider, :uid,", :after => " attr_accessible ")
|
|
28
|
-
add_if_missing('app/models/user.rb', ":omniauthable, ", :after => " devise ")
|
|
29
|
-
|
|
30
|
-
add_if_missing('config/routes.rb', ", :controllers => { :omniauth_callbacks => \"users/omniauth_callbacks\" }", :after => " devise_for :users")
|
|
31
|
-
|
|
32
|
-
template 'omniauth.rb', 'config/initializers/omniauth.rb'
|
|
33
|
-
template 'omniauth_callbacks_controller.rb', 'app/controllers/users/omniauth_callbacks_controller.rb'
|
|
34
|
-
|
|
35
|
-
add_if_missing('app/models/user.rb', '
|
|
36
|
-
def self.find_for_twitter_oauth(auth, signed_in_resource=nil)
|
|
37
|
-
Rails.logger.debug "(DEBUG) auth: #{auth.to_yaml}"
|
|
38
|
-
user = User.where(:provider => auth.provider, :uid => auth.uid).first
|
|
39
|
-
unless user
|
|
40
|
-
#name:auth.extra.raw_info.name,
|
|
41
|
-
user = User.create(
|
|
42
|
-
provider:auth.provider,
|
|
43
|
-
uid:auth.uid,
|
|
44
|
-
email:auth.info.email,
|
|
45
|
-
password:Devise.friendly_token[0,20]
|
|
46
|
-
)
|
|
47
|
-
end
|
|
48
|
-
user
|
|
49
|
-
end', :before => "\nend")
|
|
50
|
-
|
|
51
|
-
add_if_missing('app/models/user.rb', '
|
|
52
|
-
def self.find_for_google_oauth(auth, signed_in_resource=nil)
|
|
53
|
-
Rails.logger.debug "(DEBUG) auth: #{auth.to_yaml}"
|
|
54
|
-
user = User.where(:provider => auth.provider, :uid => auth.uid).first
|
|
55
|
-
unless user
|
|
56
|
-
#name:auth.extra.raw_info.name,
|
|
57
|
-
user = User.create(
|
|
58
|
-
provider:auth.provider,
|
|
59
|
-
uid:auth.uid,
|
|
60
|
-
email:auth.info.email,
|
|
61
|
-
password:Devise.friendly_token[0,20]
|
|
62
|
-
)
|
|
63
|
-
end
|
|
64
|
-
user
|
|
65
|
-
end', :before => "\nend")
|
|
66
|
-
|
|
67
|
-
add_if_missing('Rakefile', "
|
|
68
|
-
files = ['config/initializers/omniauth.rb','config/database.yml','config/initializers/secret_token.rb']
|
|
69
|
-
|
|
70
|
-
domain = \"#{Rails.application.class.parent_name.downcase}.econtriver.com\"
|
|
71
|
-
set :user, \"root\" # The server's user for deploys
|
|
72
|
-
set :deploy_to, \"/srv/www/\#{domain}\"
|
|
73
|
-
|
|
74
|
-
task :put_secret do
|
|
75
|
-
files.each do |f|
|
|
76
|
-
system(\"scp \#{f} \#{user}@\#{domain}:\#{File.join(deploy_to,'private',f)}\")
|
|
77
|
-
end
|
|
78
|
-
end
|
|
23
|
+
def direct_devise_to_registrations
|
|
24
|
+
add_if_missing('config/routes.rb', ", :controllers => {:registrations => 'registrations'}", :after => "devise_for :users")
|
|
25
|
+
end
|
|
79
26
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
27
|
+
def generate_authentication_model
|
|
28
|
+
generate("model authentication user_id:integer provider:string uid:string")
|
|
29
|
+
add_if_missing('app/models/authentication.rb', "
|
|
30
|
+
belongs_to :user
|
|
31
|
+
|
|
32
|
+
def provider_name
|
|
33
|
+
if provider == 'open_id'
|
|
34
|
+
'OpenID'
|
|
35
|
+
elsif provider == 'google_oauth2'
|
|
36
|
+
'Google'
|
|
37
|
+
else
|
|
38
|
+
provider.titleize
|
|
39
|
+
end
|
|
40
|
+
end\n", :after => "class Authentication < ActiveRecord::Base\n")
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Leave the routes?
|
|
44
|
+
def generate_authentication_controller
|
|
45
|
+
generate('controller Authentications index create destroy')
|
|
46
|
+
template('app/controllers/authentications_controller.rb')
|
|
47
|
+
remove_file('app/views/authentications/index.html.erb')
|
|
48
|
+
remove_file('app/views/authentications/create.html.erb')
|
|
49
|
+
remove_file('app/views/authentications/destroy.html.erb')
|
|
50
|
+
# Need this index?
|
|
51
|
+
template('app/views/authentications/index.html.erb')
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
def generate_registration_controller
|
|
55
|
+
generate('controller Registrations edit new')
|
|
56
|
+
template('app/views/registrations/edit.html.erb')
|
|
57
|
+
template('app/views/registrations/new.html.erb')
|
|
58
|
+
template('app/controllers/registrations_controller.rb')
|
|
59
|
+
end
|
|
85
60
|
|
|
61
|
+
def add_routes
|
|
62
|
+
add_if_missing('config/routes.rb', "
|
|
63
|
+
match '/auth/failure' => 'authentications#failure'
|
|
64
|
+
match '/auth/:provider/callback' => 'authentications#create'
|
|
65
|
+
", :after => "get \"authentications/destroy\"\n")
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
def add_username_to_user
|
|
69
|
+
generate("migration AddUsernameToUser username:string")
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def update_user_model
|
|
73
|
+
template('app/models/user.rb')
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def copy_images
|
|
77
|
+
template('app/assets/images/facebook_32.png')
|
|
78
|
+
template('app/assets/images/github_32.png')
|
|
79
|
+
template('app/assets/images/google_32.png')
|
|
80
|
+
template('app/assets/images/twitter_32.png')
|
|
81
|
+
template('app/assets/images/facebook_64.png')
|
|
82
|
+
template('app/assets/images/github_64.png')
|
|
83
|
+
template('app/assets/images/google_64.png')
|
|
84
|
+
template('app/assets/images/twitter_64.png')
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def add_sign_in_to_devise
|
|
88
|
+
template('app/views/devise/sessions/new.html.erb')
|
|
89
|
+
template('app/views/shared/_open_auth.html.erb')
|
|
90
|
+
template('app/views/shared/_login_form.html.erb')
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
def update_db
|
|
94
|
+
if yes?("Would you like to migrate the database?")
|
|
95
|
+
rake("db:migrate")
|
|
96
|
+
end
|
|
86
97
|
end
|
|
87
98
|
|
|
88
99
|
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
class AuthenticationsController < ApplicationController
|
|
2
|
+
def index
|
|
3
|
+
@authentications = current_user.authentications if current_user
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def create
|
|
7
|
+
omniauth = request.env["omniauth.auth"]
|
|
8
|
+
authentication = Authentication.find_by_provider_and_uid(omniauth['provider'], omniauth['uid'])
|
|
9
|
+
if authentication
|
|
10
|
+
flash[:info] = "Signed in successfully."
|
|
11
|
+
sign_in_and_redirect(:user, authentication.user)
|
|
12
|
+
elsif current_user
|
|
13
|
+
current_user.authentications.create!(:provider => omniauth['provider'], :uid => omniauth['uid'])
|
|
14
|
+
flash[:info] = "Authentication successful."
|
|
15
|
+
redirect_to authentications_url
|
|
16
|
+
else
|
|
17
|
+
user = User.new
|
|
18
|
+
user.apply_omniauth(omniauth)
|
|
19
|
+
if user.save
|
|
20
|
+
flash[:info] = "Signed in successfully."
|
|
21
|
+
sign_in_and_redirect(:user, user)
|
|
22
|
+
else
|
|
23
|
+
session[:omniauth] = omniauth.except('extra')
|
|
24
|
+
redirect_to new_user_registration_url
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def failure
|
|
30
|
+
flash[:error] = "There was a problem authenticating with the selected service."
|
|
31
|
+
redirect_to new_user_registration_url
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def destroy
|
|
35
|
+
if ( current_user.authentications.count == 1 && current_user.encrypted_password.empty? )
|
|
36
|
+
flash[:error] = "You must first set a password on the <a href=\"#{edit_user_registration_path}\">preferences page</a>".html_safe
|
|
37
|
+
else
|
|
38
|
+
@authentication = current_user.authentications.find(params[:id])
|
|
39
|
+
@authentication.destroy
|
|
40
|
+
flash[:success] = "Successfully destroyed authentication."
|
|
41
|
+
end
|
|
42
|
+
redirect_to authentications_url
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
protected
|
|
46
|
+
|
|
47
|
+
# This is necessary since Rails 3.0.4
|
|
48
|
+
# See https://github.com/intridea/omniauth/issues/185
|
|
49
|
+
# and http://www.arailsdemo.com/posts/44
|
|
50
|
+
def handle_unverified_request
|
|
51
|
+
true
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
class RegistrationsController < Devise::RegistrationsController
|
|
2
|
+
|
|
3
|
+
def create
|
|
4
|
+
super
|
|
5
|
+
session[:omniauth] = nil unless @user.new_record?
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def edit
|
|
9
|
+
@authentications = current_user.authentications if current_user
|
|
10
|
+
super
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
|
|
15
|
+
def build_resource(*args)
|
|
16
|
+
super
|
|
17
|
+
if session[:omniauth]
|
|
18
|
+
@user.apply_omniauth(session[:omniauth])
|
|
19
|
+
@user.valid?
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
class User < ActiveRecord::Base
|
|
2
|
+
validates :username, :presence => true, :uniqueness => true
|
|
3
|
+
|
|
4
|
+
# Include default devise modules. Others available are:
|
|
5
|
+
# :token_authenticatable, :lockable, :timeoutable, :confirmable and :activatable
|
|
6
|
+
devise :database_authenticatable, :registerable,
|
|
7
|
+
:recoverable, :rememberable, :trackable, :validatable
|
|
8
|
+
|
|
9
|
+
has_many :authentications, :dependent => :destroy
|
|
10
|
+
|
|
11
|
+
attr_accessor :login
|
|
12
|
+
attr_accessible :email, :password, :password_confirmation, :username, :login, :remember_me
|
|
13
|
+
|
|
14
|
+
def self.find_for_authentication(warden_conditions)
|
|
15
|
+
conditions = warden_conditions.dup
|
|
16
|
+
login = conditions.delete(:login)
|
|
17
|
+
where(conditions).where(["lower(username) = :value OR lower(email) = :value", {:value => login.downcase}]).first
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def update_with_password(params={})
|
|
21
|
+
if params[:password].blank?
|
|
22
|
+
params.delete(:password)
|
|
23
|
+
params.delete(:password_confirmation) if params[:password_confirmation].blank?
|
|
24
|
+
end
|
|
25
|
+
update_attributes(params)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def apply_omniauth(omniauth)
|
|
29
|
+
if (omniauth['info'] && omniauth['info']['email'])
|
|
30
|
+
self.email = omniauth['info']['email'] if email.blank?
|
|
31
|
+
end
|
|
32
|
+
if (omniauth['info'] && omniauth['info']['nickname'])
|
|
33
|
+
self.username = omniauth['info']['nickname'] if username.blank?
|
|
34
|
+
else
|
|
35
|
+
self.username = derive_username if username.blank?
|
|
36
|
+
end
|
|
37
|
+
authentications.build(:provider => omniauth['provider'], :uid => omniauth['uid'])
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def derive_username
|
|
41
|
+
split_email = self.email.split(/@/)
|
|
42
|
+
username_taken = User.where(:username => split_email[0]).first
|
|
43
|
+
unless username_taken
|
|
44
|
+
split_email[0]
|
|
45
|
+
else
|
|
46
|
+
nil
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def password_required?
|
|
51
|
+
(authentications.empty? || !password.blank?) && super
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<h2>Sign In Using...</h2>
|
|
2
|
+
|
|
3
|
+
<%%= render 'shared/open_auth' %>
|
|
4
|
+
|
|
5
|
+
<%% unless user_signed_in? %>
|
|
6
|
+
<div class="left span-12 last">
|
|
7
|
+
<h2 class="alt">... or a Normal Account:</h2>
|
|
8
|
+
<%%= render 'shared/login_form' %>
|
|
9
|
+
<%%= link_to "Forgot your password?", new_password_path('user') %>
|
|
10
|
+
<br/>
|
|
11
|
+
<%%= link_to "Sign up", new_user_registration_path %>
|
|
12
|
+
</div>
|
|
13
|
+
<%% end %>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<h2>Sign In Using...</h2>
|
|
2
|
+
|
|
3
|
+
<%= render 'shared/open_auth' %>
|
|
4
|
+
|
|
5
|
+
<% unless user_signed_in? %>
|
|
6
|
+
<div class="left span-9 last">
|
|
7
|
+
<h2 class="alt">... or a Normal Account:</h2>
|
|
8
|
+
<%= render 'shared/login_form' %>
|
|
9
|
+
<%= render "devise/shared/links" %>
|
|
10
|
+
</div>
|
|
11
|
+
<% end %>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<div class="left span-9">
|
|
2
|
+
<h2>Edit <%%= resource_name.to_s.humanize %></h2>
|
|
3
|
+
|
|
4
|
+
<%%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => {:method => :put}) do |f| %>
|
|
5
|
+
<%%= render 'shared/error_messages', :object => f.object %>
|
|
6
|
+
|
|
7
|
+
<p><%%= f.label :username %></p>
|
|
8
|
+
|
|
9
|
+
<p><%%= f.text_field :username, :class => "text" %></p>
|
|
10
|
+
|
|
11
|
+
<p><%%= f.label :email %></p>
|
|
12
|
+
|
|
13
|
+
<p><%%= f.text_field :email, :class => "text" %></p>
|
|
14
|
+
|
|
15
|
+
<p><%%= f.label :password %> <span class="alt large">(leave blank if you don't want to change it)</span></p>
|
|
16
|
+
|
|
17
|
+
<p><%%= f.password_field :password, :class => "text" %></p>
|
|
18
|
+
|
|
19
|
+
<p><%%= f.label :password_confirmation %></p>
|
|
20
|
+
|
|
21
|
+
<p><%%= f.password_field :password_confirmation, :class => "text" %></p>
|
|
22
|
+
|
|
23
|
+
<p><%%= f.submit "Update" %></p>
|
|
24
|
+
<%% end %>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
<div class="left span-9 last">
|
|
28
|
+
<%%= render 'shared/open_auth' %>
|
|
29
|
+
<p>To use another provider to logon, click the provider you want to use.</p>
|
|
30
|
+
<br />
|
|
31
|
+
<p>To tell your authentication provider to stop authenticating with our site, then visit:
|
|
32
|
+
<ul>
|
|
33
|
+
<li><a href="https://accounts.google.com/IssuedAuthSubTokens">Google</a></li>
|
|
34
|
+
<li><a href="https://www.facebook.com/appcenter/my">Facebook</a></li>
|
|
35
|
+
<li><a href="https://twitter.com/settings/applications">Twitter</a></li>
|
|
36
|
+
<li><a href="https://github.com/account/connections">GitHub</a></li>
|
|
37
|
+
</ul>
|
|
38
|
+
</p>
|
|
39
|
+
</div>
|
|
40
|
+
|
|
41
|
+
<h3 class="clear">Cancel my account</h3>
|
|
42
|
+
|
|
43
|
+
<p>Want to delete your user and all associated
|
|
44
|
+
information? <%%= link_to "Cancel my account", registration_path(resource_name), :confirm => "Are you sure?", :method => :delete %>
|
|
45
|
+
.</p>
|
|
46
|
+
|
|
47
|
+
<%%= link_to "Back", :back %>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<%% title "Sign up" %>
|
|
2
|
+
|
|
3
|
+
<h2>Sign up</h2>
|
|
4
|
+
|
|
5
|
+
<%%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
|
|
6
|
+
<%%= render 'shared/error_messages', :object => f.object %>
|
|
7
|
+
|
|
8
|
+
<p><%%= f.label :username %></p>
|
|
9
|
+
<p><%%= f.text_field :username %></p>
|
|
10
|
+
|
|
11
|
+
<p><%%= f.label :email %></p>
|
|
12
|
+
<p><%%= f.text_field :email %></p>
|
|
13
|
+
|
|
14
|
+
<%% if @user.password_required? %>
|
|
15
|
+
<p><%%= f.label :password %></p>
|
|
16
|
+
<p><%%= f.password_field :password %></p>
|
|
17
|
+
|
|
18
|
+
<p><%%= f.label :password_confirmation %></p>
|
|
19
|
+
<p><%%= f.password_field :password_confirmation %></p>
|
|
20
|
+
<%% end %>
|
|
21
|
+
|
|
22
|
+
<p><%%= f.submit "Sign up" %></p>
|
|
23
|
+
<%% end %>
|
|
24
|
+
|
|
25
|
+
<%%= render :partial => "devise/shared/links" %>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<%%= form_for("user", :url => user_session_path) do |f| %>
|
|
2
|
+
<%%= f.label :login, "Login / Email" %>
|
|
3
|
+
<br/>
|
|
4
|
+
<%%= f.text_field :login, :class => "text" %>
|
|
5
|
+
<br/>
|
|
6
|
+
<%%= f.label :password %>
|
|
7
|
+
<br/>
|
|
8
|
+
<%%= f.password_field :password, :class => "text" %>
|
|
9
|
+
<br/>
|
|
10
|
+
<%%= f.check_box :remember_me %>
|
|
11
|
+
<%%= f.label :remember_me %>
|
|
12
|
+
<br/>
|
|
13
|
+
<%%= f.submit 'Sign in' %>
|
|
14
|
+
<%% end %>
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<div class="left span-9 last">
|
|
2
|
+
<h2 class="alt">Open Authentication:</h2>
|
|
3
|
+
|
|
4
|
+
<%% if @authentications %>
|
|
5
|
+
<%% unless @authentications.empty? %>
|
|
6
|
+
<p><strong>You can sign in to this account using:</strong></p>
|
|
7
|
+
|
|
8
|
+
<div class="authentications">
|
|
9
|
+
<%% for authentication in @authentications %>
|
|
10
|
+
<div class="authentication ui-corner-all left">
|
|
11
|
+
<%%= link_to "X", authentication, :confirm => 'Are you sure you want to remove this authentication option?', :method => :delete, :class => "right", :title => "Remove" %>
|
|
12
|
+
<%%= image_tag "#{authentication.provider_name.downcase}_32.png", :size => "32x32" %>
|
|
13
|
+
<div class="provider"><%%= authentication.provider_name %></div>
|
|
14
|
+
<!--div class="uid alt"><%%= authentication.uid %></div-->
|
|
15
|
+
</div>
|
|
16
|
+
<%% end %>
|
|
17
|
+
<div class="clear"></div>
|
|
18
|
+
</div>
|
|
19
|
+
<%% end %>
|
|
20
|
+
<p><strong>Link another account:</strong></p>
|
|
21
|
+
<%% end %>
|
|
22
|
+
|
|
23
|
+
<a href="/auth/google_oauth2" class="auth_provider">
|
|
24
|
+
<%%= image_tag "google_64.png", :size => "64x64", :alt => "Google" %>
|
|
25
|
+
Google
|
|
26
|
+
</a>
|
|
27
|
+
<a href="/auth/facebook" class="auth_provider">
|
|
28
|
+
<%%= image_tag "facebook_64.png", :size => "64x64", :alt => "Facebook" %>
|
|
29
|
+
Facebook
|
|
30
|
+
</a>
|
|
31
|
+
<a href="/auth/twitter" class="auth_provider">
|
|
32
|
+
<%%= image_tag "twitter_64.png", :size => "64x64", :alt => "Twitter" %>
|
|
33
|
+
Twitter
|
|
34
|
+
</a>
|
|
35
|
+
<a href="/auth/github" class="auth_provider">
|
|
36
|
+
<%%= image_tag "github_64.png", :size => "64x64", :alt => "github" %>
|
|
37
|
+
GitHub
|
|
38
|
+
</a>
|
|
39
|
+
</div>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
#require 'openid/store/filesystem'
|
|
2
|
+
Rails.application.config.middleware.use OmniAuth::Builder do
|
|
3
|
+
#require 'omniauth-google-oauth2'
|
|
4
|
+
config.omniauth :google_oauth2, 'APP_ID', 'APP_SECRET', { :scope => 'https://www.googleapis.com/auth/userinfo.email', :redirect_uri => 'http://tester.econtriver.com/auth/google_oauth2/callback', :approval_prompt => 'auto' }
|
|
5
|
+
|
|
6
|
+
#require 'omniauth-twitter'
|
|
7
|
+
config.omniauth :twitter, 'APP_ID', 'APP_SECRET'
|
|
8
|
+
|
|
9
|
+
#require 'omniauth-github'
|
|
10
|
+
config.omniauth :github, 'APP_ID', 'APP_SECRET'
|
|
11
|
+
|
|
12
|
+
#provider :open_id, OpenID::Store::Filesystem.new('/tmp')
|
|
13
|
+
end
|
|
@@ -30,6 +30,11 @@ module Frame
|
|
|
30
30
|
initializer("secret_token.rb", "#{Rails.application.class.parent_name}::Application.config.secret_token = '#{secret}'")
|
|
31
31
|
end
|
|
32
32
|
|
|
33
|
+
def create_rake_file
|
|
34
|
+
#@title = Rails.application.class.parent_name.downcase
|
|
35
|
+
template('Rakefile')
|
|
36
|
+
end
|
|
37
|
+
|
|
33
38
|
end
|
|
34
39
|
end
|
|
35
40
|
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/env rake
|
|
2
|
+
|
|
3
|
+
# Add your own tasks in files placed in lib/tasks ending in .rake,
|
|
4
|
+
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
|
|
5
|
+
|
|
6
|
+
require File.expand_path('../config/application', __FILE__)
|
|
7
|
+
|
|
8
|
+
Tester::Application.load_tasks
|
|
9
|
+
|
|
10
|
+
files = ['config/initializers/omniauth.rb','config/database.yml','config/initializers/secret_token.rb']
|
|
11
|
+
|
|
12
|
+
domain = "#{Rails.application.class.parent_name.downcase}.econtriver.com"
|
|
13
|
+
user = "root" # The server's user for deploys
|
|
14
|
+
deploy_to = "/srv/www/#{domain}"
|
|
15
|
+
|
|
16
|
+
task :setup_server_db do
|
|
17
|
+
system("ssh #{user}@#{domain} 'cd #{File.join(deploy_to,'current')};rake db:setup RAILS_ENV=production'")
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
task :put_secret do
|
|
21
|
+
files.each do |f|
|
|
22
|
+
system("scp #{f} #{user}@#{domain}:#{File.join(deploy_to,'private',f)}")
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
task :get_secret do
|
|
27
|
+
files.each do |f|
|
|
28
|
+
system("scp #{user}@#{domain}:#{File.join(deploy_to,'private',f)} #{f}")
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
task :backup, :roles => :db, :only => { :primary => true } do
|
|
33
|
+
filename = "#{Rails.application.class.parent_name.downcase}.db_backup.#{Time.now.to_f}.sql.bz2"
|
|
34
|
+
filepath = File.join(deploy_to,'current',filename)
|
|
35
|
+
config = YAML.load_file(File.join(deploy_to,'private', 'config', 'database.yml')
|
|
36
|
+
run "mysqldump -u #{config['production']['username']} -p #{config['production']['database']} | bzip2 -c > #{filepath}" do |ch, stream, out|
|
|
37
|
+
ch.send_data "#{config['production']['password']}\n" if out =~ /^Enter password:/
|
|
38
|
+
end
|
|
39
|
+
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: frame
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.5
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-
|
|
12
|
+
date: 2012-10-07 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: activeadmin
|
|
@@ -187,6 +187,38 @@ dependencies:
|
|
|
187
187
|
- - ! '>='
|
|
188
188
|
- !ruby/object:Gem::Version
|
|
189
189
|
version: '0'
|
|
190
|
+
- !ruby/object:Gem::Dependency
|
|
191
|
+
name: omniauth-github
|
|
192
|
+
requirement: !ruby/object:Gem::Requirement
|
|
193
|
+
none: false
|
|
194
|
+
requirements:
|
|
195
|
+
- - ! '>='
|
|
196
|
+
- !ruby/object:Gem::Version
|
|
197
|
+
version: '0'
|
|
198
|
+
type: :development
|
|
199
|
+
prerelease: false
|
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
201
|
+
none: false
|
|
202
|
+
requirements:
|
|
203
|
+
- - ! '>='
|
|
204
|
+
- !ruby/object:Gem::Version
|
|
205
|
+
version: '0'
|
|
206
|
+
- !ruby/object:Gem::Dependency
|
|
207
|
+
name: omniauth-facebook
|
|
208
|
+
requirement: !ruby/object:Gem::Requirement
|
|
209
|
+
none: false
|
|
210
|
+
requirements:
|
|
211
|
+
- - ! '>='
|
|
212
|
+
- !ruby/object:Gem::Version
|
|
213
|
+
version: '0'
|
|
214
|
+
type: :development
|
|
215
|
+
prerelease: false
|
|
216
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
217
|
+
none: false
|
|
218
|
+
requirements:
|
|
219
|
+
- - ! '>='
|
|
220
|
+
- !ruby/object:Gem::Version
|
|
221
|
+
version: '0'
|
|
190
222
|
- !ruby/object:Gem::Dependency
|
|
191
223
|
name: rails
|
|
192
224
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -261,17 +293,28 @@ extensions: []
|
|
|
261
293
|
extra_rdoc_files: []
|
|
262
294
|
files:
|
|
263
295
|
- lib/generators/frame.rb
|
|
264
|
-
- lib/generators/frame/layout/templates/
|
|
265
|
-
- lib/generators/frame/layout/templates/
|
|
266
|
-
- lib/generators/frame/layout/templates/
|
|
267
|
-
- lib/generators/frame/layout/templates/
|
|
268
|
-
- lib/generators/frame/layout/templates/
|
|
269
|
-
- lib/generators/frame/layout/templates/
|
|
270
|
-
- lib/generators/frame/layout/templates/
|
|
296
|
+
- lib/generators/frame/layout/templates/app/stylesheets/frame.css
|
|
297
|
+
- lib/generators/frame/layout/templates/app/views/layouts/defaults.html.erb
|
|
298
|
+
- lib/generators/frame/layout/templates/app/views/layouts/application.html.erb
|
|
299
|
+
- lib/generators/frame/layout/templates/app/views/layouts/default_layout.html.erb
|
|
300
|
+
- lib/generators/frame/layout/templates/app/assets/images/econ_f_16.png
|
|
301
|
+
- lib/generators/frame/layout/templates/app/assets/images/econ_f_256.png
|
|
302
|
+
- lib/generators/frame/layout/templates/app/assets/images/econ_f_32.png
|
|
303
|
+
- lib/generators/frame/layout/templates/app/assets/images/econ_f_64.png
|
|
304
|
+
- lib/generators/frame/layout/templates/app/assets/images/econ_f_128.png
|
|
305
|
+
- lib/generators/frame/layout/templates/app/assets/images/favicon.ico
|
|
306
|
+
- lib/generators/frame/layout/templates/app/assets/images/econ_f_64.gif
|
|
307
|
+
- lib/generators/frame/layout/templates/app/assets/images/econ_f_32_loading.gif
|
|
308
|
+
- lib/generators/frame/layout/templates/app/assets/images/econ_f_128.gif
|
|
309
|
+
- lib/generators/frame/layout/templates/app/assets/images/econ_f_256.gif
|
|
310
|
+
- lib/generators/frame/layout/templates/app/assets/images/econ_f_32.gif
|
|
311
|
+
- lib/generators/frame/layout/templates/app/assets/images/econ_f_16.gif
|
|
312
|
+
- lib/generators/frame/layout/templates/app/helpers/application_helper.rb
|
|
271
313
|
- lib/generators/frame/layout/layout_generator.rb
|
|
272
314
|
- lib/generators/frame/layout/USAGE
|
|
273
315
|
- lib/generators/frame/mysql/USAGE
|
|
274
316
|
- lib/generators/frame/mysql/mysql_generator.rb
|
|
317
|
+
- lib/generators/frame/secret/templates/Rakefile
|
|
275
318
|
- lib/generators/frame/secret/templates/database.yml
|
|
276
319
|
- lib/generators/frame/secret/secret_generator.rb
|
|
277
320
|
- lib/generators/frame/secret/USAGE
|
|
@@ -285,21 +328,36 @@ files:
|
|
|
285
328
|
- lib/generators/frame/pages/templates/_error_messages.html.erb
|
|
286
329
|
- lib/generators/frame/pages/pages_generator.rb
|
|
287
330
|
- lib/generators/frame/pages/USAGE
|
|
288
|
-
- lib/generators/frame/omniauth/templates/
|
|
289
|
-
- lib/generators/frame/omniauth/templates/
|
|
290
|
-
- lib/generators/frame/omniauth/templates/
|
|
331
|
+
- lib/generators/frame/omniauth/templates/app/views/authentications/index.html.erb
|
|
332
|
+
- lib/generators/frame/omniauth/templates/app/views/registrations/new.html.erb
|
|
333
|
+
- lib/generators/frame/omniauth/templates/app/views/registrations/edit.html.erb
|
|
334
|
+
- lib/generators/frame/omniauth/templates/app/views/devise/sessions/new.html.erb
|
|
335
|
+
- lib/generators/frame/omniauth/templates/app/views/shared/_open_auth.html.erb
|
|
336
|
+
- lib/generators/frame/omniauth/templates/app/views/shared/_login_form.html.erb
|
|
337
|
+
- lib/generators/frame/omniauth/templates/app/models/user.rb
|
|
338
|
+
- lib/generators/frame/omniauth/templates/app/assets/images/twitter_64.png
|
|
339
|
+
- lib/generators/frame/omniauth/templates/app/assets/images/github_32.png
|
|
340
|
+
- lib/generators/frame/omniauth/templates/app/assets/images/google_64.png
|
|
341
|
+
- lib/generators/frame/omniauth/templates/app/assets/images/facebook_64.png
|
|
342
|
+
- lib/generators/frame/omniauth/templates/app/assets/images/twitter_32.png
|
|
343
|
+
- lib/generators/frame/omniauth/templates/app/assets/images/facebook_32.png
|
|
344
|
+
- lib/generators/frame/omniauth/templates/app/assets/images/google_32.png
|
|
345
|
+
- lib/generators/frame/omniauth/templates/app/assets/images/github_64.png
|
|
346
|
+
- lib/generators/frame/omniauth/templates/app/controllers/authentications_controller.rb
|
|
347
|
+
- lib/generators/frame/omniauth/templates/app/controllers/registrations_controller.rb
|
|
348
|
+
- lib/generators/frame/omniauth/templates/config/initializers/omniauth.rb
|
|
291
349
|
- lib/generators/frame/omniauth/USAGE
|
|
292
350
|
- lib/generators/frame/omniauth/omniauth_generator.rb
|
|
293
351
|
- lib/generators/frame/all/USAGE
|
|
294
352
|
- lib/generators/frame/all/all_generator.rb
|
|
295
353
|
- lib/generators/frame/blueprint/USAGE
|
|
296
354
|
- lib/generators/frame/blueprint/blueprint_generator.rb
|
|
297
|
-
- lib/generators/frame/devise/templates/defaults.html.erb
|
|
355
|
+
- lib/generators/frame/devise/templates/app/views/layouts/defaults.html.erb
|
|
298
356
|
- lib/generators/frame/devise/USAGE
|
|
299
357
|
- lib/generators/frame/devise/devise_generator.rb
|
|
300
|
-
- lib/generators/frame/admin/templates/
|
|
301
|
-
- lib/generators/frame/admin/templates/
|
|
302
|
-
- lib/generators/frame/admin/templates/pages.rb
|
|
358
|
+
- lib/generators/frame/admin/templates/app/views/pages/show.html.erb
|
|
359
|
+
- lib/generators/frame/admin/templates/app/controllers/pages_controller.rb
|
|
360
|
+
- lib/generators/frame/admin/templates/app/admin/pages.rb
|
|
303
361
|
- lib/generators/frame/admin/USAGE
|
|
304
362
|
- lib/generators/frame/admin/admin_generator.rb
|
|
305
363
|
- lib/generators/frame/gitignore/gitignore_generator.rb
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<%% content_for :head do %>
|
|
2
|
-
<%%= favicon_link_tag('/assets/favicon.ico') %>
|
|
3
|
-
<%%= stylesheet_link_tag "application" %>
|
|
4
|
-
<%%= javascript_include_tag "application" %>
|
|
5
|
-
<%%= csrf_meta_tag %>
|
|
6
|
-
<%% end %>
|
|
7
|
-
|
|
8
|
-
<%% content_for :header do %>
|
|
9
|
-
<nav class="span-24 append-bottom">
|
|
10
|
-
<ul>
|
|
11
|
-
<%%= render :partial => "pages/links", :collection => @display_pages.topbar, :as => :page, :locals => {:classes => "left hover"} %>
|
|
12
|
-
<%% if user_signed_in? %>
|
|
13
|
-
<%%= link_to '<li class="left hover">Account</li>'.html_safe, edit_user_registration_path %>
|
|
14
|
-
<%%= link_to '<li class="right hover">Sign out</li>'.html_safe, destroy_user_session_path, :method => :delete %>
|
|
15
|
-
<li class="right last lighter"><%%= current_user.email %></li>
|
|
16
|
-
<%% else %>
|
|
17
|
-
<%%= link_to '<li class="right hover">Sign in</li>'.html_safe, user_session_path %>
|
|
18
|
-
<%% end %>
|
|
19
|
-
</ul>
|
|
20
|
-
</nav>
|
|
21
|
-
<banner>
|
|
22
|
-
<%%= link_to logo, root_path, {:class => "right prepend-1"} %>
|
|
23
|
-
<h1 class="left alt append-1"><%%= yield(:title) %></h1>
|
|
24
|
-
<%% flash.each do |key, value| %>
|
|
25
|
-
<div id="notice" class="left flash <%%= key %>"><%%= value %></div>
|
|
26
|
-
<%% end %>
|
|
27
|
-
</banner>
|
|
28
|
-
<hr/>
|
|
29
|
-
<%% end %>
|
|
30
|
-
|
|
31
|
-
<%% content_for :sidebar do %>
|
|
32
|
-
<%%= render 'shared/sidebar', :sidebar => @display_pages.sidebar %>
|
|
33
|
-
<%% end %>
|
|
34
|
-
|
|
35
|
-
<%% content_for :userbar do %>
|
|
36
|
-
<%% if user_signed_in? %>
|
|
37
|
-
<%%= render 'shared/sidebar', :sidebar => @display_pages.userbar %>
|
|
38
|
-
<%% end %>
|
|
39
|
-
<%% end %>
|
|
40
|
-
|
|
41
|
-
<%% content_for :footer do %>
|
|
42
|
-
<nav class="span-24 prepend-top last">
|
|
43
|
-
<ul>
|
|
44
|
-
<%%= render :partial => "pages/links", :collection => @display_pages.bottombar, :as => :page, :locals => {:classes => "left hover"} %>
|
|
45
|
-
</ul>
|
|
46
|
-
</nav>
|
|
47
|
-
<%% end %>
|
|
Binary file
|
|
Binary file
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
Devise.setup do |config|
|
|
2
|
-
require 'omniauth-google-oauth2'
|
|
3
|
-
config.omniauth :google_oauth2, 'APP_ID', 'APP_SECRET', { :scope => 'https://www.googleapis.com/auth/userinfo.email', :redirect_uri => 'http://tester.econtriver.com/auth/google_oauth2/callback', :approval_prompt => 'auto' }
|
|
4
|
-
require 'omniauth-twitter'
|
|
5
|
-
config.omniauth :twitter, 'APP_ID', 'APP_SECRET'
|
|
6
|
-
end
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
|
|
2
|
-
#def facebook
|
|
3
|
-
# @user = User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user)
|
|
4
|
-
#
|
|
5
|
-
# if @user.persisted?
|
|
6
|
-
# flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Facebook"
|
|
7
|
-
# sign_in_and_redirect @user, :event => :authentication
|
|
8
|
-
# else
|
|
9
|
-
# session["devise.facebook_data"] = request.env["omniauth.auth"]
|
|
10
|
-
# redirect_to new_user_registration_url
|
|
11
|
-
# end
|
|
12
|
-
#end
|
|
13
|
-
|
|
14
|
-
def twitter
|
|
15
|
-
@user = User.find_for_twitter_oauth(request.env["omniauth.auth"], current_user)
|
|
16
|
-
|
|
17
|
-
if @user.persisted?
|
|
18
|
-
flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Twitter"
|
|
19
|
-
sign_in_and_redirect @user, :event => :authentication
|
|
20
|
-
else
|
|
21
|
-
session["devise.twitter_data"] = request.env["omniauth.auth"]
|
|
22
|
-
redirect_to new_user_registration_url
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def google
|
|
27
|
-
@user = User.find_for_google_oauth(request.env["omniauth.auth"], current_user)
|
|
28
|
-
|
|
29
|
-
if @user.persisted?
|
|
30
|
-
flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => "Google"
|
|
31
|
-
sign_in_and_redirect @user, :event => :authentication
|
|
32
|
-
else
|
|
33
|
-
session["devise.google_data"] = request.env["omniauth.auth"]
|
|
34
|
-
redirect_to new_user_registration_url
|
|
35
|
-
end
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
end
|