oksky-chat-api 0.2.3 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 1d09d771c9bb88562002a3704303926392bce495
4
- data.tar.gz: 2b0da590357b81261c79e27985ada49ead18733a
2
+ SHA256:
3
+ metadata.gz: 0fed7c515be62b92019512fee56b6abe229840a83baff959fefd855768a8c8fc
4
+ data.tar.gz: 7151e84260f59d8a37d5977fe5b2d2fa5d184f9e14eeb1b5c0e09efa05001a1a
5
5
  SHA512:
6
- metadata.gz: 95fba99e57266cf8f224b9444c209f9eee23434600d9818172d7b5d60769536c38176df579fdb36746dafba1421287ef17baafdcb72cedb9b8982c0c01b86109
7
- data.tar.gz: '078733a4506cb901d7b87540fceb8935e77f496c096ce42105c5fd141caf2fff917f8747c47758fad4db1442bb62600296657a02e35924c4a2ddbcbdd2c3d392'
6
+ metadata.gz: 6e7d9d40e208e84a63bd1d69f3dbeb5b2c65bea3c4597f2df7e5a6837cd88eaadb3256afc41bd0a94d7848fd71ceb5e1188ca711c04c1b6f9a24da98dc68d5df
7
+ data.tar.gz: 0075e3af1695d7dca4aa4a0b797e4bd56bc0d8534a36a0de539135fc60c1d377eba12904654a3d4689934802af5533b266b103ce44784ca7c666652a733273c3
@@ -1,7 +1,7 @@
1
1
  module Oksky
2
2
  module Chat
3
3
  module API
4
- VERSION = "0.2.3"
4
+ VERSION = "0.2.8"
5
5
  end
6
6
  end
7
7
  end
@@ -32,6 +32,16 @@ module Oksky
32
32
  http(uri).post(uri.request_uri, payload, header)
33
33
  end
34
34
 
35
+ def put(url, payload, header = {})
36
+ uri = URI(url)
37
+ http(uri).put(uri.request_uri, payload, header)
38
+ end
39
+
40
+ def patch(url, payload, header = {})
41
+ uri = URI(url)
42
+ http(uri).patch(uri.request_uri, payload, header)
43
+ end
44
+
35
45
  end
36
46
  end
37
47
  end
@@ -4,4 +4,15 @@ require 'oksky/chat/object/rooms_resource'
4
4
  require 'oksky/chat/object/supports_resource'
5
5
  require 'oksky/chat/object/unsupport_resource'
6
6
  require 'oksky/chat/object/provider_rooms_resource'
7
- require 'oksky/chat/object/clients_resource'
7
+ require 'oksky/chat/object/clients_resource'
8
+ require 'oksky/chat/object/users_resource'
9
+ require 'oksky/chat/object/administrators_resource'
10
+ require 'oksky/chat/object/operators_resource'
11
+ require 'oksky/chat/object/supervisors_resource'
12
+ require 'oksky/chat/object/customers_resource'
13
+ require 'oksky/chat/object/master_keywords_resource'
14
+ require 'oksky/chat/object/user_infos_resource'
15
+ require 'oksky/chat/object/tracker_entries_resource'
16
+ require 'oksky/chat/object/support_draft_messages_resource'
17
+ require 'oksky/chat/object/suggestions_resource'
18
+ require 'oksky/chat/object/user_events_resource'
@@ -0,0 +1,47 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class AdministratorsResource < UsersResource
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ # @return [Array]
11
+ def present_rooms
12
+ relationships.dig("present_rooms", "data")
13
+ end
14
+
15
+ # @return [Array]
16
+ def support_rooms
17
+ relationships.dig("support_rooms", "data")
18
+ end
19
+
20
+ # @return [Array]
21
+ def members
22
+ relationships.dig("members", "data")
23
+ end
24
+
25
+ # @return [Array]
26
+ def supports
27
+ relationships.dig("supports", "data")
28
+ end
29
+
30
+ # @return [Array]
31
+ def rooms
32
+ relationships.dig("rooms", "data")
33
+ end
34
+
35
+ # @return [Array]
36
+ def starred_rooms
37
+ relationships.dig("starred_rooms", "data")
38
+ end
39
+
40
+ # @return [Array]
41
+ def starred_customers
42
+ relationships.dig("starred_customers", "data")
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -3,6 +3,10 @@ module Oksky
3
3
  module Object
