venus 0.7.4 → 0.7.6
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.
- checksums.yaml +7 -0
- data/lib/generators/venus/deploy/templates/deploy.erb +1 -1
- data/lib/generators/venus/helpers.rb +1 -1
- data/lib/generators/venus/omniauth/omniauth_generator.rb +3 -2
- data/lib/generators/venus/omniauth/templates/{omniauthable.rb → omniauthable.rb.erb} +21 -4
- data/lib/venus/version.rb +1 -1
- metadata +16 -24
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3c4d40a490ef2128e5003adf4340035b8dfbe358
|
4
|
+
data.tar.gz: c12827a2c3f233262d9b72310264df53ca035c16
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 7420ae266f6b79bc43fb4f8de7754b8d953009f6811f684106aa2a24b3302dc327d24c6c0f1abedfa892fffe95162cab8c745333b39eafa90e1a42b89e8cccd9
|
7
|
+
data.tar.gz: 05348bc1d6ad2b9a367d5e07c13219019fdefe8ef3795dbc95b0f6d6dc468c98ca2d396a696f11ff5f4c96c805c834af8e398f710a8839ed9b8b61264f832695
|
@@ -139,7 +139,7 @@ module Venus
|
|
139
139
|
end
|
140
140
|
|
141
141
|
def insert_into_setting_yml(to_file, key, value, opts = {})
|
142
|
-
unless file_has_content?(to_file, " #{key}:")
|
142
|
+
unless file_has_content?(to_file, "\n #{key}:")
|
143
143
|
value = '' if opts[:hide_in_example] && to_file.index('.example')
|
144
144
|
value = ask?("value of #{key} in #{to_file}#{opts[:hint] ? " (#{opts[:hint]})" : ""}", '') if value == :ask
|
145
145
|
inserted_value = (value.index("\n") ? value : "\"#{value}\"") if value
|
@@ -17,7 +17,7 @@ module Venus
|
|
17
17
|
@devise_scope = @devise_model.underscore
|
18
18
|
@devise_table = @devise_model.tableize
|
19
19
|
@providers = {}
|
20
|
-
[:facebook, :github, :twitter].each do |provider|
|
20
|
+
[:facebook, :github, :twitter, :google_oauth2].each do |provider|
|
21
21
|
if ask?("Use '#{provider}'?", true)
|
22
22
|
token = ask?("#{provider.capitalize} App ID?", '267188576687915')
|
23
23
|
secret = ask?("#{provider.capitalize} App Secret?", '84f72292e1f6b299f4a668f12ed1a7f2')
|
@@ -32,6 +32,7 @@ module Venus
|
|
32
32
|
def gemfile
|
33
33
|
add_gem('omniauth')
|
34
34
|
@providers.each do |provider, |
|
35
|
+
provider = "google-oauth2" if provider.to_s.index("google")
|
35
36
|
add_gem("omniauth-#{provider}")
|
36
37
|
end
|
37
38
|
bundle_install
|
@@ -52,7 +53,7 @@ module Venus
|
|
52
53
|
def model
|
53
54
|
generate "model authorization provider:string uid:string auth_type:string auth_id:integer auth_data:text"
|
54
55
|
insert_template 'app/models/authorization.rb', 'authorization.rb', :after => "ActiveRecord::Base\n"
|
55
|
-
template 'omniauthable.rb', 'app/lib/omniauthable.rb'
|
56
|
+
template 'omniauthable.rb.erb', 'app/lib/omniauthable.rb'
|
56
57
|
insert_template("app/models/#{@devise_scope}.rb", "user.erb", :before => "\nend\n")
|
57
58
|
sleep(1)
|
58
59
|
migration_template "migrations.rb.erb", "db/migrate/add_index_for_authorizations_and_add_column_for_#{@devise_table}"
|
@@ -11,28 +11,40 @@ module Omniauthable
|
|
11
11
|
authorization = Authorization.find_by_provider_and_uid(authhash['provider'], authhash['uid'])
|
12
12
|
return authorization.auth if authorization
|
13
13
|
instance = send "initialize_from_omniauth_#{authhash['provider']}", authhash
|
14
|
-
if self.find_by_email(instance.email)
|
15
|
-
instance =
|
14
|
+
if u = self.find_by_email(instance.email)
|
15
|
+
instance = u
|
16
16
|
else
|
17
17
|
instance.save
|
18
|
-
instance.bind_service(authhash)
|
19
18
|
end
|
19
|
+
instance.bind_service(authhash)
|
20
20
|
instance
|
21
21
|
end
|
22
22
|
|
23
23
|
private
|
24
24
|
|
25
|
+
<% if @providers[:facebook] %>
|
25
26
|
def initialize_from_omniauth_facebook(authhash)
|
26
27
|
self.new(:email => authhash['info']['email'], :name => authhash['info']['name'])
|
27
28
|
end
|
29
|
+
<% end %>
|
28
30
|
|
31
|
+
<% if @providers[:twitter] %>
|
29
32
|
def initialize_from_omniauth_twitter(authhash)
|
30
33
|
self.new(:email => authhash['info']['email'], :name => authhash['info']['name'])
|
31
34
|
end
|
35
|
+
<% end %>
|
32
36
|
|
37
|
+
<% if @providers[:github] %>
|
33
38
|
def initialize_from_omniauth_github(authhash)
|
34
39
|
self.new(:email => authhash['info']['email'], :name => authhash['info']['name'])
|
35
40
|
end
|
41
|
+
<% end %>
|
42
|
+
|
43
|
+
<% if @providers[:google_oauth2] %>
|
44
|
+
def initialize_from_omniauth_google_oauth2(authhash)
|
45
|
+
self.new(:email => authhash['extra']['raw_info']['email'], :name => authhash['extra']['raw_info']['name'])
|
46
|
+
end
|
47
|
+
<% end %>
|
36
48
|
|
37
49
|
end
|
38
50
|
|
@@ -45,9 +57,14 @@ module Omniauthable
|
|
45
57
|
end
|
46
58
|
|
47
59
|
def can_bind_to
|
48
|
-
Setting.providers -
|
60
|
+
Setting.providers - has_binds
|
49
61
|
end
|
50
62
|
|
63
|
+
def has_binds
|
64
|
+
authorizations.map(&:provider)
|
65
|
+
end
|
66
|
+
|
67
|
+
|
51
68
|
def password_required?
|
52
69
|
false
|
53
70
|
end
|
data/lib/venus/version.rb
CHANGED
metadata
CHANGED
@@ -1,66 +1,59 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: venus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
5
|
-
prerelease:
|
4
|
+
version: 0.7.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- marsz
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-05-02 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: railties
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 3.1.3
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 3.1.3
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: activesupport
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 3.1.3
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 3.1.3
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: bundler
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '1.1'
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '1.1'
|
62
|
-
description:
|
63
|
-
|
55
|
+
description: ' Use rails generator to install and setup rubygems such as rspec, devise,
|
56
|
+
omniauth-facebook...etc. Also can use in exists projects. '
|
64
57
|
email: marsz@5fpro.com
|
65
58
|
executables: []
|
66
59
|
extensions: []
|
@@ -114,7 +107,7 @@ files:
|
|
114
107
|
- lib/generators/venus/omniauth/templates/migrations.rb.erb
|
115
108
|
- lib/generators/venus/omniauth/templates/omniauth.rb.erb
|
116
109
|
- lib/generators/venus/omniauth/templates/omniauth_callbacks_controller.rb.erb
|
117
|
-
- lib/generators/venus/omniauth/templates/omniauthable.rb
|
110
|
+
- lib/generators/venus/omniauth/templates/omniauthable.rb.erb
|
118
111
|
- lib/generators/venus/omniauth/templates/routes.erb
|
119
112
|
- lib/generators/venus/omniauth/templates/setting.yml.erb
|
120
113
|
- lib/generators/venus/omniauth/templates/user.erb
|
@@ -144,27 +137,26 @@ files:
|
|
144
137
|
- venus.gemspec
|
145
138
|
homepage: https://github.com/marsz/venus
|
146
139
|
licenses: []
|
140
|
+
metadata: {}
|
147
141
|
post_install_message:
|
148
142
|
rdoc_options: []
|
149
143
|
require_paths:
|
150
144
|
- lib
|
151
145
|
required_ruby_version: !ruby/object:Gem::Requirement
|
152
|
-
none: false
|
153
146
|
requirements:
|
154
|
-
- -
|
147
|
+
- - '>='
|
155
148
|
- !ruby/object:Gem::Version
|
156
149
|
version: '0'
|
157
150
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
|
-
none: false
|
159
151
|
requirements:
|
160
|
-
- -
|
152
|
+
- - '>='
|
161
153
|
- !ruby/object:Gem::Version
|
162
154
|
version: '0'
|
163
155
|
requirements: []
|
164
156
|
rubyforge_project:
|
165
|
-
rubygems_version:
|
157
|
+
rubygems_version: 2.0.3
|
166
158
|
signing_key:
|
167
|
-
specification_version:
|
159
|
+
specification_version: 4
|
168
160
|
summary: Use rails generator to install and setup rubygems such as rspec, devise,
|
169
161
|
omniauth-facebook...etc. Also can use in exists projects.
|
170
162
|
test_files: []
|