Module: Devise

Defined in:
lib/devise_yauth_token.rb,
lib/devise_yauth_token/model.rb,
lib/devise_yauth_token/rails.rb,
lib/devise_yauth_token/engine.rb,
app/controllers/devise/yauth_sessions_controller.rb,
app/controllers/devise/yauth_settings_controller.rb

Defined Under Namespace

Modules: Models, YauthToken Classes: Engine, YauthSessionsController, YauthSettingsController

Class Method Summary collapse

Class Method Details

.current_account(request_host) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/devise_yauth_token.rb', line 16

def self.(request_host)
  return Account.where(:code => 'current').first if Rails.env == 'test'

   = AccountHost.find_by_host(request_host)
   ||= . if !.blank?
  return  if !.blank?
  url = ::YAUTH_CONFIG["auth_url"]+"/api/auth/account_by_host/?auth_host=#{request_host}"
  result = RestClient.get(url) {|response, request, result| result }
  result = JSON.parse(result.body) rescue {}
  if result['status'] == 200
    code = result['data']['account']['code']
     = Account.find_by_code(code) if !code.blank?
    if 
       = ..build({:host => request_host})
      .save(:validate => false)
    else
       = Account.new
      .yauth_host = result['data']['account']['host']
      .code = result['data']['account']['code']
      .name = result['data']['account']['name']
      . = result['data']['account']['id']
      ..build({:host => request_host})
      .save(:validate => false)
		 = 
    end
  end
  
end