sms48-rails 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +15 -0
  2. data/lib/sms48.rb +55 -0
  3. metadata +43 -0
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ MWNjMzkyOTcwMGZmMjQwNzhjOWJmZDUxMTI2YTNhNjY0YzI0ZDY1MA==
5
+ data.tar.gz: !binary |-
6
+ YzNiNjdmZGQ4MzM5MTM0NjhlODk0NGI1ODIwMzJmOTMxMGMyMDNiZg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ NTFhNDQwOGY5YjQzYTE4ODRkNzVlZThmMmJhZWQyZDY2YjgwMTMzNWMzNThk
10
+ MGIwOTMxZjk0YzkyOGQ4NzE5MzkxYWYzOTk1NmFkZTQ3YTIxMDhjYjhkOWI2
11
+ MjIyMzM3MWRhMzczZTdlOGYyNTZmZmE4N2JmYjIyNzcwOTY4MTM=
12
+ data.tar.gz: !binary |-
13
+ NGE3NDk4ZjQyMDkyMGY4ZGRjNGJjNmNhMmU3MTI1YjA2YTA3YTYxYzdjYTQ3
14
+ ZDRiODZmMWYyYTg2NmMxOWIzMjVjYWU2OWY1NGJiZGFiMzc5Mjc4N2FhN2Uz
15
+ NTQ4NjJmMjI1OWMxYWI0ZGQ2NDljYjk1NWIzMmYxYzdhZGUyYjU=
data/lib/sms48.rb ADDED
@@ -0,0 +1,55 @@
1
+ #encoding:utf-8
2
+
3
+ #SmsSend::count - Количество оставшихся SMS
4
+ #SmsSend::snd from, to, msg, status_url
5
+
6
+ #status_url - на этот URL будет передаваться с
7
+ #параметрами статус доставки
8
+ #пример: http://example.com/sms/1/%d
9
+ #(%d - статус, значение 8 - отправлено,
10
+ #1 - доставлено, 2 - не удалось)
11
+
12
+ # До использования необходимо установить логин
13
+ # с паролем к sms48.ru следующим образом:
14
+ # При использовании Rails
15
+ # в файле /config/initializers/sms48.rb
16
+
17
+ # module Sms48
18
+ # EMAIL = 'yourmail@mail.com'
19
+ # PASS = 'yourpassword'
20
+ # end
21
+
22
+ require 'net/http'
23
+ require 'digest'
24
+
25
+ module Sms48
26
+
27
+ def self.snd from, to, msg, status_url
28
+ phone = get_phone to
29
+
30
+ msg = msg.encode("cp1251")
31
+
32
+ msg = URI::encode(msg);
33
+ dlr = URI::encode(status_url);
34
+
35
+ checksumm = md5("#{EMAIL}#{md5(PASS)}#{phone}");
36
+
37
+ res = Net::HTTP.get('sms48.ru',
38
+ "/send_sms.php?login=#{EMAIL}&to=#{phone}&msg=#{msg}&from=#{from}&check2=#{checksumm}&dlr_url=#{dlr}")
39
+ return res == "1"
40
+ end
41
+
42
+ def self.get_phone phone
43
+ phone.gsub!(/[- ]/, '')
44
+ "7#{/.*(\d{10})/.match(phone)[1]}"
45
+ end
46
+
47
+ def self.md5 text
48
+ Digest::MD5.hexdigest(text)
49
+ end
50
+
51
+ def self.count
52
+ check = md5("#{EMAIL}#{md5(PASS)}")
53
+ Net::HTTP.get('sms48.ru', "/get_balance?login=#{EMAIL}&check=#{check}").to_i
54
+ end
55
+ end
metadata ADDED
@@ -0,0 +1,43 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: sms48-rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Alexander Presnyakov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-07-27 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Sending sms with sms48.ru
14
+ email: alex@pixella.ru
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/sms48.rb
20
+ homepage: http://rubygems.org/gems/sms48-rails
21
+ licenses: []
22
+ metadata: {}
23
+ post_install_message:
24
+ rdoc_options: []
25
+ require_paths:
26
+ - lib
27
+ required_ruby_version: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ! '>='
30
+ - !ruby/object:Gem::Version
31
+ version: 1.9.3
32
+ required_rubygems_version: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ! '>='
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ requirements: []
38
+ rubyforge_project:
39
+ rubygems_version: 2.0.3
40
+ signing_key:
41
+ specification_version: 4
42
+ summary: sms48-rails
43
+ test_files: []