dailycred 0.1.2 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +14 -2
  3. data/Guardfile +15 -0
  4. data/README.md +159 -33
  5. data/Rakefile +30 -0
  6. data/app/controllers/sessions_controller.rb +31 -0
  7. data/app/views/sessions/info.html.erb +13 -0
  8. data/config/routes.rb +7 -0
  9. data/dailycred.gemspec +4 -3
  10. data/docs/lib/dailycred/acts_as_dailycred.html +42 -0
  11. data/docs/lib/dailycred/client.html +214 -0
  12. data/docs/lib/dailycred/engine.html +112 -0
  13. data/docs/lib/dailycred/helper.html +125 -0
  14. data/docs/lib/dailycred/middleware.html +42 -0
  15. data/docs/lib/dailycred/tests_helper.html +42 -0
  16. data/docs/lib/dailycred/user.html +133 -0
  17. data/docs/lib/dailycred.html +42 -0
  18. data/docs/lib/generators/dailycred_generator.html +42 -0
  19. data/docs/lib/generators/templates/migration_create_user.html +39 -0
  20. data/docs/lib/generators/templates/omniauth.html +71 -0
  21. data/docs/lib/generators/templates/sessions_controller.html +96 -0
  22. data/docs/lib/generators/templates/user.html +42 -0
  23. data/docs/lib/middleware/middleware.html +38 -0
  24. data/docs/lib/omniauth/strategies/dailycred.html +199 -0
  25. data/docs/lib/omniauth-dailycred/version.html +38 -0
  26. data/docs/lib/user/user.html +129 -0
  27. data/dummy/.gitignore +15 -0
  28. data/dummy/Gemfile +55 -0
  29. data/dummy/Guardfile +31 -0
  30. data/dummy/README.rdoc +261 -0
  31. data/dummy/Rakefile +7 -0
  32. data/dummy/app/assets/images/rails.png +0 -0
  33. data/dummy/app/assets/javascripts/application.js +15 -0
  34. data/dummy/app/assets/javascripts/posts.js.coffee +3 -0
  35. data/dummy/app/assets/stylesheets/application.css +13 -0
  36. data/dummy/app/assets/stylesheets/posts.css.scss +3 -0
  37. data/dummy/app/assets/stylesheets/scaffolds.css.scss +69 -0
  38. data/dummy/app/controllers/application_controller.rb +16 -0
  39. data/dummy/app/controllers/posts_controller.rb +85 -0
  40. data/dummy/app/helpers/application_helper.rb +2 -0
  41. data/dummy/app/helpers/posts_helper.rb +2 -0
  42. data/dummy/app/mailers/.gitkeep +0 -0
  43. data/dummy/app/models/.gitkeep +0 -0
  44. data/dummy/app/models/post.rb +3 -0
  45. data/dummy/app/models/user.rb +3 -0
  46. data/dummy/app/views/layouts/application.html.erb +14 -0
  47. data/dummy/app/views/posts/_form.html.erb +21 -0
  48. data/dummy/app/views/posts/edit.html.erb +6 -0
  49. data/dummy/app/views/posts/index.html.erb +23 -0
  50. data/dummy/app/views/posts/new.html.erb +5 -0
  51. data/dummy/app/views/posts/show.html.erb +10 -0
  52. data/dummy/config/application.rb +62 -0
  53. data/dummy/config/boot.rb +6 -0
  54. data/dummy/config/database.yml +25 -0
  55. data/dummy/config/environment.rb +5 -0
  56. data/dummy/config/environments/development.rb +37 -0
  57. data/dummy/config/environments/production.rb +67 -0
  58. data/dummy/config/environments/test.rb +37 -0
  59. data/dummy/config/initializers/backtrace_silencers.rb +7 -0
  60. data/dummy/config/initializers/inflections.rb +15 -0
  61. data/dummy/config/initializers/mime_types.rb +5 -0
  62. data/dummy/config/initializers/omniauth.rb +13 -0
  63. data/dummy/config/initializers/secret_token.rb +7 -0
  64. data/dummy/config/initializers/session_store.rb +8 -0
  65. data/dummy/config/initializers/wrap_parameters.rb +14 -0
  66. data/dummy/config/locales/en.yml +5 -0
  67. data/dummy/config/routes.rb +61 -0
  68. data/dummy/config.ru +4 -0
  69. data/dummy/db/migrate/20120925172903_create_users.rb +68 -0
  70. data/dummy/db/migrate/20120926012555_create_posts.rb +9 -0
  71. data/dummy/db/migrate/20121002192037_update_users_2.rb +70 -0
  72. data/dummy/db/schema.rb +45 -0
  73. data/dummy/db/seeds.rb +7 -0
  74. data/dummy/lib/assets/.gitkeep +0 -0
  75. data/dummy/lib/tasks/.gitkeep +0 -0
  76. data/dummy/log/.gitkeep +0 -0
  77. data/dummy/public/404.html +26 -0
  78. data/dummy/public/422.html +26 -0
  79. data/dummy/public/500.html +25 -0
  80. data/dummy/public/favicon.ico +0 -0
  81. data/dummy/public/index.html +241 -0
  82. data/dummy/public/robots.txt +5 -0
  83. data/dummy/script/rails +6 -0
  84. data/dummy/test/fixtures/.gitkeep +0 -0
  85. data/dummy/test/fixtures/posts.yml +7 -0
  86. data/dummy/test/fixtures/users.yml +3 -0
  87. data/dummy/test/functional/.gitkeep +0 -0
  88. data/dummy/test/functional/posts_controller_test.rb +51 -0
  89. data/dummy/test/integration/.gitkeep +0 -0
  90. data/dummy/test/performance/browsing_test.rb +12 -0
  91. data/dummy/test/test_helper.rb +62 -0
  92. data/dummy/test/unit/.gitkeep +0 -0
  93. data/dummy/test/unit/helpers/posts_helper_test.rb +4 -0
  94. data/dummy/test/unit/post_test.rb +7 -0
  95. data/dummy/test/unit/user_test.rb +77 -0
  96. data/dummy/vendor/assets/javascripts/.gitkeep +0 -0
  97. data/dummy/vendor/assets/stylesheets/.gitkeep +0 -0
  98. data/dummy/vendor/plugins/.gitkeep +0 -0
  99. data/lib/dailycred/acts_as_dailycred.rb +87 -0
  100. data/lib/dailycred/client.rb +105 -0
  101. data/lib/dailycred/engine.rb +52 -0
  102. data/lib/dailycred/helper.rb +60 -0
  103. data/lib/{middleware → dailycred}/middleware.rb +25 -15
  104. data/lib/dailycred/tests_helper.rb +5 -0
  105. data/lib/dailycred/user.rb +63 -0
  106. data/lib/dailycred.rb +1 -79
  107. data/lib/generators/dailycred_generator.rb +94 -44
  108. data/lib/generators/templates/info.html.erb +1 -1
  109. data/lib/generators/templates/login.html.erb +13 -0
  110. data/lib/generators/templates/migration_create_user.rb +60 -10
  111. data/lib/generators/templates/omniauth.rb +6 -17
  112. data/lib/generators/templates/sessions_controller.rb +8 -2
  113. data/lib/generators/templates/user.rb +1 -23
  114. data/lib/omniauth/strategies/dailycred.rb +37 -20
  115. data/script/download_info.rb +11 -0
  116. data/spec/{spec_helper.rb → helper_spec.rb} +4 -2
  117. data/spec/omniauth/strategies/dailycred_spec.rb +52 -10
  118. data/spec/support/dailycred_spec.rb +72 -0
  119. data/spec/support/shared_examples.rb +40 -0
  120. data/test/generator_test.rb +85 -0
  121. data/test/test_helper.rb +6 -0
  122. metadata +116 -8
  123. data/lib/omniauth-dailycred/version.rb +0 -5
