minimum-omniauth-scaffold 0.4.3 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7b054df83fe81b8289ee0c3b9d1faee5e142a49a
4
- data.tar.gz: 9bffd5bfb02881c9ccfb23c29dd23d0d657b0f2a
3
+ metadata.gz: f48287bf1ddf9d429f7485eef3412005c4ca5354
4
+ data.tar.gz: cb12d076dc92f7d35b0d1259ea38927e7c4ed196
5
5
  SHA512:
6
- metadata.gz: 99c4d5c07fab706d7ae7c1d1be7bb7a0af22986548b7ebcd716f4f1ef5bb12039e448fc9a20b551e0a679524f1db108b91bf1b149cfa7c6755b2e6c736ef8e26
7
- data.tar.gz: 94c6e15995fb34c30b161447a6604170c39c640ba0aae4a8f10f1bd613b8306f2307e950d2bc285e414aeb2974d606a4afbcd0f7a1534d60031cf5d2f1fdc0b7
6
+ metadata.gz: 08c72bd924eda54f6fc67c81c3a4b62d435ea18dd174f45b758aafd2537a840ce07205f6cfb02dcada10d81962f37ab17b84a10d93df4026dc444e220bb39614
7
+ data.tar.gz: 9a9094fdb1707500c4258b5eb9b89fe3764bd5fbf0be393aa30b9b622a396498ee25e88582c97e34a21f05bb72fd7046345a669b48c1fff289072ee153b3178c
@@ -29,9 +29,9 @@ module Minimum
29
29
 
30
30
  # routes.rb
31
31
  content = "\n # For OmniAuth\n"
32
- content += " get \"/auth/:provider/callback\" => \"sessions#callback\"\n"
33
- content += " get \"/auth/failure\" => \"sessions#failure\"\n"
34
- content += " get \"/logout\" => \"sessions#destroy\", as: :logout\n"
32
+ content += " get '/auth/:provider/callback', to: 'sessions#callback'\n"
33
+ content += " get '/auth/failure', to: 'sessions#failure'\n"
34
+ content += " get '/logout', to: 'sessions#destroy', as: :logout\n"
35
35
  content += "\n"
36
36
  insert_into_file "config/routes.rb", content.force_encoding('ASCII-8BIT'), after: "Rails.application.routes.draw do\n"
37
37
  insert_into_file "config/routes.rb", " root to: 'top#index'\n", after: "Rails.application.routes.draw do\n"
@@ -73,14 +73,14 @@ module Minimum
73
73
  # assets
74
74
  copy_file "#{@@template_path}/stylesheets/scaffolds.css.scss", "app/assets/stylesheets/scaffolds.css.scss"
75
75
 
76
- # README
77
- begin
78
- copy_file "#{@@current_path}/README.md", 'README_BACKUP.md'
79
- remove_file "#{@@current_path}/README.md"
80
- rescue => e
81
- e.tapp
82
- end
83
- copy_file "#{@@template_path}/README.md", "README.md"
76
+ # # README
77
+ # begin
78
+ # copy_file "#{@@current_path}/README.md", 'README_BACKUP.md'
79
+ # remove_file "#{@@current_path}/README.md"
80
+ # rescue => e
81
+ # e.tapp
82
+ # end
83
+ # copy_file "#{@@template_path}/README.md", "README.md"
84
84
 
85
85
  # .gitignore
86
86
  content = "\n# Add\n"
@@ -39,7 +39,7 @@ CAPTCHA入力後「Create your Twitter application」を押下
39
39
 
40
40
  ### ローカル用Twitterキー設定
41
41
 
42
- Create: config/settings.local.yml
42
+ - Create: config/settings.local.yml
43
43
 
44
44
  ```ruby
45
45
  # Twitter OAuth Local Setting
@@ -51,28 +51,28 @@ twitter_secret: "YOUR_CONSUMER_SECRET"
51
51
 
52
52
  ### Rails起動
53
53
 
54
- Gemインストール
54
+ - Gemインストール
55
55
 
56
56
  ```
57
57
  bundle install --without production
58
58
  ```
59
59
 
60
- ローカルDB作成
60
+ - ローカルDB作成
61
61
 
62
62
  ```
63
- rake db:setup
63
+ bundle exec rake db:migrate
64
64
  ```
65
65
 
66
- ローカルサーバ起動
66
+ - ローカルサーバ起動
67
67
 
68
68
  ```
69
69
  bundle exec rails s
