Module: Sorcery::TestHelpers::Sinatra
- Defined in:
- lib/sorcery/test_helpers/sinatra.rb
Defined Under Namespace
Classes: MyApp, SessionData
Instance Method Summary
collapse
Instance Method Details
#assigns ⇒ Object
55
56
57
|
# File 'lib/sorcery/test_helpers/sinatra.rb', line 55
def assigns
::Sinatra::Application.sorcery_vars
end
|
#clear_user_without_logout ⇒ Object
51
52
53
|
# File 'lib/sorcery/test_helpers/sinatra.rb', line 51
def clear_user_without_logout
get_sinatra_app(subject).instance_variable_set(:@current_user,nil)
end
|
#cookies ⇒ Object
88
89
90
|
# File 'lib/sorcery/test_helpers/sinatra.rb', line 88
def cookies
rack_test_session.instance_variable_get(:@rack_mock_session).cookie_jar
end
|
#get_sinatra_app(app) ⇒ Object
34
35
36
37
38
39
|
# File 'lib/sorcery/test_helpers/sinatra.rb', line 34
def get_sinatra_app(app)
while app.class != ::Sinatra::Application do
app = app.instance_variable_get(:@app)
end
app
end
|
#login_user(user = nil) ⇒ Object
41
42
43
44
45
|
# File 'lib/sorcery/test_helpers/sinatra.rb', line 41
def login_user(user=nil)
user ||= @user
get_sinatra_app(subject).send(:login_user,user)
get_sinatra_app(subject).send(:after_login!,user,[user.username,'secret'])
end
|
#logout_user ⇒ Object
47
48
49
|
# File 'lib/sorcery/test_helpers/sinatra.rb', line 47
def logout_user
get_sinatra_app(subject).send(:logout)
end
|
#session ⇒ Object
84
85
86
|
# File 'lib/sorcery/test_helpers/sinatra.rb', line 84
def session
SessionData.new(rack_test_session.instance_variable_get(:@rack_mock_session).cookie_jar)
end
|
#sorcery_controller_oauth_property_set(provider, property, value) ⇒ Object
124
125
126
127
128
|
# File 'lib/sorcery/test_helpers/sinatra.rb', line 124
def sorcery_controller_oauth_property_set(provider, property, value)
::Sinatra::Application.activate_sorcery! do |config|
config.send(provider).send(:"#{property}=", value)
end
end
|
#sorcery_controller_property_set(property, value) ⇒ Object
118
119
120
121
122
|
# File 'lib/sorcery/test_helpers/sinatra.rb', line 118
def sorcery_controller_property_set(property, value)
::Sinatra::Application.activate_sorcery! do |config|
config.send(:"#{property}=", value)
end
end
|
#sorcery_reload!(submodules = [], options = {}) ⇒ Object
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
# File 'lib/sorcery/test_helpers/sinatra.rb', line 92
def sorcery_reload!(submodules = [], options = {})
reload_user_class
::Sorcery::Controller::Config.init!
::Sorcery::Controller::Config.reset!
::Sinatra::Application.instance_variable_set(:@filters,{:before => [],:after => []})
::Sinatra::Application.class_eval do
load File.join(File.dirname(__FILE__),'..','..','..','spec','sinatra','filters.rb')
end
::Sorcery::Controller::Config.submodules = submodules
::Sorcery::Controller::Config.user_class = nil
::Sinatra::Application.send(:include, Sorcery::Controller::Adapters::Sinatra)
::Sinatra::Application.send(:include, Sorcery::Controller)
User.activate_sorcery! do |config|
options.each do |property,value|
config.send(:"#{property}=", value)
end
end
end
|