dailycred 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +1 -1
- data/README.md +7 -1
- data/dailycred.gemspec +2 -2
- data/dummy/.gitignore +3 -2
- data/dummy/Gemfile +14 -29
- data/dummy/README.rdoc +15 -248
- data/dummy/Rakefile +0 -1
- data/dummy/app/assets/javascripts/application.js +2 -1
- data/dummy/app/controllers/application_controller.rb +3 -14
- data/dummy/app/views/layouts/application.html.erb +2 -6
- data/dummy/bin/bundle +3 -0
- data/dummy/bin/rails +4 -0
- data/dummy/bin/rake +4 -0
- data/dummy/config/application.rb +2 -42
- data/dummy/config/boot.rb +0 -2
- data/dummy/config/environment.rb +2 -2
- data/dummy/config/environments/development.rb +9 -19
- data/dummy/config/environments/production.rb +40 -27
- data/dummy/config/environments/test.rb +12 -13
- data/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/dummy/config/initializers/inflections.rb +6 -5
- data/dummy/config/initializers/omniauth.rb +8 -4
- data/dummy/config/initializers/secret_token.rb +6 -1
- data/dummy/config/initializers/session_store.rb +1 -6
- data/dummy/config/initializers/wrap_parameters.rb +6 -6
- data/dummy/config/locales/en.yml +20 -2
- data/dummy/config/routes.rb +15 -26
- data/dummy/db/migrate/{20121218124721_create_users.rb → 20130417131939_create_users.rb} +2 -2
- data/dummy/db/schema.rb +8 -20
- data/dummy/public/404.html +2 -1
- data/dummy/public/422.html +1 -1
- data/dummy/public/500.html +2 -1
- data/dummy/public/robots.txt +1 -1
- data/dummy/test/models/.keep +0 -0
- data/dummy/test/test_helper.rb +11 -58
- data/dummy/vendor/assets/javascripts/.keep +0 -0
- data/dummy/vendor/assets/stylesheets/.keep +0 -0
- data/lib/dailycred/client.rb +1 -0
- data/lib/dailycred/version.rb +1 -1
- data/lib/dailycred.rb +0 -1
- data/spec/helper_spec.rb +0 -2
- metadata +24 -44
- data/dummy/Guardfile +0 -31
- data/dummy/app/assets/javascripts/posts.js.coffee +0 -3
- data/dummy/app/assets/stylesheets/posts.css.scss +0 -3
- data/dummy/app/assets/stylesheets/scaffolds.css.scss +0 -69
- data/dummy/app/controllers/posts_controller.rb +0 -86
- data/dummy/app/helpers/posts_helper.rb +0 -2
- data/dummy/app/models/post.rb +0 -3
- data/dummy/app/views/posts/_form.html.erb +0 -21
- data/dummy/app/views/posts/edit.html.erb +0 -6
- data/dummy/app/views/posts/index.html.erb +0 -23
- data/dummy/app/views/posts/new.html.erb +0 -5
- data/dummy/app/views/posts/show.html.erb +0 -10
- data/dummy/db/migrate/20120926012555_create_posts.rb +0 -9
- data/dummy/db/migrate/20121002192037_update_users_2.rb +0 -70
- data/dummy/db/migrate/20121108192739_add_column_to_posts.rb +0 -5
- data/dummy/db/migrate/20121218205329_change_created_column.rb +0 -5
- data/dummy/script/rails +0 -6
- data/dummy/test/fixtures/posts.yml +0 -7
- data/dummy/test/fixtures/users.yml +0 -3
- data/dummy/test/functional/posts_controller_test.rb +0 -51
- data/dummy/test/performance/browsing_test.rb +0 -12
- data/dummy/test/unit/helpers/posts_helper_test.rb +0 -4
- data/dummy/test/unit/post_test.rb +0 -7
- data/dummy/test/unit/user_test.rb +0 -77
- data/lib/omniauth/strategies/dailycred.rb +0 -81
- data/spec/omniauth/strategies/dailycred_spec.rb +0 -70
- /data/dummy/app/{mailers/.gitkeep → controllers/concerns/.keep} +0 -0
- /data/dummy/app/{models/.gitkeep → mailers/.keep} +0 -0
- /data/dummy/{lib/assets/.gitkeep → app/models/.keep} +0 -0
- /data/dummy/{lib/tasks/.gitkeep → app/models/concerns/.keep} +0 -0
- /data/dummy/{log/.gitkeep → lib/assets/.keep} +0 -0
- /data/dummy/{test/fixtures/.gitkeep → lib/tasks/.keep} +0 -0
- /data/dummy/{test/functional/.gitkeep → log/.keep} +0 -0
- /data/dummy/test/{integration/.gitkeep → controllers/.keep} +0 -0
- /data/dummy/test/{unit/.gitkeep → fixtures/.keep} +0 -0
- /data/dummy/{vendor/assets/javascripts/.gitkeep → test/helpers/.keep} +0 -0
- /data/dummy/{vendor/assets/stylesheets/.gitkeep → test/integration/.keep} +0 -0
- /data/dummy/{vendor/plugins/.gitkeep → test/mailers/.keep} +0 -0
@@ -1,77 +0,0 @@
|
|
1
|
-
require_relative '../test_helper.rb'
|
2
|
-
class UserTest < ActiveSupport::TestCase
|
3
|
-
setup do
|
4
|
-
@user = users(:basic)
|
5
|
-
end
|
6
|
-
test 'tagging a user' do
|
7
|
-
@user.tag 'awesome'
|
8
|
-
assert_tag 'awesome'
|
9
|
-
end
|
10
|
-
test 'untagging a user' do
|
11
|
-
t = 'bad'
|
12
|
-
@user.tag t
|
13
|
-
assert_tag t
|
14
|
-
@user.untag t
|
15
|
-
assert_not_tag t
|
16
|
-
end
|
17
|
-
|
18
|
-
test 'resetting a password' do
|
19
|
-
assert_true json_response(@user.reset_password)['worked']
|
20
|
-
end
|
21
|
-
|
22
|
-
test 'updating from dailycred' do
|
23
|
-
dc = {
|
24
|
-
email: 'hank@2.com',
|
25
|
-
tags: ['hello','awesome'],
|
26
|
-
referred: ['danny', 'betty'],
|
27
|
-
username: 'hstove',
|
28
|
-
created: 111222333,
|
29
|
-
verified: false,
|
30
|
-
admin: false,
|
31
|
-
referred_by: 'marky',
|
32
|
-
referred: ['chris', 'mike'],
|
33
|
-
facebook: {
|
34
|
-
id: 100203,
|
35
|
-
email: 'hank@facebook.com'
|
36
|
-
},
|
37
|
-
provider: 'dailycred',
|
38
|
-
token: 'ha243k',
|
39
|
-
twitter: {
|
40
|
-
screen_name: 'heynky'
|
41
|
-
},
|
42
|
-
google: {
|
43
|
-
email: 'hstove@gg.com'
|
44
|
-
},
|
45
|
-
github: {
|
46
|
-
repos: ['123','ruby on rails']
|
47
|
-
},
|
48
|
-
subscribed: false,
|
49
|
-
display: 'hanky'
|
50
|
-
}
|
51
|
-
@user.update_from_dailycred dc
|
52
|
-
dc.each do |k,v|
|
53
|
-
assert_equal v, @user[k], "user should have value of |#{v}| for |#{k}| but was |#{@user[k].to_s}|"
|
54
|
-
end
|
55
|
-
end
|
56
|
-
|
57
|
-
test 'firing an event' do
|
58
|
-
assert_true json_response(@user.fire_event 'got tested')['worked']
|
59
|
-
end
|
60
|
-
|
61
|
-
test 'making a referral link' do
|
62
|
-
id = @user.uid
|
63
|
-
assert_equal @user.referral_link('http://me.com'), "https://www.dailycred.com/r/#{id}?redirect_uri=http://me.com"
|
64
|
-
end
|
65
|
-
|
66
|
-
def json_response response
|
67
|
-
JSON.parse response.body
|
68
|
-
end
|
69
|
-
|
70
|
-
|
71
|
-
def assert_tag tag
|
72
|
-
assert_true @user.tags.include?(tag), "user should have tag: #{tag} but has tags: #{@user.tags}"
|
73
|
-
end
|
74
|
-
def assert_not_tag tag
|
75
|
-
assert_false @user.tags.include?(tag), "user should not have tag: #{tag} but has tags: #{@user.tags}"
|
76
|
-
end
|
77
|
-
end
|
@@ -1,81 +0,0 @@
|
|
1
|
-
require 'omniauth-oauth2'
|
2
|
-
require 'faraday'
|
3
|
-
require 'net/https'
|
4
|
-
require 'json'
|
5
|
-
require 'pp'
|
6
|
-
|
7
|
-
# #The Dailycred Omniauth Strategy
|
8
|
-
module OmniAuth
|
9
|
-
module Strategies
|
10
|
-
class Dailycred < OmniAuth::Strategies::OAuth2
|
11
|
-
|
12
|
-
# default options
|
13
|
-
option :client_options, {
|
14
|
-
:site => "https://www.dailycred.com",
|
15
|
-
:authorize_url => '/connect',
|
16
|
-
:token_url => '/oauth/access_token'
|
17
|
-
}
|
18
|
-
|
19
|
-
# allows parameters to be passed through
|
20
|
-
AUTH_PARAMS = ["action","identity_provider","referrer", "access_token"]
|
21
|
-
|
22
|
-
option :authorize_options, OmniAuth::Strategies::Dailycred::AUTH_PARAMS
|
23
|
-
|
24
|
-
uid { user['uid'] }
|
25
|
-
|
26
|
-
info do
|
27
|
-
user
|
28
|
-
end
|
29
|
-
|
30
|
-
alias :old_request_phase :request_phase
|
31
|
-
|
32
|
-
|
33
|
-
def authorize_params
|
34
|
-
super.tap do |params|
|
35
|
-
params[:state] ||= {}
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
# this step allows auth_params to be added to the url
|
40
|
-
def request_phase
|
41
|
-
p session['omniauth.state']
|
42
|
-
OmniAuth::Strategies::Dailycred::AUTH_PARAMS.each do |param|
|
43
|
-
val = session['omniauth.params'][param]
|
44
|
-
if val && !val.empty?
|
45
|
-
options[:authorize_params] ||= {}
|
46
|
-
options[:authorize_params].merge!(param => val)
|
47
|
-
end
|
48
|
-
end
|
49
|
-
old_request_phase
|
50
|
-
end
|
51
|
-
|
52
|
-
private
|
53
|
-
|
54
|
-
# This is the phase where the gem calls me.json, which returns information about the user
|
55
|
-
def user
|
56
|
-
return @duser if !@duser.nil?
|
57
|
-
connection = Faraday::Connection.new options.client_options[:site], :ssl => options.client_options[:ssl]
|
58
|
-
response = connection.get("/graph/me.json?access_token=#{access_token.token}")
|
59
|
-
json = JSON.parse(response.body)
|
60
|
-
pp json if options[:verbose]
|
61
|
-
@duser = {'token' => access_token.token}
|
62
|
-
@duser['provider'] = 'dailycred'
|
63
|
-
@duser['uid'] = json['id'] || json['user_id']
|
64
|
-
json.each do |k,v|
|
65
|
-
@duser[k] = v
|
66
|
-
end
|
67
|
-
json["identities"].each do |k, v|
|
68
|
-
@duser[k] = v
|
69
|
-
@duser[k][:access_token] = json["access_tokens"][k]
|
70
|
-
end if !json["identities"].nil?
|
71
|
-
pp @duser if options[:verbose]
|
72
|
-
created = json['created'] / 1000
|
73
|
-
@duser['created'] = DateTime.strptime(created.to_s, '%s')
|
74
|
-
@duser.delete("id")
|
75
|
-
|
76
|
-
@duser
|
77
|
-
end
|
78
|
-
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1,70 +0,0 @@
|
|
1
|
-
require_relative '../../helper_spec.rb'
|
2
|
-
require 'omniauth'
|
3
|
-
require 'dailycred'
|
4
|
-
describe OmniAuth::Strategies::Dailycred do
|
5
|
-
subject do
|
6
|
-
OmniAuth::Strategies::Dailycred.new(nil, @options || {})
|
7
|
-
end
|
8
|
-
|
9
|
-
OmniAuth.config.test_mode = true
|
10
|
-
OmniAuth.config.add_mock(:dailycred, {:id => '12345',
|
11
|
-
:email => 'Test@test.com',
|
12
|
-
:username => 'test',
|
13
|
-
:created => 45678,
|
14
|
-
:verified => false,
|
15
|
-
:admin => true,
|
16
|
-
:referred_by => 'dave' })
|
17
|
-
|
18
|
-
it_should_behave_like 'an oauth2 strategy'
|
19
|
-
|
20
|
-
context "general" do
|
21
|
-
it "should be called dailycred" do
|
22
|
-
subject.options.name.should eq('dailycred')
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
|
27
|
-
describe '#client' do
|
28
|
-
it 'should have the correct dailycred site' do
|
29
|
-
subject.client.site.should eq("https://www.dailycred.com")
|
30
|
-
end
|
31
|
-
it 'should have the correct authorization url' do
|
32
|
-
subject.client.options[:authorize_url].should eq("/connect")
|
33
|
-
end
|
34
|
-
|
35
|
-
it 'should have the correct token url' do
|
36
|
-
subject.client.options[:token_url].should eq('/oauth/access_token')
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
# describe 'getting info' do
|
41
|
-
# before do
|
42
|
-
# @access_token = double("token" => 'test_token')
|
43
|
-
# @dailycred_user = double( :id => '12345',
|
44
|
-
# :email => 'test@test.com',
|
45
|
-
# :username => 'test',
|
46
|
-
# :id => 45678,
|
47
|
-
# :verified => false,
|
48
|
-
# :admin => true,
|
49
|
-
# :referred_by => 'dave' )
|
50
|
-
|
51
|
-
# subject.stub(:access_token) { @access_token }
|
52
|
-
|
53
|
-
# @dailycred_user.should_receive(:fetch).and_return(@dailycred_user)
|
54
|
-
# end
|
55
|
-
|
56
|
-
# it 'should set the correct info based on user' do
|
57
|
-
# subject.info.should == {:id => '12345',
|
58
|
-
# :email => 'test@test.com',
|
59
|
-
# :username => 'test',
|
60
|
-
# :created => 45678,
|
61
|
-
# :verified => false,
|
62
|
-
# :admin => true,
|
63
|
-
# :referred_by => 'dave' }
|
64
|
-
# end
|
65
|
-
|
66
|
-
# it 'set the correct uid based on user' do
|
67
|
-
# subject.id.should == '12345'
|
68
|
-
# end
|
69
|
-
# end
|
70
|
-
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|