devinosmsclient 0.0.4
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.
- data/Manifest +5 -0
- data/README +0 -0
- data/Rakefile +12 -0
- data/devinosmsclient.gemspec +29 -0
- data/lib/devinosmsclient.rb +102 -0
- metadata +66 -0
data/Manifest
ADDED
data/README
ADDED
File without changes
|
data/Rakefile
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
3
|
+
require 'echoe'
|
4
|
+
|
5
|
+
Echoe.new('devinosmsclient', '0.0.4') do |p|
|
6
|
+
p.description = "Devino Sms Service Consumer"
|
7
|
+
p.url = "http://github.com/kohgpat/devinosmsclient"
|
8
|
+
p.author = "Nikolay Burlov"
|
9
|
+
p.email = "kohgpat@gmail.com"
|
10
|
+
p.ignore_pattern = ["tmp/*", "script/*"]
|
11
|
+
p.development_dependencies = []
|
12
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = %q{devinosmsclient}
|
5
|
+
s.version = "0.0.4"
|
6
|
+
|
7
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
|
+
s.authors = ["Nikolay Burlov"]
|
9
|
+
s.date = %q{2011-02-17}
|
10
|
+
s.description = %q{Devino Sms Service Consumer}
|
11
|
+
s.email = %q{kohgpat@gmail.com}
|
12
|
+
s.extra_rdoc_files = ["README", "lib/devinosmsclient.rb"]
|
13
|
+
s.files = ["Manifest", "README", "Rakefile", "devinosmsclient.gemspec", "lib/devinosmsclient.rb"]
|
14
|
+
s.homepage = %q{http://github.com/kohgpat/devinosmsclient}
|
15
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Devinosmsclient", "--main", "README"]
|
16
|
+
s.require_paths = ["lib"]
|
17
|
+
s.rubyforge_project = %q{devinosmsclient}
|
18
|
+
s.rubygems_version = %q{1.5.0}
|
19
|
+
s.summary = %q{Devino Sms Service Consumer}
|
20
|
+
|
21
|
+
if s.respond_to? :specification_version then
|
22
|
+
s.specification_version = 3
|
23
|
+
|
24
|
+
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
25
|
+
else
|
26
|
+
end
|
27
|
+
else
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,102 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
|
3
|
+
require 'rubygems'
|
4
|
+
require 'savon'
|
5
|
+
|
6
|
+
Savon.configure do |config|
|
7
|
+
config.log = false
|
8
|
+
config.log_level = :info
|
9
|
+
end
|
10
|
+
|
11
|
+
module DevinoSmsClient
|
12
|
+
|
13
|
+
VERSION = '0.0.4'
|
14
|
+
|
15
|
+
class Client
|
16
|
+
|
17
|
+
def initialize(login, password)
|
18
|
+
@client = Savon::Client.new do
|
19
|
+
wsdl.document = "https://ws.devinosms.com/SmsService.asmx?wsdl"
|
20
|
+
end
|
21
|
+
@session_id = get_session_id(login, password)
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_balance
|
25
|
+
session_id = @session_id
|
26
|
+
response = @client.request :wsdl, :get_balance do
|
27
|
+
soap.body = {
|
28
|
+
:sessionID => session_id
|
29
|
+
}
|
30
|
+
end
|
31
|
+
return response.to_hash[:get_balance_response][:get_balance_result]
|
32
|
+
end
|
33
|
+
|
34
|
+
def send_message(message, destination, source)
|
35
|
+
session_id = @session_id
|
36
|
+
response = @client.request :wsdl, :send_message do
|
37
|
+
soap.body = {
|
38
|
+
:sessionID => session_id,
|
39
|
+
:message => {
|
40
|
+
:Data => message,
|
41
|
+
:DestinationAddresses => {
|
42
|
+
:string => destination
|
43
|
+
},
|
44
|
+
:SourceAddress => source,
|
45
|
+
:ReceiptRequest => false
|
46
|
+
}
|
47
|
+
}
|
48
|
+
end
|
49
|
+
return response.to_hash[:send_message_response][:send_message_result][:string]
|
50
|
+
end
|
51
|
+
|
52
|
+
def send_message_by_time_zone(message, destination, source, send_date)
|
53
|
+
session_id = @session_id
|
54
|
+
response = @client.request :wsdl, :send_message_by_time_zone do
|
55
|
+
soap.body = {
|
56
|
+
:sessionID => session_id,
|
57
|
+
:sourceAddress => source,
|
58
|
+
:destinationAddress => destination,
|
59
|
+
:data => message,
|
60
|
+
:sendDate => send_date
|
61
|
+
}
|
62
|
+
end
|
63
|
+
return response.to_hash[:send_message_by_time_zone_response][:send_message_by_time_zone_result][:string]
|
64
|
+
end
|
65
|
+
|
66
|
+
def get_message_state(message_id)
|
67
|
+
session_id = @session_id
|
68
|
+
response = @client.request :wsdl, :get_message_state do
|
69
|
+
soap.body = {
|
70
|
+
:sessionID => session_id,
|
71
|
+
:messageID => message_id
|
72
|
+
}
|
73
|
+
end
|
74
|
+
return response.to_hash[:get_message_state_response][:get_message_state_result][:state],
|
75
|
+
response.to_hash[:get_message_state_response][:get_message_state_result][:state_description]
|
76
|
+
end
|
77
|
+
|
78
|
+
def get_incoming_messages(max_date, min_date)
|
79
|
+
session_id = @session_id
|
80
|
+
response = @client.request :wsdl, :get_incoming_messages do
|
81
|
+
soap.body = {
|
82
|
+
:sessionID => session_id,
|
83
|
+
:maxDateUTC => max_date,
|
84
|
+
:minDateUTC => min_date
|
85
|
+
}
|
86
|
+
end
|
87
|
+
return response.to_hash[:get_incoming_messages_response][:get_incoming_messages_result]
|
88
|
+
end
|
89
|
+
|
90
|
+
private
|
91
|
+
|
92
|
+
def get_session_id(login, password)
|
93
|
+
response = @client.request :wsdl, :get_session_id do
|
94
|
+
soap.body = {
|
95
|
+
:login => login,
|
96
|
+
:password => password
|
97
|
+
}
|
98
|
+
end
|
99
|
+
return response.to_hash[:get_session_id_response][:get_session_id_result]
|
100
|
+
end
|
101
|
+
end
|
102
|
+
end
|
metadata
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: devinosmsclient
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
prerelease:
|
5
|
+
version: 0.0.4
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Nikolay Burlov
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2011-02-17 00:00:00 -05:00
|
14
|
+
default_executable:
|
15
|
+
dependencies: []
|
16
|
+
|
17
|
+
description: Devino Sms Service Consumer
|
18
|
+
email: kohgpat@gmail.com
|
19
|
+
executables: []
|
20
|
+
|
21
|
+
extensions: []
|
22
|
+
|
23
|
+
extra_rdoc_files:
|
24
|
+
- README
|
25
|
+
- lib/devinosmsclient.rb
|
26
|
+
files:
|
27
|
+
- Manifest
|
28
|
+
- README
|
29
|
+
- Rakefile
|
30
|
+
- devinosmsclient.gemspec
|
31
|
+
- lib/devinosmsclient.rb
|
32
|
+
has_rdoc: true
|
33
|
+
homepage: http://github.com/kohgpat/devinosmsclient
|
34
|
+
licenses: []
|
35
|
+
|
36
|
+
post_install_message:
|
37
|
+
rdoc_options:
|
38
|
+
- --line-numbers
|
39
|
+
- --inline-source
|
40
|
+
- --title
|
41
|
+
- Devinosmsclient
|
42
|
+
- --main
|
43
|
+
- README
|
44
|
+
require_paths:
|
45
|
+
- lib
|
46
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
47
|
+
none: false
|
48
|
+
requirements:
|
49
|
+
- - ">="
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: "0"
|
52
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
53
|
+
none: false
|
54
|
+
requirements:
|
55
|
+
- - ">="
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: "1.2"
|
58
|
+
requirements: []
|
59
|
+
|
60
|
+
rubyforge_project: devinosmsclient
|
61
|
+
rubygems_version: 1.5.0
|
62
|
+
signing_key:
|
63
|
+
specification_version: 3
|
64
|
+
summary: Devino Sms Service Consumer
|
65
|
+
test_files: []
|
66
|
+
|