globalsms 0.3.1 → 0.4.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8316fc1436ba0bd9a51031ad5e00a15050280f4d
4
- data.tar.gz: 8b217ff274da38ed17fe540ba4bfbbc05b699c75
3
+ metadata.gz: 9e616d4e78940b24811200b28634529951b3fa3a
4
+ data.tar.gz: 4e1bcf400397c449b2d72d3e03d8c78b5efdcba7
5
5
  SHA512:
6
- metadata.gz: c7d224e9447d916832985479fa716ed17f9fac36b68bb9b663d0cff752ba64511cd37001a83a5bd6be582508f8df7e38ce8dab0432e7eefdcc74a1fcebabd588
7
- data.tar.gz: 2d7b7fc73cd93cf3579fad7591f5ce48528c9a5ee084b8c1e61a4462bcb92e3e41108fa0ac486cdd9ebec794bc023101925c7c27fc19f1aa0dc2b9eb7470e2e1
6
+ metadata.gz: 8a7615613b0398f9833d0e627b292a329ea5ed2683930348716d6a558e728dbf0f4a4d04ba78c06da9fc2efd05d83db8c7087fdfb0d6efdaff627a63fbee98e4
7
+ data.tar.gz: 06aefe8d3a34363c2d348e498935abea02bacb43a60e2e576abcf97c1a718eb41577058d643bdf5d70c4f5ae9557225355d4d9e792642f3ffe1e2d2c2d2301de
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2015 Emre Can Yılmaz
3
+ Copyright (c) 2015 Salih Özdemir
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -37,7 +37,7 @@ Kullanıcının gireceği değerler:
37
37
  numbers: "5493666154"
38
38
  text: "Mesaj Metni"
39
39
 
40
- #### (single_send) Tek mesaj gönderen örnek kod:
40
+ #### Bir mesaj gönderme
41
41
 
42
42
  ```ruby
43
43
  require 'globalsms'
@@ -58,9 +58,9 @@ sms.single_send(argv)
58
58
  # }
59
59
  ```
60
60
 
61
- #### (bulk_send) Aynı mesajı birden fazla numaraya gönderen örnek kod:
61
+ #### Aynı mesajı birden fazla numaraya gönderme
62
62
 
63
- NOT: Bu yöntem ile mesaj gönderilirken birden fazla numaraya gönderilen aynı mesajlar, tek bir `message_id` üretir.
63
+ NOT: Tek mesaj gönderme yöntemiyle aynıdır. Sadece `numbers` değerine dizi olarak birden fazla numara verilir. Tek bir `message_id` üretir.
64
64
 
65
65
  ```ruby
66
66
  require 'globalsms'
@@ -74,7 +74,7 @@ argv = {
74
74
  turkish_character: "1"
75
75
  }
76
76
 
77
- sms.bulk_send(argv)
77
+ sms.single_send(argv)
78
78
 
79
79
  # {
80
80
  # "result" => true, "message_id" => "239922", "numbers" => ["5493666154", "5493666155", "5493666156", "5493666157"
@@ -83,7 +83,7 @@ sms.bulk_send(argv)
83
83
  # }
84
84
  ```
85
85
 
86
- #### (multi_send) Tek bir çağrıda birden fazla numaraya farklı mesajlar gönderen örnek kod:
86
+ #### Tek bir çağrıda birden fazla numaraya farklı mesajlar gönderme
87
87
 
88
88
  ```ruby
89
89
  require 'globalsms'
@@ -135,14 +135,14 @@ sms.multi_send(argv)
135
135
 
136
136
  Gönderilmiş mesajlara ait raporları almak için fonksiyonlara argüman olarak tek bir çağrı için `message_id`, birden fazla çağrı için `message_id` leri içeren bir array verilir. Fonksiyon geriye **hash** döndürür.
137
137
 
138
- #### (single_report) Tek mesaja ait raporları döndüren örnek kod:
138
+ #### Bir mesaja ait raporları görüntüleme
139
139
 
140
140
  ```ruby
141
141
  require 'globalsms'
142
142
 
143
143
  sms = GlobalSMS::REPORT.new('api-key', 'api-secret')