4
4
  class ClientsResource < Base
5
5
 
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
6
10
  def injectable_code
7
11
  content_value("injectable_code")
8
12
  end
@@ -0,0 +1,67 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class CustomersResource < UsersResource
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ # @return [Array]
11
+ def present_rooms
12
+ relationships.dig("present_rooms", "data")
13
+ end
14
+
15
+ # @return [Array]
16
+ def support_rooms
17
+ relationships.dig("support_rooms", "data")
18
+ end
19
+
20
+ # @return [Array]
21
+ def members
22
+ relationships.dig("members", "data")
23
+ end
24
+
25
+ # @return [Array]
26
+ def supports
27
+ relationships.dig("supports", "data")
28
+ end
29
+
30
+ # @return [Array]
31
+ def rooms
32
+ relationships.dig("rooms", "data")
33
+ end
34
+
35
+ # @return [Array]
36
+ def starred_rooms
37
+ relationships.dig("starred_rooms", "data")
38
+ end
39
+
40
+ # @return [Array]
41
+ def starred_customers
42
+ relationships.dig("starred_customers", "data")
43
+ end
44
+
45
+ # @return [Array]
46
+ def user_supported
47
+ relationships.dig("user_supported", "data")
48
+ end
49
+
50
+ # @return [Array]
51
+ def memos
52
+ relationships.dig("memos", "data")
53
+ end
54
+
55
+ # @return [Array]
56
+ def user_events
57
+ relationships.dig("user_events", "data")
58
+ end
59
+
60
+ # @return [Array]
61
+ def user_infos
62
+ relationships.dig("user_infos", "data")
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,63 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class MasterKeywordsResource < Base
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ def master_keyword
11
+ if @src.has_key?('attributes')
12
+ @src['attributes']
13
+ else
14
+ @src
15
+ end
16
+ end
17
+
18
+ def key_name
19
+ content_value.dig("key_name")
20
+ end
21
+
22
+ def key_title
23
+ content_value.dig("key_title")
24
+ end
25
+
26
+ # @return [Array]
27
+ def suggestions
28
+ content_value.dig("suggestions")
29
+ end
30
+
31
+ def relationships
32
+ if exist_relationships?
33
+ return @src['relationships']
34
+ else
35
+ {}
36
+ end
37
+ end
38
+
39
+ # @return [Array]
40
+ def user_infos
41
+ relationships.dig("user_infos", "data")
42
+ end
43
+
44
+ private
45
+ def exist_attributes?
46
+ !@src.empty? && @src.has_key?('attributes') && !@src['attributes'].empty?
47
+ end
48
+
49
+ def exist_relationships?
50
+ !@src.empty? && @src.has_key?('relationships') && !@src['relationships'].empty?
51
+ end
52
+
53
+ def content_value(key)
54
+ if exist_attributes? && @src['attributes'].has_key?("#{key}") && !@src['attributes']["#{key}"].empty?
55
+ return @src['attributes']["#{key}"]
56
+ elsif @src.has_key?("#{key}") && !@src["#{key}"].empty?
57
+ return @src["#{key}"]
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,66 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class MemosResource < Base
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ def resource_id
11
+ content_value("resource_id")
12
+ end
13
+
14
+ def resource_type
15
+ content_value("resource_type")
16
+ end
17
+
18
+ def user_id
19
+ content_value("user_id")
20
+ end
21
+
22
+ def text
23
+ content_value("text")
24
+ end
25
+
26
+ def created_at_unix
27
+ content_value("created_at_unix")
28
+ end
29
+
30
+ def memo
31
+ if @src.has_key?('attributes')
32
+ @src['attributes']
33
+ else
34
+ @src
35
+ end
36
+ end
37
+
38
+ def relationships
39
+ if exist_relationships?
40
+ return @src['relationships']
41
+ else
42
+ {}
43
+ end
44
+ end
45
+
46
+ private
47
+ def exist_attributes?
48
+ !@src.empty? && @src.has_key?('attributes') && !@src['attributes'].empty?
49
+ end
50
+
51
+ def exist_relationships?
52
+ !@src.empty? && @src.has_key?('relationships') && !@src['relationships'].empty?
53
+ end
54
+
55
+ def content_value(key)
56
+ if exist_attributes? && @src['attributes'].has_key?("#{key}") && !@src['attributes']["#{key}"].empty?
57
+ return @src['attributes']["#{key}"]
58
+ elsif @src.has_key?("#{key}") && !@src["#{key}"].empty?
59
+ return @src["#{key}"]
60
+ end
61
+ end
62
+
63
+ end
64
+ end
65
+ end
66
+ end
@@ -22,6 +22,10 @@ module Oksky
22
22
 
