tsms 0.1.3

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 (69) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +4 -0
  3. data/Gemfile.lock +60 -0
  4. data/LICENSE +22 -0
  5. data/README.md +107 -0
  6. data/Rakefile +7 -0
  7. data/fixtures/vcr_cassettes/account_api_get_balance.yml +49 -0
  8. data/fixtures/vcr_cassettes/email_sms_api_add_email.yml +49 -0
  9. data/fixtures/vcr_cassettes/email_sms_api_delete_email.yml +49 -0
  10. data/fixtures/vcr_cassettes/keywords_api_add_keyword.yml +49 -0
  11. data/fixtures/vcr_cassettes/keywords_api_edit_keyword.yml +49 -0
  12. data/fixtures/vcr_cassettes/keywords_api_get_keywords.yml +50 -0
  13. data/fixtures/vcr_cassettes/lists_api_add_list.yml +49 -0
  14. data/fixtures/vcr_cassettes/lists_api_add_to_list.yml +50 -0
  15. data/fixtures/vcr_cassettes/lists_api_delete_from_list.yml +49 -0
  16. data/fixtures/vcr_cassettes/lists_api_edit_list_member.yml +50 -0
  17. data/fixtures/vcr_cassettes/lists_api_get_list.yml +60 -0
  18. data/fixtures/vcr_cassettes/lists_api_get_lists.yml +61 -0
  19. data/fixtures/vcr_cassettes/lists_api_optout_list_member.yml +49 -0
  20. data/fixtures/vcr_cassettes/lists_api_remove_list.yml +49 -0
  21. data/fixtures/vcr_cassettes/numbers_api_get_number.yml +49 -0
  22. data/fixtures/vcr_cassettes/numbers_api_get_numbers.yml +49 -0
  23. data/fixtures/vcr_cassettes/numbers_api_lease_number.yml +50 -0
  24. data/fixtures/vcr_cassettes/resellers_api_add_client.yml +49 -0
  25. data/fixtures/vcr_cassettes/resellers_api_edit_client.yml +40 -0
  26. data/fixtures/vcr_cassettes/resellers_api_get_client.yml +50 -0
  27. data/fixtures/vcr_cassettes/resellers_api_get_clients.yml +59 -0
  28. data/fixtures/vcr_cassettes/resellers_api_get_transaction.yml +51 -0
  29. data/fixtures/vcr_cassettes/resellers_api_get_transactions.yml +61 -0
  30. data/fixtures/vcr_cassettes/sms_api_test_cancel_sms.yml +50 -0
  31. data/fixtures/vcr_cassettes/sms_api_test_format_number.yml +49 -0
  32. data/fixtures/vcr_cassettes/sms_api_test_format_number_fail_in_missing_msisdn.yml +50 -0
  33. data/fixtures/vcr_cassettes/sms_api_test_get_message_log.yml +50 -0
  34. data/fixtures/vcr_cassettes/sms_api_test_get_sms_info.yml +49 -0
  35. data/fixtures/vcr_cassettes/sms_api_test_get_sms_info_fail_for_not_existing_message_id.yml +50 -0
  36. data/fixtures/vcr_cassettes/sms_api_test_get_sms_responses.yml +53 -0
  37. data/fixtures/vcr_cassettes/sms_api_test_get_sms_sent.yml +50 -0
  38. data/fixtures/vcr_cassettes/sms_api_test_get_user_sms_responses.yml +49 -0
  39. data/fixtures/vcr_cassettes/sms_api_test_message_reply.yml +49 -0
  40. data/fixtures/vcr_cassettes/sms_api_test_send.yml +49 -0
  41. data/fixtures/vcr_cassettes/sms_api_test_send_missing_to_and_list_id.yml +50 -0
  42. data/fixtures/vcr_cassettes/sms_api_test_send_with_list_id.yml +50 -0
  43. data/geminstall.sh +1 -0
  44. data/lib/account_api.rb +80 -0
  45. data/lib/email_api.rb +137 -0
  46. data/lib/keywords_api.rb +224 -0
  47. data/lib/lists_api.rb +523 -0
  48. data/lib/monkey.rb +90 -0
  49. data/lib/numbers_api.rb +188 -0
  50. data/lib/resellers_api.rb +379 -0
  51. data/lib/ruby-transmitsms.rb +16 -0
  52. data/lib/sms_api.rb +550 -0
  53. data/lib/swagger/configuration.rb +22 -0
  54. data/lib/swagger/request.rb +212 -0
  55. data/lib/swagger/response.rb +70 -0
  56. data/lib/swagger/version.rb +4 -0
  57. data/lib/swagger.rb +84 -0
  58. data/ruby-transmitsms.gemspec +34 -0
  59. data/runtest.sh +8 -0
  60. data/setup.sh +1 -0
  61. data/spec/account_api_spec.rb +30 -0
  62. data/spec/email_sms_api_spec.rb +40 -0
  63. data/spec/keywords_api_spec.rb +56 -0
  64. data/spec/lists_api_spec.rb +117 -0
  65. data/spec/numbers_api_spec.rb +53 -0
  66. data/spec/resellers_api_spec.rb +85 -0
  67. data/spec/sms_api_spec.rb +174 -0
  68. data/spec/spec.opts +4 -0
  69. metadata +233 -0
