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