23
23
  class MessagesResource < Base
24
24
 
25
+ def id
26
+ @src.dig("id")
27
+ end
28
+
25
29
  # @return [String<Oksky::Chat::Event::Message>]
26
30
  def content
27
31
  content_value('content')
@@ -105,11 +109,11 @@ module Oksky
105
109
  end
106
110
 
107
111
  def room_id
108
- if exist_relationships? && @src['relationships'].has_key?("room") && !@src['relationships']["room"].empty? && @src['relationships']["room"].has_key?("data") && !@src['relationships']["room"]["data"].empty? && @src['relationships']["room"]["data"].has_key?("id") && !@src['relationships']["room"]["data"]["id"].empty?
109
- return @src['relationships']["room"]["data"]["id"]
110
- else
111
- return nil
112
- end
112
+ @src.dig("relationships", "room", "data", "id")
113
+ end
114
+
115
+ def user_id
116
+ @src.dig("relationships", "user", "data", "id")
113
117
  end
114
118
 
115
119
  def relationships
@@ -0,0 +1,52 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class OperatorsResource < UsersResource
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ # @return [Array]
11
+ def present_rooms
12
+ relationships.dig("present_rooms", "data")
13
+ end
14
+
15
+ # @return [Array]
16
+ def support_rooms
17
+ relationships.dig("support_rooms", "data")
18
+ end
19
+
20
+ # @return [Array]
21
+ def members
22
+ relationships.dig("members", "data")
23
+ end
24
+
25
+ # @return [Array]
26
+ def supports
27
+ relationships.dig("supports", "data")
28
+ end
29
+
30
+ # @return [Array]
31
+ def rooms
32
+ relationships.dig("rooms", "data")
33
+ end
34
+
35
+ # @return [Array]
36
+ def starred_rooms
37
+ relationships.dig("starred_rooms", "data")
38
+ end
39
+
40
+ # @return [Array]
41
+ def starred_customers
42
+ relationships.dig("starred_customers", "data")
43
+ end
44
+
45
+ # @return [Array]
46
+ def reassign_requests
47
+ relationships.dig("reassign_requests", "data")
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -11,6 +11,10 @@ module Oksky
11
11
 
12
12
  class RoomsResource < Base
13
13
 
14
+ def id
15
+ @src.dig("id")
16
+ end
17
+
14
18
  # @return [String<Oksky::Chat::Event::Room>]
15
19
  def name
16
20
  content_value('name')
@@ -84,35 +88,19 @@ module Oksky
84
88
  end
85
89
 
86
90
  def support_group_id
87
- if exist_relationships? && @src['relationships'].has_key?("support_group") && !@src['relationships']["support_group"].empty? && @src['relationships']["support_group"].has_key?("data") && !@src['relationships']["support_group"]["data"].empty? && @src['relationships']["support_group"]["data"].has_key?("id") && !@src['relationships']["support_group"]["data"]["id"].empty?
88
- return @src['relationships']["relationships"]["data"]["id"]
89
- else
90
- return nil
91
- end
91
+ @src.dig("relationships", "relationships", "data", "id")
92
92
  end
93
93
 
94
94
  def create_user_id
95
- if exist_relationships? && @src['relationships'].has_key?("create_user") && !@src['relationships']["create_user"].empty? && @src['relationships']["create_user"].has_key?("data") && !@src['relationships']["create_user"]["data"].empty? && @src['relationships']["create_user"]["data"].has_key?("id") && !@src['relationships']["create_user"]["data"]["id"].empty?
96
- return @src['relationships']["create_user"]["data"]["id"]
97
- else
98
- return nil
99
- end
95
+ @src.dig("relationships", "create_user", "data", "id")
100
96
  end
101
97
 
102
98
  def client_id
