devinosmsclient 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ Manifest
2
+ README
3
+ Rakefile
4
+ devinosmsclient.gemspec
5
+ lib/devinosmsclient.rb
data/README ADDED
File without changes
@@ -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
+