mfms 0.2.0 → 0.2.1

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.
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: