dailycred 0.1.8 → 0.1.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (111) hide show
  1. data/.gitignore +0 -4
  2. data/Gemfile +3 -15
  3. data/README.md +34 -190
  4. data/Rakefile +0 -41
  5. data/dailycred.gemspec +5 -7
  6. data/lib/dailycred.rb +86 -1
  7. data/lib/generators/dailycred_generator.rb +44 -92
  8. data/lib/generators/templates/info.html.erb +1 -1
  9. data/lib/generators/templates/migration_create_user.rb +10 -54
  10. data/lib/generators/templates/omniauth.rb +17 -6
  11. data/lib/generators/templates/sessions_controller.rb +2 -8
  12. data/lib/generators/templates/user.rb +23 -1
  13. data/lib/middleware/middleware.rb +57 -0
  14. data/lib/omniauth/strategies/dailycred.rb +62 -0
  15. data/lib/omniauth-dailycred/version.rb +5 -0
  16. data/spec/omniauth/strategies/dailycred_spec.rb +22 -0
  17. data/spec/{helper_spec.rb → spec_helper.rb} +3 -3
  18. metadata +23 -107
  19. checksums.yaml +0 -7
  20. data/.travis.yml +0 -3
  21. data/Guardfile +0 -15
  22. data/app/controllers/sessions_controller.rb +0 -31
  23. data/app/views/sessions/info.html.erb +0 -13
  24. data/config/routes.rb +0 -7
  25. data/docs/lib/dailycred/acts_as_dailycred.html +0 -42
  26. data/docs/lib/dailycred/client.html +0 -214
  27. data/docs/lib/dailycred/engine.html +0 -112
  28. data/docs/lib/dailycred/helper.html +0 -125
  29. data/docs/lib/dailycred/middleware.html +0 -42
  30. data/docs/lib/dailycred/tests_helper.html +0 -42
  31. data/docs/lib/dailycred/user.html +0 -133
  32. data/docs/lib/dailycred.html +0 -42
  33. data/docs/lib/generators/dailycred_generator.html +0 -42
  34. data/docs/lib/generators/templates/migration_create_user.html +0 -39
  35. data/docs/lib/generators/templates/omniauth.html +0 -71
  36. data/docs/lib/generators/templates/sessions_controller.html +0 -96
  37. data/docs/lib/generators/templates/user.html +0 -42
  38. data/docs/lib/middleware/middleware.html +0 -38
  39. data/docs/lib/omniauth/strategies/dailycred.html +0 -199
  40. data/docs/lib/omniauth-dailycred/version.html +0 -38
  41. data/docs/lib/user/user.html +0 -129
  42. data/dummy/.gitignore +0 -16
  43. data/dummy/Gemfile +0 -40
  44. data/dummy/README.rdoc +0 -28
  45. data/dummy/Rakefile +0 -6
  46. data/dummy/app/assets/images/rails.png +0 -0
  47. data/dummy/app/assets/javascripts/application.js +0 -16
  48. data/dummy/app/assets/stylesheets/application.css +0 -13
  49. data/dummy/app/controllers/application_controller.rb +0 -17
  50. data/dummy/app/controllers/concerns/.keep +0 -0
  51. data/dummy/app/helpers/application_helper.rb +0 -2
  52. data/dummy/app/mailers/.keep +0 -0
  53. data/dummy/app/models/.keep +0 -0
  54. data/dummy/app/models/concerns/.keep +0 -0
  55. data/dummy/app/models/user.rb +0 -3
  56. data/dummy/app/views/layouts/application.html.erb +0 -14
  57. data/dummy/bin/bundle +0 -3
  58. data/dummy/bin/rails +0 -4
  59. data/dummy/bin/rake +0 -4
  60. data/dummy/config/application.rb +0 -22
  61. data/dummy/config/boot.rb +0 -4
  62. data/dummy/config/database.yml +0 -25
  63. data/dummy/config/environment.rb +0 -5
  64. data/dummy/config/environments/development.rb +0 -27
  65. data/dummy/config/environments/production.rb +0 -80
  66. data/dummy/config/environments/test.rb +0 -36
  67. data/dummy/config/initializers/backtrace_silencers.rb +0 -7
  68. data/dummy/config/initializers/filter_parameter_logging.rb +0 -4
  69. data/dummy/config/initializers/inflections.rb +0 -16
  70. data/dummy/config/initializers/mime_types.rb +0 -5
  71. data/dummy/config/initializers/omniauth.rb +0 -9
  72. data/dummy/config/initializers/secret_token.rb +0 -12
  73. data/dummy/config/initializers/session_store.rb +0 -3
  74. data/dummy/config/initializers/wrap_parameters.rb +0 -14
  75. data/dummy/config/locales/en.yml +0 -23
  76. data/dummy/config/routes.rb +0 -50
  77. data/dummy/config.ru +0 -4
  78. data/dummy/db/migrate/20130417131939_create_users.rb +0 -64
  79. data/dummy/db/schema.rb +0 -36
  80. data/dummy/db/seeds.rb +0 -7
  81. data/dummy/lib/assets/.keep +0 -0
  82. data/dummy/lib/tasks/.keep +0 -0
  83. data/dummy/log/.keep +0 -0
  84. data/dummy/public/404.html +0 -27
  85. data/dummy/public/422.html +0 -26
  86. data/dummy/public/500.html +0 -26
  87. data/dummy/public/favicon.ico +0 -0
  88. data/dummy/public/robots.txt +0 -5
  89. data/dummy/test/controllers/.keep +0 -0
  90. data/dummy/test/fixtures/.keep +0 -0
  91. data/dummy/test/helpers/.keep +0 -0
  92. data/dummy/test/integration/.keep +0 -0
  93. data/dummy/test/mailers/.keep +0 -0
  94. data/dummy/test/models/.keep +0 -0
  95. data/dummy/test/test_helper.rb +0 -15
  96. data/dummy/vendor/assets/javascripts/.keep +0 -0
  97. data/dummy/vendor/assets/stylesheets/.keep +0 -0
  98. data/lib/dailycred/acts_as_dailycred.rb +0 -74
  99. data/lib/dailycred/client.rb +0 -106
  100. data/lib/dailycred/engine.rb +0 -53
  101. data/lib/dailycred/helper.rb +0 -61
  102. data/lib/dailycred/middleware.rb +0 -70
  103. data/lib/dailycred/tests_helper.rb +0 -5
  104. data/lib/dailycred/user.rb +0 -63
  105. data/lib/dailycred/version.rb +0 -3
  106. data/lib/generators/templates/login.html.erb +0 -13
  107. data/script/download_info.rb +0 -11
  108. data/spec/support/dailycred_spec.rb +0 -72
  109. data/spec/support/shared_examples.rb +0 -40
  110. data/test/generator_test.rb +0 -83
  111. 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 &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="../../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">&#182;</a>
