qismo 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/qismo/api.rb +556 -324
  3. data/lib/qismo/client.rb +31 -19
  4. data/lib/qismo/collection.rb +21 -0
  5. data/lib/qismo/object.rb +21 -0
  6. data/lib/qismo/objectified_hash.rb +30 -0
  7. data/lib/qismo/objects/agent_service.rb +53 -0
  8. data/lib/qismo/objects/broadcast_job.rb +99 -0
  9. data/lib/qismo/objects/broadcast_log.rb +59 -0
  10. data/lib/qismo/objects/custom_channel.rb +35 -0
  11. data/lib/qismo/objects/custom_channel_message_response.rb +19 -0
  12. data/lib/qismo/objects/customer_room.rb +85 -0
  13. data/lib/qismo/objects/fb_channel.rb +31 -0
  14. data/lib/qismo/objects/hsm_template.rb +111 -0
  15. data/lib/qismo/objects/ig_channel.rb +43 -0
  16. data/lib/qismo/objects/line_channel.rb +27 -0
  17. data/lib/qismo/objects/list_channels_response.rb +39 -0
  18. data/lib/qismo/objects/office_hour.rb +67 -0
  19. data/lib/qismo/objects/qiscus_channel.rb +27 -0
  20. data/lib/qismo/objects/room_additional_info.rb +15 -0
  21. data/lib/qismo/objects/tag.rb +27 -0
  22. data/lib/qismo/objects/telegram_channel.rb +31 -0
  23. data/lib/qismo/objects/user.rb +99 -0
  24. data/lib/qismo/objects/wa_channel.rb +111 -0
  25. data/lib/qismo/objects/wa_credit_info.rb +71 -0
  26. data/lib/qismo/objects/waca_channel.rb +55 -0
  27. data/lib/qismo/objects/webhook.rb +15 -0
  28. data/lib/qismo/types.rb +10 -1
  29. data/lib/qismo/version.rb +1 -1
  30. data/lib/qismo/webhook_requests/on_agent_allocation_needed.rb +8 -2
  31. data/lib/qismo/webhook_requests/on_custom_button_clicked.rb +15 -7
  32. data/lib/qismo/webhook_requests/on_custom_channel_message_sent.rb +18 -6
  33. data/lib/qismo/webhook_requests/on_message_for_bot_sent.rb +18 -6
  34. data/lib/qismo/webhook_requests/on_new_session_initiated.rb +30 -10
  35. data/lib/qismo/webhook_requests/on_room_resolved.rb +15 -5
  36. data/lib/qismo.rb +28 -34
  37. data/qismo.gemspec +1 -0
  38. metadata +40 -6
  39. data/lib/qismo/model.rb +0 -102
  40. data/lib/qismo/models/base.rb +0 -13
  41. data/lib/qismo/models/customer_room.rb +0 -6
  42. data/lib/qismo/util.rb +0 -31
@@ -1,5 +1,7 @@
1
1
  module Qismo
2
2
  module WebhookRequests
3
+ # Custom button webhook object
4
+ #
3
5
  # @!attribute [r] additional_info
4
6
  # @return [Array<AdditionalInfo>]
5
7
  # @!attribute [r] agent
@@ -18,42 +20,48 @@ module Qismo
18
20
  # @return [Integer]
19
21
  # @!attribute [r] tag
20
22
  # @return [Array<Tag>]
21
- class OnCustomButtonClicked < Qismo::Models::Base
22
- # @!parse include Qismo::Models
23
-
23
+ class OnCustomButtonClicked < Qismo::Object
24
+ # Custom button webhook additional info object
25
+ #
24
26
  # @!attribute [r] key
25
27
  # @return [String]
26
28
  # @!attribute [r] value
27
29
  # @return [String,Integer,TrueClass,FalseClass]
28
- class AdditionalInfo < Qismo::Models::Base
30
+ class AdditionalInfo < Qismo::Object
29
31
  attribute? :key, Types::String.optional
