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.
@@ -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: []