data/.gitignore CHANGED
@@ -15,3 +15,7 @@ spec/reports
15
15
  test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
+ localtest/
19
+ twooter/
20
+ examples/tester/
21
+ examples/
data/Gemfile CHANGED
@@ -1,6 +1,18 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in omniauth-dailycred.gemspec
4
3
  gemspec
5
4
 
6
- gem 'omniauth'
5
+ gem 'rspec'
6
+ gem 'rails'
7
+ gem 'simplecov'
8
+ gem 'ruby_gntp'
9
+ gem 'growl'
10
+ gem 'spork'
11
+ gem 'guard'
12
+ gem 'guard-test'
13
+ gem 'guard-rspec'
14
+ gem 'mocha'
15
+ gem 'fl-rocco'
16
+ gem 'redcarpet', '~> 1.17'
17
+ gem 'markdown'
18
+ gem 'maruku'
data/Guardfile ADDED
@@ -0,0 +1,15 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard :test do
5
+ watch(%r{^lib/generators/(.+)\.rb$}) { "test/generator_test.rb" }
6
+ watch(%r{^test/.+_test\.rb$}) { "test/generator_test.rb" }
7
+ watch('test/test_helper.rb') { "test/generator_test.rb" }
8
+ end
9
+
10
+ guard 'rspec', :version => 2 do
11
+ watch(%r{^spec/.+_spec\.rb$})
12
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/support/#{m[1]}_spec.rb" }
13
+ watch('spec/spec_helper.rb') { "spec" }
14
+ end
15
+
data/README.md CHANGED
@@ -1,67 +1,194 @@
1
1
  # Dailycred
