multiauth 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +28 -2
- data/VERSION +1 -1
- data/app/views/multiauth/_box.html.erb +1 -1
- data/app/views/multiauth/_menu.html.erb +17 -0
- data/app/views/multiauth/sessions/new.html.erb +7 -1
- data/lib/generators/templates/README +9 -0
- data/lib/generators/templates/multiauth.css +25 -0
- data/lib/generators/templates/multiauth.js +13 -1
- data/lib/multiauth/views_helper.rb +13 -2
- data/multiauth.gemspec +3 -2
- metadata +4 -3
data/README.rdoc
CHANGED
@@ -1,6 +1,32 @@
|
|
1
|
-
=
|
1
|
+
= Usage (by example)
|
2
|
+
|
3
|
+
create an application
|
4
|
+
|
5
|
+
rails new multiauth-example
|
6
|
+
cd multiauth-example
|
7
|
+
|
8
|
+
edit Gemfile and add
|
9
|
+
|
10
|
+
gem 'omniauth', '~> 0.1.1'
|
11
|
+
gem 'multiauth', '~> 0.2.2'
|
12
|
+
|
13
|
+
bundle the app to install the dependencies
|
14
|
+
|
15
|
+
bundle
|
16
|
+
|
17
|
+
install required files
|
18
|
+
|
19
|
+
rails g multiauth
|
20
|
+
rails g model User email:string uid:string
|
21
|
+
|
22
|
+
start the server
|
23
|
+
|
24
|
+
rails s
|
25
|
+
|
26
|
+
and then visit
|
27
|
+
|
28
|
+
http://localhost:3000/sessions/sign_in
|
2
29
|
|
3
|
-
Description goes here.
|
4
30
|
|
5
31
|
== Note on Patches/Pull Requests
|
6
32
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.3
|
@@ -14,7 +14,7 @@
|
|
14
14
|
<% providers.each_slice(3) do |column| %>
|
15
15
|
<div class="column">
|
16
16
|
<% column.each do |provider, config| %>
|
17
|
-
<a id="btn_<%= count+=1 %>" class="<%= provider %> openid_btn <%= config[
|
17
|
+
<a id="btn_<%= count+=1 %>" class="<%= provider %> openid_btn <%= config["class"] %>" title="<%= provider %>" href="/auth/<%= config["openid"] ? "open_id?openid_url=#{config["openid"]}" : "#{provider.downcase}" %>"></a>
|
18
18
|
<% end %>
|
19
19
|
</div>
|
20
20
|
<% end %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div id="multiauth-menu">
|
2
|
+
<h2>
|
3
|
+
<a href="#"><%= title %></a>
|
4
|
+
</h2>
|
5
|
+
<div class="menu-container">
|
6
|
+
<% count = 0 %>
|
7
|
+
<% multiauth_providers.each_slice(5) do |providers| %>
|
8
|
+
<div class="rows">
|
9
|
+
<% providers.each do |provider, config| %>
|
10
|
+
<div class="item" style="float: left; width: 19.5%;">
|
11
|
+
<a id="btn_<%= count+=1 %>" class="<%= provider %> openid_btn <%= config["class"] %>" title="<%= provider %>" href="/auth/<%= config["openid"] ? "open_id?openid_url=#{config["openid"]}" : "#{provider.downcase}" %>"></a>
|
12
|
+
</div>
|
13
|
+
<% end %>
|
14
|
+
</div>
|
15
|
+
<% end %>
|
16
|
+
</div>
|
17
|
+
</div>
|
@@ -55,5 +55,14 @@ you can override them using the following routes:
|
|
55
55
|
match "/login" => "multiauth/sessions#new", :as => :new_session
|
56
56
|
match "/logout" => "multiauth/sessions#destroy", :method => :get, :as => :destroy_session
|
57
57
|
|
58
|
+
you can override the default view creating the file:
|
59
|
+
app/views/multiauth/sessions/new.html.haml
|
60
|
+
|
61
|
+
to render the auth providers as a dropdown menu use:
|
62
|
+
<%= multiauth_menu("connect your account") %>
|
63
|
+
|
64
|
+
you can render single links as follows:
|
65
|
+
<%= multiauth_link("Google") %>
|
66
|
+
|
58
67
|
|
59
68
|
===============================================================================
|
@@ -115,6 +115,31 @@ a.openid_large_btn:focus {
|
|
115
115
|
-moz-outline-style: none;
|
116
116
|
}
|
117
117
|
|
118
|
+
#multiauth-menu {
|
119
|
+
display: inline;
|
120
|
+
position: relative;
|
121
|
+
}
|
122
|
+
|
123
|
+
#multiauth-menu div.menu-container {
|
124
|
+
display: none;
|
125
|
+
border: 2px solid gray;
|
126
|
+
}
|
127
|
+
|
128
|
+
#multiauth-menu ul {
|
129
|
+
list-style-type: none;
|
130
|
+
}
|
131
|
+
|
132
|
+
#multiauth-menu div.menu-container {
|
133
|
+
width: 56em;
|
134
|
+
position: absolute;
|
135
|
+
top: 1.6em;
|
136
|
+
left: 0em;
|
137
|
+
z-index: 1000;
|
138
|
+
}
|
139
|
+
|
140
|
+
#multiauth-menu.hovering div.menu-container {
|
141
|
+
display: block;
|
142
|
+
}
|
118
143
|
|
119
144
|
#carousel {
|
120
145
|
margin:0 auto;
|
@@ -58,7 +58,7 @@ jQuery(function ($) {
|
|
58
58
|
return false;
|
59
59
|
});
|
60
60
|
|
61
|
-
$
|
61
|
+
$(".openid_btn").click(function(e){
|
62
62
|
var a = $(this);
|
63
63
|
|
64
64
|
if(a.attr("href").match("{user_name}")) {
|
@@ -81,4 +81,16 @@ jQuery(function ($) {
|
|
81
81
|
});
|
82
82
|
|
83
83
|
openidCarouselEffect();
|
84
|
+
|
85
|
+
var intervalId = null;
|
86
|
+
$("#multiauth-menu").hover(function(){
|
87
|
+
if(intervalId)
|
88
|
+
clearTimeout(intervalId);
|
89
|
+
$(this).addClass("hovering");
|
90
|
+
}, function() {
|
91
|
+
var e = $(this);
|
92
|
+
intervalId = setTimeout(function() {
|
93
|
+
e.removeClass("hovering");
|
94
|
+
}, 1000)
|
95
|
+
})
|
84
96
|
});
|
@@ -1,7 +1,11 @@
|
|
1
1
|
module Multiauth
|
2
2
|
module ViewsHelper
|
3
3
|
def multiauth_box
|
4
|
-
render
|
4
|
+
render "multiauth/box"
|
5
|
+
end
|
6
|
+
|
7
|
+
def multiauth_menu(title = "Sign In")
|
8
|
+
render "multiauth/menu", :title => title
|
5
9
|
end
|
6
10
|
|
7
11
|
def multiauth_assets
|
@@ -10,7 +14,14 @@ module Multiauth
|
|
10
14
|
end
|
11
15
|
|
12
16
|
def multiauth_providers
|
13
|
-
Multiauth.providers ||
|
17
|
+
Multiauth.providers || {}
|
18
|
+
end
|
19
|
+
|
20
|
+
def multiauth_link(provider, text = "", cssclass = nil)
|
21
|
+
config = multiauth_providers[provider]
|
22
|
+
css_class ||= "#{provider} openid_btn #{config["class"]}"
|
23
|
+
|
24
|
+
%@<a class="#{css_class}" title="#{provider}" href="/auth/#{config["openid"] ? "open_id?openid_url=#{config["openid"]}" : "#{provider.downcase}"}">#{text}</a>@
|
14
25
|
end
|
15
26
|
end
|
16
27
|
end
|
data/multiauth.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{multiauth}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["David A. Cuadrado"]
|
12
|
-
s.date = %q{2010-10-
|
12
|
+
s.date = %q{2010-10-07}
|
13
13
|
s.description = %q{multi authentication gem using devise & co}
|
14
14
|
s.email = %q{krawek@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
|
|
27
27
|
"VERSION",
|
28
28
|
"app/controllers/multiauth/sessions_controller.rb",
|
29
29
|
"app/views/multiauth/_box.html.erb",
|
30
|
+
"app/views/multiauth/_menu.html.erb",
|
30
31
|
"app/views/multiauth/sessions/new.html.erb",
|
31
32
|
"lib/generators/multiauth/multiauth_generator.rb",
|
32
33
|
"lib/generators/templates/README",
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 3
|
9
|
+
version: 0.2.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- David A. Cuadrado
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-10-
|
17
|
+
date: 2010-10-07 00:00:00 -05:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -82,6 +82,7 @@ files:
|
|
82
82
|
- VERSION
|
83
83
|
- app/controllers/multiauth/sessions_controller.rb
|
84
84
|
- app/views/multiauth/_box.html.erb
|
85
|
+
- app/views/multiauth/_menu.html.erb
|
85
86
|
- app/views/multiauth/sessions/new.html.erb
|
86
87
|
- lib/generators/multiauth/multiauth_generator.rb
|
87
88
|
- lib/generators/templates/README
|