30
32
  attribute? :value, (Types::String.optional | Types::Int.optional | Types::Params::Bool.optional)
31
33
  end
32
34
 
35
+ # Custom button webhook agent object
36
+ #
33
37
  # @!attribute [r] email
34
38
  # @return [String]
35
39
  # @!attribute [r] name
36
40
  # @return [String]
37
41
  # @!attribute [r] type
38
42
  # @return [String]
39
- class Agent < Qismo::Models::Base
43
+ class Agent < Qismo::Object
40
44
  attribute? :email, Types::String.optional
41
45
  attribute? :name, Types::String.optional
42
46
  attribute? :type, Types::String.optional
43
47
  end
44
48
 
49
+ # Custom webhook customer object
50
+ #
45
51
  # @!attribute [r] avatar
46
52
  # @return [String]
47
53
  # @!attribute [r] name
48
54
  # @return [String]
49
55
  # @!attribute [r] user_id
50
56
  # @return [String]
51
- class Customer < Qismo::Models::Base
57
+ class Customer < Qismo::Object
52
58
  attribute? :avatar, Types::String.optional
53
59
  attribute? :name, Types::String.optional
54
60
  attribute? :user_id, Types::String.optional
55
61
  end
56
62
 
63
+ # Custom button webhook tag object
64
+ #
57
65
  # @!attribute [r] id
58
66
  # @return [Integer]
59
67
  # @!attribute [r] name
@@ -64,7 +72,7 @@ module Qismo
64
72
  # @return [String]
65
73
  # @!attribute [r] room_tag_created_at
66
74
  # @return [String]
67
- class Tag < Qismo::Models::Base
75
+ class Tag < Qismo::Object
68
76
  attribute? :id, Types::Int.optional
69
77
  attribute? :name, Types::String.optional
70
78
  attribute? :created_at, Types::String.optional
@@ -1,8 +1,12 @@
1
1
  module Qismo
2
2
  module WebhookRequests
3
+ # Custom channel webhook object
4
+ #
3
5
  # @!attribute [r] payload
4
6
  # @return [Payload]
5
- class OnCustomChannelMessageSent < Qismo::Models::Base
7
+ class OnCustomChannelMessageSent < Qismo::Object
8
+ # Custom channel webhook from object
9
+ #
6
10
  # @!attribute [r] avatar_url
7
11
  # @return [String]
8
12
  # @!attribute [r] email
@@ -11,13 +15,15 @@ module Qismo
11
15
  # @return [Integer]
12
16
  # @!attribute [r] name
13
17
  # @return [String]
14
- class From < Qismo::Models::Base
18
+ class From < Qismo::Object
15
19
  attribute? :avatar_url, Types::String.optional
16
20
  attribute? :email, Types::String.optional
17
21
  attribute? :id, Types::Int.optional
18
22
  attribute? :name, Types::String.optional
19
23
  end
20
24
 
25
+ # Custom channel webhook message object
26
+ #
21
27
  # @!attribute [r] comment_before_id
22
28
  # @return [Integer]
23
29
  # @!attribute [r] created_at
@@ -38,7 +44,7 @@ module Qismo
38
44
  # @return [String]
39
45
  # @!attribute [r] unix_timestamp
40
46
  # @return [String]
41
- class Message < Qismo::Models::Base
47
+ class Message < Qismo::Object
42
48
  attribute? :comment_before_id, Types::Int.optional
43
49
  attribute? :created_at, Types::String.optional
44
50
  attribute? :id, Types::Int.optional
@@ -51,12 +57,16 @@ module Qismo
51
57
  attribute? :unix_timestamp, Types::String.optional
52
58
  end
53
59
 
60
+ # Custom channel webhook participant object
61
+ #
54
62
  # @!attribute [r] email
55
63
  # @return [String]
