day work towards ios and qr optimization

This commit is contained in:
2012-12-11 00:48:29 +01:00
parent 7d0afde69f
commit 7f27d043eb
18 changed files with 287 additions and 253 deletions
+49 -11
View File
@@ -1,19 +1,45 @@
require 'fileutils'
include FileUtils
#rm_rf Rails.root.join('public', 'assets')
#`rake assets:precompile`
Rails.application.routes.default_url_options = {format: 'html'}
#rm_rf Rails.root.join('public', 'assets') # now done in ./make_...
#`rake assets:precompile` now done in ./make_...
Rails.application.routes.default_url_options = {format: 'html'} # append .html extension to asset paths
rails_assets_path = Rails.root.join('public', 'assets')
android_root = '/Users/bterkuile/Documents/workspace/Qwaiter/assets'
root_url = "file:///Users/bterkuile/Documents/workspace/Qwaiter/assets"
root_url = 'file:///android_asset'
mkdir_p File.join(android_root, 'user')
ios_root = '/Users/bterkuile/Documents/iOS/Qwaiter/www'
android_root_url = "file:///Users/bterkuile/Documents/workspace/Qwaiter/assets"
android_root_url = 'file:///android_asset'
# Cleanup and setup android structure
#mkdir_p File.join(android_root, 'user')
rm_rf File.join(android_root, 'assets')
Dir.glob(File.join('public', 'assets', '**', '*.gz')).each{|f| rm_f f}
move Rails.root.join('public', 'assets'), File.join(android_root, 'assets') if File.directory?(Rails.root.join('public', 'assets'))
# Cleanup and setup ios structure
rm_rf Dir.glob(File.join(ios_root, '**', '*'))
#mkdir_p File.join(ios_root, 'user')
# COPY iOS resources
copy File.join(ios_root, '..', 'www-original', 'cordova-2.2.0.js'), ios_root
ln_s File.join(ios_root, '..', 'www-original', 'qmobile.js'), ios_root
copy '/Users/bterkuile/Documents/iOS/phonegap-plugins/iOS/BarcodeScanner/barcodescanner.js', ios_root
# DO iOS ASSETS
cp_r rails_assets_path, File.join(ios_root, 'assets')
for css in Dir.glob(File.join(ios_root, "**", "*.css"))
contents = File.read(css)
contents.gsub!(/url\("\/assets\//, %|url("../|)
contents.gsub!(/url\(\/assets\//, %|url(../|)
File.open(css, 'w'){|f| f.puts contents}
end
move rails_assets_path, File.join(android_root, 'assets')
for css in Dir.glob(File.join(android_root, "**", "*.css"))
contents = File.read(css)
contents.gsub!(/url\("/, %|url("#{root_url}|)
contents.gsub!(/url\(\//, %|url(#{root_url}/|)
contents.gsub!(/url\("/, %|url("#{android_root_url}|)
contents.gsub!(/url\(\//, %|url(#{android_root_url}/|)
File.open(css, 'w'){|f| f.puts contents}
end
@@ -38,9 +64,21 @@ for action in uc.action_methods
if File.exist?(Rails.root.join('app', 'views', 'user', "#{action}.html.slim"))
puts "action #{action} found"
result = uc.render_to_string(action: action.dup)
## WRITE TO IOS PATH
ios_view = result.gsub /(href|src)="\/user\/([^"]+)/, %|\\1="./\\2| # replace absolute path names to relative ones
ios_view = ios_view.gsub /(href|src)="\/assets\/([^"]+)/, %|\\1="./assets/\\2| # make assets calls relative
ios_view.sub! /<\/title>/, '</title><script type="text/javascript" src="qmobile.js"><script type="text/javascript" src="cordova-2.2.0.js"></script><script type="text/javascript" src="barcodescanner.js"></script>'
ios_view.gsub! '##assets_path##', './assets/'
File.open(File.join(ios_root, "#{action}.html"), 'w'){|f| f.puts ios_view}
## MODIFY FOR ANDROID
#result.sub! /<head>/, '<head><base href="file:///Users/bterkuile/Documents/workspace/Qwaiter/assets/" target="_self" />'
result.gsub! /(href|src)="([^#])/, %|\\1="#{root_url}\\2|
File.open(File.join(android_root, 'user', "#{action}.html"), 'w'){|f| f.puts result}
android_view = result.gsub /(href|src)="\/user\/([^"]+)/, %|\\1="/\\2| # replace absolute path names to relative ones
android_view.gsub! /(href|src)="([^#])/, %|\\1="#{android_root_url}\\2| # replace relative uri's with android specific one
android_view.gsub! '##assets_path##', 'file:///android_asset/assets/'
# write to android path
File.open(File.join(android_root, "#{action}.html"), 'w'){|f| f.puts android_view}
end
end
view = view = ActionView::Base.new(uc.view_paths)