144
144
 
145
- sms.single_report(239916)
145
+ sms.message(239916)
146
146
 
147
147
  # {
148
148
  # "result" => true, "data" => [{
@@ -153,47 +153,7 @@ sms.single_report(239916)
153
153
  # }
154
154
  ```
155
155
 
156
- #### (bulk_report) Birden fazla mesaja ait raporları döndüren örnek kod:
157
-
158
- ```ruby
159
- require 'globalsms'
160
-
161
- sms = GlobalSMS::REPORT.new('api-key', 'api-secret')
162
-
163
- arr = ["239928", "239929", "239930", "239931"]
164
-
165
- sms.bulk_report(arr)
166
-
167
- # {
168
- # "239928" => {
169
- # "result" => true, "data" => [{
170
- # "id" => "34163260", "created_datetime" => "2015-05-05 15:00:52", "gsm_no" => "5493666154", "gsm_operator" => "2", "sent_status" => "2", "sent_datetime" => "2015-05-05 15:00:53", "out_status" => "255", "out_datetime" => "2015-05-05 15:00:53", "report_message" => "COMMAND_ERROR", "name" => nil
171
- # }], "totals" => {
172
- # "total_number" => "1", "message_id" => "239928", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "paid_coin" => "1"
173
- # }
174
- # }, "239929" => {
175
- # "result" => true, "data" => [{
176
- # "id" => "34163261", "created_datetime" => "2015-05-05 15:00:52", "gsm_no" => "5493666155", "gsm_operator" => "2", "sent_status" => "2", "sent_datetime" => "2015-05-05 15:00:53", "out_status" => "255", "out_datetime" => "2015-05-05 15:00:53", "report_message" => "COMMAND_ERROR", "name" => nil
177
- # }], "totals" => {
178
- # "total_number" => "1", "message_id" => "239929", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "paid_coin" => "1"
179
- # }
180
- # }, "239930" => {
181
- # "result" => true, "data" => [{
182
- # "id" => "34163262", "created_datetime" => "2015-05-05 15:00:52", "gsm_no" => "5493666156", "gsm_operator" => "2", "sent_status" => "2", "sent_datetime" => "2015-05-05 15:00:53", "out_status" => "255", "out_datetime" => "2015-05-05 15:00:53", "report_message" => "COMMAND_ERROR", "name" => nil
183
- # }], "totals" => {
184
- # "total_number" => "1", "message_id" => "239930", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "paid_coin" => "1"
185
- # }
186
- # }, "239931" => {
187
- # "result" => true, "data" => [{
188
- # "id" => "34163263", "created_datetime" => "2015-05-05 15:00:52", "gsm_no" => "5493666157", "gsm_operator" => "2", "sent_status" => "2", "sent_datetime" => "2015-05-05 15:00:53", "out_status" => "255", "out_datetime" => "2015-05-05 15:00:53", "report_message" => "COMMAND_ERROR", "name" => nil
189
- # }], "totals" => {
190
- # "total_number" => "1", "message_id" => "239931", "total_sent" => "1", "num_reached" => "0", "num_not_reached" => "0", "num_waiting_for_time" => "0", "paid_coin" => "1"
191
- # }
192
- # }
193
- # }
194
- ```
195
-
196
- #### (report_last) Son x mesaja ait raporları döndüren örnek kod:
156
+ #### Son x mesaja ait raporları görüntüleme
197
157
 
198
158
  Argüman verilmezse, ön tanımlı olarak en son yollanan (1) mesaja ait raporu döndürür.
199
159
 
@@ -202,7 +162,7 @@ require 'globalsms'
202
162
 
203
163
  sms = GlobalSMS::REPORT.new('api-key', 'api-secret')
204
164
 
205
- sms.report_last(10)
165
+ sms.last_n(10)
206
166
 
207
167
  # {
208
168
  # "result" => true, "data" => [{
@@ -231,7 +191,7 @@ sms.report_last(10)
231
191
  # }
232
192
  ```
233
193
 
234
- #### (report_between) Belirli tarihler arasında gönderilmiş mesajlara ait raporları döndüren örnek kod:
194
+ #### Belirli tarihler arasında gönderilmiş mesajlara ait raporları görüntüleme
235
195
 