56
- class Participant < Qismo::Models::Base
64
+ class Participant < Qismo::Object
57
65
  attribute? :email, Types::String.optional
58
66
  end
59
67
 
68
+ # Custom channel webhook room object
69
+ #
60
70
  # @!attribute [r] id
61
71
  # @return [String]
62
72
  # @!attribute [r] name
@@ -67,7 +77,7 @@ module Qismo
67
77
  # @return [Array<Participant>]
68
78
  # @!attribute [r] room_avatar
69
79
  # @return [String]
70
- class Room < Qismo::Models::Base
80
+ class Room < Qismo::Object
71
81
  attribute? :id, Types::String.optional
72
82
  attribute? :name, Types::String.optional
73
83
  attribute? :options, Types::String.optional
@@ -75,6 +85,8 @@ module Qismo
75
85
  attribute? :room_avatar, Types::String.optional
76
86
  end
77
87
 
88
+ # Custom channel webhook payload object
89
+ #
78
90
  # @!attribute [r] from
79
91
  # @return [From]
80
92
  # @!attribute [r] message
@@ -83,7 +95,7 @@ module Qismo
83
95
  # @return [Room]
84
96
  # @!attribute [r] type
85
97
  # @return [String]
86
- class Payload < Qismo::Models::Base
98
+ class Payload < Qismo::Object
87
99
  attribute? :from, From.optional
88
100
  attribute? :message, Message.optional
89
101
  attribute? :room, Room.optional
@@ -1,6 +1,10 @@
1
1
  module Qismo
2
2
  module WebhookRequests
3
- class OnMessageForBotSent < Qismo::Models::Base
3
+ # Chatbot webhook object
4
+ #
5
+ class OnMessageForBotSent < Qismo::Object
6
+ # Chatbot webhook from object
7
+ #
4
8
  # @!attribute [r] avatar_url
5
9
  # @return [String]
6
10
  # @!attribute [r] email
@@ -9,13 +13,15 @@ module Qismo
9
13
  # @return [Integer]
10
14
  # @!attribute [r] name
11
15
  # @return [String]
12
- class From < Qismo::Models::Base
16
+ class From < Qismo::Object
13
17
  attribute? :avatar_url, Types::String.optional
14
18
  attribute? :email, Types::String.optional
15
19
  attribute? :id, Types::Int.optional
16
20
  attribute? :name, Types::String.optional
17
21
  end
18
22
 
23
+ # Chatbot webhook message object
24
+ #
19
25
  # @!attribute [r] comment_before_id
20
26
  # @return [Integer]
21
27
  # @!attribute [r] created_at
@@ -36,7 +42,7 @@ module Qismo
36
42
  # @return [String]
37
43
  # @!attribute [r] unix_timestamp
38
44
  # @return [String]
39
- class Message < Qismo::Models::Base
45
+ class Message < Qismo::Object
40
46
  attribute? :comment_before_id, Types::Int.optional
41
47
  attribute? :created_at, Types::String.optional
42
48
  attribute? :id, Types::Int.optional
@@ -49,12 +55,16 @@ module Qismo
49
55
  attribute? :unix_timestamp, Types::String.optional
50
56
  end
51
57
 
58
+ # Chatbot webhook participant object
59
+ #
52
60
  # @!attribute [r] email
53
61
  # @return [String]
54
- class Participant < Qismo::Models::Base
62
+ class Participant < Qismo::Object
55
63
  attribute? :email, Types::String.optional
56
64
  end
57
65
 
66
+ # Chatbot webhook room object
67
+ #
58
68
  # @!attribute [r] id
59
69
  # @return [String]
60
70
  # @!attribute [r] name
@@ -65,7 +75,7 @@ module Qismo
65
75
  # @return [Array<Participant>]
66
76
  # @!attribute [r] room_avatar
67
77
  # @return [String]
68
- class Room < Qismo::Models::Base
78
+ class Room < Qismo::Object
69
79
  attribute? :id, Types::String.optional
70
80
  attribute? :name, Types::String.optional
71
81
  attribute? :options, Types::String.optional
@@ -73,6 +83,8 @@ module Qismo
73
83
  attribute? :room_avatar, Types::String.optional
74
84
  end
75
85
 
86
+ # Chatbot webhook payload object
87
+ #
76
88
  # @!attribute [r] from
77
89
  # @return [From]
78
90
  # @!attribute [r] message
@@ -81,7 +93,7 @@ module Qismo
81
93
  # @return [Room]
82
94
  # @!attribute [r] type
83
95
  # @return [String]
84
- class Payload < Qismo::Models::Base
96
+ class Payload < Qismo::Object
85
97
  attribute? :from, From.optional
86
98
  attribute? :message, Message.optional
87
99
  attribute? :room, Room.optional
@@ -1,12 +1,16 @@
1
1
  module Qismo
2
2
  module WebhookRequests
3
+ # New session webhook object
4
+ #
3
5
  # @!attribute [r] is_new_session
4
6
  # @return [TrueClass,FalseClass]
5
7
  # @!attribute [r] payload
6
8
  # @return [Payload]
7
9
  # @!attribute [r] room_log
8
10
  # @return [RoomLog]
9
- class OnNewSessionInitiated < Qismo::Models::Base
11
+ class OnNewSessionInitiated < Qismo::Object
12
+ # New session webhook from object
13
+ #
10
14
  # @!attribute [r] avatar_url
11
15
  # @return [String]
12
16
  # @!attribute [r] email
@@ -15,13 +19,15 @@ module Qismo
15
19
  # @return [Integer]
16
20
  # @!attribute [r] name
17
21
  # @return [String]
18
- class From < Qismo::Models::Base
22
+ class From < Qismo::Object
19
23
  attribute? :avatar_url, Types::String.optional
20
24
  attribute? :email, Types::String.optional
21
25
  attribute? :id, Types::Int.optional
22
26
  attribute? :name, Types::String.optional
23
27
  end
24
28
 
29
+ # New session webhook message object
30
+ #
25
31
  # @!attribute [r] comment_before_id
26
32
  # @return [Integer]
27
33
  # @!attribute [r] created_at
@@ -42,7 +48,7 @@ module Qismo
42
48
  # @return [String]
43
49
  # @!attribute [r] unix_timestamp
44
50
  # @return [String]
45
- class Message < Qismo::Models::Base
51
+ class Message < Qismo::Object
46
52
  attribute? :comment_before_id, Types::Int.optional
47
53
  attribute? :created_at, Types::String.optional
48
54
  attribute? :id, Types::Int.optional
@@ -55,12 +61,16 @@ module Qismo
55
61
  attribute? :unix_timestamp, Types::String.optional
56
62
  end
57
63
 
64
+ # New session webhook participant object
65
+ #
58
66
  # @!attribute [r] email
59
67
  # @return [String]
60
- class Participant < Qismo::Models::Base
68
+ class Participant < Qismo::Object
61
69
  attribute? :email, Types::String.optional
62
70
  end
63
71
 
72
+ # New session webhook room object
73
+ #
64
74
  # @!attribute [r] id
65
75
  # @return [String]
66
76
  # @!attribute [r] name
@@ -71,7 +81,7 @@ module Qismo
71
81
  # @return [Array<Participant>]
72
82
  # @!attribute [r] room_avatar
73
83
  # @return [String]
74
- class Room < Qismo::Models::Base
84
+ class Room < Qismo::Object
75
85
  attribute? :id, Types::String.optional
76
86
  attribute? :name, Types::String.optional
77
87
  attribute? :options, Types::String.optional
@@ -79,6 +89,8 @@ module Qismo
79
89
  attribute? :room_avatar, Types::String.optional
80
90
  end
81
91
 
92
+ # New session webhook message payload object
93
+ #
82
94
  # @!attribute [r] from