70
70
  ```
71
71
 
72
- ページアクセス
72
+ - ページアクセス
73
73
 
74
74
  ```
75
- http://0.0.0.0:3000/
75
+ http://localhost:3000/
76
76
  ```
77
77
 
78
78
  ## Copyright
@@ -1,9 +1,8 @@
1
- before_action :authenticate # ログイン認証
2
- before_action :reset_session_expires # セッション有効期限延長
1
+ before_action :authenticate
2
+ before_action :reset_session_expires
3
3
 
4
4
  private
5
5
 
6
- # ログイン認証
7
6
  def authenticate
8
7
  unless signed_in?
9
8
  session[:request_url] = request.url
@@ -12,18 +11,15 @@
12
11
  end
13
12
  end
14
13
 
15
- # セッション期限延長
16
14
  def reset_session_expires
17
15
  request.session_options[:expire_after] = 2.weeks
18
16
  end
19
17
 
20
- # ログインユーザ
21
18
  def current_user
22
19
  @current_user ||= User.find_by(id: session[:user_id])
23
20
  end
24
21
  helper_method :current_user
25
22
 
26
- # ログイン/ユーザ登録済みチェック
27
23
  def signed_in?
28
24
  User.where(id: session[:user_id]).exists?
29
25
  end
@@ -1,19 +1,16 @@
1
1
  class SessionsController < ApplicationController
2
2
  skip_before_action :authenticate
3
3
 
4
- # ログイン
5
4
  def callback
6
5
  auth = request.env["omniauth.auth"]
7
6
  authentication = Authentication.find_by(provider: auth["provider"], uid: auth["uid"]) || Authentication.create_with_omniauth(auth)
8
7
  authentication.auth_update(auth)
9
8
 
10
- # ユーザ取得or作成
11
9
  user = User.find_by(id: authentication.user_id) || User.create_with_auth(authentication, request)
12
10
 
13
11
  session[:user_id] = user.id
14
12
  flash[:notice] = "ログインしました。"
15
13
 
16
- # 保管URLへリダイレクト
17
14
  unless session[:request_url].blank?
18
15
  redirect_to session[:request_url]
19
16
  session[:request_url] = nil
@@ -23,16 +20,15 @@ class SessionsController < ApplicationController
23
20
  redirect_to :root and return
24
21
  end
25
22
 
26
- # ログアウト
27
23
  def destroy
28
24
  session[:user_id] = nil
29
25
 
30
26
  redirect_to :root, notice: "ログアウトしました。" and return
31
27
  end
32
28
 
33
- # ログインエラー
34
29
  def failure
35
30
  flash[:alert] = 'Auth Failure'
31
+
36
32
  redirect_to :root and return
37
33
  end
38
34
  end
@@ -1,7 +1,6 @@
1
1
  class TopController < ApplicationController
2
2
  skip_before_action :authenticate
3
3
 
4
- # トップ
5
4
  def index
6
5
  end
7
6
  end
@@ -1,6 +1,5 @@
1
1
  Rails.application.config.middleware.use OmniAuth::Builder do
2
2
  # Providers
3
- # provider :developer unless Rails.env.production?
4
3
  provider :twitter, Settings.twitter_key, Settings.twitter_secret
5
4
  provider :facebook, Settings.facebook_app_id, Settings.facebook_app_secret
6
5
  provider :github, Settings.github_client_id, Settings.github_secret
@@ -4,7 +4,7 @@ class CreateUsers < ActiveRecord::Migration
4
4
  t.string :name
5
5
  t.string :image
6
6
  t.string :email
7
- t.boolean :admin_flag, default: false
7
+ t.boolean :admin_flag, default: false, null: false
8
8
  t.string :last_login_provider
9
9
  t.timestamp :last_login_at
10
10
  t.text :user_agent
@@ -1,56 +1,53 @@
1
1
  class Authentication < ActiveRecord::Base
2
2
  belongs_to :user, optional: true
3
3
 
4
- # バリデーション
5
4
  validates :provider, presence: true
6
- validates :uid, presence: true
5
+ validates :uid, presence: true
7
6
 
8
- # auth情報更新
9
7
  def auth_update(auth)
10
- case auth["provider"]
11
- when "facebook"
8
+ case auth['provider']
9
+ when 'facebook'
12
10
  image_path = "https://graph.facebook.com/#{auth['info']['nickname'].presence || auth["uid"]}/picture?width=200&height=200"
13
- when "twitter"
14
- image_path = auth["info"]["image"].to_s.gsub('_normal', '') rescue nil
15
- when "github"
11
+ when 'twitter'
12
+ image_path = auth['info']['image'].to_s.gsub('_normal', '') rescue nil
13
+ when 'github'
16
14
  image_path = "#{auth['info']['image']}&size=200" rescue nil
17
15
  end
18
16
 
19
- gender = auth["extra"]["raw_info"]["gender"] rescue nil
20
- location = (auth["info"]["location"].presence || auth["extra"]["raw_info"]["location"]) rescue nil
17
+ gender = auth['extra']['raw_info']['gender'] rescue nil
18
+ location = (auth['info']['location'].presence || auth['extra']['raw_info']['location']) rescue nil
21
19
 
22
- self.name = auth["info"]["name"] if auth["info"]["name"].present?
23
- self.nickname = auth["info"]["nickname"] if auth["info"]["nickname"].present?
20
+ self.name = auth['info']['name'] if auth['info']['name'].present?
21
+ self.nickname = auth['info']['nickname'] if auth['info']['nickname'].present?
24
22
  self.image = image_path if image_path.present?
25
- self.email = auth["info"]["email"] if auth["info"]["email"].present?
23
+ self.email = auth['info']['email'] if auth['info']['email'].present?
26
24
  self.gender = gender if gender.present?
27
25
  self.location = location if location.present?
28
26
  self.save!
29
27
  end
30
28
 
31
29
  class << self
32
- # auth情報登録
33
30
  def create_with_omniauth(auth)
34
31
  authentication = Authentication.new
35
- authentication.provider = auth["provider"]
36
- authentication.uid = auth["uid"]
37
-
38
- if auth["info"].present?
39
- authentication.name = auth["info"]["name"]
40
- authentication.nickname = auth["info"]["nickname"]
41
- authentication.image = auth["info"]["image"]
42
- authentication.email = auth["info"]["email"]
43
- authentication.location = auth["info"]["location"]
32
+ authentication.provider = auth['provider']
33
+ authentication.uid = auth['uid']
34
+
35
+ if auth['info'].present?
36
+ authentication.name = auth['info']['name']
37
+ authentication.nickname = auth['info']['nickname']
38
+ authentication.image = auth['info']['image']
39
+ authentication.email = auth['info']['email']
40
+ authentication.location = auth['info']['location']
44
41
  end
45
42
 
46
- if auth["credentials"].present?
43
+ if auth['credentials'].present?
47
44
  authentication.token = auth['credentials']['token']
48
45
  authentication.secret = auth['credentials']['secret']
49
46
  end
50
47
 
51
- if auth["extra"].present? and auth["extra"]["raw_info"].present?
52
- authentication.gender = auth["extra"]["raw_info"]["gender"]
53
- authentication.location = auth["extra"]["raw_info"]["location"] if authentication.location.blank?
48
+ if auth['extra'].present? and auth['extra']['raw_info'].present?
49
+ authentication.gender = auth['extra']['raw_info']['gender']
50
+ authentication.location = auth['extra']['raw_info']['location'] if authentication.location.blank?
54
51
  end
55
52
 
56
53
  authentication.save!
@@ -2,7 +2,6 @@ class User < ActiveRecord::Base
2
2
  has_many :authentications
3
3
 
4
4
  class << self
5
- # ユーザ作成
6
5
  def create_with_auth(authentication, request)
7
6
  user = User.new
8
7
  user.name = (authentication.nickname.presence || authentication.name)
@@ -1,13 +1,5 @@
1
- # Provider Page
2
- twitter_page: "https://twitter.com/"
3
- facebook_page: "https://www.facebook.com/"
4
- github_page: "https://github.com/"
1
+ app_name: 'YOUR_APP_NAME'
5
2
 
6
- # アプリケーション名
7
- app_name: "YOUR_APP_NAME"
8
-
9
- # プログラマTwitterID
10
- programmer_twitter_id: "PROGRAMMER_TWITTER_ID"
11
-
12
- # 曜日
13
- weekday: ["日", "月", "火", "水", "木", "金", "土"]
3
+ twitter_page: 'https://twitter.com/'
4
+ facebook_page: 'https://www.facebook.com/'
5
+ github_page: 'https://github.com/'
@@ -2,10 +2,11 @@
2
2
  %html
3
3
  %head
4
4
  %title= Settings.app_name
5
- = stylesheet_link_tag 'application', media: 'all'
6
- = javascript_include_tag 'application'
7
5
  = csrf_meta_tags
8
- %body
6
+
7
+ = stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload'
8
+ = javascript_include_tag 'application', 'data-turbolinks-track': 'reload'
9
+ %body{ class: [controller_name, action_name], id: [controller_name, action_name] }
9
10
  = link_to Settings.app_name, :root
10
11
 
11
12
  - if signed_in?
@@ -27,9 +28,4 @@
27
28
  %br/
28
29
 
29
30
  %center
30
- Developed by
31
- = link_to "@#{Settings.programmer_twitter_id}", "https://twitter.com/#{Settings.programmer_twitter_id}/", target: '_blank'
32
-
33
- -# Licence by
34
- -# %a{ href: 'https://creativecommons.org/licenses/by-nc-sa/2.1/jp/', target: '_blank' }
35
- -# CC BY-NC-SA 2.1
31
+ Developed by YOUR_NAME
@@ -1,7 +1,7 @@
1
1
  module Minimum
2
2
  module Omniauth
3
3
  module Scaffold
4
- VERSION = '0.4.3'
4
+ VERSION = '0.4.4'
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: minimum-omniauth-scaffold
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.3
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - shu0115
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-06 00:00:00.000000000 Z
11
+ date: 2016-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -139,11 +139,8 @@ files:
139
139
  - lib/minimum/omniauth/scaffold/templates/rails_config/settings.yml
140
140
  - lib/minimum/omniauth/scaffold/templates/rails_config/test.yml
141
141
  - lib/minimum/omniauth/scaffold/templates/stylesheets/scaffolds.css.scss
142
- - lib/minimum/omniauth/scaffold/templates/views/_user_icon.html.erb
143
142
  - lib/minimum/omniauth/scaffold/templates/views/_user_icon.html.haml
144
- - lib/minimum/omniauth/scaffold/templates/views/application.html.erb
145
143
  - lib/minimum/omniauth/scaffold/templates/views/application.html.haml
146
- - lib/minimum/omniauth/scaffold/templates/views/index.html.erb
147
144
  - lib/minimum/omniauth/scaffold/templates/views/index.html.haml
148
145
  - lib/minimum/omniauth/scaffold/version.rb
149
146
  - minimum-omniauth-scaffold.gemspec
@@ -1,3 +0,0 @@
1
- <% if user.present? %>
2
- <%= link_to_unless(user.name.blank?, image_tag( user.image, size: size, class: klass ), "#{Settings[user.last_login_provider + '_page']}#{user.name}", target: "_blank", title: user.name, rel: "tooltip", "data-original-title" => user.name) %>
3
- <% end %>
@@ -1,28 +0,0 @@
1
- <%= link_to Settings.app_name, :root %>
2
-
3
- <% if signed_in? %>
4
- <%# ログイン済み %>
5
- <%= render partial: '/layouts/user_icon', locals: { user: current_user, size: "18x18", klass: "margin_minus2" } %>
6
- <%= link_to "Top", root_path %>
7
- <%= link_to "Logout", logout_path %>
8
- <% else %>
9
- <%# 未ログイン %>
10
- Login:
11
- <%= link_to "Twitter", "/auth/twitter" %>
12
- <%= link_to "Facebook", "/auth/facebook" %>
13
- <%= link_to "GitHub", "/auth/github" %>
14
- <% end %>
15
-
16
- <%# 通知/エラーメッセージ %>
17
- <%= simple_format(flash[:notice], style: "color: green;") if flash[:notice].present? %>
18
- <%= simple_format(flash[:alert], style: "color: red;") if flash[:alert].present? %>
19
-
20
- <%= yield %>
21
-
22
- <br /><br />
23
-
24
- <center>
25
- Developed by <a href="https://twitter.com/<%= Settings.programmer_twitter_id %>/" target="_blank">@<%= Settings.programmer_twitter_id %></a>,
26
- Designed by <a href="https://twitter.com/<%= Settings.designer_twitter_id %>/" target="_blank">@<%= Settings.designer_twitter_id %></a>,
27
- Licence by <a href="https://creativecommons.org/licenses/by-nc-sa/2.1/jp/" target="_blank">CC BY-NC-SA 2.1</a>
28
- </center>
@@ -1,2 +0,0 @@
1
-
2
- <h1>Welcome to <%= Settings.app_name %>.</h1>