dailycred 0.1.461 → 0.2.0

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.
Files changed (167) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +2 -2
  3. data/README.md +43 -15
  4. data/Rakefile +2 -2
  5. data/app/controllers/sessions_controller.rb +1 -1
  6. data/app/views/sessions/info.html.erb +2 -2
  7. data/config/routes.rb +4 -4
  8. data/dailycred.gemspec +1 -1
  9. data/dummy-preauth/.gitignore +16 -0
  10. data/dummy-preauth/Gemfile +42 -0
  11. data/dummy-preauth/README.rdoc +28 -0
  12. data/dummy-preauth/Rakefile +6 -0
  13. data/dummy-preauth/app/assets/images/rails.png +0 -0
  14. data/dummy-preauth/app/assets/javascripts/application.js +16 -0
  15. data/{dummy/app/assets/javascripts/posts.js.coffee → dummy-preauth/app/assets/javascripts/welcome.js.coffee} +1 -1
  16. data/dummy-preauth/app/assets/stylesheets/application.css +13 -0
  17. data/{dummy/app/assets/stylesheets/posts.css.scss → dummy-preauth/app/assets/stylesheets/welcome.css.scss} +1 -1
  18. data/dummy-preauth/app/controllers/application_controller.rb +6 -0
  19. data/{dummy/app/mailers/.gitkeep → dummy-preauth/app/controllers/concerns/.keep} +0 -0
  20. data/dummy-preauth/app/controllers/sessions_controller.rb +34 -0
  21. data/dummy-preauth/app/controllers/users_controller.rb +30 -0
  22. data/dummy-preauth/app/controllers/welcome_controller.rb +9 -0
  23. data/dummy-preauth/app/helpers/application_helper.rb +2 -0
  24. data/dummy-preauth/app/helpers/sessions_helper.rb +2 -0
  25. data/dummy-preauth/app/helpers/users_helper.rb +2 -0
  26. data/dummy-preauth/app/helpers/welcome_helper.rb +2 -0
  27. data/{dummy/app/models/.gitkeep → dummy-preauth/app/mailers/.keep} +0 -0
  28. data/{dummy/lib/assets/.gitkeep → dummy-preauth/app/models/.keep} +0 -0
  29. data/{dummy/lib/tasks/.gitkeep → dummy-preauth/app/models/concerns/.keep} +0 -0
  30. data/dummy-preauth/app/models/user.rb +34 -0
  31. data/dummy-preauth/app/views/layouts/application.html.erb +14 -0
  32. data/dummy-preauth/app/views/sessions/new.html.erb +15 -0
  33. data/dummy-preauth/app/views/users/_form.html.erb +20 -0
  34. data/dummy-preauth/app/views/users/edit.html.erb +3 -0
  35. data/dummy-preauth/app/views/users/new.html.erb +5 -0
  36. data/dummy-preauth/app/views/welcome/index.html.erb +2 -0
  37. data/dummy-preauth/bin/bundle +3 -0
  38. data/dummy-preauth/bin/rails +4 -0
  39. data/dummy-preauth/bin/rake +4 -0
  40. data/dummy-preauth/config.ru +4 -0
  41. data/dummy-preauth/config/application.rb +22 -0
  42. data/dummy-preauth/config/boot.rb +4 -0
  43. data/dummy-preauth/config/database.yml +25 -0
  44. data/dummy-preauth/config/environment.rb +5 -0
  45. data/dummy-preauth/config/environments/development.rb +27 -0
  46. data/dummy-preauth/config/environments/production.rb +80 -0
  47. data/dummy-preauth/config/environments/test.rb +36 -0
  48. data/dummy-preauth/config/initializers/backtrace_silencers.rb +7 -0
  49. data/dummy-preauth/config/initializers/filter_parameter_logging.rb +4 -0
  50. data/dummy-preauth/config/initializers/inflections.rb +16 -0
  51. data/dummy-preauth/config/initializers/mime_types.rb +5 -0
  52. data/dummy-preauth/config/initializers/omniauth.rb +9 -0
  53. data/dummy-preauth/config/initializers/secret_token.rb +12 -0
  54. data/dummy-preauth/config/initializers/session_store.rb +3 -0
  55. data/dummy-preauth/config/initializers/wrap_parameters.rb +14 -0
  56. data/dummy-preauth/config/locales/en.yml +23 -0
  57. data/dummy-preauth/config/routes.rb +57 -0
  58. data/dummy-preauth/db/migrate/20130423011519_create_users.rb +15 -0
  59. data/dummy-preauth/db/migrate/20130423011738_add_uuid_to_users.rb +5 -0
  60. data/dummy-preauth/db/schema.rb +26 -0
  61. data/dummy-preauth/db/seeds.rb +7 -0
  62. data/{dummy/log/.gitkeep → dummy-preauth/lib/assets/.keep} +0 -0
  63. data/dummy-preauth/lib/controller_authentication.rb +48 -0
  64. data/{dummy/test/fixtures/.gitkeep → dummy-preauth/lib/tasks/.keep} +0 -0
  65. data/{dummy/test/functional/.gitkeep → dummy-preauth/log/.keep} +0 -0
  66. data/dummy-preauth/public/404.html +27 -0
  67. data/dummy-preauth/public/422.html +26 -0
  68. data/dummy-preauth/public/500.html +26 -0
  69. data/{dummy/test/integration/.gitkeep → dummy-preauth/public/favicon.ico} +0 -0
  70. data/dummy-preauth/public/robots.txt +5 -0
  71. data/{dummy/test/unit/.gitkeep → dummy-preauth/test/controllers/.keep} +0 -0
  72. data/dummy-preauth/test/controllers/welcome_controller_test.rb +9 -0
  73. data/{dummy/vendor/assets/javascripts/.gitkeep → dummy-preauth/test/fixtures/.keep} +0 -0
  74. data/dummy-preauth/test/fixtures/users.yml +12 -0
  75. data/dummy-preauth/test/functional/sessions_controller_test.rb +22 -0
  76. data/dummy-preauth/test/functional/users_controller_test.rb +51 -0
  77. data/{dummy/vendor/assets/stylesheets/.gitkeep → dummy-preauth/test/helpers/.keep} +0 -0
  78. data/dummy-preauth/test/helpers/welcome_helper_test.rb +4 -0
  79. data/{dummy/vendor/plugins/.gitkeep → dummy-preauth/test/integration/.keep} +0 -0
  80. data/dummy-preauth/test/mailers/.keep +0 -0
  81. data/dummy-preauth/test/models/.keep +0 -0
  82. data/dummy-preauth/test/test_helper.rb +15 -0
  83. data/dummy-preauth/test/unit/user_test.rb +86 -0
  84. data/dummy-preauth/vendor/assets/javascripts/.keep +0 -0
  85. data/dummy-preauth/vendor/assets/stylesheets/.keep +0 -0
  86. data/dummy/.gitignore +3 -2
  87. data/dummy/Gemfile +14 -28
  88. data/dummy/README.rdoc +15 -248
  89. data/dummy/Rakefile +0 -1
  90. data/dummy/app/assets/javascripts/application.js +2 -1
  91. data/dummy/app/controllers/application_controller.rb +5 -4
  92. data/dummy/app/controllers/concerns/.keep +0 -0
  93. data/dummy/app/mailers/.keep +0 -0
  94. data/dummy/app/models/.keep +0 -0
  95. data/dummy/app/models/concerns/.keep +0 -0
  96. data/dummy/app/views/layouts/application.html.erb +2 -6
  97. data/dummy/bin/bundle +3 -0
  98. data/dummy/bin/rails +4 -0
  99. data/dummy/bin/rake +4 -0
  100. data/dummy/config/application.rb +2 -42
  101. data/dummy/config/boot.rb +0 -2
  102. data/dummy/config/environment.rb +2 -2
  103. data/dummy/config/environments/development.rb +9 -19
  104. data/dummy/config/environments/production.rb +40 -27
  105. data/dummy/config/environments/test.rb +12 -13
  106. data/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  107. data/dummy/config/initializers/inflections.rb +6 -5
  108. data/dummy/config/initializers/omniauth.rb +9 -2
  109. data/dummy/config/initializers/secret_token.rb +6 -1
  110. data/dummy/config/initializers/session_store.rb +1 -6
  111. data/dummy/config/initializers/wrap_parameters.rb +6 -6
  112. data/dummy/config/locales/en.yml +20 -2
  113. data/dummy/config/routes.rb +15 -26
  114. data/dummy/db/migrate/{20120925172903_create_users.rb → 20130417131939_create_users.rb} +7 -11
  115. data/dummy/db/schema.rb +9 -19
  116. data/dummy/lib/assets/.keep +0 -0
  117. data/dummy/lib/tasks/.keep +0 -0
  118. data/dummy/log/.keep +0 -0
  119. data/dummy/public/404.html +2 -1
  120. data/dummy/public/422.html +1 -1
  121. data/dummy/public/500.html +2 -1
  122. data/dummy/public/robots.txt +1 -1
  123. data/dummy/test/controllers/.keep +0 -0
  124. data/dummy/test/fixtures/.keep +0 -0
  125. data/dummy/test/helpers/.keep +0 -0
  126. data/dummy/test/integration/.keep +0 -0
  127. data/dummy/test/mailers/.keep +0 -0
  128. data/dummy/test/models/.keep +0 -0
  129. data/dummy/test/test_helper.rb +11 -58
  130. data/dummy/vendor/assets/javascripts/.keep +0 -0
  131. data/dummy/vendor/assets/stylesheets/.keep +0 -0
  132. data/lib/dailycred.rb +2 -2
  133. data/lib/dailycred/acts_as_dailycred.rb +4 -17
  134. data/lib/dailycred/client.rb +1 -0
  135. data/lib/dailycred/engine.rb +3 -2
  136. data/lib/dailycred/helper.rb +4 -4
  137. data/lib/dailycred/middleware.rb +5 -2
  138. data/lib/dailycred/version.rb +1 -1
  139. data/lib/generators/dailycred_generator.rb +17 -8
  140. data/lib/generators/templates/migration_create_user.rb +3 -9
  141. data/lib/omniauth/strategies/dailycred.rb +2 -0
  142. data/spec/helper_spec.rb +1 -3
  143. data/test/generator_test.rb +4 -3
  144. metadata +103 -52
  145. data/dummy/Guardfile +0 -31
  146. data/dummy/app/assets/stylesheets/scaffolds.css.scss +0 -69
  147. data/dummy/app/controllers/posts_controller.rb +0 -86
  148. data/dummy/app/helpers/posts_helper.rb +0 -2
  149. data/dummy/app/models/post.rb +0 -3
  150. data/dummy/app/views/posts/_form.html.erb +0 -21
  151. data/dummy/app/views/posts/edit.html.erb +0 -6
  152. data/dummy/app/views/posts/index.html.erb +0 -23
  153. data/dummy/app/views/posts/new.html.erb +0 -5
  154. data/dummy/app/views/posts/show.html.erb +0 -10
  155. data/dummy/db/migrate/20120926012555_create_posts.rb +0 -9
  156. data/dummy/db/migrate/20121002192037_update_users_2.rb +0 -70
  157. data/dummy/db/migrate/20121108192739_add_column_to_posts.rb +0 -5
  158. data/dummy/public/index.html +0 -241
  159. data/dummy/script/rails +0 -6
  160. data/dummy/test/fixtures/posts.yml +0 -7
  161. data/dummy/test/fixtures/users.yml +0 -3
  162. data/dummy/test/functional/posts_controller_test.rb +0 -51
  163. data/dummy/test/performance/browsing_test.rb +0 -12
  164. data/dummy/test/unit/helpers/posts_helper_test.rb +0 -4
  165. data/dummy/test/unit/post_test.rb +0 -7
  166. data/dummy/test/unit/user_test.rb +0 -77
  167. data/spec/omniauth/strategies/dailycred_spec.rb +0 -64
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: 347a55fb9eae49897183cd5bab9ba6b7316c6215
4
+ data.tar.gz: ca8ce17bab65de8228d0898cc509b8301ed0bed7
5
+ !binary "U0hBNTEy":
6
+ metadata.gz: a463c7d68d9a0264595d7b76a2bf4bf4a1d0ef838c93274630352b96ec8f1f05569d2c0dfebb2a37bc1af43304d735f4a0f302c40f999e225542cef2691a3bdf
7
+ data.tar.gz: f496ca9d9213cef0b0a390bf78865d4d363dbd002aaaafb46be0d6e053bde5fdbd7b93159648c1868d78eba882a1e980aed4e220164a9cb504a71769d8093731
data/Gemfile CHANGED
@@ -1,9 +1,8 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
-
5
4
  gem 'rspec'