103
- if exist_relationships? && @src['relationships'].has_key?("client") && !@src['relationships']["client"].empty? && @src['relationships']["client"].has_key?("data") && !@src['relationships']["client"]["data"].empty? && @src['relationships']["client"]["data"].has_key?("id") && !@src['relationships']["client"]["data"]["id"].empty?
104
- return @src['relationships']["client"]["data"]["id"]
105
- else
106
- return nil
107
- end
99
+ @src.dig("relationships", "client", "data", "id")
108
100
  end
109
101
 
110
102
  def helped_room_id
111
- if exist_relationships? && @src['relationships'].has_key?("helped_room") && !@src['relationships']["helped_room"].empty? && @src['relationships']["helped_room"].has_key?("data") && !@src['relationships']["helped_room"]["data"].empty? && @src['relationships']["helped_room"]["data"].has_key?("id") && !@src['relationships']["helped_room"]["data"]["id"].empty?
112
- return @src['relationships']["helped_room"]["data"]["id"]
113
- else
114
- return nil
115
- end
103
+ @src.dig("relationships", "helped_room", "data", "id")
116
104
  end
117
105
 
118
106
  def relationships
@@ -0,0 +1,55 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class SuggestionsResource < Base
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ # @return [Array]
11
+ def suggestion_messages_data
12
+ content_value("suggestion_messages_data")
13
+ end
14
+
15
+ def suggestion
16
+ if @src.has_key?('attributes')
17
+ @src['attributes']
18
+ else
19
+ @src
20
+ end
21
+ end
22
+
23
+ def relationships
24
+ if exist_relationships?
25
+ return @src['relationships']
26
+ else
27
+ {}
28
+ end
29
+ end
30
+
31
+ def room_id
32
+ relationships.dig("room", "id")
33
+ end
34
+
35
+ private
36
+ def exist_attributes?
37
+ !@src.empty? && @src.has_key?('attributes') && !@src['attributes'].empty?
38
+ end
39
+
40
+ def exist_relationships?
41
+ !@src.empty? && @src.has_key?('relationships') && !@src['relationships'].empty?
42
+ end
43
+
44
+ def content_value(key)
45
+ if exist_attributes? && @src['attributes'].has_key?("#{key}") && !@src['attributes']["#{key}"].empty?
46
+ return @src['attributes']["#{key}"]
47
+ elsif @src.has_key?("#{key}") && !@src["#{key}"].empty?
48
+ return @src["#{key}"]
49
+ end
50
+ end
51
+
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,47 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class SupervisorsResource < UsersResource
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ # @return [Array]
11
+ def present_rooms
12
+ relationships.dig("present_rooms", "data")
13
+ end
14
+
15
+ # @return [Array]
16
+ def support_rooms
17
+ relationships.dig("support_rooms", "data")
18
+ end
19
+
20
+ # @return [Array]
21
+ def members
22
+ relationships.dig("members", "data")
23
+ end
24
+
25
+ # @return [Array]
26
+ def supports
27
+ relationships.dig("supports", "data")
28
+ end
29
+
30
+ # @return [Array]
31
+ def rooms
32
+ relationships.dig("rooms", "data")
33
+ end
34
+
35
+ # @return [Array]
36
+ def starred_rooms
37
+ relationships.dig("starred_rooms", "data")
38
+ end
39
+
40
+ # @return [Array]
41
+ def starred_customers
42
+ relationships.dig("starred_customers", "data")
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,101 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class SupportDraftMessageResource < Base
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ def message_content
11
+ content_value("message_content")
12
+ end
13
+
14
+ def kind
15
+ content_value("kind")
16
+ end
17
+
18
+ # @return [Hash]
19
+ def settings
20
+ content_value("settings")
21
+ end
22
+
23
+ # @return [String]
24
+ # in_review
25
+ def status
26
+ content_value("status")
27
+ end
28
+
29
+ def resolved_time_unix
30
+ content_value("resolved_time_unix")
31
+ end
32
+
33
+ def comment
34
+ content_value("comment")
35
+ end
36
+
37
+ def create_user_resolved_read_time_unix
38
+ content_value("create_user_resolved_read_time_unix")
39
+ end
40
+
41
+ def created_at_unix
42
+ content_value("created_at_unix")
43
+ end
44
+
45
+ def updated_at_unix
46
+ content_value("updated_at_unix")
47
+ end
48
+
49
+ def support_draft_message
50
+ if @src.has_key?('attributes')
51
+ @src['attributes']
52
+ else
53
+ @src
54
+ end
55
+ end
56
+
57
+ def relationships
58
+ if exist_relationships?
59
+ return @src['relationships']
60
+ else
61
+ {}
62
+ end
63
+ end
64
+
65
+ def support_id
66
+ relationships.dig("support", "data", "id")
67
+ end
68
+
69
+ def resolved_user_id
70
+ relationships.dig("resolved_user", "data", "id")
71
+ end
72
+
73
+ def created_user_id
74
+ relationships.dig("created_user", "data", "id")
75
+ end
76
+
77
+ def room_id
78
+ relationships.dig("room", "data", "id")
79
+ end
80
+
81
+ private
82
+ def exist_attributes?
83
+ !@src.empty? && @src.has_key?('attributes') && !@src['attributes'].empty?
84
+ end
85
+
86
+ def exist_relationships?
87
+ !@src.empty? && @src.has_key?('relationships') && !@src['relationships'].empty?
88
+ end
89
+
90
+ def content_value(key)
91
+ if exist_attributes? && @src['attributes'].has_key?("#{key}") && !@src['attributes']["#{key}"].empty?
92
+ return @src['attributes']["#{key}"]
93
+ elsif @src.has_key?("#{key}") && !@src["#{key}"].empty?
94
+ return @src["#{key}"]
95
+ end
96
+ end
97
+
98
+ end
99
+ end
100
+ end
101
+ end
@@ -3,6 +3,10 @@ module Oksky
3
3
  module Object
