-
Notifications
You must be signed in to change notification settings - Fork 195
/
mobile_fu_helper.rb
24 lines (20 loc) · 1.11 KB
/
mobile_fu_helper.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
module MobileFuHelper
ACCEPTABLE_TYPES = [:mobile, :basic]
def mobile_xhtml_doctype(type = :mobile, version = '1.0')
raise Exception.new("MobileFu: XHTML DOCTYPE type must either be ':mobile' or ':basic'") unless ACCEPTABLE_TYPES.include?(type)
raise Exception.new("MobileFu: XHTML DOCTYPE version must be in the format of '1.0' or '1.1', etc.") unless version.include?('.')
doc_type = "<?xml version=\"1.0\" charset=\"UTF-8\" ?>\n"
doc_type += "<!DOCTYPE html PUBLIC "
doc_type += case type
when :mobile
"\"-//WAPFORUM//DTD XHTML Mobile #{version}//EN\" \"http://www.openmobilealliance.org/tech/DTD/xhtml-mobile#{version.gsub('.','')}.dtd\">"
when :basic
"\"-//W3C//DTD XHTML Basic #{version}//EN\" \"http://www.w3.org/TR/xhtml-basic/xhtml-basic#{version.gsub('.','')}.dtd\">"
end
doc_type
end
def js_enabled_mobile_device?
is_device?('iphone') || is_device?('ipod') || is_device?('ipad') || is_device?('mobileexplorer') || is_device?('android')
end
end
ActionView::Base.send(:include, MobileFuHelper)