venus 0.7.4 → 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -6,8 +6,8 @@ rescue LoadError
6
6
  end
7
7
 
8
8
  <% if @use_rvm %>
9
- require "rvm/capistrano"
10
9
  set :rvm_type, :system
10
+ require "rvm/capistrano"
11
11
  <% end %>
12
12
 
13
13
  require 'capistrano/ext/multistage'
@@ -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 - (authorizations.map {|auth| auth.provider})
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
@@ -1,3 +1,3 @@
1
1
  module Venus
2
- VERSION = "0.7.4"
2
+ VERSION = "0.7.6"
3
3
  end
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.4
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-04-18 00:00:00.000000000 Z
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: ! ' Use rails generator to install and setup rubygems such as rspec,
63
- devise, omniauth-facebook...etc. Also can use in exists projects. '
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: 1.8.25
157
+ rubygems_version: 2.0.3
166
158
  signing_key:
167
- specification_version: 3
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: []