83
95
  # @return [From]
84
96
  # @!attribute [r] message
@@ -87,27 +99,33 @@ module Qismo
87
99
  # @return [Room]
88
100
  # @!attribute [r] type
89
101
  # @return [String]
90
- class Payload < Qismo::Models::Base
102
+ class Payload < Qismo::Object
91
103
  attribute? :from, From.optional
92
104
  attribute? :message, Message.optional
93
105
  attribute? :room, Room.optional
94
106
  end
95
107
 
108
+ # New session webhook user property object
109
+ #
96
110
  # @!attribute [r] key
97
111
  # @return [String]
98
112
  # @!attribute [r] value
99
113
  # @return [String,Integer,TrueClass,FalseClass]
100
- class UserProperty < Qismo::Models::Base
114
+ class UserProperty < Qismo::Object
101
115
  attribute? :key, Types::String.optional
102
116
  attribute? :value, (Types::String.optional | Types::Int.optional | Types::Params::Bool.optional)
103
117
  end
104
118
 
119
+ # New session webhook additional extras object
120
+ #
105
121
  # @!attribute [r] timezone_offset
106
122
  # @return [String]
107
- class AdditionalExtras < Qismo::Models::Base
123
+ class AdditionalExtras < Qismo::Object
108
124
  attribute? :timezone_offset, Types::String
109
125
  end
110
126
 
127
+ # New session webhook extras object
128
+ #
111
129
  # @!attribute [r] additional_extras
112
130
  # @return [AdditionalExtras]
113
131
  # @!attribute [r] notes
@@ -116,13 +134,15 @@ module Qismo
116
134
  # @return [String]
117
135
  # @!attribute [r] user_properties
118
136
  # @return [Array<UserProperty>]
119
- class Extras < Qismo::Models::Base
137
+ class Extras < Qismo::Object
120
138
  attribute? :additional_extras, AdditionalExtras.optional
121
139
  attribute? :notes, Types::String
122
140
  attribute? :timezone_offset, Types::String
123
141
  attribute? :user_properties, Types.Array(UserProperty.optional).optional
124
142
  end
125
143
 
144
+ # New session webhook room log object
145
+ #
126
146
  # @!attribute [r] channel_id
127
147
  # @return [Integer]
128
148
  # @!attribute [r] created_at
@@ -147,7 +167,7 @@ module Qismo
147
167
  # @return [String]
148
168
  # @!attribute [r] user_id
149
169
  # @return [String]
150
- class RoomLog < Qismo::Models::Base
170
+ class RoomLog < Qismo::Object
151
171
  attribute? :channel_id, Types::Int
152
172
  attribute? :created_at, Types::String
153
173
  attribute? :extras, Extras
@@ -1,21 +1,27 @@
1
1
  module Qismo
2
2
  module WebhookRequests
3
+ # Room resolve webhook object
4
+ #
3
5
  # @!attribute [r] customer
4
6
  # @return [Customer]
5
7
  # @!attribute [r] resolved_by
6
8
  # @return [ResolvedBy]
7
9
  # @!attribute [r] service
8
10
  # @return [Service]
9
- class OnRoomResolved < Qismo::Models::Base
11
+ class OnRoomResolved < Qismo::Object
12
+ # Room resolve webhook additional info object
13
+ #
10
14
  # @!attribute [r] key
11
15
  # @return [String]
12
16
  # @!attribute [r] value
13
17
  # @return [String,Integer,TrueClass,FalseClass]
14
- class AdditionalInfo < Qismo::Models::Base
18
+ class AdditionalInfo < Qismo::Object
15
19
  attribute? :key, Types::String.optional
16
20
  attribute? :value, (Types::String.optional | Types::Int.optional | Types::Params::Bool.optional)
17
21
  end
18
22
 
23
+ # Room resolve webhook customer object
24
+ #
19
25
  # @!attribute [r] additional_info
