Class: ToNetMeApi::Client

Inherits:
Object
  • Object
show all
Includes:
Resolver
Defined in:
lib/to_net_me_api/client.rb

Overview

Класс, представляющий соединение с api.2net.me.

Constant Summary collapse

SCOPE =

Права доступа и их числовые значения.

{
  root:                 0,
  admin:                1,
  partner:              2,
  user:   		          3,
  unknown_auth_key:     4, 

}

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Resolver

#resolver

Constructor Details

#initialize(auth_key = nil) ⇒ Client

API client. определяем переменные



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/to_net_me_api/client.rb', line 28

def initialize(auth_key = nil)
  if auth_key.respond_to?(:auth_key) && auth_key.respond_to?(:params)
    # auth_key is an OAuth2::Accessauth_key
    @auth_key    = auth_key.auth_key
    @user_id     = auth_key.params['user_id']
    @expires_at  = Time.at(auth_key.expires_at) unless auth_key.expires_at.nil?
  else
    # если auth_key нет или пришла строка (string)
    @auth_key = auth_key
  end
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(*args, &block) ⇒ Object

Если вызываемы метод содержется в namespace, создается новый ‘VkontakteApi::Namespace` инстанс. `VkontakteApi::Namespace` так же вызывает method_missing для метода объекта Namespace если нет namspace `VkontakteApi::Method` создаеся объект API в который передаются параметры.



71
72
73
74
75
76
77
# File 'lib/to_net_me_api/client.rb', line 71

def method_missing(*args, &block)
  if Namespace.exists?(args.first)
    create_namespace(args.first)
  else
    call_method(args, &block)
  end
end

Instance Attribute Details

#auth_keyString (readonly)

ключ доступа к методам api

Returns:

  • (String)


18
19
20
# File 'lib/to_net_me_api/client.rb', line 18

def auth_key
  @auth_key
end

#expires_atTime (readonly)

время жизни auth_key

Returns:

  • (Time)


24
25
26
# File 'lib/to_net_me_api/client.rb', line 24

def expires_at
  @expires_at
end

#user_idInteger (readonly)

Current user id.

Returns:

  • (Integer)


21
22
23
# File 'lib/to_net_me_api/client.rb', line 21

def user_id
  @user_id
end

Instance Method Details

#authorized?Boolean

Авторизирован пользователь.

Returns:

  • (Boolean)


41
42
43
# File 'lib/to_net_me_api/client.rb', line 41

def authorized?
  !@auth_key.nil?
end

#expired?Boolean

Просрочет ключь или нет.

Returns:

  • (Boolean)


55
56
57
# File 'lib/to_net_me_api/client.rb', line 55

def expired?
  @expires_at && @expires_at < Time.now
end

#http_pathObject

текущий адрес api



50
51
52
# File 'lib/to_net_me_api/client.rb', line 50

def http_path
  ToNetMeApi.api_core
end

#http_verbObject

текущий http глагол



45
46
47
# File 'lib/to_net_me_api/client.rb', line 45

def http_verb
  ToNetMeApi.http_verb
end

#scopeObject

Права доступа для auth_key.

Returns:

  • Symbol



62
63
64
65
66
# File 'lib/to_net_me_api/client.rb', line 62

def scope
  SCOPE.reject do |access_scope, mask|	
    SCOPE.invert[settings]
  end
end