236
196
  Bu fonsiyon argüman olarak **hash** alır ve sonuç olarak **hash** döner.
237
197
 
@@ -257,7 +217,7 @@ argv = {
257
217
  end_time: "20:22:00"
258
218
  }
259
219
 
260
- sms.report_between(argv)
220
+ sms.between(argv)
261
221
 
262
222
  # {
263
223
  # "result" => true, "data" => [{
@@ -268,14 +228,16 @@ sms.report_between(argv)
268
228
  # }
269
229
  ```
270
230
 
271
- #### (originator_list) Orinigator (gönderici adı) listeleyen örnek kod:
231
+ ### Bilgi Alma
232
+
233
+ #### Gönderici adlarını görüntüleme
272
234
 
273
235
  Bu fonksiyon argüman almaz.
274
236
 
275
237
  ```ruby
276
238
  require 'globalsms'
277
239
 
278
- sms = GlobalSMS::REPORT.new('api-key', 'api-secret')
240
+ sms = GlobalSMS::INFO.new('api-key', 'api-secret')
279
241
 
280
242
  sms.originator_list
281
243
 
@@ -286,12 +248,12 @@ sms.originator_list
286
248
  # }
287
249
  ```
288
250
 
289
- #### (user_info) Kullanıcı detaylarını ve kalan kredi bilgisini döndüren örnek kod:
251
+ #### Kullanıcı detaylarını ve kalan kredi bilgisini görüntüleme
290
252
 
291
253
  ```ruby
292
254
  require 'globalsms'
293
255
 
294
- sms = GlobalSMS::REPORT.new('api-key', 'api-secret')
256
+ sms = GlobalSMS::INFO.new('api-key', 'api-secret')
295
257
 
296
258
  sms.user_info
297
259
 
@@ -308,7 +270,7 @@ Bu Gem, GlobalHaberlesme.com dan bağımsız bir geliştirici tarafından oluşt
308
270
 
309
271
  ## Katkıda Bulunma
310
272
 
311
- Geliştirmeye yapacağınız öneri ve katkılarınızı bekliyorum.
273
+ Geliştirmeye yapacağınız öneri ve katkılarınızı bekliyoruz.
312
274
 
313
275
  ## Lisans
314
276
 
@@ -318,4 +280,4 @@ Bu Gem, MIT Lisansı ile korunur.
318
280
 
319
281
  Orijinal API Dokümantasyonu `http://uye.globalhaberlesme.com/uploads/api_user.pdf`
320
282
 
321
- RubyGems `https://rubygems.org/gems/globalsms`
283
+ RubyGems `https://rubygems.org/gems/globalsms`
data/globalsms.gemspec CHANGED
@@ -16,21 +16,11 @@ Gem::Specification.new do |spec|
16
16
 
17
17
  spec.required_ruby_version = '~> 2.0'
18
18
 
19
- # Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
20
- # delete this section to allow pushing this gem to any host.
21
- # if spec.respond_to?(:metadata)
22
- # spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
23
- # else
24
- # raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
25
- # end
26
-
27
19
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
28
20
  spec.bindir = "exe"
29
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
30
22
  spec.require_paths = ["lib"]
31
23
 
32
-
33
-
34
24
  spec.add_development_dependency "bundler", "~> 1.9"
35
25
  spec.add_development_dependency "rake", "~> 10.0"
36
26
  spec.add_runtime_dependency "httpclient"
data/lib/globalsms.rb CHANGED
@@ -1,7 +1,7 @@
1
+ require 'httpclient'
2
+ require 'json'
1
3
  require File.expand_path('../globalsms/defaults', __FILE__)
4
+ require File.expand_path('../globalsms/info', __FILE__)
2
5
  require File.expand_path('../globalsms/sms', __FILE__)
3
6
  require File.expand_path('../globalsms/report', __FILE__)
4
7
  require File.expand_path('../globalsms/version', __FILE__)
5
-
6
- module GlobalSMS
7
- end
@@ -1,2 +1,3 @@
1
1
  module GlobalSMS