20
26
  # @return [Array<AdditionalInfo>]
21
27
  # @!attribute [r] avatar
@@ -24,13 +30,15 @@ module Qismo
24
30
  # @return [String]
25
31
  # @!attribute [r] user_id
26
32
  # @return [String]
27
- class Customer < Qismo::Models::Base
33
+ class Customer < Qismo::Object
28
34
  attribute? :additional_info, Types.Array(AdditionalInfo.optional).optional
29
35
  attribute? :avatar, Types::String.optional
30
36
  attribute? :name, Types::String.optional
31
37
  attribute? :user_id, Types::String.optional
32
38
  end
33
39
 
40
+ # Room resolve webhook resolved by object
41
+ #
34
42
  # @!attribute [r] email
35
43
  # @return [String]
36
44
  # @!attribute [r] id
@@ -41,7 +49,7 @@ module Qismo
41
49
  # @return [String]
42
50
  # @!attribute [r] type
43
51
  # @return [String]
44
- class ResolvedBy < Qismo::Models::Base
52
+ class ResolvedBy < Qismo::Object
45
53
  attribute? :email, Types::String.optional
46
54
  attribute? :id, Types::Int.optional
47
55
  attribute? :is_available, Types::Bool.optional
@@ -49,6 +57,8 @@ module Qismo
49
57
  attribute? :type, Types::String.optional
50
58
  end
51
59
 
60
+ # Room resolve webhook service object
61
+ #
52
62
  # @!attribute [r] first_comment_id
53
63
  # @return [String]
54
64
  # @!attribute [r] last_comment_id
@@ -63,7 +73,7 @@ module Qismo
63
73
  # @return [String]
64
74
  # @!attribute [r] source
65
75
  # @return [String]
66
- class Service < Qismo::Models::Base
76
+ class Service < Qismo::Object
67
77
  attribute? :first_comment_id, Types::String.optional
68
78
  attribute? :last_comment_id, Types::String.optional
69
79
  attribute? :id, Types::Int.optional
data/lib/qismo.rb CHANGED
@@ -6,9 +6,33 @@ require "http"
6
6
 
7
7
  require "qismo/version"
8
8
  require "qismo/types"
9
- require "qismo/util"
9
+ require "qismo/error"
10
10
 
11
- require "qismo/models/base"
11
+ require "qismo/object"
12
+ require "qismo/objectified_hash"
13
+ require "qismo/collection"
14
+
15
+ require "qismo/objects/customer_room"
16
+ require "qismo/objects/tag"
17
+ require "qismo/objects/room_additional_info"
18
+ require "qismo/objects/broadcast_log"
19
+ require "qismo/objects/user"
20
+ require "qismo/objects/agent_service"
21
+ require "qismo/objects/webhook"
22
+ require "qismo/objects/office_hour"
23
+ require "qismo/objects/hsm_template"
24
+ require "qismo/objects/wa_credit_info"
25
+ require "qismo/objects/broadcast_job"
26
+ require "qismo/objects/custom_channel_message_response"
27
+ require "qismo/objects/custom_channel"
28
+ require "qismo/objects/fb_channel"
29
+ require "qismo/objects/ig_channel"
30
+ require "qismo/objects/line_channel"
31
+ require "qismo/objects/qiscus_channel"
32
+ require "qismo/objects/telegram_channel"
33
+ require "qismo/objects/wa_channel"
34
+ require "qismo/objects/waca_channel"
35
+ require "qismo/objects/list_channels_response"
12
36
 
13
37
  require "qismo/webhook_requests/on_agent_allocation_needed"
14
38
  require "qismo/webhook_requests/on_custom_button_clicked"
@@ -17,40 +41,10 @@ require "qismo/webhook_requests/on_message_for_bot_sent"
17
41
  require "qismo/webhook_requests/on_new_session_initiated"
18
42
  require "qismo/webhook_requests/on_room_resolved"
19
43
 
20
- require "qismo/error"
21
- require "qismo/model"
22
44
  require "qismo/api"
23
45
  require "qismo/client"
24
46
 
47
+ # Qismo ruby root module
48
+ #
25
49
  module Qismo
26
- class << self
27
- # @!parse extend Qismo::Api
28
-
29
- def configure
30
- yield client
31
-
32
- client
33
- end
34
-
35
- private
36
-
37
- # @return [Qismo::Client]
38
- def client
39
- @client ||= Client.new
40
- end
41
-
42
- def method_missing(method, *args, &block)
43
- return super unless client.respond_to?(method)
44
-
45
- client.send(method, *args, &block)
46
- end
47
-
48
- def respond_to?(method_name, include_private = false)
49
- client.respond_to?(method_name, include_private) || super(method_name, include_private)
50
- end
51
-
52
- def respond_to_missing?(method_name, include_private = false)
53
- client.respond_to?(method_name, include_private) || super(method_name, include_private)
54
- end
55
- end
56
50
  end
data/qismo.gemspec CHANGED
@@ -44,4 +44,5 @@ Gem::Specification.new do |spec|
44
44
  spec.add_runtime_dependency("activesupport")
45
45
  spec.add_runtime_dependency("http")
46
46
  spec.add_runtime_dependency("dry-struct", "~> 1.6")
47
+ spec.add_runtime_dependency("dry-validation", "~> 1.10")
47
48
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qismo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Qiscus Integration
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-09 00:00:00.000000000 Z
11
+ date: 2022-12-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.6'
55
+ - !ruby/object:Gem::Dependency
56
+ name: dry-validation
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.10'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.10'
55
69
  description: Ruby wrapper for Qiscus Omnichannel public API
56
70
  email:
57
71
  - developer@qiscus.net
@@ -65,12 +79,32 @@ files:
65
79
  - lib/qismo.rb
66
80
  - lib/qismo/api.rb
67
81
  - lib/qismo/client.rb
82
+ - lib/qismo/collection.rb
68
83
  - lib/qismo/error.rb
69
- - lib/qismo/model.rb
70
- - lib/qismo/models/base.rb
71
- - lib/qismo/models/customer_room.rb
84
+ - lib/qismo/object.rb
85
+ - lib/qismo/objectified_hash.rb
86
+ - lib/qismo/objects/agent_service.rb
87
+ - lib/qismo/objects/broadcast_job.rb
88
+ - lib/qismo/objects/broadcast_log.rb
89
+ - lib/qismo/objects/custom_channel.rb
90
+ - lib/qismo/objects/custom_channel_message_response.rb
91
+ - lib/qismo/objects/customer_room.rb
92
+ - lib/qismo/objects/fb_channel.rb
93
+ - lib/qismo/objects/hsm_template.rb
94
+ - lib/qismo/objects/ig_channel.rb
95
+ - lib/qismo/objects/line_channel.rb
96
+ - lib/qismo/objects/list_channels_response.rb
97
+ - lib/qismo/objects/office_hour.rb
98
+ - lib/qismo/objects/qiscus_channel.rb
99
+ - lib/qismo/objects/room_additional_info.rb
100
+ - lib/qismo/objects/tag.rb
101
+ - lib/qismo/objects/telegram_channel.rb
102
+ - lib/qismo/objects/user.rb
103
+ - lib/qismo/objects/wa_channel.rb
104
+ - lib/qismo/objects/wa_credit_info.rb
105
+ - lib/qismo/objects/waca_channel.rb
106
+ - lib/qismo/objects/webhook.rb
72
107
  - lib/qismo/types.rb
73
- - lib/qismo/util.rb
74
108
  - lib/qismo/version.rb
75
109
  - lib/qismo/webhook_requests/on_agent_allocation_needed.rb
76
110
  - lib/qismo/webhook_requests/on_custom_button_clicked.rb