ozeki_libs_rest 0.1.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 (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/ozeki_libs_rest.rb +802 -0
  3. metadata +58 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 1de7ba81c7c763136453d669b2fc454aea1d755b70fccfba01a71faada7d1398
4
+ data.tar.gz: 89d12a6e540f4914883aee63abadd2d6943d066a2a7854f0b03abd4eb8e6d7f2
5
+ SHA512:
6
+ metadata.gz: cb01f73c0a9d3b6ad4e1dac24f2439ed49117737968028520194343c579f77433d02349f73ef40caea2ee592021aeb9ddc376cf76ee142cdbd9baeafdf9cee92
7
+ data.tar.gz: 83d19b5c3382038abb71427a2ac8760f880e2a7c4b73f0af8a33465f9e04530876f70ff167751549479a118db152f48886eedd7ff7212b7deecd40558cba7909
@@ -0,0 +1,802 @@
1
+ require 'base64'
2
+ require 'json'
3
+ require 'faraday'
4
+ require 'securerandom'
5
+ require 'date'
6
+
7
+
8
+ class Configuration
9
+ def initialize(username, password, apiurl)
10
+ @username = username
11
+ @password = password
12
+ @apiurl = apiurl
13
+ end
14
+
15
+ def username
16
+ @username
17
+ end
18
+
19
+ def username=(username)
20
+ @username = username
21
+ end
22
+
23
+ def password
24
+ @password
25
+ end
26
+
27
+ def password=(password)
28
+ @password = password
29
+ end
30
+
31
+ def apiurl
32
+ @apiurl
33
+ end
34
+
35
+ def apiurl=(apiurl)
36
+ @apiurl = apiurl
37
+ end
38
+ end
39
+
40
+ class MessageApi
41
+ def initialize(configuration)
42
+ @_configuration = configuration
43
+ end
44
+
45
+ def create_authorization_header(username, password)
46
+ username_password = username + ':' + password
47
+ username_password_encoded = Base64.encode64(username_password)
48
+ 'Basic ' + username_password_encoded
49
+ end
50
+
51
+ def create_request_body(messages)
52
+ messages_array= Array.new
53
+ messages_hash = Hash.new
54
+ if messages.kind_of?(Array)
55
+ messages.each do |message|
56
+ if message.kind_of?(Message)
57
+ messages_array.append(message.get_hash)
58
+ end
59
+ end
60
+ messages_hash[:messages] = messages_array
61
+ messages_hash.to_json
62
+ elsif messages.kind_of?(Message)
63
+ messages_array.append(messages.get_hash)
64
+ messages_hash[:messages] = messages_array
65
+ messages_hash.to_json
66
+ else
67
+ messages_hash[:messages] = messages_array
68
+ messages_hash.to_json
69
+ end
70
+ end
71
+
72
+ def create_request_body_to_manipualte(messages, folder)
73
+ message_ids_array= Array.new
74
+ message_ids_hash = Hash.new
75
+ if messages.kind_of?(Array)
76
+ messages.each do |message|
77
+ if message.kind_of?(Message)
78
+ message_ids_array.append(message.id)
79
+ end
80
+ end
81
+ message_ids_hash[:folder] = folder
82
+ message_ids_hash[:message_ids] = message_ids_array
83
+ message_ids_hash.to_json
84
+ elsif messages.kind_of?(Message)
85
+ message_ids_array.append(messages.id)
86
+ message_ids_hash[:folder] = folder
87
+ message_ids_hash[:message_ids] = message_ids_array
88
+ message_ids_hash.to_json
89
+ else
90
+ message_ids_hash[:folder] = folder
91
+ message_ids_hash[:message_ids] = message_ids_array
92
+ message_ids_hash.to_json
93
+ end
94
+ end
95
+
96
+ def get_response_delete(response, messages)
97
+ if messages.kind_of?(Array)
98
+ json = JSON.parse(response)
99
+ result = MessageDeleteResult.new(json['data']['folder'])
100
+ message_ids = json['data']['message_ids']
101
+ messages.each do |message|
102
+ success = false
103
+ message_ids.each do |id|
104
+ if id.eql? message.id
105
+ success = true
106
+ end
107
+ end
108
+ if success
109
+ result.add_message_id_remove_succeeded(message.id)
110
+ else
111
+ result.add_message_id_remove_failed(message.id)
112
+ end
113
+ end
114
+ elsif messages.kind_of?(Message)
115
+ json = JSON.parse(response)
116
+ result = MessageDeleteResult.new(json['data']['folder'])
117
+ message_ids = json['data']['message_ids']
118
+ success = false
119
+ message_ids.each do |id|
120
+ if messages.id.eql? id
121
+ success = true
122
+ end
123
+ end
124
+ if success
125
+ result.add_message_id_remove_succeeded(messages.id)
126
+ else
127
+ result.add_message_id_remove_failed(messages.id)
128
+ end
129
+ else
130
+ result = MessageDeleteResult.new('')
131
+ end
132
+ result
133
+ end
134
+
135
+ def get_response_mark(response, messages)
136
+ if messages.kind_of?(Array)
137
+ json = JSON.parse(response)
138
+ result = MessageMarkResult.new(json['data']['folder'])
139
+ message_ids = json['data']['message_ids']
140
+ messages.each do |message|
141
+ success = false
142
+ message_ids.each do |id|
143
+ if id.eql? message.id
144
+ success = true
145
+ end
146
+ end
147
+ if success
148
+ result.add_message_id_mark_succeeded(message.id)
149
+ else
150
+ result.add_message_id_mark_failed(message.id)
151
+ end
152
+ end
153
+ elsif messages.kind_of?(Message)
154
+ json = JSON.parse(response)
155
+ result = MessageMarkResult.new(json['data']['folder'])
156
+ message_ids = json['data']['message_ids']
157
+ success = false
158
+ message_ids.each do |id|
159
+ if messages.id.eql? id
160
+ success = true
161
+ end
162
+ end
163
+ if success
164
+ result.add_message_id_mark_succeeded(messages.id)
165
+ else
166
+ result.add_message_id_mark_failed(messages.id)
167
+ end
168
+ else
169
+ result = MessageMarkResult.new('')
170
+ end
171
+ result
172
+ end
173
+
174
+ def get_response_send(response)
175
+ json_object = JSON.parse(response)
176
+ total_count = json_object['data']['total_count']
177
+ success_count = json_object['data']['success_count']
178
+ failed_count = json_object['data']['failed_count']
179
+ messages = json_object['data']['messages']
180
+ results_array = Array.new
181
+ messages.each do |message|
182
+ msg = Message.new
183
+ if message['message_id']
184
+ msg.id = message['message_id']
185
+ end
186
+ if message['from_connection']
187
+ msg.from_connection = message['from_connection']
188
+ end
189
+ if message['from_address']
190
+ msg.from_address = message['from_address']
191
+ end
192
+ if message['from_station']
193
+ msg.from_station = message['from_station']
194
+ end
195
+ if message['to_connection']
196
+ msg.to_connection = message['to_connection']
197
+ end
198
+ if message['to_address']
199
+ msg.to_address = message['to_address']
200
+ end
201
+ if message['to_station']
202
+ msg.to_station = message['to_station']
203
+ end
204
+ if message['text']
205
+ msg.text = message['text']
206
+ end
207
+ if message['create_date']
208
+ msg.create_date = message['create_date']
209
+ end
210
+ if message['valid_until']
211
+ msg.valid_until = message['valid_until']
212
+ end
213
+ if message['time_to_send']
214
+ msg.time_to_send = message['time_to_send']
215
+ end
216
+ if message['submit_report_requested']
217
+ if message['submit_report_requested'].eql? 'true'
218
+ msg.is_submit_report_requested = true
219
+ else
220
+ msg.is_submit_report_requested = false
221
+ end
222
+ end
223
+ if message['delivery_report_requested']
224
+ if message['delivery_report_requested'].eql? 'true'
225
+ msg.is_delivery_report_requested= true
226
+ else
227
+ msg.is_delivery_report_requested = false
228
+ end
229
+ end
230
+ if message['view_report_requested']
231
+ if message['view_report_requested'].eql? 'true'
232
+ msg.is_view_report_requested = true
233
+ else
234
+ msg.is_view_report_requested = false
235
+ end
236
+ end
237
+ if message['tags']
238
+ message['tags'].each do |tag|
239
+ key = tag['name']
240
+ value = tag['value']
241
+ msg.add_tag(key, value)
242
+ end
243
+ end
244
+ if message['status'].eql? 'SUCCESS'
245
+ result = MessageSendResult.new(msg, DeliveryStatus.new().success, '')
246
+ results_array.append(result)
247
+ else
248
+ result = MessageSendResult.new(msg, DeliveryStatus.new().failed, message['status'])
249
+ results_array.append(result)
250
+ end
251
+ end
252
+ MessageSendResults.new(total_count, success_count, failed_count, results_array)
253
+ end
254
+
255
+ def get_response_receive(response)
256
+ json_object = JSON.parse(response)
257
+ result = MessageReceiveResult.new(json_object['data']['folder'], json_object['data']['limit'])
258
+ messages = json_object['data']['data']
259
+ messages.each do |message|
260
+ msg = Message.new
261
+ if message['message_id']
262
+ msg.id = message['message_id']
263
+ end
264
+ if message['from_connection']
265
+ msg.from_connection = message['from_connection']
266
+ end
267
+ if message['from_address']
268
+ msg.from_address = message['from_address']
269
+ end
270
+ if message['from_station']
271
+ msg.from_station = message['from_station']
272
+ end
273
+ if message['to_connection']
274
+ msg.to_connection = message['to_connection']
275
+ end
276
+ if message['to_address']
277
+ msg.to_address = message['to_address']
278
+ end
279
+ if message['to_station']
280
+ msg.to_station = message['to_station']
281
+ end
282
+ if message['text']
283
+ msg.text = message['text']
284
+ end
285
+ if message['create_date']
286
+ msg.create_date = message['create_date']
287
+ end
288
+ if message['valid_until']
289
+ msg.valid_until = message['valid_until']
290
+ end
291
+ if message['time_to_send']
292
+ msg.time_to_send = message['time_to_send']
293
+ end
294
+ if message['submit_report_requested']
295
+ if message['submit_report_requested'].eql? 'true'
296
+ msg.is_submit_report_requested = true
297
+ else
298
+ msg.is_submit_report_requested = false
299
+ end
300
+ end
301
+ if message['delivery_report_requested']
302
+ if message['delivery_report_requested'].eql? 'true'
303
+ msg.is_delivery_report_requested= true
304
+ else
305
+ msg.is_delivery_report_requested = false
306
+ end
307
+ end
308
+ if message['view_report_requested']
309
+ if message['view_report_requested'].eql? 'true'
310
+ msg.is_view_report_requested = true
311
+ else
312
+ msg.is_view_report_requested = false
313
+ end
314
+ end
315
+ if message['tags']
316
+ message['tags'].each do |tag|
317
+ key = tag['name']
318
+ value = tag['value']
319
+ msg.add_tag(key, value)
320
+ end
321
+ end
322
+ result.append_message(msg)
323
+ end
324
+ self.delete(json_object['data']['folder'], result.messages)
325
+ result
326
+ end
327
+
328
+ def create_uri_to_send_sms(url)
329
+ base_url = url.split('?')[0]
330
+ '%s?action=sendmsg' % [base_url]
331
+ end
332
+
333
+ def create_uri_to_delete_sms(url)
334
+ base_url = url.split('?')[0]
335
+ '%s?action=deletemsg' % [base_url]
336
+ end
337
+
338
+ def create_uri_to_mark_sms(url)
339
+ base_url = url.split('?')[0]
340
+ '%s?action=markmsg' % [base_url]
341
+ end
342
+
343
+ def create_uri_to_receive_sms(url, folder)
344
+ base_url = url.split('?')[0]
345
+ '%s?action=receivemsg&folder=%s' % [base_url, folder]
346
+ end
347
+
348
+
349
+
350
+ def do_request_post(url, authorization_header, request_body)
351
+ headers = {
352
+ 'Authorization' => authorization_header,
353
+ 'Content-Type' => 'application/json',
354
+ 'Accept' => 'application/json'
355
+ }
356
+ response = Faraday.post(url, request_body, headers)
357
+ response.body
358
+ end
359
+
360
+ def do_request_get(url, authorization_header)
361
+ headers = {
362
+ 'Authorization' => authorization_header,
363
+ 'Accept' => 'application/json'
364
+ }
365
+ response = Faraday.get(url, nil, headers)
366
+ response.body
367
+ end
368
+
369
+ def send(messages)
370
+ authorization_header = self.create_authorization_header(@_configuration.username, @_configuration.password)
371
+ request_body = self.create_request_body(messages)
372
+ response = self.do_request_post(self.create_uri_to_send_sms(@_configuration.apiurl), authorization_header, request_body)
373
+ if self.get_response_send(response).total_count.eql? 1
374
+ result = self.get_response_send(response).results[0]
375
+ else
376
+ result = self.get_response_send(response)
377
+ end
378
+ result
379
+ end
380
+
381
+ def delete(folder, messages)
382
+ authorization_header = self.create_authorization_header(@_configuration.username, @_configuration.password)
383
+ request_body = self.create_request_body_to_manipualte(messages, folder)
384
+ response = self.do_request_post(self.create_uri_to_delete_sms(@_configuration.apiurl), authorization_header, request_body)
385
+ result = self.get_response_delete(response, messages)
386
+ if messages.kind_of?(Message)
387
+ if result.total_count.eql? 1 and result.failed_count.eql? 0
388
+ result = true
389
+ else
390
+ result = false
391
+ end
392
+ end
393
+ result
394
+ end
395
+
396
+ def mark(folder, messages)
397
+ authorization_header = self.create_authorization_header(@_configuration.username, @_configuration.password)
398
+ request_body = self.create_request_body_to_manipualte(messages, folder)
399
+ response = self.do_request_post(self.create_uri_to_mark_sms(@_configuration.apiurl), authorization_header, request_body)
400
+ result = self.get_response_mark(response, messages)
401
+ if messages.kind_of?(Message)
402
+ if result.total_count.eql? 1 and result.failed_count.eql? 0
403
+ result = true
404
+ else
405
+ result = false
406
+ end
407
+ end
408
+ result
409
+ end
410
+
411
+ def download_incoming()
412
+ authorization_header = self.create_authorization_header(@_configuration.username, @_configuration.password)
413
+ response = self.do_request_get(self.create_uri_to_receive_sms(@_configuration.apiurl, Folder.new().inbox), authorization_header)
414
+ result = self.get_response_receive(response)
415
+ result
416
+ end
417
+ end
418
+
419
+ class Message
420
+ def initialize
421
+ @id = SecureRandom.uuid
422
+ @from_connection = nil
423
+ @from_address = nil
424
+ @from_station = nil
425
+ @to_connection = nil
426
+ @to_address = nil
427
+ @to_station = nil
428
+ @text = nil
429
+ @create_date = DateTime.now().strftime("%Y-%m-%dT%H:%M:%S")
430
+ @valid_until = DateTime.now().next_day(7).strftime("%Y-%m-%dT%H:%M:%S")
431
+ @time_to_send = DateTime.now().strftime("%Y-%m-%dT%H:%M:%S")
432
+ @is_submit_report_requested = true
433
+ @is_delivery_report_requested = true
434
+ @is_view_report_requested = true
435
+ @tags = []
436
+ end
437
+
438
+ def id
439
+ @id
440
+ end
441
+
442
+ def id=(id)
443
+ @id = id
444
+ end
445
+
446
+ def from_connection
447
+ @from_connection
448
+ end
449
+
450
+ def from_connection=(from_connection)
451
+ @from_connection = from_connection
452
+ end
453
+
454
+ def from_address
455
+ @from_address
456
+ end
457
+
458
+ def from_address=(from_address)
459
+ @from_address = from_address
460
+ end
461
+
462
+ def from_station
463
+ @from_station
464
+ end
465
+
466
+ def from_station=(from_station)
467
+ @from_station = from_station
468
+ end
469
+
470
+ def to_connection
471
+ @to_connection
472
+ end
473
+
474
+ def to_connection=(to_connection)
475
+ @to_connection = to_connection
476
+ end
477
+
478
+ def to_address
479
+ @to_address
480
+ end
481
+
482
+ def to_address=(to_address)
483
+ @to_address = to_address
484
+ end
485
+
486
+ def to_station
487
+ @to_station
488
+ end
489
+
490
+ def to_station=(to_station)
491
+ @to_station = to_station
492
+ end
493
+
494
+ def text
495
+ @text
496
+ end
497
+
498
+ def text=(text)
499
+ @text = text
500
+ end
501
+
502
+ def create_date
503
+ @create_date
504
+ end
505
+
506
+ def create_date=(create_date)
507
+ @create_date = create_date
508
+ end
509
+
510
+ def valid_until
511
+ @valid_until
512
+ end
513
+
514
+ def valid_until=(valid_until)
515
+ @valid_until = valid_until
516
+ end
517
+
518
+ def time_to_send
519
+ @time_to_send
520
+ end
521
+
522
+ def time_to_send=(time_to_send)
523
+ if time_to_send.kind_of?(DateTime)
524
+ @time_to_send = time_to_send.strftime("%Y-%m-%dT%H:%M:%S")
525
+ else
526
+ @time_to_send = DateTime.now().strftime("%Y-%m-%dT%H:%M:%S")
527
+ end
528
+ end
529
+
530
+ def is_submit_report_requested
531
+ @is_submit_report_requested
532
+ end
533
+
534
+ def is_submit_report_requested=(is_submit_report_requested)
535
+ @is_submit_report_requested = is_submit_report_requested
536
+ end
537
+
538
+ def is_delivery_report_requested
539
+ @is_delivery_report_requested
540
+ end
541
+
542
+ def is_delivery_report_requested=(is_delivery_report_requested)
543
+ @is_delivery_report_requested = is_delivery_report_requested
544
+ end
545
+
546
+ def is_view_report_requested
547
+ @is_view_report_requested
548
+ end
549
+
550
+ def is_view_report_requested=(is_view_report_requested)
551
+ @is_view_report_requested = is_view_report_requested
552
+ end
553
+
554
+ def add_tag(key, value)
555
+ tag = { key => value }
556
+ @tags.append(tag)
557
+ end
558
+
559
+ def get_tags
560
+ @tags
561
+ end
562
+
563
+ def get_hash
564
+ object = {}
565
+ if @id != nil
566
+ object[:message_id] = @id
567
+ end
568
+ if @from_connection != nil
569
+ object[:from_connection] = @from_connection
570
+ end
571
+ if @from_address != nil
572
+ object[:from_address] = @from_address
573
+ end
574
+ if @from_station != nil
575
+ object[:from_station] = @from_station
576
+ end
577
+ if @to_connection != nil
578
+ object[:to_connection] = @to_connection
579
+ end
580
+ if @to_address != nil
581
+ object[:to_address] = @to_address
582
+ end
583
+ if @to_station != nil
584
+ object[:to_station] = @to_station
585
+ end
586
+ if @text != nil
587
+ object[:text] = @text
588
+ end
589
+ if @create_date != nil
590
+ object[:create_date] = @create_date
591
+ end
592
+ if @valid_until != nil
593
+ object[:valid_until] = @valid_until
594
+ end
595
+ if @time_to_send != nil
596
+ object[:time_to_send] = @time_to_send
597
+ end
598
+ if @is_submit_report_requested != nil
599
+ object[:is_submit_report_requested] = @is_submit_report_requested
600
+ end
601
+ if @is_delivery_report_requested != nil
602
+ object[:is_delivery_report_requested] = @is_delivery_report_requested
603
+ end
604
+ if @is_view_report_requested != nil
605
+ object[:is_view_report_requested] = @is_view_report_requested
606
+ end
607
+ if @tags != {}
608
+ object[:tags] = self.get_tags
609
+ end
610
+ object
611
+ end
612
+
613
+ def to_s
614
+ "%s->%s '%s'" % [@from_address, @to_address, @text]
615
+ end
616
+ end
617
+
618
+ class Folder
619
+ def initialize
620
+ @inbox = "inbox"
621
+ @outbox = "outbox"
622
+ @sent = "sent"
623
+ @notnent = "notsent"
624
+ @deleted = "deleted"
625
+ end
626
+
627
+ def inbox
628
+ @inbox
629
+ end
630
+
631
+ def outbox
632
+ @outbox
633
+ end
634
+
635
+ def sent
636
+ @sent
637
+ end
638
+
639
+ def notnent
640
+ @notnent
641
+ end
642
+
643
+ def deleted
644
+ @deleted
645
+ end
646
+ end
647
+
648
+ class DeliveryStatus
649
+ def initialize
650
+ @success = "Success"
651
+ @failed = "Failed"
652
+ end
653
+
654
+ def failed
655
+ @failed
656
+ end
657
+
658
+ def success
659
+ @success
660
+ end
661
+ end
662
+
663
+ class MessageSendResult
664
+ def initialize(message, status, status_message)
665
+ @message = message
666
+ @delivery_status = status
667
+ @status_message = status_message
668
+ end
669
+
670
+ def to_s
671
+ '%s, %s' % [@delivery_status, @message.to_s]
672
+ end
673
+ end
674
+
675
+ class MessageSendResults
676
+ def initialize(total_count, success_count, failed_count, results)
677
+ @total_count = total_count
678
+ @success_count = success_count
679
+ @failed_count = failed_count
680
+ @results = results
681
+ end
682
+
683
+ def total_count
684
+ @total_count
685
+ end
686
+
687
+ def success_count
688
+ @success_count
689
+ end
690
+
691
+ def failed_count
692
+ @failed_count
693
+ end
694
+
695
+ def results
696
+ @results
697
+ end
698
+
699
+ def to_s
700
+ "Total: %d. Success: %d. Failed: %d." % [@total_count, @success_count, @failed_count]
701
+ end
702
+ end
703
+
704
+ class MessageDeleteResult
705
+ def initialize(folder)
706
+ @folder = folder
707
+ @message_ids_remove_succeeded = []
708
+ @message_ids_remove_failed = []
709
+ @total_count = 0
710
+ @success_count = 0
711
+ @failed_count = 0
712
+ end
713
+
714
+ def add_message_id_remove_succeeded(id)
715
+ @message_ids_remove_succeeded.append(id)
716
+ @total_count += 1
717
+ @success_count += 1
718
+ end
719
+
720
+ def add_message_id_remove_failed(id)
721
+ @message_ids_remove_failed.append(id)
722
+ @total_count += 1
723
+ @failed_count += 1
724
+ end
725
+
726
+ def total_count
727
+ @total_count
728
+ end
729
+
730
+ def success_count
731
+ @success_count
732
+ end
733
+
734
+ def failed_count
735
+ @failed_count
736
+ end
737
+
738
+ def to_s
739
+ "Total: %d. Success: %d. Failed: %d." % [@total_count, @success_count, @failed_count]
740
+ end
741
+ end
742
+
743
+ class MessageMarkResult
744
+ def initialize(folder)
745
+ @folder = folder
746
+ @message_ids_mark_succeeded = []
747
+ @message_ids_mark_failed = []
748
+ @total_count = 0
749
+ @success_count = 0
750
+ @failed_count = 0
751
+ end
752
+
753
+ def add_message_id_mark_succeeded(id)
754
+ @message_ids_mark_succeeded.append(id)
755
+ @total_count += 1
756
+ @success_count += 1
757
+ end
758
+
759
+ def add_message_id_mark_failed(id)
760
+ @message_ids_mark_failed.append(id)
761
+ @total_count += 1
762
+ @failed_count += 1
763
+ end
764
+
765
+ def total_count
766
+ @total_count
767
+ end
768
+
769
+ def success_count
770
+ @success_count
771
+ end
772
+
773
+ def failed_count
774
+ @failed_count
775
+ end
776
+
777
+ def to_s
778
+ "Total: %d. Success: %d. Failed: %d." % [@total_count, @success_count, @failed_count]
779
+ end
780
+ end
781
+
782
+ class MessageReceiveResult
783
+ def initialize(folder, limit)
784
+ @folder = folder
785
+ @limit = limit
786
+ @messages = Array.new
787
+ end
788
+
789
+ def append_message(message)
790
+ if message.kind_of?(Message)
791
+ @messages.append(message)
792
+ end
793
+ end
794
+
795
+ def messages
796
+ @messages
797
+ end
798
+
799
+ def to_s
800
+ 'Message count: %d.' % [@messages.length()]
801
+ end
802
+ end
metadata ADDED
@@ -0,0 +1,58 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ozeki_libs_rest
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Zsolt Ardai
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-07-05 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: faraday
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 1.5.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 1.5.0
27
+ description: With the ozeki_libs_rest library you can send SMS messages using the
28
+ Ruby programming language and the Ozeki SMS Gateway.
29
+ email: ''
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - lib/ozeki_libs_rest.rb
35
+ homepage: https://github.com/zsoltardai/ozeki_libs_rest
36
+ licenses:
37
+ - MIT
38
+ metadata: {}
39
+ post_install_message:
40
+ rdoc_options: []
41
+ require_paths:
42
+ - lib
43
+ required_ruby_version: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ required_rubygems_version: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ requirements: []
54
+ rubygems_version: 3.2.15
55
+ signing_key:
56
+ specification_version: 4
57
+ summary: This is a library for the Ozeki SMS Gateway software.
58
+ test_files: []