mfms 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/mfms/sms.rb +21 -3
  3. data/lib/mfms/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6275368229d65373594802e1ea72a218dfde252b
4
- data.tar.gz: 6f8c06258ad905b2904ca677a3b6b0d3628e0524
3
+ metadata.gz: 6ae64ec8c94b3342a9233737e7950969e1fbccbe
4
+ data.tar.gz: d83570485e8c366af7da09ca5e34d67c5a21dd47
5
5
  SHA512:
6
- metadata.gz: a90c7ac25217b7810c0646db83bd8eb9aaed73f5c3518c9634c99313ac145e29ae5cdc8c878b7d19fa72fed1496aec83e365d07ca5a226f546bac61a707cca07
7
- data.tar.gz: 9c90c71176091a054a52db407a36b6c1f040c5b1064e84cbbcd03142a972a97897589306ddabdf2330e4226de89cc12049d68cc1a9f6122770bfd76b493499f9
6
+ metadata.gz: d1de22bb5cd0072f3113f96cd71c10d300db23f74834ba392983934a9dcab5c171be09c2a7cc4039810b8b7385dd7eafef210d35927bfd85193a260419f3fd27
7
+ data.tar.gz: 36fce255803d1c5ea964553fa8fdee16ddccfcf0063fba9ee32fff2f7202a5fa32bad54f76033b68dde408dacdfc38b257edcc7fbc445b470558728b903948ce
data/lib/mfms/sms.rb CHANGED
@@ -24,9 +24,8 @@ module Mfms
24
24
  @@server = settings[:server]
25
25
  @@port = settings[:port]
26
26
  @@ssl_port = settings[:ssl_port]
27
- @@cert_store = OpenSSL::X509::Store.new
28
- @@cert_store.add_cert OpenSSL::X509::Certificate.new File.read(settings[:cert])
29
- @@ssl = settings[:ssl] & true # connect using ssl by default
27
+ @@cert_store = init_cert_store settings[:cert]
28
+ @@ssl = !settings[:ssl].nil? ? settings[:ssl] : true # connect using ssl by default
30
29
 
31
30
  validate_settings!
32
31
  end
@@ -105,9 +104,28 @@ module Mfms
105
104
  end
106
105
 
107
106
  def validate!
107
+ raise ArgumentError, "Phone should be assigned to #{self.class}." if @phone.nil?
108
+ raise ArgumentError, "Phone number should contain only numbers. Minimum length is 10. #{@phone.inspect} is given." unless @phone =~ /^[0-9]{10,}$/
109
+ raise ArgumentError, "Subject should be assigned to #{self.class}." if @subject.nil?
110
+ raise ArgumentError, "Message should be assigned to #{self.class}." if @message.nil?
111
+ end
112
+
113
+ def self.init_cert_store cert
114
+ raise ArgumentError, "Path to certificate should be defined for #{self}." if cert.nil?
115
+ raise ArgumentError, "Certificate file '#{File.expand_path(cert)}' does not exist." unless File.exist?(cert)
116
+ cert_store = OpenSSL::X509::Store.new
117
+ cert_store.add_cert OpenSSL::X509::Certificate.new File.read(cert)
118
+ cert_store
108
119
  end
109
120
 
110
121
  def self.validate_settings!
122
+ raise ArgumentError, "Login should be defined for #{self}." if @@login.nil?
123
+ raise ArgumentError, "Password should be defined for #{self}." if @@password.nil?
124
+ raise ArgumentError, "Server should be defined for #{self}." if @@server.nil?
125
+ raise ArgumentError, "Port should be defined for #{self}." if @@port.nil?
126
+ raise ArgumentError, "Port for ssl should be defined for #{self}." if @@ssl_port.nil?
127
+ raise ArgumentError, "Port should contain only numbers. #{@@port.inspect} is given." unless @@port.instance_of?(Fixnum)
128
+ raise ArgumentError, "Port for ssl should contain only numbers. #{@@ssl_port.inspect} is given." unless @@ssl_port.instance_of?(Fixnum)
111
129
  end
112
130
 
113
131
  def send_url
data/lib/mfms/version.rb CHANGED
@@ -2,7 +2,7 @@ module Mfms
2
2
  class Version
3
3
  MAJOR = 0
4
4
  MINOR = 2
5
- PATCH = 0
5
+ PATCH = 1
6
6
 
7
7
  def self.to_s
8
8
  "#{MAJOR}.#{MINOR}.#{PATCH}"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mfms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fokin Eugene
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-04 00:00:00.000000000 Z
12
+ date: 2013-03-14 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: This library helps to send sms via mfms service
15
15
  email: