mobak 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 6efbc0f166128fca284689923960a067b8aa623a
4
+ data.tar.gz: 4ed5f4981794345f5f0996aec23ef5efacd8ff9b
5
+ SHA512:
6
+ metadata.gz: 55fde417c4a8e44c0ed67d00ba2e0a73ce2587f2351bd7946b476e34642fc68d6be64bebe6351809abdba871c813eb324061e3796f289c70a3a516c11185ac68
7
+ data.tar.gz: a07b5e3fac3ad37bacfd52198ae28eab9e15ed38ef0378739cc8a8275bae577bd2649536902a3b3d154f792c395d45f1276176467b31180dd2c32b8284f554d1
@@ -0,0 +1,19 @@
1
+ require 'net/http'
2
+ require 'uri'
3
+ require 'digest'
4
+ require 'mobak/configuration'
5
+ require 'mobak/sender'
6
+
7
+ module Mobak
8
+
9
+ def self.configuration
10
+ @configuration ||= Configuration.new
11
+ end
12
+
13
+ def self.configure
14
+ yield(configuration)
15
+ end
16
+
17
+ end
18
+
19
+ require './config/initializers/mobak'
@@ -0,0 +1,10 @@
1
+ module Mobak
2
+ class Configuration
3
+ attr_accessor :login, :password
4
+
5
+ def initialize
6
+ @login = ''
7
+ @password = ''
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,46 @@
1
+ module Mobak
2
+
3
+ class Sender
4
+
5
+ def self.send_sms(options={})
6
+
7
+ uri = URI("http://client.mobak.ru/api/messages/xml")
8
+
9
+ xml = '<?xml version="1.0" encoding="utf-8"?>'
10
+ xml += '<request uid="{uid}" sender="{sender}">'
11
+ xml += '<security><login value="{login}"/><sign value="{signature}" /></security>'
12
+ xml += '<message><text>{message}</text><abonent phone="{phone}"/></message></request>'
13
+
14
+ md5 = Digest::MD5.new
15
+ md5.update options[:uid] + config.password
16
+ h = md5.hexdigest
17
+
18
+ xml = xml.sub('{uid}', options[:uid])
19
+ xml = xml.sub('{login}', config.login)
20
+ xml = xml.sub('{signature}', h)
21
+ xml = xml.sub('{sender}', options[:sender])
22
+ xml = xml.sub('{message}', options[:message])
23
+ xml = xml.sub('{phone}', options[:phone])
24
+
25
+ # puts xml
26
+
27
+ Net::HTTP.start(uri.host, uri.port) do |http|
28
+ request = Net::HTTP::Post.new uri
29
+ request.set_form_data('xml' => xml)
30
+
31
+ response = http.request request
32
+
33
+ response.body
34
+ end
35
+
36
+ end
37
+
38
+ private
39
+
40
+ def self.config
41
+ Mobak.configuration
42
+ end
43
+
44
+ end
45
+
46
+ end
metadata ADDED
@@ -0,0 +1,46 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mobak
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Grigoriev Mike
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-02-18 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Mobile Active SMS sender gem
14
+ email: grigoriev@mobak.ru
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/mobak.rb
20
+ - lib/mobak/configuration.rb
21
+ - lib/mobak/sender.rb
22
+ homepage: http://rubygems.org/gems/mobak
23
+ licenses:
24
+ - MIT
25
+ metadata: {}
26
+ post_install_message:
27
+ rdoc_options: []
28
+ require_paths:
29
+ - lib
30
+ required_ruby_version: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ requirements: []
41
+ rubyforge_project:
42
+ rubygems_version: 2.4.8
43
+ signing_key:
44
+ specification_version: 4
45
+ summary: Mobak
46
+ test_files: []