2
- end
2
+ API_BASE_URL = 'http://api.globalhaberlesme.com'
3
+ end
@@ -0,0 +1,26 @@
1
+ module GlobalSMS
2
+ class INFO
3
+ def initialize(api_key, api_secret)
4
+ @api_key = api_key
5
+ @api_secret = api_secret
6
+ end
7
+
8
+ def originator_list
9
+ uri = "/originator/list?key=#{@api_key}&secret=#{@api_secret}"
10
+ get_to_api(uri)
11
+ end
12
+
13
+ def user_info
14
+ uri = "/user/info?key=#{@api_key}&secret=#{@api_secret}"
15
+ get_to_api(uri)
16
+ end
17
+
18
+ private
19
+
20
+ def get_to_api(uri)
21
+ client = HTTPClient.new
22
+ response = client.get("#{API_BASE_URL}#{uri}")
23
+ JSON.parse(response.body)
24
+ end
25
+ end
26
+ end
@@ -1,59 +1,37 @@
1
- require "globalsms/version"
2
- require 'httpclient'
3
- require 'json'
4
-
5
1
  module GlobalSMS
6
2
  class REPORT
7
3
  def initialize(api_key, api_secret)
8
- @api_base_url = "http://api.globalhaberlesme.com"
9
4
  @api_key = api_key
10
5
  @api_secret = api_secret
11
6
  end
12
7
 
13
- def single_report(argv)
14
- uri = "#{@api_base_url}/sms/report/#{argv}?key=#{@api_key}&secret=#{@api_secret}"
15
- c = HTTPClient.new
16
- return JSON.parse(c.get(uri).body)
17
- end
18
-
19
- def bulk_report(argv)
20
- res = {}
21
- argv.each do |message_id|
22
- body = JSON.parse(HTTPClient.new.get("#{@api_base_url}/sms/report/#{message_id}?key=#{@api_key}&secret=#{@api_secret}").body)
23
- res[message_id] = body
24
- end
25
- return res
8
+ def message(message_id)
9
+ uri = "/sms/report/#{message_id}?key=#{@api_key}&secret=#{@api_secret}"
10
+ get_to_api(uri)
26
11
  end
27
12
 
28
- def report_last(argv=1)
29
- uri = "#{@api_base_url}/sms/report/sent?limit=#{argv}&key=#{@api_key}&secret=#{@api_secret}"
30
- c = HTTPClient.new
31
- return JSON.parse(c.get(uri).body)
13
+ def last_n(limit=1)
14
+ uri = "/sms/report/sent?limit=#{limit}&key=#{@api_key}&secret=#{@api_secret}"
15
+ get_to_api(uri)
32
16
  end
33
17
 
34
- def report_between(argv)
18
+ def between(argv)
35
19
  argv = {
36
- start_time: "00:00:00",
37
- end_time: "23:59:59"
20
+ start_time: '00:00:00',
21
+ end_time: '23:59:59'
38
22
  }.merge(argv)
39
23
 
40
- uri_with_whitespace = "#{@api_base_url}/sms/report/sent?between_start=#{argv[:start_date]} #{argv[:start_time]}&between_end=#{argv[:end_date]} #{argv[:end_time]}&key=#{@api_key}&secret=#{@api_secret}"
41
- uri = URI.parse(URI.encode(uri_with_whitespace.strip))
42
-
43
- c = HTTPClient.new
44
- return JSON.parse(c.get(uri).body)
24
+ uri = "/sms/report/sent?between_start=#{argv[:start_date]} #{argv[:start_time]}&between_end=#{argv[:end_date]} #{argv[:end_time]}&key=#{@api_key}&secret=#{@api_secret}"
25
+ safe_uri = URI.parse(URI.encode(uri))
26
+ get_to_api(safe_uri)
45
27
  end
46
-
47
- def originator_list
48
- uri = "#{@api_base_url}/originator/list?key=#{@api_key}&secret=#{@api_secret}"
49
- c = HTTPClient.new
50
- return JSON.parse(c.get(uri).body)
51
- end
52
-
53
- def user_info
54
- uri = "#{@api_base_url}/user/info?key=#{@api_key}&secret=#{@api_secret}"
55
- c = HTTPClient.new
56
- return JSON.parse(c.get(uri).body)
28
+
29
+ private
30
+
31
+ def get_to_api(uri)
32
+ client = HTTPClient.new
33
+ response = client.get("#{API_BASE_URL}#{uri}")
34
+ JSON.parse(response.body)
57
35
  end