44
- </div>
45
-
46
- </td>
47
- <td class=code>
48
- <div class='highlight'><pre><span class="nb">require</span> <span class="s1">&#39;omniauth-oauth2&#39;</span>
49
- <span class="nb">require</span> <span class="s1">&#39;faraday&#39;</span>
50
- <span class="nb">require</span> <span class="s1">&#39;net/https&#39;</span>
51
- <span class="nb">require</span> <span class="s1">&#39;json&#39;</span>
52
- <span class="nb">require</span> <span class="s1">&#39;pp&#39;</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">&#182;</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">&lt;</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">&#182;</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">=&gt;</span> <span class="s2">&quot;https://www.dailycred.com&quot;</span><span class="p">,</span>
78
- <span class="ss">:authorize_url</span> <span class="o">=&gt;</span> <span class="s1">&#39;/oauth/authorize&#39;</span><span class="p">,</span>
79
- <span class="ss">:token_url</span> <span class="o">=&gt;</span> <span class="s1">&#39;/oauth/access_token&#39;</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">&#182;</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">&quot;email&quot;</span><span class="p">,</span> <span class="s2">&quot;username&quot;</span><span class="p">,</span> <span class="s2">&quot;created&quot;</span><span class="p">,</span> <span class="s2">&quot;verified&quot;</span><span class="p">,</span> <span class="s2">&quot;admin&quot;</span><span class="p">,</span> <span class="s2">&quot;referred_by&quot;</span><span class="p">,</span> <span class="s2">&quot;tags&quot;</span><span class="p">,</span> <span class="s2">&quot;referred&quot;</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">&#182;</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">&quot;action&quot;</span><span class="p">,</span><span class="s2">&quot;identity_provider&quot;</span><span class="p">,</span><span class="s2">&quot;referrer&quot;</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">&#39;id&#39;</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">&#182;</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">&#39;omniauth.state&#39;</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">&#39;omniauth.params&#39;</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">&amp;&amp;</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">=&gt;</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">&#182;</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">=&gt;</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">&quot;/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">&quot;</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">&#182;</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">&#39;token&#39;</span> <span class="o">=&gt;</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">&#39;provider&#39;</span><span class="o">]</span> <span class="o">=</span> <span class="s1">&#39;dailycred&#39;</span>
170
- <span class="vi">@duser</span><span class="o">[</span><span class="s1">&#39;uid&#39;</span><span class="o">]</span> <span class="o">=</span> <span class="n">json</span><span class="o">[</span><span class="s1">&#39;id&#39;</span><span class="o">]</span> <span class="o">||</span> <span class="n">json</span><span class="o">[</span><span class="s1">&#39;user_id&#39;</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">&quot;identities&quot;</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">&quot;access_tokens&quot;</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">&quot;identities&quot;</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">&#182;</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 &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="../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>
@@ -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 &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="../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">&#182;</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">&#182;</a>
69
- </div>
70
- <p>it didn&rsquo;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">=&gt;</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">=&gt;</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">&#182;</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">&quot;worked&quot;</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">&quot;errors&quot;</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">&quot;attribute&quot;</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">&quot;message&quot;</span><span class="o">]</span>
109
- <span class="k">if</span> <span class="n">attrib</span> <span class="o">==</span> <span class="s2">&quot;form&quot;</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">&quot;user&quot;</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
@@ -1,6 +0,0 @@
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
- Dummy::Application.load_tasks
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
@@ -1,2 +0,0 @@
1
- module ApplicationHelper
2
- end
File without changes
File without changes
File without changes
@@ -1,3 +0,0 @@
1
- class User < ActiveRecord::Base
2
- acts_as_dailycred
3
- end
@@ -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
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env ruby
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
- load Gem.bin_path('bundler', 'bundle')
data/dummy/bin/rails DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- APP_PATH = File.expand_path('../../config/application', __FILE__)
3
- require_relative '../config/boot'
4
- require 'rails/commands'
data/dummy/bin/rake DELETED
@@ -1,4 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require_relative '../config/boot'
3
- require 'rake'
4
- Rake.application.run
@@ -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
@@ -1,4 +0,0 @@
1
- # Set up gems listed in the Gemfile.
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
3
-
4
- require 'bundler/setup' if File.exists?(ENV['BUNDLE_GEMFILE'])