6
- gem 'rails'
5
+ gem 'rails', '~> 3.2.12'
7
6
  gem 'simplecov'
8
7
  gem 'ruby_gntp'
9
8
  gem 'growl'
@@ -16,3 +15,4 @@ gem 'fl-rocco'
16
15
  gem 'redcarpet', '~> 1.17'
17
16
  gem 'markdown'
18
17
  gem 'maruku'
18
+ gem 'faraday'
data/README.md CHANGED
@@ -1,10 +1,12 @@
1
- # Dailycred
1
+ ## Ruby on Rails
2
2
 
3
- [![Build Status](https://secure.travis-ci.org/dailycred/dailycred.png?branch=master)](https://travis-ci.org/dailycred/dailycred)
3
+ The Dailycred ruby gem is everything you need to get off the ground running with robust authentication. It includes an [omniauth](https://github.com/intridea/omniauth) provider and a generator to create necessary models and controllers. The generated authentication structure is inspired by [nifty-generators](https://github.com/ryanb/nifty-generators).
4
4
 
5
- ## Introduction
5
+ If you'd rather only communicate with Dailycred through OAuth and provide your own authentication controllers and models, you can use the [omniauth_dailycred](https://github.com/dailycred/omniauth_dailycred) gem.
6
6
 
7
- The Dailycred ruby gem is everything you need to get off the ground running with robust authentication. It includes an [omniauth](https://github.com/intridea/omniauth) provider and a generator to create necessary models and controllers. The generated authentication structure is inspired by [nifty-generators](https://github.com/ryanb/nifty-generators). To get started using Dailycred with Ruby on Rails, the first thing you need to do is add the dailycred gem to your gemfile:
7
+ ##Installation
8
+
9
+ To get started using Dailycred with Ruby on Rails, the first thing you need to do is add the dailycred gem to your gemfile:
8
10
 
9
11
  gem 'dailycred'
10
12
 
@@ -30,21 +32,21 @@ While this is enough to get off the ground running with user authentication, thi
30
32
 
31
33
  ## Authenticating
32
34
 
33
- #### login_path
35
+ ### login_path
34
36
 
35
37
  A helper for linking to the authentication url.
36
38
 
37
39
  <%= link_to 'sign up', login_path %>
38
40
  # => <a href="/auth/dailycred">sign up</a>
39
41
 
40
- #### logout_path
42
+ ### logout_path
41
43
 
42
44
  To logout a user, simply send them to `/auth/logout`.
43
45
 
44
46
  <%= link_to 'logout', logout_path %>
45
47
  # => <a href="/auth/logout">logout</a>
46
48
 
47
- #### authenticate
49
+ ### authenticate
48
50
 
49
51
  To protect a controller method from unauthorized users, use the 'authorize' helper method as a `before_filter`.
50
52
 
@@ -111,7 +113,7 @@ You can also connect additional social accounts to an existing user:
111
113
 
112
114
  There are a few other helper methods available:
113
115
 
114
- #### current_user
116
+ ### current_user
115
117
 
116
118
  Returns the current logged in user or nil. Example usage:
117
119
 
@@ -119,7 +121,7 @@ Returns the current logged in user or nil. Example usage:
119
121
  redirect_to :controller => 'welcome', :action => 'thanks'
120
122
  end
121
123
 
122
- #### dailycred
124
+ ### dailycred
123
125
 
124
126
  A helper for instantiating a dailycred client instance. Use as a `before_filter` to load a @dailycred instance variable, or just use it as a helper method. Example usage:
125
127
 
@@ -137,27 +139,27 @@ or just as a helper
137
139
  dailycred.event(current_user.uid, "New Task", @task.name)
138
140
  end
139
141
 
140
- #### Tagging a User
142
+ ### Tagging a User
141
143
 
142
144
  Dailycred provides the ability to 'tag' users, whether for reference in analytics or any other reason. Note that this is a very simple 'tagging' system, and not something you should use for dynamic tagging situations in your application.
143
145
 
144
146
  @user.tag 'awesome'
145
147
  @user.untag 'awesome'
146
148
 
147
- #### Firing Events
149
+ ### Firing Events
148
150
 
149
151
  You can also fire events tied to a specific user - this is helpful for goal tracking and tying actions to a specific user in analytics. We already fire many events for when a user signs up, resets a password, and much more, but you can also use the event system for something more specific for your application.
150
152
 
151
153
  # user#fire_event(key, value)
152
154
  @user.fire_event 'task added', @task.name
153
155
 
154
- #### Building Referral URLs
156
+ ### Building Referral URLs
155
157
 
156
158
  To easily build referral URLs to track sharing amongst your users, use `referral_link(my_site)`, where *my_site* is the url that you wish referred users to be sent to.
157
159
 
158
160
  current_user.referral_link("http://www.mysite.com")
159
161
 
160
- #### Testing Controllers
162
+ ### Testing Controllers
161
163
 
162
164
  Testing controllers that have the `authenticate` before filter is easy:
163
165
 
@@ -166,7 +168,7 @@ Testing controllers that have the `authenticate` before filter is easy:
166
168
 
167
169
  See `dummy/test/functional/post_controller_test.rb` for an example.
168
170
 
169
- #### Dailycred API
171
+ ### Dailycred API
170
172
 
171
173
  For reference, have a look at the [annotated source code.](https://www.dailycred.com/public/docs/ruby/lib/dailycred.html)
172
174
 
@@ -181,7 +183,32 @@ Where opts is an optional hash for passing options. After initializing your clie
181
183
  @dailycred.untag(current_user.uid, "Failed Checkout") # user_id, key
182
184
 
183
185
 
184
- #### Configuration
186
+ ### Persona Login
187
+
188
+ 1. Set your `persona audience` in your [dailycred identity provider settings](https://www.dailycred.com/admin/settings/identity-providers). This will be `http://{your-url}/auth/dailycred/callback`.
189
+ 2. Make sure you have configured your `callback url` in your [dailycred app settings](https://www.dailycred.com/admin/settings)
190
+ 3. In `config/omniauth.rb`, configure your middleware options to include your persona audience:
191
+
192
+ Rails.configuration.DAILYCRED_OPTIONS = {
193
+ middleware: {
194
+ persona_audience = "http://{your-url}/auth/dailycred/callback"
195
+ }
196
+ }
197
+
198
+ 4. In your javascript, call `personaLogin()`.
199
+
200
+ $(document).ready(function(){
201
+ $('.persona-login').click(function(){
202
+ personaLogin();
203
+ })
204
+ })
205
+
206
+ 5. Your user will be redirected to your [persona.org](https://persona.org) to login. If successful, your user will be redirected to your OAuth callback URL and be logged in.
207
+
208
+ For more details, visit our [persona documentation](https://www.dailycred.com/docs/persona)
209
+
210
+
211
+ ### Configuration
185
212
 
186
213
  To specify where users should be redirected after authentication actions, setup configure an `after_auth` property on a `Rails.configuration.DAILYCRED_OPTIONS` variable. Example:
187
214
 
@@ -202,3 +229,4 @@ To specify where users should be redirected after authentication actions, setup
202
229
 
203
230
  ![](https://www.dailycred.com/dc.gif?client_id=dailycred&title=rails_repo "dailycred")
204
231
 
232
+ [![Build Status](https://secure.travis-ci.org/dailycred/dailycred.png?branch=master)](https://travis-ci.org/dailycred/dailycred)
data/Rakefile CHANGED
@@ -27,7 +27,7 @@ task :docs do
27
27
  require 'fileutils'
28
28
  require 'maruku'
29
29
  Rocco::make 'docs/'
30
- FileUtils.cp_r "docs/lib/", "/Users/hank/rails/dailycred/public/docs/ruby/", :verbose => true
30
+ FileUtils.cp_r "docs/lib/", "/Users/hank/java/dailycred/public/docs/ruby/", :verbose => true
31
31
  md = ""
32
32
  File.open("README.md", "r") do |infile|
33
33
  while (line = infile.gets)
@@ -35,7 +35,7 @@ task :docs do
35
35
  end
36
36
  end
37
37
  doc = Maruku.new(md)
38
- File.open("/Users/hank/rails/dailycred/app/views/tags/ruby.html", 'w') {|f| f.write doc.to_html}
38
+ File.open("/Users/hank/java/dailycred/app/views/tags/docs/rubyonrails.html", 'w') {|f| f.write doc.to_html}
39
39
  rescue LoadError
40
40
  warn "#$! -- rocco tasks not loaded."
41
41
  task :rocco
@@ -26,6 +26,6 @@ class SessionsController < ApplicationController
26
26
  private
27
27
 
28
28
  def auth_hash
29
- request.env['omniauth.auth']
29
+ h = request.env['omniauth.auth']
30
30
  end
31
31
  end
@@ -9,5 +9,5 @@
9
9
  <%= link_to 'Log In', login_path() %>
10
10
  <br><%= link_to 'connect with facebook', connect_path(:identity_provider => :facebook) %>
11
11
  <br><%= link_to 'connect with google', connect_path(:identity_provider => :google) %>
12
- <br><%= link_to 'connect with twitter', current_user.connect_path(:twitter) %>
13
- <% end %>
12
+ <br><%= link_to 'connect with twitter',connect_path(:identity_provider => :twitter) %>
13
+ <% end %>
data/config/routes.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  Dailycred::Engine.routes.draw do
2
- match "/:provider/callback" => "sessions#create"
3
- match "/logout" => "sessions#destroy", :as => :logout
4
- match "/" => "sessions#info", :as => :auth_info
2
+ get "/:provider/callback" => "sessions#create"
3
+ get "/logout" => "sessions#destroy", :as => :logout
4
+ get "/" => "sessions#info", :as => :auth_info
5
5
  # get "/dailycred", :as => :login
6
- match "/failure" => "sessions#failure"
6
+ get "/failure" => "sessions#failure"
7
7
  end
data/dailycred.gemspec CHANGED
@@ -6,7 +6,7 @@ Gem::Specification.new do |gem|
6
6
  gem.email = ["hstove@gmail.com"]
7
7
  gem.description = %q{A Ruby on Rails engine for authentication with Dailycred.}
8
8
  gem.summary = %q{}
9
- gem.homepage = "https://www.dailycred.com"
9
+ gem.homepage = "https://github.com/dailycred/dailycred"
10
10
  gem.add_dependency("omniauth")
11
11
  gem.add_dependency("omniauth-oauth2")
12
12
 
@@ -0,0 +1,16 @@
1
+ # See http://help.github.com/ignore-files/ for more about ignoring files.
2
+ #
3
+ # If you find yourself ignoring temporary files generated by your text editor
4
+ # or operating system, you probably want to add a global ignore instead:
5
+ # git config --global core.excludesfile '~/.gitignore_global'
6
+
7
+ # Ignore bundler config.
8
+ /.bundle
9
+
10
+ # Ignore the default SQLite database.
11
+ /db/*.sqlite3
12
+ /db/*.sqlite3-journal
13
+
14
+ # Ignore all logfiles and tempfiles.
15
+ /log/*.log
16
+ /tmp
@@ -0,0 +1,42 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
4
+ gem 'rails', '4.0.0.beta1'
5
+
6
+ gem 'sqlite3'
7
+ gem 'dailycred', path: '../'
8
+ gem "nifty-generators", :group => :development
9
+ gem 'protected_attributes'
10
+ # Gems used only for assets and not required
11
+ # in production environments by default.
12
+ group :assets do
13
+ gem 'sass-rails', '~> 4.0.0.beta1'
14
+ gem 'coffee-rails', '~> 4.0.0.beta1'
15
+
16
+ # See https://github.com/sstephenson/execjs#readme for more supported runtimes
17
+ # gem 'therubyracer', platforms: :ruby
18
+
19
+ gem 'uglifier', '>= 1.0.3'
20
+ end
21
+
22
+ gem 'jquery-rails'
23
+
24
+ # Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
25
+ gem 'turbolinks'
26
+
27
+ # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
28
+ gem 'jbuilder', '~> 1.0.1'
29
+
30
+ # To use ActiveModel has_secure_password
31
+ # gem 'bcrypt-ruby', '~> 3.0.0'
32
+
33
+ # Use unicorn as the app server
34
+ # gem 'unicorn'
35
+
36
+ # Deploy with Capistrano
37
+ # gem 'capistrano', group: :development
38
+
39
+ # To use debugger
40
+ # gem 'debugger'
41
+
42
+ gem "mocha", group: :test
@@ -0,0 +1,28 @@
1
+ == README
2
+
3
+ This README would normally document whatever steps are necessary to get the
4
+ application up and running.
5
+
6
+ Things you may want to cover:
7
+
8
+ * Ruby version
9
+
10
+ * System dependencies
11
+
12
+ * Configuration
13
+
14
+ * Database creation
15
+
16
+ * Database initialization
17
+
18
+ * How to run the test suite
19
+
20
+ * Services (job queues, cache servers, search engines, etc.)
21
+
22
+ * Deployment instructions
23
+
24
+ * ...
25
+
26
+
27
+ Please feel free to use a different markup language if you do not plan to run
28
+ <tt>rake doc:app</tt>.
@@ -0,0 +1,6 @@
1
+ # Add your own tasks in files placed in lib/tasks ending in .rake,
2
+ # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
+
4
+ require File.expand_path('../config/application', __FILE__)
5
+
6
+ DummyPreauth::Application.load_tasks
@@ -0,0 +1,16 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file.
9
+ //
10
+ // WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
11
+ // GO AFTER THE REQUIRES BELOW.
12
+ //
13
+ //= require jquery
14
+ //= require jquery_ujs
15
+ //= require turbolinks
16
+ //= require_tree .
@@ -1,3 +1,3 @@
1
1
  # Place all the behaviors and hooks related to the matching controller here.
2
2
  # All this logic will automatically be available in application.js.
3
- # You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
3
+ # You can use CoffeeScript in this file: http://coffeescript.org/
@@ -0,0 +1,13 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require_self
12
+ *= require_tree .
13
+ */
@@ -1,3 +1,3 @@
1
- // Place all the styles related to the posts controller here.
1
+ // Place all the styles related to the welcome controller here.
2
2
  // They will automatically be included in application.css.
3
3
  // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -0,0 +1,6 @@
1
+ class ApplicationController < ActionController::Base
2
+ include ControllerAuthentication
3
+ # Prevent CSRF attacks by raising an exception.
4
+ # For APIs, you may want to use :null_session instead.
5
+ protect_from_forgery with: :exception
6
+ end
@@ -0,0 +1,34 @@
1
+ class SessionsController < ApplicationController
2
+ def new
3
+ end
4
+
5
+ def create
6
+ user = User.authenticate(params[:login], params[:password])
7
+ if user
8
+ session[:user_id] = user.id
9
+ redirect_to_target_or_default root_url, :notice => "Logged in successfully."
10
+ else
11
+ flash.now[:alert] = "Invalid login or password."
12
+ render :action => 'new'
13
+ end
14
+ end
15
+
16
+ def destroy
17
+ session[:user_id] = nil
18
+ redirect_to root_url, :notice => "You have been logged out."
19
+ end
20
+
21
+ def callback
22
+ auth_hash = request.env['omniauth.auth']
23
+ if auth_hash['uid']
24
+ @user = User.find_or_create_by(uuid: auth_hash['uid'])
25
+ @user.uuid = auth_hash['uid']
26
+ @user.save
27
+ session[:user_id] = @user.id
28
+ flash[:notice] = "Logged in successfully."
29
+ else
30
+ flash[:notice] = "There was an error logging you in."
31
+ end
32
+ redirect_to_target_or_default root_url
33
+ end
34
+ end
@@ -0,0 +1,30 @@
1
+ class UsersController < ApplicationController
2
+ before_filter :login_required, :except => [:new, :create]
3
+
4
+ def new
5
+ @user = User.new
6
+ end
7
+
8
+ def create
9
+ @user = User.new(params[:user])
10
+ if @user.save
11
+ session[:user_id] = @user.id
12
+ redirect_to root_url, :notice => "Thank you for signing up! You are now logged in."
13
+ else
14
+ render :action => 'new'
15
+ end
16
+ end
17
+
18
+ def edit
19
+ @user = current_user
20
+ end
21
+
22
+ def update
23
+ @user = current_user
24
+ if @user.update_attributes(params[:user])
25
+ redirect_to root_url, :notice => "Your profile has been updated."
26
+ else
27
+ render :action => 'edit'
28
+ end
29
+ end
30
+ end