58
36
  end
59
- end
37
+ end
data/lib/globalsms/sms.rb CHANGED
@@ -1,55 +1,32 @@
1
- require "globalsms/version"
2
- require 'httpclient'
3
- require 'json'
4
-
5
1
  module GlobalSMS
6
2
  class SMS
7
3
  def initialize(api_key, api_secret)
8
- @api_base_url = "http://api.globalhaberlesme.com" #TODO: DEFAULTS a çıkart
9
4
  @api_key = api_key
10
5
  @api_secret = api_secret
6
+ @default_args = {
7
+ time: 'now',
8
+ turkish_character: '0'
9
+ }
11
10
  end
12
-
13
- def single_send(argv)
14
- argv = {
15
- time: "now",
16
- turkish_character: "0"
17
- }.merge(argv)
18
-
19
- body = "data=#{argv.to_json.to_s}"
20
- uri = "#{@api_base_url}/sms/send/single?key=#{@api_key}&secret=#{@api_secret}"
21
11
 
22
- c = HTTPClient.new
23
- return JSON.parse(c.post(uri, body).body)
12
+ def single_send(message)
13
+ message = @default_args.merge(message)
14
+ post_to_api('single', message)
24
15
  end
25
16
 
26
- def bulk_send(argv)
27
- argv = {
28
- time: "now",
29
- turkish_character: "0"
30
- }.merge(argv)
31
-
32
- body = "data=#{argv.to_json.to_s}"
33
- uri = "#{@api_base_url}/sms/send/single?key=#{@api_key}&secret=#{@api_secret}"
34
-
35
- c = HTTPClient.new
36
- return JSON.parse(c.post(uri, body).body)
17
+ def multi_send(messages)
18
+ messages = messages.map { |message| @default_args.merge(message) }
19
+ post_to_api('multi', messages)
37
20
  end
38
21
 
39
- def multi_send(argv)
40
-
41
- argv_def = {
42
- time: "now",
43
- turkish_character: "0"
44
- }
45
-
46
- argv_array = argv.map { |arg| argv_def.merge(arg) }
47
-
48
- body = "data=#{argv_array.to_json.to_s}"
49
- uri = "#{@api_base_url}/sms/send/multi?key=#{@api_key}&secret=#{@api_secret}"
22
+ private
50
23
 
51
- c = HTTPClient.new
52
- return JSON.parse(c.post(uri, body).body)
24
+ def post_to_api(to, data)
25
+ client = HTTPClient.new
26
+ data = "data=#{data.to_json.to_s}"
27
+ uri = "#{API_BASE_URL}/sms/send/#{to}?key=#{@api_key}&secret=#{@api_secret}"
28
+ response = client.post(uri, data)
29
+ JSON.parse(response.body)
53
30
  end
54
31
  end
55
- end
32
+ end
@@ -1,3 +1,3 @@
1
1
  module GlobalSMS
2
- VERSION = "0.3.1"
2
+ VERSION = '0.4.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: globalsms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Salih Özdemir
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-05-08 00:00:00.000000000 Z
11
+ date: 2015-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -85,6 +85,7 @@ files:
85
85
  - globalsms.gemspec
86
86
  - lib/globalsms.rb
87
87
  - lib/globalsms/defaults.rb
88
+ - lib/globalsms/info.rb
88
89
  - lib/globalsms/report.rb
89
90
  - lib/globalsms/sms.rb
90
91
  - lib/globalsms/version.rb
@@ -108,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
108
109
  version: '0'
109
110
  requirements: []
110
111
  rubyforge_project:
111
- rubygems_version: 2.2.3
112
+ rubygems_version: 2.4.8
112
113
  signing_key:
113
114
  specification_version: 4
114
115
  summary: GlobalHaberlesme.com API leri İçin Ruby Gem