4
4
  class SupportsResource < Base
5
5
 
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
6
10
  # @return [String<Oksky::Chat::Event::Support>]
7
11
  def end_time_unix
8
12
  content_value('end_time_unix')
@@ -29,11 +33,36 @@ module Oksky
29
33
  end
30
34
  end
31
35
 
36
+ def user_id
37
+ relationships.dig("user", "data", "id")
38
+ end
39
+
40
+ def room_id
41
+ relationships.dig("room", "data", "id")
42
+ end
43
+
44
+ def latest_message_id
45
+ relationships.dig("latest_message", "data", "id")
46
+ end
47
+
48
+ def customer_id
49
+ relationships.dig("customer", "data", "id")
50
+ end
51
+
52
+ # @return [Array]
53
+ def members
54
+ relationships.dig("members", "data")
55
+ end
56
+
32
57
  private
33
58
  def exist_attributes?
34
59
  !@src.empty? && @src.has_key?('attributes') && !@src['attributes'].empty?
35
60
  end
36
61
 
62
+ def exist_relationships?
63
+ !@src.empty? && @src.has_key?('relationships') && !@src['relationships'].empty?
64
+ end
65
+
37
66
  def content_value(key)
38
67
  if exist_attributes? && @src['attributes'].has_key?("#{key}") && !@src['attributes']["#{key}"].empty?
39
68
  return @src['attributes']["#{key}"]