2
2
 
3
- ## Installation
3
+ ## Introduction
4
4
 
5
- Add this line to your application's Gemfile:
5
+ 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:
6
6
 
7
- And then execute:
7
+ gem 'dailycred'
8
8
 
9
- $ bundle
9
+ Make sure you've signed up for Dailycred, and head over to your [settings](https://www.dailycred.com/admin/settings) page to get your API keys. Once you've done that, head back to the command line and run:
10
10
 
11
- Or install it yourself as:
11
+ bundle
12
+ rails g dailycred
13
+ rake db:migrate
14
+
15
+ Thats it! You've successfully added authentication to your app, and you can start signing up users. Run `rails s` to start your
16
+ server, and point your browser to [http://localhost:3000/auth](http://localhost:3000/auth) and you'll see a pre-built page with links to sign up.
17
+
18
+ Here's what the dailycred gem generates for you:
19
+
20
+ * A few helper methods to `/app/controllers/application_controller.rb`.
21
+ * An initializer file at `/config/initializers/omniauth.rb` which configures your dailycred API keys.
22
+ * `/app/models/user.rb`, the User model.
23
+ * A migration file to create the user table in your database.
24
+
25
+
26
+ While this is enough to get off the ground running with user authentication, this setup is meant to be lightweight and flexible, so feel free to tinker with
27
+ any of the generated code to better match your needs.
28
+
29
+ ## Authenticating
30
+
31
+ #### login_path
32
+
33
+ A helper for linking to the authentication url.
34
+
35
+ <%= link_to 'sign up', login_path %>
36
+ # => <a href="/auth/dailycred">sign up</a>
12
37
 
13
- $ gem install omniauth-dailycred
38
+ #### logout_path
14
39
 
15
- ## Usage
40
+ To logout a user, simply send them to `/auth/logout`.
16
41
 
17
- bash
42
+ <%= link_to 'logout', logout_path %>
43
+ # => <a href="/auth/logout">logout</a>
18
44
 
19
- rails g dailycred YOUR_CLIENT_ID YOUR_SECRET_KEY
20
- rake db:migrate
45
+ #### authenticate
46
+
47
+ To protect a controller method from unauthorized users, use the 'authorize' helper method as a `before_filter`.
48
+
49
+ #before_filter :authenticate, :except => [:index] #don't authenticate some
50
+ #before_filter :authenticate, :only => [:create, :new] #only authenticate some
51
+ before_filter :authenticate #all methods
52
+
53
+ ## Social Connect
54
+
55
+ To use a social sign-in service instead of email, and password, use `connect_path.`
21
56
 
22
- This will generate everything you need to get going with authentication, including a user model, session controller, omniauth initializer, javascript tracking code, and many helper variables. You will You can locate your API keys at [dailycred](https://www.dailycred.com/admin/settings/keys)
57
+ <%= link_to 'sign in with facebook', connect_path(:identity_provider => :facebook) %>
23
58
 
24
- ##### Authentication
59
+ The `identity_provider` can be one of `facebook`, `google`, or `twitter.`
25
60
 
26
- Use the `:authenticate` helper to require a user to be signed in:
61
+ After a user has social connected, their social data is serialized into individual fields in the user model. The serialized object is the exact same as what the social provider's graph response returns. For example:
27
62
 
28
- before_filter :authenticate
63
+ p current_user.facebook
64
+ # =>
65
+ {
66
+ "video_upload_limits" => {
67
+ "length" => 1200.0,
68
+ "size" => 1073741824.0
69
+ },
70
+ "locale" => "en_US",
71
+ "link" => "http://www.facebook.com/joe.smith",
72
+ "updated_time" => "2012-09-27T19:04:38+0000",
73
+ "currency" => {
74
+ "user_currency" => "USD",
75
+ "currency_exchange" => 10.0,
76
+ "currency_exchange_inverse" => 0.1,
77
+ "currency_offset" => 100.0
78
+ },
79
+ "picture" => {
80
+ "data" => {
81
+ "url" => "http://profile.ak.fbcdn.net/hprofile-ak-ash4/370570_1039690812_2022945351_q.jpg",
82
+ "is_silhouette" => false
83
+ }
84
+ },
85
+ "id" => "1092609812",
86
+ "third_party_id" => "cBLDKnqlfYlReV7Jo4yRAFB1a4I",
87
+ "first_name" => "Joe",
88
+ "username" => "jsmitty",
89
+ "bio" => "shred the gnar.",
90
+ "email" => "jsmitty@dailycred.com",
91
+ "verified" => true,
92
+ "name" => "Joe Smith",
93
+ "last_name" => "Stoever",
94
+ "gender" => "male",
95
+ "access_token" =>"AAAFHsZAi9ddUBAKPMOKPDrmJlclwCoVHCfwflF5ZCyLZC70SOo0MPvj62lhHZAnV6jk8DEfBSjLtfcyC7Bx25a9CLphzoayv3EtvbE2tAQZDZD"
96
+ }
29
97
 
30
- The current user object can be located with `current_user`:
98
+ You can also connect additional social accounts to an existing user:
31
99
 
32
- # in posts_controller
100
+ <%= link_to 'connect with facebook', connect_user(:facebook) %>
33
101
 
34
- @posts = currrent_user.posts.all
102
+ `connect_user` defaults to connecting the `current_user`, but you can explicitly connect any user:
35
103
 
36
- ##### Using only with Omniauth
104
+ <%= link_to 'connect with google', connect_user(:google, @user) %>
37
105
 
38
- If you already have omniauth set up and only want to use Dailycred as another OAuth provider, just add this line to your omniauth initializer file
106
+ ---
39
107
 
40
- provider :dailycred, 'CLIENT_ID', 'SECRET_KEY'
108
+ ##Helpers
109
+
110
+ There are a few other helper methods available:
111
+
112
+ #### current_user
113
+
114
+ Returns the current logged in user or nil. Example usage:
115
+
116
+ if !current_user.nil?
117
+ redirect_to :controller => 'welcome', :action => 'thanks'
118
+ end
41
119
 
42
- ##### Events
120
+ #### dailycred
43
121
 
44
- To fire an event to be logged in Dailycred:
122
+ 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:
45
123
 
46
- #in your controller
124
+ As a before filter:
47
125
 
48
126
  before_filter :dailycred
49
127
 
50
- def create
51
- ...
128
+ def index
129
+ @dailycred.event(current_user.uid, "New Task", @task.name)
130
+ end
52
131
 
53
- # after successfully saving the model:
54
- @dailycred.event(current_user.uid, 'Created Post', @post.name)
132
+ or just as a helper
55
133
 
134
+ def index
135
+ dailycred.event(current_user.uid, "New Task", @task.name)
56
136
  end
57
137
 
58
- ## SSL Error
138
+ #### Tagging a User
139
+
140
+ 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.
141
+
142
+ @user.tag 'awesome'
143
+ @user.untag 'awesome'
144
+
145
+ #### Firing Events
146
+
147
+ 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.
148
+
149
+ # user#fire_event(key, value)
150
+ @user.fire_event 'task added', @task.name
151
+
152
+ #### Building Referral URLs
153
+
154
+ 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.
155
+
156
+ current_user.referral_link("http://www.mysite.com")
157
+
158
+ #### Testing Controllers
159
+
160
+ Testing controllers that have the `authenticate` before filter is easy:
161
+
162
+ # with mocha
163
+ @controller.expects(:current_user).returns(@user)
164
+
165
+ See `dummy/test/functional/post_controller_test.rb` for an example.
166
+
167
+ #### Dailycred API
168
+
169
+ For reference, have a look at the [annotated source code.](https://www.dailycred.com/public/docs/ruby/lib/dailycred.html)
170
+
171
+ For all API calls, you must first initalize a Dailycred client:
172
+
173
+ @dailycred = Dailycred.new "YOUR_CLIENT_ID", "your_secret_key", opts
174
+
175
+ Where opts is an optional hash for passing options. After initializing your client, you can create events as well as tag and untag users:
176
+
177
+ @dailycred.event(current_user.uid, "New Task", @task.name) # user_id, key, value
178
+ @dailycred.tag(current_user.uid, "Failed Checkout") # user_id, key
179
+ @dailycred.untag(current_user.uid, "Failed Checkout") # user_id, key
180
+
59
181
 
60
- You may get an error such as the following:
182
+ #### Configuration
61
183
 
62
- Faraday::Error::ConnectionFailed (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):
184
+ To specify where users should be redirected after authentication actions, setup configure an `after_auth` property on a `Rails.configuration.DAILYCRED_OPTIONS` variable. Example:
63
185
 
64
- If that is the case, consider following fixes explained [here](https://github.com/technoweenie/faraday/wiki/Setting-up-SSL-certificates) or [here](http://martinottenwaelter.fr/2010/12/ruby19-and-the-ssl-error).
186
+ # configure where users should be redirected after authentication
187
+ #
188
+ # Rails.configuration.DAILYCRED_OPTIONS = {
189
+ # :after_auth => '/hello', #after login
190
+ # :after_unauth => '/goodbye' #after logout
191
+ # }
65
192
 
66
193
  ## Contributing
67
194
 
@@ -71,6 +198,5 @@ If that is the case, consider following fixes explained [here](https://github.co
71
198
  4. Push to the branch (`git push origin my-new-feature`)
72
199
  5. Create new Pull Request
73
200
 
74
- omniauth-dailycred
201
+ ![](https://www.dailycred.com/dc.gif?client_id=dailycred&title=rails_repo "dailycred")
75
202
 
76
- OmniAuth adapter for dailycred using their OAuth2 Strategy
data/Rakefile CHANGED
@@ -1,2 +1,32 @@
1
1
  #!/usr/bin/env rake
2
2
  require "bundler/gem_tasks"
3
+ require 'rspec/core/rake_task'
4
+
5
+ desc 'Default: run specs.'
6
+ task :default => :spec
7
+
8
+ desc "Run specs"
9
+ RSpec::Core::RakeTask.new do |t|
10
+ # t.pattern = "./spec/**/*_spec.rb" # don't need this, it's default.
11
+ # Put spec opts in a file named .rspec in root
12
+ end
13
+
14
+ begin
15
+ require 'rocco'
16
+ require 'rocco/tasks'
17
+ require 'fileutils'
18
+ require 'maruku'
19
+ Rocco::make 'docs/'
20
+ FileUtils.cp_r "docs/lib/", "/Users/hank/rails/dailycred/public/docs/ruby/", :verbose => true
21
+ md = ""
22
+ File.open("README.md", "r") do |infile|
23
+ while (line = infile.gets)
24
+ md += line
25
+ end
26
+ end
27
+ doc = Maruku.new(md)
28
+ File.open("/Users/hank/rails/dailycred/app/views/tags/ruby.html", 'w') {|f| f.write doc.to_html}
29
+ rescue LoadError
30
+ warn "#$! -- rocco tasks not loaded."
31
+ task :rocco
32
+ end
@@ -0,0 +1,31 @@
1
+ class SessionsController < ApplicationController
2
+ before_filter :authenticate, :only => [:destroy]
3
+ before_filter :current_user
4
+ include Dailycred::Helpers
5
+
6
+ # Callback Route for OAuth flow
7
+ def create
8
+ @user = User.find_or_create_with_omniauth auth_hash
9
+ session[:user_id] = @user.id
10
+ redirect_to_auth
11
+ end
12
+
13
+ #GET /logout
14
+ def destroy
15
+ session[:user_id] = nil
16
+ redirect_to_unauth
17
+ end
18
+
19
+ def failure
20
+ redirect_to_unauth notice: params[:message]
21
+ end
22
+
23
+ def info
24
+ end
25
+
26
+ private
27
+
28
+ def auth_hash
29
+ request.env['omniauth.auth']
30
+ end
31
+ end
@@ -0,0 +1,13 @@
1
+ <% if current_user %>
2
+ <p>Hello <%= current_user.email %> <br>
3
+ <%= link_to 'Logout', dailycred_engine.logout_path %>
4
+ <br><%= link_to 'connect with facebook', connect_user(:facebook) %>
5
+ <br><%= link_to 'connect with google', connect_user(:google) %>
6
+ <br><%= link_to 'connect with twitter', connect_user(:twitter) %>
7
+ </p>
8
+ <% else %>
9
+ <%= link_to 'Log In', login_path() %>
10
+ <br><%= link_to 'connect with facebook', connect_path(:identity_provider => :facebook) %>
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 %>
data/config/routes.rb ADDED
@@ -0,0 +1,7 @@
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
5
+ # get "/dailycred", :as => :login
6
+ match "/failure" => "sessions#failure"
7
+ end
data/dailycred.gemspec CHANGED
@@ -3,16 +3,17 @@
3
3
  Gem::Specification.new do |gem|
4
4
  gem.authors = ["Hank Stoever"]
5
5
  gem.email = ["hstove@gmail.com"]
6
- gem.description = %q{descript}
7
- gem.summary = %q{summary}
6
+ gem.description = %q{A Ruby on Rails engine for authentication with Dailycred.}
7
+ gem.summary = %q{}
8
8
  gem.homepage = "https://www.dailycred.com"
9
9
  gem.add_dependency("omniauth")
10
10
  gem.add_dependency("omniauth-oauth2")
11
11
 
12
+
12
13
  gem.files = `git ls-files`.split("\n")
13
14
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
14
15
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
15
16
  gem.name = "dailycred"
16
17
  gem.require_paths = ["lib"]
17
- gem.version = "0.1.2"
18
+ gem.version = "0.1.4"
18
19
  end
@@ -0,0 +1,42 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html;charset=utf-8">
5
+ <title>acts_as_dailycred.rb</title>
6
+ <link rel="stylesheet" href="http://jashkenas.github.com/docco/resources/docco.css">
7
+ </head>
8
+ <body>
9
+ <div id='container'>
10
+ <div id="background"></div>
11
+ <div id="jump_to">
12
+ Jump To &hellip;
13
+ <div id="jump_wrapper">
14
+ <div id="jump_page">
15
+ <a class="source" href="../dailycred.html">dailycred.rb</a>
16
+ <a class="source" href="acts_as_dailycred.html">acts_as_dailycred.rb</a>
17
+ <a class="source" href="client.html">client.rb</a>
18
+ <a class="source" href="engine.html">engine.rb</a>
19
+ <a class="source" href="helper.html">helper.rb</a>
20
+ <a class="source" href="middleware.html">middleware.rb</a>
21
+ <a class="source" href="tests_helper.html">tests_helper.rb</a>
22
+ <a class="source" href="user.html">user.rb</a>
23
+ <a class="source" href="../generators/dailycred_generator.html">dailycred_generator.rb</a>
24
+ <a class="source" href="../generators/templates/migration_create_user.html">migration_create_user.rb</a>
25
+ <a class="source" href="../generators/templates/omniauth.html">omniauth.rb</a>
26
+ <a class="source" href="../generators/templates/sessions_controller.html">sessions_controller.rb</a>
27
+ <a class="source" href="../generators/templates/user.html">user.rb</a>
28
+ <a class="source" href="../omniauth/strategies/dailycred.html">dailycred.rb</a>
29
+ </div>
30
+ </div>
31
+ </div>
32
+ <table cellspacing=0 cellpadding=0>
33
+ <thead>
34
+ <tr>
35
+ <th class=docs><h1>acts_as_dailycred.rb</h1></th>
36
+ <th class=code></th>
37
+ </tr>
38
+ </thead>
39
+ <tbody>
40
+ </table>
41
+ </div>
42
+ </body>