dailycred 0.1.8 → 0.1.21
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +0 -4
- data/Gemfile +3 -15
- data/README.md +34 -190
- data/Rakefile +0 -41
- data/dailycred.gemspec +5 -7
- data/lib/dailycred.rb +86 -1
- data/lib/generators/dailycred_generator.rb +44 -92
- data/lib/generators/templates/info.html.erb +1 -1
- data/lib/generators/templates/migration_create_user.rb +10 -54
- data/lib/generators/templates/omniauth.rb +17 -6
- data/lib/generators/templates/sessions_controller.rb +2 -8
- data/lib/generators/templates/user.rb +23 -1
- data/lib/middleware/middleware.rb +57 -0
- data/lib/omniauth/strategies/dailycred.rb +62 -0
- data/lib/omniauth-dailycred/version.rb +5 -0
- data/spec/omniauth/strategies/dailycred_spec.rb +22 -0
- data/spec/{helper_spec.rb → spec_helper.rb} +3 -3
- metadata +23 -107
- checksums.yaml +0 -7
- data/.travis.yml +0 -3
- data/Guardfile +0 -15
- data/app/controllers/sessions_controller.rb +0 -31
- data/app/views/sessions/info.html.erb +0 -13
- data/config/routes.rb +0 -7
- data/docs/lib/dailycred/acts_as_dailycred.html +0 -42
- data/docs/lib/dailycred/client.html +0 -214
- data/docs/lib/dailycred/engine.html +0 -112
- data/docs/lib/dailycred/helper.html +0 -125
- data/docs/lib/dailycred/middleware.html +0 -42
- data/docs/lib/dailycred/tests_helper.html +0 -42
- data/docs/lib/dailycred/user.html +0 -133
- data/docs/lib/dailycred.html +0 -42
- data/docs/lib/generators/dailycred_generator.html +0 -42
- data/docs/lib/generators/templates/migration_create_user.html +0 -39
- data/docs/lib/generators/templates/omniauth.html +0 -71
- data/docs/lib/generators/templates/sessions_controller.html +0 -96
- data/docs/lib/generators/templates/user.html +0 -42
- data/docs/lib/middleware/middleware.html +0 -38
- data/docs/lib/omniauth/strategies/dailycred.html +0 -199
- data/docs/lib/omniauth-dailycred/version.html +0 -38
- data/docs/lib/user/user.html +0 -129
- data/dummy/.gitignore +0 -16
- data/dummy/Gemfile +0 -40
- data/dummy/README.rdoc +0 -28
- data/dummy/Rakefile +0 -6
- data/dummy/app/assets/images/rails.png +0 -0
- data/dummy/app/assets/javascripts/application.js +0 -16
- data/dummy/app/assets/stylesheets/application.css +0 -13
- data/dummy/app/controllers/application_controller.rb +0 -17
- data/dummy/app/controllers/concerns/.keep +0 -0
- data/dummy/app/helpers/application_helper.rb +0 -2
- data/dummy/app/mailers/.keep +0 -0
- data/dummy/app/models/.keep +0 -0
- data/dummy/app/models/concerns/.keep +0 -0
- data/dummy/app/models/user.rb +0 -3
- data/dummy/app/views/layouts/application.html.erb +0 -14
- data/dummy/bin/bundle +0 -3
- data/dummy/bin/rails +0 -4
- data/dummy/bin/rake +0 -4
- data/dummy/config/application.rb +0 -22
- data/dummy/config/boot.rb +0 -4
- data/dummy/config/database.yml +0 -25
- data/dummy/config/environment.rb +0 -5
- data/dummy/config/environments/development.rb +0 -27
- data/dummy/config/environments/production.rb +0 -80
- data/dummy/config/environments/test.rb +0 -36
- data/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/dummy/config/initializers/inflections.rb +0 -16
- data/dummy/config/initializers/mime_types.rb +0 -5
- data/dummy/config/initializers/omniauth.rb +0 -9
- data/dummy/config/initializers/secret_token.rb +0 -12
- data/dummy/config/initializers/session_store.rb +0 -3
- data/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/dummy/config/locales/en.yml +0 -23
- data/dummy/config/routes.rb +0 -50
- data/dummy/config.ru +0 -4
- data/dummy/db/migrate/20130417131939_create_users.rb +0 -64
- data/dummy/db/schema.rb +0 -36
- data/dummy/db/seeds.rb +0 -7
- data/dummy/lib/assets/.keep +0 -0
- data/dummy/lib/tasks/.keep +0 -0
- data/dummy/log/.keep +0 -0
- data/dummy/public/404.html +0 -27
- data/dummy/public/422.html +0 -26
- data/dummy/public/500.html +0 -26
- data/dummy/public/favicon.ico +0 -0
- data/dummy/public/robots.txt +0 -5
- data/dummy/test/controllers/.keep +0 -0
- data/dummy/test/fixtures/.keep +0 -0
- data/dummy/test/helpers/.keep +0 -0
- data/dummy/test/integration/.keep +0 -0
- data/dummy/test/mailers/.keep +0 -0
- data/dummy/test/models/.keep +0 -0
- data/dummy/test/test_helper.rb +0 -15
- data/dummy/vendor/assets/javascripts/.keep +0 -0
- data/dummy/vendor/assets/stylesheets/.keep +0 -0
- data/lib/dailycred/acts_as_dailycred.rb +0 -74
- data/lib/dailycred/client.rb +0 -106
- data/lib/dailycred/engine.rb +0 -53
- data/lib/dailycred/helper.rb +0 -61
- data/lib/dailycred/middleware.rb +0 -70
- data/lib/dailycred/tests_helper.rb +0 -5
- data/lib/dailycred/user.rb +0 -63
- data/lib/dailycred/version.rb +0 -3
- data/lib/generators/templates/login.html.erb +0 -13
- data/script/download_info.rb +0 -11
- data/spec/support/dailycred_spec.rb +0 -72
- data/spec/support/shared_examples.rb +0 -40
- data/test/generator_test.rb +0 -83
- data/test/test_helper.rb +0 -6
@@ -1,199 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
5
|
-
<title>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 …
|
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="../../dailycred/acts_as_dailycred.html">acts_as_dailycred.rb</a>
|
17
|
-
<a class="source" href="../../dailycred/client.html">client.rb</a>
|
18
|
-
<a class="source" href="../../dailycred/engine.html">engine.rb</a>
|
19
|
-
<a class="source" href="../../dailycred/helper.html">helper.rb</a>
|
20
|
-
<a class="source" href="../../dailycred/middleware.html">middleware.rb</a>
|
21
|
-
<a class="source" href="../../dailycred/tests_helper.html">tests_helper.rb</a>
|
22
|
-
<a class="source" href="../../dailycred/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="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>dailycred.rb</h1></th>
|
36
|
-
<th class=code></th>
|
37
|
-
</tr>
|
38
|
-
</thead>
|
39
|
-
<tbody>
|
40
|
-
<tr id='section-1'>
|
41
|
-
<td class=docs>
|
42
|
-
<div class="pilwrap">
|
43
|
-
<a class="pilcrow" href="#section-1">¶</a>
|
44
|
-
</div>
|
45
|
-
|
46
|
-
</td>
|
47
|
-
<td class=code>
|
48
|
-
<div class='highlight'><pre><span class="nb">require</span> <span class="s1">'omniauth-oauth2'</span>
|
49
|
-
<span class="nb">require</span> <span class="s1">'faraday'</span>
|
50
|
-
<span class="nb">require</span> <span class="s1">'net/https'</span>
|
51
|
-
<span class="nb">require</span> <span class="s1">'json'</span>
|
52
|
-
<span class="nb">require</span> <span class="s1">'pp'</span></pre></div>
|
53
|
-
</td>
|
54
|
-
</tr>
|
55
|
-
<tr id='section-The_Dailycred_Omniauth_Strategy'>
|
56
|
-
<td class=docs>
|
57
|
-
<div class="pilwrap">
|
58
|
-
<a class="pilcrow" href="#section-The_Dailycred_Omniauth_Strategy">¶</a>
|
59
|
-
</div>
|
60
|
-
<h1>The Dailycred Omniauth Strategy</h1>
|
61
|
-
</td>
|
62
|
-
<td class=code>
|
63
|
-
<div class='highlight'><pre><span class="k">module</span> <span class="nn">OmniAuth</span>
|
64
|
-
<span class="k">module</span> <span class="nn">Strategies</span>
|
65
|
-
<span class="k">class</span> <span class="nc">Dailycred</span> <span class="o"><</span> <span class="no">OmniAuth</span><span class="o">::</span><span class="no">Strategies</span><span class="o">::</span><span class="no">OAuth2</span></pre></div>
|
66
|
-
</td>
|
67
|
-
</tr>
|
68
|
-
<tr id='section-3'>
|
69
|
-
<td class=docs>
|
70
|
-
<div class="pilwrap">
|
71
|
-
<a class="pilcrow" href="#section-3">¶</a>
|
72
|
-
</div>
|
73
|
-
<p>default options</p>
|
74
|
-
</td>
|
75
|
-
<td class=code>
|
76
|
-
<div class='highlight'><pre> <span class="n">option</span> <span class="ss">:client_options</span><span class="p">,</span> <span class="p">{</span>
|
77
|
-
<span class="ss">:site</span> <span class="o">=></span> <span class="s2">"https://www.dailycred.com"</span><span class="p">,</span>
|
78
|
-
<span class="ss">:authorize_url</span> <span class="o">=></span> <span class="s1">'/oauth/authorize'</span><span class="p">,</span>
|
79
|
-
<span class="ss">:token_url</span> <span class="o">=></span> <span class="s1">'/oauth/access_token'</span>
|
80
|
-
<span class="p">}</span></pre></div>
|
81
|
-
</td>
|
82
|
-
</tr>
|
83
|
-
<tr id='section-4'>
|
84
|
-
<td class=docs>
|
85
|
-
<div class="pilwrap">
|
86
|
-
<a class="pilcrow" href="#section-4">¶</a>
|
87
|
-
</div>
|
88
|
-
<p>parameters to expect and return from dailycred responses</p>
|
89
|
-
</td>
|
90
|
-
<td class=code>
|
91
|
-
<div class='highlight'><pre> <span class="no">ATTRIBUTES</span> <span class="o">=</span> <span class="o">[</span><span class="s2">"email"</span><span class="p">,</span> <span class="s2">"username"</span><span class="p">,</span> <span class="s2">"created"</span><span class="p">,</span> <span class="s2">"verified"</span><span class="p">,</span> <span class="s2">"admin"</span><span class="p">,</span> <span class="s2">"referred_by"</span><span class="p">,</span> <span class="s2">"tags"</span><span class="p">,</span> <span class="s2">"referred"</span><span class="o">]</span></pre></div>
|
92
|
-
</td>
|
93
|
-
</tr>
|
94
|
-
<tr id='section-5'>
|
95
|
-
<td class=docs>
|
96
|
-
<div class="pilwrap">
|
97
|
-
<a class="pilcrow" href="#section-5">¶</a>
|
98
|
-
</div>
|
99
|
-
<p>allows parameters to be passed through</p>
|
100
|
-
</td>
|
101
|
-
<td class=code>
|
102
|
-
<div class='highlight'><pre> <span class="no">AUTH_PARAMS</span> <span class="o">=</span> <span class="o">[</span><span class="s2">"action"</span><span class="p">,</span><span class="s2">"identity_provider"</span><span class="p">,</span><span class="s2">"referrer"</span><span class="o">]</span>
|
103
|
-
|
104
|
-
<span class="n">option</span> <span class="ss">:authorize_options</span><span class="p">,</span> <span class="no">OmniAuth</span><span class="o">::</span><span class="no">Strategies</span><span class="o">::</span><span class="no">Dailycred</span><span class="o">::</span><span class="no">AUTH_PARAMS</span>
|
105
|
-
|
106
|
-
<span class="n">uid</span> <span class="p">{</span> <span class="n">user</span><span class="o">[</span><span class="s1">'id'</span><span class="o">]</span> <span class="p">}</span>
|
107
|
-
|
108
|
-
<span class="n">info</span> <span class="k">do</span>
|
109
|
-
<span class="n">user</span>
|
110
|
-
<span class="k">end</span>
|
111
|
-
|
112
|
-
<span class="k">alias</span> <span class="ss">:old_request_phase</span> <span class="ss">:request_phase</span>
|
113
|
-
|
114
|
-
|
115
|
-
<span class="k">def</span> <span class="nf">authorize_params</span>
|
116
|
-
<span class="k">super</span><span class="o">.</span><span class="n">tap</span> <span class="k">do</span> <span class="o">|</span><span class="n">params</span><span class="o">|</span>
|
117
|
-
<span class="n">params</span><span class="o">[</span><span class="ss">:state</span><span class="o">]</span> <span class="o">||=</span> <span class="p">{}</span>
|
118
|
-
<span class="k">end</span>
|
119
|
-
<span class="k">end</span></pre></div>
|
120
|
-
</td>
|
121
|
-
</tr>
|
122
|
-
<tr id='section-6'>
|
123
|
-
<td class=docs>
|
124
|
-
<div class="pilwrap">
|
125
|
-
<a class="pilcrow" href="#section-6">¶</a>
|
126
|
-
</div>
|
127
|
-
<p>this step allows auth_params to be added to the url</p>
|
128
|
-
</td>
|
129
|
-
<td class=code>
|
130
|
-
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">request_phase</span>
|
131
|
-
<span class="nb">p</span> <span class="n">session</span><span class="o">[</span><span class="s1">'omniauth.state'</span><span class="o">]</span>
|
132
|
-
<span class="no">OmniAuth</span><span class="o">::</span><span class="no">Strategies</span><span class="o">::</span><span class="no">Dailycred</span><span class="o">::</span><span class="no">AUTH_PARAMS</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">param</span><span class="o">|</span>
|
133
|
-
<span class="n">val</span> <span class="o">=</span> <span class="n">session</span><span class="o">[</span><span class="s1">'omniauth.params'</span><span class="o">][</span><span class="n">param</span><span class="o">]</span>
|
134
|
-
<span class="k">if</span> <span class="n">val</span> <span class="o">&&</span> <span class="o">!</span><span class="n">val</span><span class="o">.</span><span class="n">empty?</span>
|
135
|
-
<span class="n">options</span><span class="o">[</span><span class="ss">:authorize_params</span><span class="o">]</span> <span class="o">||=</span> <span class="p">{}</span>
|
136
|
-
<span class="n">options</span><span class="o">[</span><span class="ss">:authorize_params</span><span class="o">].</span><span class="n">merge!</span><span class="p">(</span><span class="n">param</span> <span class="o">=></span> <span class="n">val</span><span class="p">)</span>
|
137
|
-
<span class="k">end</span>
|
138
|
-
<span class="k">end</span>
|
139
|
-
<span class="n">old_request_phase</span>
|
140
|
-
<span class="k">end</span>
|
141
|
-
|
142
|
-
<span class="kp">private</span></pre></div>
|
143
|
-
</td>
|
144
|
-
</tr>
|
145
|
-
<tr id='section-7'>
|
146
|
-
<td class=docs>
|
147
|
-
<div class="pilwrap">
|
148
|
-
<a class="pilcrow" href="#section-7">¶</a>
|
149
|
-
</div>
|
150
|
-
<p>This is the phase where the gem calls me.json, which returns information about the user</p>
|
151
|
-
</td>
|
152
|
-
<td class=code>
|
153
|
-
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">user</span>
|
154
|
-
<span class="k">return</span> <span class="vi">@duser</span> <span class="k">if</span> <span class="o">!</span><span class="vi">@duser</span><span class="o">.</span><span class="n">nil?</span>
|
155
|
-
<span class="n">connection</span> <span class="o">=</span> <span class="no">Faraday</span><span class="o">::</span><span class="no">Connection</span><span class="o">.</span><span class="n">new</span> <span class="n">options</span><span class="o">.</span><span class="n">client_options</span><span class="o">[</span><span class="ss">:site</span><span class="o">]</span><span class="p">,</span> <span class="ss">:ssl</span> <span class="o">=></span> <span class="n">options</span><span class="o">.</span><span class="n">client_options</span><span class="o">[</span><span class="ss">:ssl</span><span class="o">]</span>
|
156
|
-
<span class="n">response</span> <span class="o">=</span> <span class="n">connection</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="s2">"/graph/me.json?access_token=</span><span class="si">#{</span><span class="n">access_token</span><span class="o">.</span><span class="n">token</span><span class="si">}</span><span class="s2">"</span><span class="p">)</span>
|
157
|
-
<span class="n">json</span> <span class="o">=</span> <span class="no">JSON</span><span class="o">.</span><span class="n">parse</span><span class="p">(</span><span class="n">response</span><span class="o">.</span><span class="n">body</span><span class="p">)</span></pre></div>
|
158
|
-
</td>
|
159
|
-
</tr>
|
160
|
-
<tr id='section-8'>
|
161
|
-
<td class=docs>
|
162
|
-
<div class="pilwrap">
|
163
|
-
<a class="pilcrow" href="#section-8">¶</a>
|
164
|
-
</div>
|
165
|
-
<p>pp json</p>
|
166
|
-
</td>
|
167
|
-
<td class=code>
|
168
|
-
<div class='highlight'><pre> <span class="vi">@duser</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'token'</span> <span class="o">=></span> <span class="n">access_token</span><span class="o">.</span><span class="n">token</span><span class="p">}</span>
|
169
|
-
<span class="vi">@duser</span><span class="o">[</span><span class="s1">'provider'</span><span class="o">]</span> <span class="o">=</span> <span class="s1">'dailycred'</span>
|
170
|
-
<span class="vi">@duser</span><span class="o">[</span><span class="s1">'uid'</span><span class="o">]</span> <span class="o">=</span> <span class="n">json</span><span class="o">[</span><span class="s1">'id'</span><span class="o">]</span> <span class="o">||</span> <span class="n">json</span><span class="o">[</span><span class="s1">'user_id'</span><span class="o">]</span>
|
171
|
-
<span class="no">OmniAuth</span><span class="o">::</span><span class="no">Strategies</span><span class="o">::</span><span class="no">Dailycred</span><span class="o">::</span><span class="no">ATTRIBUTES</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="kp">attr</span><span class="o">|</span>
|
172
|
-
<span class="vi">@duser</span><span class="o">[</span><span class="kp">attr</span><span class="o">]</span> <span class="o">=</span> <span class="n">json</span><span class="o">[</span><span class="kp">attr</span><span class="o">]</span>
|
173
|
-
<span class="k">end</span>
|
174
|
-
<span class="n">json</span><span class="o">[</span><span class="s2">"identities"</span><span class="o">].</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="o">|</span>
|
175
|
-
<span class="vi">@duser</span><span class="o">[</span><span class="n">k</span><span class="o">]</span> <span class="o">=</span> <span class="n">v</span>
|
176
|
-
<span class="vi">@duser</span><span class="o">[</span><span class="n">k</span><span class="o">][</span><span class="ss">:access_token</span><span class="o">]</span> <span class="o">=</span> <span class="n">json</span><span class="o">[</span><span class="s2">"access_tokens"</span><span class="o">][</span><span class="n">k</span><span class="o">]</span>
|
177
|
-
<span class="k">end</span> <span class="k">if</span> <span class="o">!</span><span class="n">json</span><span class="o">[</span><span class="s2">"identities"</span><span class="o">].</span><span class="n">nil?</span></pre></div>
|
178
|
-
</td>
|
179
|
-
</tr>
|
180
|
-
<tr id='section-9'>
|
181
|
-
<td class=docs>
|
182
|
-
<div class="pilwrap">
|
183
|
-
<a class="pilcrow" href="#section-9">¶</a>
|
184
|
-
</div>
|
185
|
-
<p>pp @duser</p>
|
186
|
-
|
187
|
-
</td>
|
188
|
-
<td class=code>
|
189
|
-
<div class='highlight'><pre> <span class="vi">@duser</span>
|
190
|
-
<span class="k">end</span>
|
191
|
-
|
192
|
-
<span class="k">end</span>
|
193
|
-
<span class="k">end</span>
|
194
|
-
<span class="k">end</span></pre></div>
|
195
|
-
</td>
|
196
|
-
</tr>
|
197
|
-
</table>
|
198
|
-
</div>
|
199
|
-
</body>
|
@@ -1,38 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
5
|
-
<title>version.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 …
|
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="../generators/dailycred_generator.html">dailycred_generator.rb</a>
|
17
|
-
<a class="source" href="../generators/templates/migration_create_user.html">migration_create_user.rb</a>
|
18
|
-
<a class="source" href="../generators/templates/omniauth.html">omniauth.rb</a>
|
19
|
-
<a class="source" href="../generators/templates/sessions_controller.html">sessions_controller.rb</a>
|
20
|
-
<a class="source" href="../generators/templates/user.html">user.rb</a>
|
21
|
-
<a class="source" href="../middleware/middleware.html">middleware.rb</a>
|
22
|
-
<a class="source" href="version.html">version.rb</a>
|
23
|
-
<a class="source" href="../omniauth/strategies/dailycred.html">dailycred.rb</a>
|
24
|
-
<a class="source" href="../user/user.html">user.rb</a>
|
25
|
-
</div>
|
26
|
-
</div>
|
27
|
-
</div>
|
28
|
-
<table cellspacing=0 cellpadding=0>
|
29
|
-
<thead>
|
30
|
-
<tr>
|
31
|
-
<th class=docs><h1>version.rb</h1></th>
|
32
|
-
<th class=code></th>
|
33
|
-
</tr>
|
34
|
-
</thead>
|
35
|
-
<tbody>
|
36
|
-
</table>
|
37
|
-
</div>
|
38
|
-
</body>
|
data/docs/lib/user/user.html
DELETED
@@ -1,129 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<meta http-equiv="content-type" content="text/html;charset=utf-8">
|
5
|
-
<title>user.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 …
|
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="../generators/dailycred_generator.html">dailycred_generator.rb</a>
|
17
|
-
<a class="source" href="../generators/templates/migration_create_user.html">migration_create_user.rb</a>
|
18
|
-
<a class="source" href="../generators/templates/omniauth.html">omniauth.rb</a>
|
19
|
-
<a class="source" href="../generators/templates/sessions_controller.html">sessions_controller.rb</a>
|
20
|
-
<a class="source" href="../generators/templates/user.html">user.rb</a>
|
21
|
-
<a class="source" href="../middleware/middleware.html">middleware.rb</a>
|
22
|
-
<a class="source" href="../omniauth-dailycred/version.html">version.rb</a>
|
23
|
-
<a class="source" href="../omniauth/strategies/dailycred.html">dailycred.rb</a>
|
24
|
-
<a class="source" href="user.html">user.rb</a>
|
25
|
-
</div>
|
26
|
-
</div>
|
27
|
-
</div>
|
28
|
-
<table cellspacing=0 cellpadding=0>
|
29
|
-
<thead>
|
30
|
-
<tr>
|
31
|
-
<th class=docs><h1>user.rb</h1></th>
|
32
|
-
<th class=code></th>
|
33
|
-
</tr>
|
34
|
-
</thead>
|
35
|
-
<tbody>
|
36
|
-
<tr id='section-1'>
|
37
|
-
<td class=docs>
|
38
|
-
<div class="pilwrap">
|
39
|
-
<a class="pilcrow" href="#section-1">¶</a>
|
40
|
-
</div>
|
41
|
-
|
42
|
-
</td>
|
43
|
-
<td class=code>
|
44
|
-
<div class='highlight'><pre><span class="k">class</span> <span class="nc">Dailycred</span>
|
45
|
-
<span class="k">class</span> <span class="nc">Auth</span>
|
46
|
-
<span class="kp">include</span> <span class="no">ActiveModel</span><span class="o">::</span><span class="no">Validations</span>
|
47
|
-
<span class="kp">include</span> <span class="no">ActiveModel</span><span class="o">::</span><span class="no">Serialization</span>
|
48
|
-
|
49
|
-
<span class="n">validates_presence_of</span> <span class="ss">:email</span><span class="p">,</span> <span class="ss">:pass</span>
|
50
|
-
|
51
|
-
<span class="kp">attr_accessor</span> <span class="ss">:client</span><span class="p">,</span> <span class="ss">:email</span><span class="p">,</span> <span class="ss">:pass</span><span class="p">,</span> <span class="ss">:authorized</span>
|
52
|
-
|
53
|
-
<span class="k">def</span> <span class="nf">initialize</span> <span class="n">client</span><span class="p">,</span> <span class="n">user</span> <span class="o">=</span> <span class="p">{}</span>
|
54
|
-
<span class="nb">self</span><span class="o">.</span><span class="n">client</span> <span class="o">=</span> <span class="n">client</span>
|
55
|
-
<span class="nb">self</span><span class="o">.</span><span class="n">authorized</span> <span class="o">=</span> <span class="kp">false</span>
|
56
|
-
<span class="n">user</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">k</span><span class="p">,</span><span class="n">v</span><span class="o">|</span>
|
57
|
-
<span class="nb">self</span><span class="o">[</span><span class="n">k</span><span class="o">]</span> <span class="o">=</span> <span class="n">v</span> <span class="k">if</span> <span class="nb">self</span><span class="o">.</span><span class="n">respond_to</span><span class="p">(</span><span class="n">k</span><span class="p">)</span>
|
58
|
-
<span class="k">end</span>
|
59
|
-
<span class="k">end</span>
|
60
|
-
|
61
|
-
<span class="k">def</span> <span class="nf">login</span>
|
62
|
-
<span class="k">if</span> <span class="o">!</span><span class="nb">self</span><span class="o">.</span><span class="n">valid?</span></pre></div>
|
63
|
-
</td>
|
64
|
-
</tr>
|
65
|
-
<tr id='section-2'>
|
66
|
-
<td class=docs>
|
67
|
-
<div class="pilwrap">
|
68
|
-
<a class="pilcrow" href="#section-2">¶</a>
|
69
|
-
</div>
|
70
|
-
<p>it didn’t work already, return false</p>
|
71
|
-
</td>
|
72
|
-
<td class=code>
|
73
|
-
<div class='highlight'><pre> <span class="k">return</span> <span class="kp">false</span>
|
74
|
-
<span class="k">end</span>
|
75
|
-
|
76
|
-
<span class="n">response</span> <span class="o">=</span> <span class="no">JSON</span><span class="o">.</span><span class="n">parse</span> <span class="n">client</span><span class="o">.</span><span class="n">login</span><span class="p">(</span><span class="nb">self</span><span class="o">.</span><span class="n">to_hash</span><span class="p">)</span>
|
77
|
-
<span class="n">err_parser</span> <span class="n">response</span>
|
78
|
-
|
79
|
-
<span class="k">return</span> <span class="kp">false</span> <span class="k">if</span> <span class="o">!</span><span class="nb">self</span><span class="o">.</span><span class="n">valid?</span>
|
80
|
-
<span class="kp">true</span>
|
81
|
-
<span class="k">end</span>
|
82
|
-
|
83
|
-
<span class="k">def</span> <span class="nf">to_hash</span>
|
84
|
-
<span class="p">{</span>
|
85
|
-
<span class="ss">:email</span> <span class="o">=></span> <span class="nb">self</span><span class="o">.</span><span class="n">email</span><span class="p">,</span>
|
86
|
-
<span class="ss">:pass</span> <span class="o">=></span> <span class="nb">self</span><span class="o">.</span><span class="n">pass</span>
|
87
|
-
<span class="p">}</span>
|
88
|
-
<span class="k">end</span>
|
89
|
-
|
90
|
-
<span class="kp">private</span></pre></div>
|
91
|
-
</td>
|
92
|
-
</tr>
|
93
|
-
<tr id='section-3'>
|
94
|
-
<td class=docs>
|
95
|
-
<div class="pilwrap">
|
96
|
-
<a class="pilcrow" href="#section-3">¶</a>
|
97
|
-
</div>
|
98
|
-
<p>response is a hash, which is
|
99
|
-
a json-parsed http response body</p>
|
100
|
-
|
101
|
-
</td>
|
102
|
-
<td class=code>
|
103
|
-
<div class='highlight'><pre> <span class="k">def</span> <span class="nf">err_parser</span> <span class="n">response</span>
|
104
|
-
<span class="k">if</span> <span class="o">!</span><span class="n">response</span><span class="o">[</span><span class="s2">"worked"</span><span class="o">]</span>
|
105
|
-
<span class="nb">self</span><span class="o">.</span><span class="n">authorized</span> <span class="o">=</span> <span class="kp">false</span>
|
106
|
-
<span class="n">response</span><span class="o">[</span><span class="s2">"errors"</span><span class="o">].</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">err</span><span class="o">|</span>
|
107
|
-
<span class="n">attrib</span> <span class="o">=</span> <span class="n">err</span><span class="o">[</span><span class="s2">"attribute"</span><span class="o">]</span>
|
108
|
-
<span class="n">message</span> <span class="o">=</span> <span class="n">err</span><span class="o">[</span><span class="s2">"message"</span><span class="o">]</span>
|
109
|
-
<span class="k">if</span> <span class="n">attrib</span> <span class="o">==</span> <span class="s2">"form"</span>
|
110
|
-
<span class="nb">self</span><span class="o">.</span><span class="n">errors</span><span class="o">.</span><span class="n">add_to_base</span> <span class="n">message</span>
|
111
|
-
<span class="k">else</span>
|
112
|
-
<span class="k">if</span> <span class="n">attrib</span> <span class="o">==</span> <span class="s2">"user"</span>
|
113
|
-
<span class="nb">self</span><span class="o">.</span><span class="n">errors</span><span class="o">.</span><span class="n">add</span> <span class="ss">:email</span><span class="p">,</span> <span class="n">message</span>
|
114
|
-
<span class="k">elsif</span> <span class="nb">self</span><span class="o">.</span><span class="n">respond_to</span> <span class="n">attrib</span>
|
115
|
-
<span class="nb">self</span><span class="o">.</span><span class="n">errors</span><span class="o">.</span><span class="n">add</span> <span class="n">attrib</span><span class="p">,</span> <span class="n">message</span>
|
116
|
-
<span class="k">end</span>
|
117
|
-
<span class="k">end</span>
|
118
|
-
<span class="k">end</span>
|
119
|
-
<span class="k">end</span>
|
120
|
-
<span class="k">end</span>
|
121
|
-
|
122
|
-
<span class="k">end</span>
|
123
|
-
|
124
|
-
<span class="k">end</span></pre></div>
|
125
|
-
</td>
|
126
|
-
</tr>
|
127
|
-
</table>
|
128
|
-
</div>
|
129
|
-
</body>
|
data/dummy/.gitignore
DELETED
@@ -1,16 +0,0 @@
|
|
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
|
data/dummy/Gemfile
DELETED
@@ -1,40 +0,0 @@
|
|
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 'omniauth_dailycred', path: '../../omniauth_dailycred'
|
8
|
-
gem 'dailycred', path: '../'
|
9
|
-
|
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'
|
data/dummy/README.rdoc
DELETED
@@ -1,28 +0,0 @@
|
|
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>.
|
data/dummy/Rakefile
DELETED
Binary file
|
@@ -1,16 +0,0 @@
|
|
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,13 +0,0 @@
|
|
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,17 +0,0 @@
|
|
1
|
-
class ApplicationController < ActionController::Base
|
2
|
-
helper_method :current_user
|
3
|
-
|
4
|
-
private
|
5
|
-
|
6
|
-
# helper method for getting the current signed in user
|
7
|
-
def current_user
|
8
|
-
begin
|
9
|
-
@current_user || User.find(session[:user_id]) if session[:user_id]
|
10
|
-
rescue
|
11
|
-
nil
|
12
|
-
end
|
13
|
-
end
|
14
|
-
# Prevent CSRF attacks by raising an exception.
|
15
|
-
# For APIs, you may want to use :null_session instead.
|
16
|
-
protect_from_forgery with: :exception
|
17
|
-
end
|
File without changes
|
data/dummy/app/mailers/.keep
DELETED
File without changes
|
data/dummy/app/models/.keep
DELETED
File without changes
|
File without changes
|
data/dummy/app/models/user.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<title>Dummy</title>
|
5
|
-
<%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %>
|
6
|
-
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>
|
7
|
-
<%= csrf_meta_tags %>
|
8
|
-
</head>
|
9
|
-
<body>
|
10
|
-
|
11
|
-
<%= yield %>
|
12
|
-
|
13
|
-
</body>
|
14
|
-
</html>
|
data/dummy/bin/bundle
DELETED
data/dummy/bin/rails
DELETED
data/dummy/bin/rake
DELETED
data/dummy/config/application.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
require File.expand_path('../boot', __FILE__)
|
2
|
-
|
3
|
-
require 'rails/all'
|
4
|
-
|
5
|
-
# Assets should be precompiled for production (so we don't need the gems loaded then)
|
6
|
-
Bundler.require(*Rails.groups(assets: %w(development test)))
|
7
|
-
|
8
|
-
module Dummy
|
9
|
-
class Application < Rails::Application
|
10
|
-
# Settings in config/environments/* take precedence over those specified here.
|
11
|
-
# Application configuration should go into files in config/initializers
|
12
|
-
# -- all .rb files in that directory are automatically loaded.
|
13
|
-
|
14
|
-
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
15
|
-
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
16
|
-
# config.time_zone = 'Central Time (US & Canada)'
|
17
|
-
|
18
|
-
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
19
|
-
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
20
|
-
# config.i18n.default_locale = :de
|
21
|
-
end
|
22
|
-
end
|
data/dummy/config/boot.rb
DELETED