@@ -0,0 +1,92 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class TrackerEntriesResource < Base
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ # @return [String]
11
+ def time_unix
12
+ content_value("time_unix")
13
+ end
14
+
15
+ # @return [Hash]
16
+ # "payload":{
17
+ # "ua":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36",
18
+ # "p":"Win32",
19
+ # "r":"",
20
+ # "l":"https://www.google.co.jp/?gfe_rd=cr&dcr=0&ei=2Qq-WtP_MPDd8Aebq6b4Bg&gws_rd=ssl",
21
+ # "t":1522404097400,
22
+ # "tz":"Asia/Tokyo"
23
+ # }
24
+ def payload
25
+ content_value("payload")
26
+ end
27
+
28
+ def user_uuid
29
+ content_value("user_uuid")
30
+ end
31
+
32
+ def t
33
+ content_value("t")
34
+ end
35
+
36
+ def ua
37
+ content_value("ua")
38
+ end
39
+
40
+ def p
41
+ content_value("p")
42
+ end
43
+
44
+ def r
45
+ content_value("r")
46
+ end
47
+
48
+ def l
49
+ content_value("l")
50
+ end
51
+
52
+ def tz
53
+ content_value("tz")
54
+ end
55
+
56
+ def tracker_entry
57
+ if @src.has_key?('attributes')
58
+ @src['attributes']
59
+ else
60
+ @src
61
+ end
62
+ end
63
+
64
+ def relationships
65
+ if exist_relationships?
66
+ return @src['relationships']
67
+ else
68
+ {}
69
+ end
70
+ end
71
+
72
+ private
73
+ def exist_attributes?
74
+ !@src.empty? && @src.has_key?('attributes') && !@src['attributes'].empty?
75
+ end
76
+
77
+ def exist_relationships?
78
+ !@src.empty? && @src.has_key?('relationships') && !@src['relationships'].empty?
79
+ end
80
+
81
+ def content_value(key)
82
+ if exist_attributes? && @src['attributes'].has_key?("#{key}") && !@src['attributes']["#{key}"].empty?
83
+ return @src['attributes']["#{key}"]
84
+ elsif @src.has_key?("#{key}") && !@src["#{key}"].empty?
85
+ return @src["#{key}"]
86
+ end
87
+ end
88
+
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,66 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class UserEventsResource < Base
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ def resource_type
11
+ content_value("resource_type")
12
+ end
13
+
14
+ def kind
15
+ content_value("kind")
16
+ end
17
+
18
+ def resource_id
19
+ content_value("resource_id")
20
+ end
21
+
22
+ def created_at_unix
23
+ content_value("created_at_unix")
24
+ end
25
+
26
+ def user_event
27
+ if @src.has_key?('attributes')
28
+ @src['attributes']
29
+ else
30
+ @src
31
+ end
32
+ end
33
+
34
+ def relationships
35
+ if exist_relationships?
36
+ return @src['relationships']
37
+ else
38
+ {}
39
+ end
40
+ end
41
+
42
+ def user_id
43
+ relationships.dig("user", "id")
44
+ end
45
+
46
+ private
47
+ def exist_attributes?
48
+ !@src.empty? && @src.has_key?('attributes') && !@src['attributes'].empty?
49
+ end
50
+
51
+ def exist_relationships?
52
+ !@src.empty? && @src.has_key?('relationships') && !@src['relationships'].empty?
53
+ end
54
+
55
+ def content_value(key)
56
+ if exist_attributes? && @src['attributes'].has_key?("#{key}") && !@src['attributes']["#{key}"].empty?
57
+ return @src['attributes']["#{key}"]
58
+ elsif @src.has_key?("#{key}") && !@src["#{key}"].empty?
59
+ return @src["#{key}"]
60
+ end
61
+ end
62
+
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,58 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class UserInfosResource < Base
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ def value_data
11
+ content_value("value_data")
12
+ end
13
+
14
+ def user_info
15
+ if @src.has_key?('attributes')
16
+ @src['attributes']
17
+ else
18
+ @src
19
+ end
20
+ end
21
+
22
+ def relationships
23
+ if exist_relationships?
24
+ return @src['relationships']
25
+ else
26
+ {}
27
+ end
28
+ end
29
+
30
+ def user_id
31
+ relationships.dig("user", "data", "id")
32
+ end
33
+
34
+ def master_keyword_id
35
+ relationships.dig("master_keyword", "data", "id")
36
+ end
37
+
38
+ private
39
+ def exist_attributes?
40
+ !@src.empty? && @src.has_key?('attributes') && !@src['attributes'].empty?
41
+ end
42
+
43
+ def exist_relationships?
44
+ !@src.empty? && @src.has_key?('relationships') && !@src['relationships'].empty?
45
+ end
46
+
47
+ def content_value(key)
48
+ if exist_attributes? && @src['attributes'].has_key?("#{key}") && !@src['attributes']["#{key}"].empty?
49
+ return @src['attributes']["#{key}"]
50
+ elsif @src.has_key?("#{key}") && !@src["#{key}"].empty?
51
+ return @src["#{key}"]
52
+ end
53
+ end
54
+
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,121 @@
1
+ module Oksky
2
+ module Chat
3
+ module Object
4
+ class UsersResource < Base
5
+
6
+ def id
7
+ @src.dig("id")
8
+ end
9
+
10
+ def uuid
11
+ content_value("uuid")
12
+ end
13
+
14
+ def username
15
+ content_value("username")
16
+ end
17
+
18
+ def full_name
19
+ content_value("full_name")
20
+ end
21
+
22
+ def name
23
+ content_value("name")
24
+ end
25
+
26
+ def gravatar_id
27
+ content_value("gravatar_id")
28
+ end
29
+
30
+ def email
31
+ content_value("email")
32
+ end
33
+
34
+ def avatar_url
35
+ content_value("avatar_url")
36
+ end
37
+
38
+ def default_avatar_url
39
+ content_value("default_avatar_url")
40
+ end
41
+
42
+ def user_type
43
+ content_value("user_type")
44
+ end
45
+
46
+ def status
47
+ content_value("status")
48
+ end
49
+
50
+ def max_support_count
51
+ content_value("max_support_count")
52
+ end
53
+
54
+ def timezone
55
+ content_value("timezone")
56
+ end
57
+
58
+ def in_training
59
+ content_value("in_training")
60
+ end
61
+
62
+ def login_count
63
+ content_value("login_count")
64
+ end
65
+
66
+ def is_active
67
+ content_value("is_active")
68
+ end
69
+
70
+ def created_at
71
+ content_value("created_at")
72
+ end
73
+
74
+ def created_at_unix
75
+ content_value("created_at_unix")
76
+ end
77
+
78
+ def user_typings
79
+ content_value("user_typings")
80
+ end
81
+
82
+ def language
83
+ content_value("language")
84
+ end
85
+
86
+ def user
87
+ if @src.has_key?('attributes')
88
+ @src['attributes']
89
+ else
90
+ @src
91
+ end
92
+ end
93
+
94
+ def relationships
95
+ if exist_relationships?
96
+ return @src['relationships']
97
+ else
98
+ {}
99
+ end
100
+ end
101
+
102
+ private
103
+ def exist_attributes?
104
+ !@src.empty? && @src.has_key?('attributes') && !@src['attributes'].empty?
105
+ end
106
+
107
+ def exist_relationships?
108
+ !@src.empty? && @src.has_key?('relationships') && !@src['relationships'].empty?
109
+ end
110
+
111
+ def content_value(key)
112
+ if exist_attributes? && @src['attributes'].has_key?("#{key}") && !@src['attributes']["#{key}"].empty?
113
+ return @src['attributes']["#{key}"]
114
+ elsif @src.has_key?("#{key}") && !@src["#{key}"].empty?
115
+ return @src["#{key}"]
116
+ end
117
+ end
118
+ end
119
+ end
120
+ end
121
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oksky-chat-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - SOLAIRO, INC.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-01 00:00:00.000000000 Z
11
+ date: 2020-08-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -110,13 +110,25 @@ files:
110
110
  - lib/oksky/chat/client.rb
