globalsms 0.3.1 → 0.4.0

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
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