@@ -0,0 +1,53 @@
1
+ require "rubygems"
2
+ require "bundler/setup"
3
+ require "ruby-transmitsms"
4
+ require "test/unit"
5
+ require "vcr"
6
+
7
+ VCR.configure do |c|
8
+ c.cassette_library_dir = "fixtures/vcr_cassettes"
9
+ c.hook_into :webmock
10
+ end
11
+
12
+ class NumbersApiTest < Test::Unit::TestCase
13
+
14
+ def setup()
15
+ @api = NumbersApi.new("15ad266c538fb36c4d90f01055aef494", "moose")
16
+ end
17
+
18
+ def test_get_number()
19
+ VCR.use_cassette("numbers_api_get_number") do
20
+ response = @api.get_number("+61422222222")
21
+
22
+ assert response.code == 200
23
+ assert response.body["number"] == 61422222222
24
+ assert response.body["auto_renew"] == true
25
+ assert response.body["error"]["code"] == "SUCCESS"
26
+ assert response.body["error"]["description"] == "OK"
27
+
28
+ end
29
+ end
30
+
31
+ def test_get_numbers()
32
+ VCR.use_cassette("numbers_api_get_numbers") do
33
+ response = @api.get_numbers("+61422222222")
34
+
35
+ assert response.code == 200
36
+ assert response.body["numbers"].length > 0
37
+ assert response.body["numbers_total"] == 4
38
+ assert response.body["error"]["code"] == "SUCCESS"
39
+ assert response.body["error"]["description"] == "OK"
40
+ end
41
+ end
42
+
43
+ def test_lease_number()
44
+ VCR.use_cassette("numbers_api_lease_number") do
45
+ response = @api.lease_number("0422222213")
46
+
47
+ assert response.code == 400
48
+ assert response.body["error"]["code"] == "FIELD_INVALID"
49
+ assert response.body["error"]["description"] == "This number is not available for lease."
50
+ end
51
+ end
52
+
53
+ end
@@ -0,0 +1,85 @@
1
+ require "rubygems"
2
+ require "bundler/setup"
3
+ require "ruby-transmitsms"
4
+ require "test/unit"
5
+ require "vcr"
6
+
7
+ VCR.configure do |c|
8
+ c.cassette_library_dir = "fixtures/vcr_cassettes"
9
+ c.hook_into :webmock
10
+ end
11
+
12
+ class ResellersApiTest < Test::Unit::TestCase
13
+
14
+ def setup()
15
+ @api = ResellersApi.new("15ad266c538fb36c4d90f01055aef494", "moose")
16
+ end
17
+
18
+ def test_get_client()
19
+ VCR.use_cassette("resellers_api_get_client") do
20
+ response = @api.get_client(2024)
21
+
22
+ assert_equal 200, response.code
23
+ assert_equal 2024, response.body["id"]
24
+ assert_equal "wefwefwef", response.body["name"]
25
+ assert_equal "SUCCESS", response.body["error"]["code"]
26
+ assert_equal "OK", response.body["error"]["description"]
27
+ end
28
+ end
29
+
30
+ def test_get_clients()
31
+ VCR.use_cassette("resellers_api_get_clients") do
32
+ response = @api.get_clients()
33
+
34
+ assert_equal 200, response.code
35
+ assert_equal 15, response.body["clients_total"]
36
+ assert_equal 10, response.body["clients"].length
37
+ assert_equal "SUCCESS", response.body["error"]["code"]
38
+ assert_equal "OK", response.body["error"]["description"]
39
+ end
40
+ end
41
+
42
+ def test_add_client()
43
+ # Needs to revisit why getting 400???
44
+ VCR.use_cassette("resellers_api_add_client") do
45
+ response = @api.add_client("my_client_test_13", nil, "my@clienttest13.com", "my_password", "+61491570156")
46
+
47
+ assert_equal 400, response.code
48
+ assert_equal "KEY_EXISTS", response.body["error"]["code"]
49
+ assert_equal "User already exists", response.body["error"]["description"]
50
+ end
51
+ end
52
+
53
+ def test_edit_client()
54
+ # Needs to revisit why getting 411??
55
+ VCR.use_cassette("resellers_api_edit_client") do
56
+ response = @api.edit_client(2024)
57
+
58
+ assert_equal 411, response.code
59
+ end
60
+ end
61
+
62
+ def test_get_transactions()
63
+ VCR.use_cassette("resellers_api_get_transactions") do
64
+ response = @api.get_transactions(2026)
65
+
66
+ assert_equal 200, response.code
67
+ assert_equal 6, response.body["transactions_total"]
68
+ assert_equal "SUCCESS", response.body["error"]["code"]
69
+ assert_equal "OK", response.body["error"]["description"]
70
+ end
71
+ end
72
+
73
+ def test_get_transaction()
74
+ VCR.use_cassette("resellers_api_get_transaction") do
75
+ response = @api.get_transaction(17389227)
76
+
77
+ assert_equal 200, response.code
78
+ assert_equal 17389227, response.body["id"]
79
+ assert_equal 2026, response.body["user_id"]
80
+ assert_equal "SUCCESS", response.body["error"]["code"]
81
+ assert_equal "OK", response.body["error"]["description"]
82
+ end
83
+ end
84
+
85
+ end
@@ -0,0 +1,174 @@
1
+ require "rubygems"
2
+ require "bundler/setup"
3
+ require "ruby-transmitsms"
4
+ require "test/unit"
5
+ require "vcr"
6
+
7
+ VCR.configure do |c|
8
+ c.cassette_library_dir = "fixtures/vcr_cassettes"
9
+ c.hook_into :webmock
10
+ end
11
+
12
+ class SmsApiTest < Test::Unit::TestCase
13
+
14
+ def setup()
15
+ @api = SmsApi.new("15ad266c538fb36c4d90f01055aef494", "moose")
16
+ end
17
+
18
+ def test_send()
19
+ VCR.use_cassette("sms_api_test_send") do
20
+ # Call method to test
21
+ response = @api.send("Testing API to field", "61422222222")
22
+
23
+ # Assert result
24
+ assert response.code == 200
25
+ assert response.body["error"]["code"] == "SUCCESS"
26
+ assert response.body["error"]["description"] == "OK"
27
+ end
28
+ end
29
+
30
+ def test_message_reply()
31
+ VCR.use_cassette("sms_api_test_message_reply") do
32
+ # Call method to test
33
+ response = @api.message_reply("Testing API to field", "61422222222", "61412345678")
34
+
35
+ # Assert result
36
+ assert response.code == 200
37
+ assert response.body["result"] == "SYSTEM: Message response handled\n"
38
+ assert response.body["error"]["code"] == "SUCCESS"
39
+ assert response.body["error"]["description"] == "OK"
40
+ end
41
+ end
42
+
43
+ def test_get_message_log()
44
+ VCR.use_cassette("sms_api_test_get_message_log") do
45
+ # Call method to test
46
+ response = @api.get_message_log("50694", "61422222222")
47
+
48
+ # Assert result
49
+ assert response.code == 200
50
+ assert response.body["message_id"] == 50694
51
+ assert response.body["caller_id"] == 61422345678
52
+ assert response.body["mobile"] == 61422222222
53
+ assert response.body["error"]["code"] == "SUCCESS"
54
+ assert response.body["error"]["description"] == "OK"
55
+ end
56
+ end
57
+
58
+ def test_send_with_list_id()
59
+ VCR.use_cassette("sms_api_test_send_with_list_id") do
60
+ # Call method to test
61
+ response = @api.send("Testing API with list_id field", nil, nil, nil, 55314)
62
+
63
+ # Assert result
64
+ assert response.code == 200
65
+ assert response.body["list"]["id"] == 55314
66
+ assert response.body["error"]["code"] == "SUCCESS"
67
+ assert response.body["error"]["description"] == "OK"
68
+ end
69
+ end
70
+
71
+ def test_send_missing_to_and_list_id()
72
+ VCR.use_cassette("sms_api_test_send_missing_to_and_list_id") do
73
+ response = @api.send("Test error sending")
74
+
75
+ assert response.code == 400
76
+ assert response.body["error"]["code"] == "FIELD_INVALID"
77
+ assert response.body["error"]["description"] == "You must provide either 'list_id' or 'to'"
78
+ end
79
+ end
80
+
81
+ def test_format_number()
82
+ VCR.use_cassette("sms_api_test_format_number") do
83
+ response = @api.format_number("0455667889", "AU")
84
+
85
+ assert response.code == 200
86
+ assert response.body["number"]["countrycode"] == 61
87
+ assert response.body["number"]["nationalnumber"] == 455667889
88
+ assert response.body["number"]["national_leading_zeroes"] == 455667889
89
+ assert response.body["number"]["rawinput"] == nil
90
+ assert response.body["number"]["international"] == 61455667889
91
+ assert response.body["number"]["type"] == 1
92
+ assert response.body["number"]["isValid"] == true
93
+ assert response.body["error"]["code"] == "SUCCESS"
94
+ assert response.body["error"]["description"] == "OK"
95
+ end
96
+ end
97
+
98
+ def test_format_number_fail_in_missing_msisdn()
99
+ VCR.use_cassette("sms_api_test_format_number_fail_in_missing_msisdn") do
100
+ response = @api.format_number("", "AU")
101
+
102
+ assert response.code == 400
103
+ assert response.body["error"]["code"] == "FIELD_EMPTY"
104
+ assert response.body["error"]["description"] == "Required field 'msisdn' is empty"
105
+ end
106
+ end
107
+
108
+ def test_get_sms_info()
109
+ VCR.use_cassette("sms_api_test_get_sms_info") do
110
+ response = @api.get_sms(27746)
111
+
112
+ assert response.code == 200
113
+ assert response.body["message_id"] == 27746
114
+ assert response.body["error"]["code"] == "SUCCESS"
115
+ assert response.body["error"]["description"] == "OK"
116
+ end
117
+ end
118
+
119
+ def test_get_sms_info_fail_for_not_existing_message_id()
120
+ VCR.use_cassette("sms_api_test_get_sms_info_fail_for_not_existing_message_id") do
121
+ response = @api.get_sms(1)
122
+
123
+ assert response.code == 400
124
+ assert response.body["error"]["code"] == "NOT_FOUND"
125
+ assert response.body["error"]["description"] == "Message with this ID does not exist"
126
+ end
127
+ end
128
+
129
+ def test_get_sms_responses()
130
+ VCR.use_cassette("sms_api_test_get_sms_responses") do
131
+ response = @api.get_sms_responses(27746)
132
+
133
+ assert response.code == 200
134
+ assert response.body["total"] == 2
135
+ assert response.body["responses"].length > 0
136
+ assert response.body["error"]["code"] == "SUCCESS"
137
+ assert response.body["error"]["description"] == "OK"
138
+ end
139
+ end
140
+
141
+ def test_get_user_sms_responses()
142
+ VCR.use_cassette("sms_api_test_get_user_sms_responses") do
143
+ response = @api.get_user_sms_responses("2015-09-13 00:00:00", "2015-04-20 23:59:59")
144
+
145
+ puts response.body
146
+ assert response.code == 200
147
+ assert response.body["total"] == 1
148
+ assert response.body["error"]["code"] == "SUCCESS"
149
+ assert response.body["error"]["description"] == "OK"
150
+ end
151
+ end
152
+
153
+ def test_get_sms_sent()
154
+ VCR.use_cassette("sms_api_test_get_sms_sent") do
155
+ response = @api.get_sms_sent(27746)
156
+
157
+ assert response.code == 200
158
+ assert response.body["total"] == 2
159
+ assert response.body["recipients"].length > 0
160
+ assert response.body["error"]["code"] == "SUCCESS"
161
+ assert response.body["error"]["description"] == "OK"
162
+ end
163
+ end
164
+
165
+ def test_cancel_sms()
166
+ VCR.use_cassette("sms_api_test_cancel_sms") do
167
+ response = @api.cancel_sms(27741)
168
+
169
+ assert response.code == 400
170
+ assert response.body["error"]["code"] == "ALREADY_SENT"
171
+ end
172
+ end
173
+
174
+ end
data/spec/spec.opts ADDED
@@ -0,0 +1,4 @@
1
+ --colour
2
+ --format progress
3
+ --loadby mtime
4
+ --reverse
metadata ADDED
@@ -0,0 +1,233 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tsms
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.3
5
+ platform: ruby
6
+ authors:
7
+ - Transmitsms Developers
8
+ - Chase
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2022-11-22 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: typhoeus
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 0.2.1
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: 0.2.1
28
+ - !ruby/object:Gem::Dependency
29
+ name: addressable
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: 2.2.4
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: 2.2.4
42
+ - !ruby/object:Gem::Dependency
43
+ name: json
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: 2.0.0
49
+ type: :runtime
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: 2.0.0
56
+ - !ruby/object:Gem::Dependency
57
+ name: rspec
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 2.5.0
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: 2.5.0
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec-mocks
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: vcr
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: 2.9.3
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: 2.9.3
98
+ - !ruby/object:Gem::Dependency
99
+ name: webmock
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: 1.21.0
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: 1.21.0
112
+ - !ruby/object:Gem::Dependency
113
+ name: test-unit
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: 3.0.0
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - ">="
124
+ - !ruby/object:Gem::Version
125
+ version: 3.0.0
126
+ description: Ruby gem to easily access TransmitSMS RESTful APIs
127
+ email:
128
+ - transmitsms@gmail.com
129
+ - hello@chase.net.nz
130
+ executables: []
131
+ extensions: []
132
+ extra_rdoc_files: []
133
+ files:
134
+ - Gemfile
135
+ - Gemfile.lock
136
+ - LICENSE
137
+ - README.md
138
+ - Rakefile
139
+ - fixtures/vcr_cassettes/account_api_get_balance.yml
140
+ - fixtures/vcr_cassettes/email_sms_api_add_email.yml
141
+ - fixtures/vcr_cassettes/email_sms_api_delete_email.yml
142
+ - fixtures/vcr_cassettes/keywords_api_add_keyword.yml
143
+ - fixtures/vcr_cassettes/keywords_api_edit_keyword.yml
144
+ - fixtures/vcr_cassettes/keywords_api_get_keywords.yml
145
+ - fixtures/vcr_cassettes/lists_api_add_list.yml
146
+ - fixtures/vcr_cassettes/lists_api_add_to_list.yml
147
+ - fixtures/vcr_cassettes/lists_api_delete_from_list.yml
148
+ - fixtures/vcr_cassettes/lists_api_edit_list_member.yml
149
+ - fixtures/vcr_cassettes/lists_api_get_list.yml
150
+ - fixtures/vcr_cassettes/lists_api_get_lists.yml
151
+ - fixtures/vcr_cassettes/lists_api_optout_list_member.yml
152
+ - fixtures/vcr_cassettes/lists_api_remove_list.yml
153
+ - fixtures/vcr_cassettes/numbers_api_get_number.yml
154
+ - fixtures/vcr_cassettes/numbers_api_get_numbers.yml
155
+ - fixtures/vcr_cassettes/numbers_api_lease_number.yml
156
+ - fixtures/vcr_cassettes/resellers_api_add_client.yml
157
+ - fixtures/vcr_cassettes/resellers_api_edit_client.yml
158
+ - fixtures/vcr_cassettes/resellers_api_get_client.yml
159
+ - fixtures/vcr_cassettes/resellers_api_get_clients.yml
160
+ - fixtures/vcr_cassettes/resellers_api_get_transaction.yml
161
+ - fixtures/vcr_cassettes/resellers_api_get_transactions.yml
162
+ - fixtures/vcr_cassettes/sms_api_test_cancel_sms.yml
163
+ - fixtures/vcr_cassettes/sms_api_test_format_number.yml
164
+ - fixtures/vcr_cassettes/sms_api_test_format_number_fail_in_missing_msisdn.yml
165
+ - fixtures/vcr_cassettes/sms_api_test_get_message_log.yml
166
+ - fixtures/vcr_cassettes/sms_api_test_get_sms_info.yml
167
+ - fixtures/vcr_cassettes/sms_api_test_get_sms_info_fail_for_not_existing_message_id.yml
168
+ - fixtures/vcr_cassettes/sms_api_test_get_sms_responses.yml
169
+ - fixtures/vcr_cassettes/sms_api_test_get_sms_sent.yml
170
+ - fixtures/vcr_cassettes/sms_api_test_get_user_sms_responses.yml
171
+ - fixtures/vcr_cassettes/sms_api_test_message_reply.yml
172
+ - fixtures/vcr_cassettes/sms_api_test_send.yml
173
+ - fixtures/vcr_cassettes/sms_api_test_send_missing_to_and_list_id.yml
174
+ - fixtures/vcr_cassettes/sms_api_test_send_with_list_id.yml
175
+ - geminstall.sh
176
+ - lib/account_api.rb
177
+ - lib/email_api.rb
178
+ - lib/keywords_api.rb
179
+ - lib/lists_api.rb
180
+ - lib/monkey.rb
181
+ - lib/numbers_api.rb
182
+ - lib/resellers_api.rb
183
+ - lib/ruby-transmitsms.rb
184
+ - lib/sms_api.rb
185
+ - lib/swagger.rb
186
+ - lib/swagger/configuration.rb
187
+ - lib/swagger/request.rb
188
+ - lib/swagger/response.rb
189
+ - lib/swagger/version.rb
190
+ - ruby-transmitsms.gemspec
191
+ - runtest.sh
192
+ - setup.sh
193
+ - spec/account_api_spec.rb
194
+ - spec/email_sms_api_spec.rb
195
+ - spec/keywords_api_spec.rb
196
+ - spec/lists_api_spec.rb
197
+ - spec/numbers_api_spec.rb
198
+ - spec/resellers_api_spec.rb
199
+ - spec/sms_api_spec.rb
200
+ - spec/spec.opts
201
+ homepage: http://transmitsms.com
202
+ licenses: []
203
+ metadata:
204
+ allowed_push_host: https://rubygems.org
205
+ post_install_message:
206
+ rdoc_options: []
207
+ require_paths:
208
+ - lib
209
+ - models
210
+ required_ruby_version: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - ">="
213
+ - !ruby/object:Gem::Version
214
+ version: '0'
215
+ required_rubygems_version: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - ">="
218
+ - !ruby/object:Gem::Version
219
+ version: '0'
220
+ requirements: []
221
+ rubygems_version: 3.3.7
222
+ signing_key:
223
+ specification_version: 4
224
+ summary: TransmitSMS API with hotfixes
225
+ test_files:
226
+ - spec/account_api_spec.rb
227
+ - spec/email_sms_api_spec.rb
228
+ - spec/keywords_api_spec.rb
229
+ - spec/lists_api_spec.rb
230
+ - spec/numbers_api_spec.rb
231
+ - spec/resellers_api_spec.rb
232
+ - spec/sms_api_spec.rb
233
+ - spec/spec.opts