111
111
  - lib/oksky/chat/httpclient.rb
112
112
  - lib/oksky/chat/object.rb
113
+ - lib/oksky/chat/object/administrators_resource.rb
113
114
  - lib/oksky/chat/object/base.rb
114
115
  - lib/oksky/chat/object/clients_resource.rb
116
+ - lib/oksky/chat/object/customers_resource.rb
117
+ - lib/oksky/chat/object/master_keywords_resource.rb
118
+ - lib/oksky/chat/object/memos_resource.rb
115
119
  - lib/oksky/chat/object/messages_resource.rb
120
+ - lib/oksky/chat/object/operators_resource.rb
116
121
  - lib/oksky/chat/object/provider_rooms_resource.rb
117
122
  - lib/oksky/chat/object/rooms_resource.rb
123
+ - lib/oksky/chat/object/suggestions_resource.rb
124
+ - lib/oksky/chat/object/supervisors_resource.rb
125
+ - lib/oksky/chat/object/support_draft_messages_resource.rb
118
126
  - lib/oksky/chat/object/supports_resource.rb
127
+ - lib/oksky/chat/object/tracker_entries_resource.rb
119
128
  - lib/oksky/chat/object/unsupport_resource.rb
129
+ - lib/oksky/chat/object/user_events_resource.rb
130
+ - lib/oksky/chat/object/user_infos_resource.rb
131
+ - lib/oksky/chat/object/users_resource.rb
120
132
  - lib/oksky/chat/request.rb
121
133
  - lib/oksky/chat/whclient.rb
122
134
  - oksky-chat-api.gemspec
@@ -139,8 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
139
151
  - !ruby/object:Gem::Version
140
152
  version: '0'
141
153
  requirements: []
142
- rubyforge_project:
143
- rubygems_version: 2.6.11
154
+ rubygems_version: 3.0.3
144
155
  signing_key:
145
156
  specification_version: 4
146
157
  summary: ''