Module: Edoc2

Defined in:
lib/edoc2-api.rb,
lib/edoc2-api/user.rb,
lib/edoc2-api/version.rb

Defined Under Namespace

Classes: Edoc2API_Error

Constant Summary collapse

VERSION =
'0.0.1'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.base_urlObject

Returns the value of attribute base_url.



16
17
18
# File 'lib/edoc2-api.rb', line 16

def base_url
  @base_url
end

.integrationKeyObject

Returns the value of attribute integrationKey.



14
15
16
# File 'lib/edoc2-api.rb', line 14

def integrationKey
  @integrationKey
end

.ipAddressObject

Returns the value of attribute ipAddress.



13
14
15
# File 'lib/edoc2-api.rb', line 13

def ipAddress
  @ipAddress
end

.loginNameObject

Returns the value of attribute loginName.



12
13
14
# File 'lib/edoc2-api.rb', line 12

def loginName
  @loginName
end

Class Method Details

.create_user(users_hash, islink: 1, is_send_notice: 0) ⇒ Object



4
5
6
7
# File 'lib/edoc2-api/user.rb', line 4

def self.create_user(users_hash, islink: 1, is_send_notice: 0)
  request 'v1/udp/sy/sv/use', islink: islink, isSendNotice: is_send_notice,
                              datas: users_hash.collect { |h| h.merge(isEmailValidated: 1, isMobileValidated: 1) }
end

.request(resource, options = {}) ⇒ HTTP::Response

Make an HTTP request with the given verb to Edoc2 API server

Parameters:

  • resource (String)
  • options (Hash) (defaults to: {})

    a customizable set of options

Options Hash (options):

  • (Hash)

Returns:

  • (HTTP::Response)


23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/edoc2-api.rb', line 23

def self.request(resource, options = {})
  @http ||= HTTP.persistent @base_url

  json_params = with_signature(options)

  res = @http.post("#{base_url}/#{resource}", json: json_params)

  case res.code
  when 40101
    raise Edoc2API_Error, '授权码签名无效!'
  end

  res
end

.with_signature(options = {}) ⇒ Object



40
41
42
43
44
45
46
# File 'lib/edoc2-api.rb', line 40

def self.with_signature(options = {})
  {
    loginName: loginName,
    ipAddress: ipAddress,
    integrationKey: integrationKey
  }.merge options
end