lib/moonshado/sms.rb in moonshado-sms-1.0.1 vs lib/moonshado/sms.rb in moonshado-sms-1.1.0.rc1
- old
+ new
@@ -29,23 +29,14 @@
def initialize(number = "", message = "")
@number = number
@message = message
end
- # def self.find(id)
- # if config[:test_env] == true
- # {:sms => {:id => id, :reports => '[{"update_date":"2010-01-03T22:56:45-08:00","status_info":"test"}]'}, :stat => "ok"}
- # else
- # response = RestClient.get("#{url}/#{id}")
- # JSON.parse(response.body)
- # end
- # end
-
def deliver_sms
raise MoonshadoSMSException.new("Invalid message") unless is_message_valid?(@message)
- data = {:sms => {:device_address => format_number(@number), :message => @message}}
+ data = {:sms => {:device_address => format_number(@number), :message => @message.to_s}}
if production_environment?
begin
response = sender.send_to_moonshado(data, configuration.sms_uri)
rescue Exception => e
@@ -68,11 +59,15 @@
def is_number_valid?(number)
number.length >= 11 && number[/^.\d+$/]
end
def is_message_valid?(message)
- message.size <= 115 && !message.nil? && message.is_a?(String) && !message.empty?
+ if message_length_check?
+ message_length_range.include?(message.to_s.size)
+ else
+ true
+ end
end
class MoonshadoSMSException < StandardError; end
private
@@ -92,8 +87,16 @@
begin
parser = Yajl::Parser.new.parse(json)
rescue Exception => e
{"stat"=>"fail", "error"=>"json parser error", "response"=>json.to_s}
end
+ end
+
+ def message_length_range
+ configuration.message_length_range
+ end
+
+ def message_length_check?
+ configuration.message_length_check?
end
end
end