class IGeTui::Validate
Public Instance Methods
get_payload(args = {})
click to toggle source
# File lib/igetui/validate.rb, line 82 def get_payload(args = {}) apnsMap = Hash.new sound = "default" unless validate_length(args, :sound) apnsMap["sound"] = args[:sound] alertMap = Hash.new if validate_length(args, :launch_image) alertMap["launch-image"] = args[:launch_image] end if validate_length(args, :loc_key) alertMap["loc-key"] = args[:loc_key] if validate_length(args, :loc_args) alertMap["loc-args"] = args[:loc_args].split(", ") end elsif validate_length(nil, args[:message]) alertMap["body"] = args[:message] end apnsMap["alert"] = alertMap if validate_length(args, :action_loc_key) apnsMap["action-loc-key"] = args[:action_loc_key] end apnsMap["badge"] = args[:badge] h = Hash.new h["aps"] = apnsMap h["payload"] = args[:payload] if validate_length(nil, args[:payload]) return h end
process_payload(args)
click to toggle source
# File lib/igetui/validate.rb, line 28 def process_payload(args) is_valid = false pb = Payload.new if !args[:loc_key].nil? && args[:loc_key].length > 0 pb.alert_loc_key = args[:loc_key] if !args[:loc_args].nil? && args[:loc_args].length > 0 pb.alert_loc_args = args[:loc_args].split(",") end is_valid = true end if !args[:message].nil? && args[:message].length > 0 pb.alert_body = args[:message] is_valid = true end if !args[:action_loc_key].nil? && args[:action_loc_key].length > 0 pb.alert_action_loc_key = args[:action_loc_key] end if !args[:launch_image].nil? && args[:launch_image].length > 0 pb.alert_launch_image = args[:launch_image] end badge_num = args[:badge].to_i if badge_num >= 0 pb.badge = badge_num is_valid = true end if !args[:sound].nil? && args[:sound].length > 0 pb.sound = args[:sound] end if !args[:payload].nil? && args[:payload].length > 0 pb.add_param("payload", payload) end unless is_valid puts "one of the params(locKey,message,badge) must not be null" end json = pb.to_s if json.nil? puts "payload json is null" end json # do something end
validate(args = {})
click to toggle source
# File lib/igetui/validate.rb, line 3 def validate(args = {}) # payload_map = get_payload(args) # json = JSON.generate payload_map # if (json.length > 256) # raise ArgumentError.new("PushInfo length over limit: #{json.length}. Allowed: 256.") # end is_validate = validate_payload(args) unless is_validate payload_len = validate_payload_length(args) raise ArgumentError.new("PushInfo length over limit: #{payload_len.length}. Allowed: 256.") end end
validate_payload(args)
click to toggle source
# File lib/igetui/validate.rb, line 18 def validate_payload(args) length = validate_payload_length(args) length <= 256 end
validate_payload_length(args)
click to toggle source
# File lib/igetui/validate.rb, line 23 def validate_payload_length(args) json = process_payload(args) json.length end
Private Instance Methods
validate_length(args = {}, key)
click to toggle source
# File lib/igetui/validate.rb, line 118 def validate_length(args = {}, key) if key.class == Symbol args[key] && args[key].length > 0 else key && key.length > 0 end end