mobile-fu 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
@@ -0,0 +1,113 @@
1
+ commit a46e0d5ff0a95407bbd8f3437a372ced53d90c9b
2
+ Author: Brendan G. Lim <brendan@intridea.com>
3
+ Date: Sat Dec 20 20:59:49 2008 -0500
4
+
5
+ Added a helper method to determine if a device is JavaScript enabled and one to output the XHTML Mobile 1.0 doctype
6
+
7
+ commit f4b29b2e2c68a79b8904dddb7a91efd4341540ee
8
+ Author: Brendan G. Lim <brendan@intridea.com>
9
+ Date: Sun Sep 21 21:39:10 2008 -0400
10
+
11
+ Fixes issue with 'in_mobile_view' instead of 'is_mobile_view' helper method
12
+
13
+ commit 29e8e8b407dd3dc8d5f3248183223d11c6a78843
14
+ Author: Brendan G. Lim <brendan@intridea.com>
15
+ Date: Wed Sep 10 12:51:12 2008 -0400
16
+
17
+ Updating CHANGELOG
18
+
19
+ commit 0aac5bd7f0d2f71e6af7b144a04a18dad9f5aca5
20
+ Author: Brendan G. Lim <brendan@intridea.com>
21
+ Date: Wed Sep 10 12:50:50 2008 -0400
22
+
23
+ Styling overrides for iPods
24
+
25
+ commit f30c97c794ba74e737856aa9226328469c8395b6
26
+ Author: Brendan G. Lim <brendan@intridea.com>
27
+ Date: Mon Sep 8 00:07:27 2008 -0400
28
+
29
+ Adding in some comments to the latest changes
30
+
31
+ commit 78dae861e46d383356d7e4d6dfdaefbf60072e27
32
+ Author: Brendan G. Lim <brendan@intridea.com>
33
+ Date: Mon Sep 8 00:06:16 2008 -0400
34
+
35
+ Updating README
36
+
37
+ commit 1a66ccd2142e387f6d3138acb688a58df4687fcd
38
+ Author: Brendan G. Lim <brendan@intridea.com>
39
+ Date: Mon Sep 8 00:05:48 2008 -0400
40
+
41
+ Adding in a helper method to check for a specific mobile device and adding in 'ipod' to the list of mobile user agents
42
+
43
+ commit cbb26fff3287e16a757ee2aed2dcc8e98cbfb369
44
+ Author: Brendan G. Lim <brendan@intridea.com>
45
+ Date: Fri Aug 22 22:16:19 2008 -0400
46
+
47
+ Updating the CHANGELOG
48
+
49
+ commit ee49945b593b1c55bf546da1d595a0941d071f94
50
+ Author: Brendan G. Lim <brendan@intridea.com>
51
+ Date: Fri Aug 22 22:16:00 2008 -0400
52
+
53
+ Updating README
54
+
55
+ commit 02c12a8563466f7cef6aba8e53915dc2efec908c
56
+ Author: Brendan G. Lim <brendan@intridea.com>
57
+ Date: Mon Aug 18 16:08:51 2008 -0400
58
+
59
+ Adding in support for Android
60
+
61
+ commit 2dffa5958905c0419288d03a0650127a0734b41a
62
+ Author: Brendan G. Lim <brendan@intridea.com>
63
+ Date: Sat Jul 26 14:08:56 2008 -0400
64
+
65
+ Adding in other phone user agents, including some Japanese and French manufacturers
66
+
67
+ commit e8f9f1a9c2e668d639690f4f1beb4f701f742cfa
68
+ Author: Brendan G. Lim <brendan@intridea.com>
69
+ Date: Fri Jul 18 11:15:52 2008 -0400
70
+
71
+ Adding in CHANGELOG
72
+
73
+ commit a3122b40c0c722b2942e9cb5341614d0e0d834a5
74
+ Author: Brendan G. Lim <brendan@intridea.com>
75
+ Date: Fri Jul 18 11:14:35 2008 -0400
76
+
77
+ Changes to README
78
+
79
+ commit 64a24e36b6a770757963eb2d961262fb8a14ec1b
80
+ Author: Brendan G. Lim <brendan@intridea.com>
81
+ Date: Fri Jul 18 11:10:40 2008 -0400
82
+
83
+ Quick fix
84
+
85
+ commit 116fa5b7c1168471cf56cb9961b98f0b73fc3308
86
+ Author: Brendan G. Lim <brendan@intridea.com>
87
+ Date: Fri Jul 18 10:04:41 2008 -0400
88
+
89
+ Fixed issue with mobile view session variable getting set incorrectly, when forcing mobile format
90
+
91
+ commit d172665c9d0458801fd672076e269a3c0ee9d80d
92
+ Author: Brendan G. Lim <brendan@intridea.com>
93
+ Date: Fri Jul 18 01:04:19 2008 -0400
94
+
95
+ Adding in more MIT license goodness
96
+
97
+ commit a6c947d684d2d9abdbe354dc1ea757f23cd5a633
98
+ Author: Brendan G. Lim <brendan@intridea.com>
99
+ Date: Fri Jul 18 01:00:55 2008 -0400
100
+
101
+ Change to the README
102
+
103
+ commit dad4f4db1f3cb816283069a91c01982c953ff8a5
104
+ Author: Brendan G. Lim <brendan@intridea.com>
105
+ Date: Fri Jul 18 01:00:16 2008 -0400
106
+
107
+ Change to the README
108
+
109
+ commit c5ec9de6ef19e48a66917d8f6f3a59771295765b
110
+ Author: Brendan G. Lim <brendan@intridea.com>
111
+ Date: Fri Jul 18 00:59:36 2008 -0400
112
+
113
+ Releasing Mobile Fu to the world
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in mobile-fu.gemspec
4
+ gemspec
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2008 Brendan G. Lim, Intridea, Inc.
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,99 @@
1
+ = Mobile Fu
2
+
3
+ Want to automatically detect mobile devices that access your Rails application?
4
+ Mobile Fu allows you to do just that. People can access your site from a Palm,
5
+ Blackberry, iPhone, iPad, Nokia, etc. and it will automatically adjust the format
6
+ of the request from :html to :mobile.
7
+
8
+ == Rails 3 Compatibility
9
+
10
+ The master branch of this plugin is Rails 3 compatible.
11
+
12
+ To use the Rails 3 compatible version of this plugin, please install it like so:
13
+
14
+ rails plugin install git://github.com/brendanlim/mobile-fu.git
15
+
16
+ == Rails 2 Compatibility
17
+
18
+ You will need to install this plugin from the 2.x branch.
19
+
20
+ To use the Rails 2 compatible version of this plugin, please install it like so:
21
+
22
+ script/plugin install git://github.com/brendanlim/mobile-fu.git -r 2.x
23
+
24
+ == Usage
25
+
26
+ Add this this one line to the controller.
27
+
28
+ class ApplicationController < ActionController::Base
29
+ has_mobile_fu
30
+ end
31
+
32
+ Once this is in place, any request that comes from a mobile device will be be
33
+ set as :mobile format. It is up to you to determine how you want to handle
34
+ these requests. It is also up to you to create the .mobile.erb versions of
35
+ your views that are to be requested.
36
+
37
+ Then add the line below to config/initializers/mime_types.rb
38
+
39
+ Mime::Type.register_alias "text/html", :mobile
40
+
41
+ I recommend that you setup a before_filter that will redirect to a specific page
42
+ depending on whether or not it is a mobile request. How can you check this?
43
+
44
+ is_mobile_device? # => Returns true or false depending on the device
45
+
46
+ You can also determine which format is currently set in by calling the following:
47
+
48
+ is_mobile_view? # => Returns true or false depending on current req. format
49
+
50
+ Also, if you want the ability to allow a user to switch between 'mobile' and
51
+ 'standard' format (:html), you can just adjust the mobile_view session variable
52
+ in a custom controller action.
53
+
54
+ session[:mobile_view] # => Set to true if request format is :mobile and false
55
+ if set to :html
56
+
57
+ So, different devices need different styling. Don't worry, we've got this
58
+ baked in to Mobile Fu.
59
+
60
+ If you are including a css or sass file via stylesheet_link_tag, all you have
61
+ to do is add _device to the name of one of your files to override your styling
62
+ for a certain device. The stylesheet that is loaded is dependant on which device
63
+ is making the request.
64
+
65
+ e.g., Accessing a page from a Blackberry.
66
+
67
+ ... stylesheet_link_tag 'mobile.css' ...
68
+
69
+ This loads mobile.css, and mobile_blackberry.css if the file exists.
70
+
71
+ Supported stylesheet override device extensions at the moment are:
72
+
73
+ blackberry
74
+ iphone (iphone,ipod)
75
+ ipad
76
+ android
77
+ mobileexplorer
78
+ nokia
79
+ palm
80
+
81
+ The stylesheet awesomeness was derived from Michael Bleigh's browserized styles:
82
+ http://www.intridea.com/2007/12/9/announcing-browserized-styles
83
+
84
+ Inspiration for Mobile Fu came from Noel Rappin's rails_iui:
85
+ http://blogs.pathf.com/agileajax/2008/05/rails-developme.html
86
+
87
+ Hopefully this should help you create some awesome mobile applications.
88
+
89
+ == Testing Mobile Interface
90
+
91
+ If you want to force the mobile interface for testing, you can either use a
92
+ mobile device emulator, or you can pass 'true' to has_mobile_fu.
93
+
94
+ class ApplicationController < ActionController::Base
95
+ has_mobile_fu(true)
96
+ end
97
+
98
+
99
+ Copyright (c) 2008 Brendan G. Lim, Intridea, Inc., released under the MIT license
@@ -0,0 +1,16 @@
1
+ require 'rake'
2
+ require 'bundler'
3
+ Bundler::GemHelper.install_tasks
4
+
5
+ require 'rspec/core/rake_task'
6
+ RSpec::Core::RakeTask.new('spec')
7
+ task :default => :spec
8
+
9
+ # desc 'Generate documentation for the mobile_fu plugin.'
10
+ # Rake::RDocTask.new(:rdoc) do |rdoc|
11
+ # rdoc.rdoc_dir = 'rdoc'
12
+ # rdoc.title = 'MobileFu'
13
+ # rdoc.options << '--line-numbers' << '--inline-source'
14
+ # rdoc.rdoc_files.include('README')
15
+ # rdoc.rdoc_files.include('lib/**/*.rb')
16
+ # end
@@ -0,0 +1,112 @@
1
+ require 'rails'
2
+ require 'rack/mobile-detect'
3
+
4
+ module MobileFu
5
+ autoload :Helper, 'mobile-fu/helper'
6
+ autoload :MobilizedStyles, 'mobile-fu/mobilized_styles'
7
+
8
+ class Railtie < Rails::Railtie
9
+ initializer "mobile-fu.configure" do |app|
10
+ app.config.middleware.use Rack::MobileDetect
11
+ end
12
+ Mime::Type.register_alias "text/html", :mobile
13
+ end
14
+ end
15
+
16
+ module ActionController
17
+ module MobileFu
18
+
19
+ def self.included(base)
20
+ base.extend ClassMethods
21
+ end
22
+
23
+ module ClassMethods
24
+
25
+ # Add this to one of your controllers to use MobileFu.
26
+ #
27
+ # class ApplicationController < ActionController::Base
28
+ # has_mobile_fu
29
+ # end
30
+ #
31
+ # You can also force mobile mode by passing in 'true'
32
+ #
33
+ # class ApplicationController < ActionController::Base
34
+ # has_mobile_fu true
35
+ # end
36
+
37
+ def has_mobile_fu(test_mode = false)
38
+ include ActionController::MobileFu::InstanceMethods
39
+
40
+ before_filter test_mode ? :force_mobile_format : :set_mobile_format
41
+
42
+ helper_method :is_mobile_device?
43
+ helper_method :in_mobile_view?
44
+ helper_method :is_device?
45
+ helper_method :mobile_device
46
+ end
47
+
48
+ def is_mobile_device?
49
+ @@is_mobile_device
50
+ end
51
+
52
+ def in_mobile_view?
53
+ @@in_mobile_view
54
+ end
55
+
56
+ def is_device?(type)
57
+ @@is_device
58
+ end
59
+ end
60
+
61
+ module InstanceMethods
62
+
63
+ # Forces the request format to be :mobile
64
+
65
+ def force_mobile_format
66
+ unless request.xhr?
67
+ request.format = :mobile
68
+ session[:mobile_view] = true if session[:mobile_view].nil?
69
+ end
70
+ end
71
+
72
+ # Determines the request format based on whether the device is mobile or if
73
+ # the user has opted to use either the 'Standard' view or 'Mobile' view.
74
+
75
+ def set_mobile_format
76
+ if is_mobile_device? && !request.xhr?
77
+ request.format = session[:mobile_view] == false ? :html : :mobile
78
+ session[:mobile_view] = true if session[:mobile_view].nil?
79
+ end
80
+ end
81
+
82
+ # Returns either true or false depending on whether or not the format of the
83
+ # request is either :mobile or not.
84
+
85
+ def in_mobile_view?
86
+ request.format.to_sym == :mobile
87
+ end
88
+
89
+ # Returns either true or false depending on whether or not the user agent of
90
+ # the device making the request is matched to a device in our regex.
91
+
92
+ def is_mobile_device?
93
+ !!mobile_device
94
+ end
95
+
96
+ def mobile_device
97
+ request.headers['X_MOBILE_DEVICE']
98
+ end
99
+
100
+ # Can check for a specific user agent
101
+ # e.g., is_device?('iphone') or is_device?('mobileexplorer')
102
+
103
+ def is_device?(type)
104
+ request.user_agent.to_s.downcase.include? type.to_s.downcase
105
+ end
106
+ end
107
+
108
+ end
109
+
110
+ end
111
+
112
+ ActionController::Base.send :include, ActionController::MobileFu
@@ -0,0 +1,26 @@
1
+ module MobileFu
2
+ module Helper
3
+ ACCEPTABLE_TYPES = [:mobile, :basic]
4
+
5
+ def mobile_xhtml_doctype(type = :mobile, version = '1.0')
6
+ raise Exception.new("MobileFu: XHTML DOCTYPE type must either be ':mobile' or ':basic'") unless ACCEPTABLE_TYPES.include?(type)
7
+ raise Exception.new("MobileFu: XHTML DOCTYPE version must be in the format of '1.0' or '1.1', etc.") unless version.include?('.')
8
+
9
+ doc_type = "<?xml version=\"1.0\" charset=\"UTF-8\" ?>\n"
10
+ doc_type += "<!DOCTYPE html PUBLIC "
11
+ doc_type += case type
12
+ when :mobile
13
+ "\"-//WAPFORUM//DTD XHTML Mobile #{version}//EN\" \"http://www.openmobilealliance.org/tech/DTD/xhtml-mobile#{version.gsub('.','')}.dtd\">"
14
+ when :basic
15
+ "\"-//W3C//DTD XHTML Basic #{version}//EN\" \"http://www.w3.org/TR/xhtml-basic/xhtml-basic#{version.gsub('.','')}.dtd\">"
16
+ end
17
+ doc_type
18
+ end
19
+
20
+ def js_enabled_mobile_device?
21
+ is_device?('iphone') || is_device?('ipod') || is_device?('ipad') || is_device?('mobileexplorer') || is_device?('android')
22
+ end
23
+ end
24
+ end
25
+
26
+ ActionView::Base.send :include, MobileFu::Helper
@@ -0,0 +1,75 @@
1
+ # Copyright (c) 2008 Brendan G. Lim (brendan@intridea.com)
2
+ #
3
+ # Permission is hereby granted, free of charge, to any person obtaining
4
+ # a copy of this software and associated documentation files (the
5
+ # "Software"), to deal in the Software without restriction, including
6
+ # without limitation the rights to use, copy, modify, merge, publish,
7
+ # distribute, sublicense, and/or sell copies of the Software, and to
8
+ # permit persons to whom the Software is furnished to do so, subject to
9
+ # the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be
12
+ # included in all copies or substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ # LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ # OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ # WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
22
+ module MobileFu
23
+ module MobilizedStyles
24
+
25
+ # This logic was taken from Michael Bleigh's browserized styles
26
+ # with modification to work for mobile browsers.
27
+
28
+ def user_agent_device_name
29
+ @user_agent_device_name ||= begin
30
+
31
+ ua = request.user_agent
32
+ return nil if ua.nil?
33
+ ua.downcase!
34
+
35
+ if ua.index('mobileexplorer') || ua.index('windows ce')
36
+ 'mobileexplorer'
37
+ elsif ua.index('blackberry')
38
+ 'blackberry'
39
+ elsif ua.index('iphone') || ua.index('ipod')
40
+ 'iphone'
41
+ elsif ua.index('ipad')
42
+ 'ipad'
43
+ elsif ua.index('android')
44
+ 'android'
45
+ elsif ua.index('nokia')
46
+ 'nokia'
47
+ elsif ua.index('palm')
48
+ 'palm'
49
+ end
50
+ end
51
+ end
52
+
53
+ def stylesheet_link_tag_with_mobilization(*sources)
54
+ mobilized_sources = Array.new
55
+ sources.each do |source|
56
+ subbed_source = source.to_s.gsub ".css",""
57
+
58
+ possible_sources = ["#{subbed_source.to_s}_#{user_agent_device_name}"]
59
+
60
+ mobilized_sources << source
61
+
62
+ for possible_source in possible_sources
63
+ path = File.join config.stylesheets_dir, "#{possible_source}.css"
64
+ sass_path = File.join config.stylesheets_dir, "sass", "#{possible_source}.sass"
65
+ mobilized_sources << possible_source if File.exist?(path) || File.exist?(sass_path)
66
+ end
67
+ end
68
+
69
+ stylesheet_link_tag_without_mobilization *mobilized_sources
70
+ end
71
+ end
72
+ end
73
+
74
+ ActionView::Base.send :include, MobileFu::MobilizedStyles
75
+ ActionView::Base.send :alias_method_chain, :stylesheet_link_tag, :mobilization
@@ -0,0 +1,3 @@
1
+ module MobileFu
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,26 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "mobile-fu/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "mobile-fu"
7
+ s.version = MobileFu::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Brendan Lim", "Ben Langfeld"]
10
+ s.email = ["brendangl@gmail.com, ben@langfeld.me"]
11
+ s.homepage = "https://github.com/benlangfeld/mobile-fu"
12
+ s.summary = %q{Automatically detect mobile requests from mobile devices in your Rails application.}
13
+ s.description = %q{Want to automatically detect mobile devices that access your Rails application? Mobile Fu allows you to do just that. People can access your site from a Palm, Blackberry, iPhone, iPad, Nokia, etc. and it will automatically adjust the format of the request from :html to :mobile.}
14
+
15
+ s.rubyforge_project = "mobile-fu"
16
+
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.require_paths = ["lib"]
21
+
22
+ s.add_dependency 'rails'
23
+ s.add_dependency 'rack-mobile-detect'
24
+ s.add_development_dependency 'rspec'
25
+ s.add_development_dependency 'rdoc'
26
+ end
@@ -0,0 +1,38 @@
1
+ require 'spec_helper'
2
+
3
+ module ActionView
4
+ module Helpers
5
+ module AssetTagHelper
6
+ STYLESHEETS_DIR = "stylesheets"
7
+ end
8
+ end
9
+ end
10
+
11
+ describe MobileFu::MobilizedStyles do
12
+
13
+ before(:each) do
14
+ @view = mock(:ActionView)
15
+ @request = mock(:ActionRequest)
16
+ @view.extend(MobileFu::MobilizedStyles)
17
+ @view.stub!(:request).and_return(@request)
18
+ @request.stub!(:user_agent)
19
+ end
20
+
21
+ def ua(str)
22
+ @request.stub!(:user_agent).and_return(str)
23
+ end
24
+
25
+ it "will include a mobilized css file if it recognizes a string in the user agent" do
26
+ ua "iphone"
27
+ File.should_receive(:exist?).with("stylesheets/style_iphone.css").and_return(true)
28
+ @view.should_receive(:stylesheet_link_tag_without_mobilization).with("style", "style_iphone")
29
+ @view.stylesheet_link_tag_with_mobilization("style")
30
+ end
31
+
32
+ it "includes mobiziled css files whether or not the original call to stylesheet_link_tag used a file extension" do
33
+ ua "blackberry"
34
+ File.should_receive(:exist?).with("stylesheets/style_blackberry.css").and_return(true)
35
+ @view.should_receive(:stylesheet_link_tag_without_mobilization).with("style.css", "style_blackberry")
36
+ @view.stylesheet_link_tag_with_mobilization("style.css")
37
+ end
38
+ end
@@ -0,0 +1 @@
1
+ require 'mobile-fu'
metadata ADDED
@@ -0,0 +1,114 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mobile-fu
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: ruby
7
+ authors:
8
+ - Brendan Lim
9
+ - Ben Langfeld
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+
14
+ date: 2011-04-27 00:00:00 +01:00
15
+ default_executable:
16
+ dependencies:
17
+ - !ruby/object:Gem::Dependency
18
+ name: rails
19
+ prerelease: false
20
+ requirement: &id001 !ruby/object:Gem::Requirement
21
+ none: false
22
+ requirements:
23
+ - - ">="
24
+ - !ruby/object:Gem::Version
25
+ version: "0"
26
+ type: :runtime
27
+ version_requirements: *id001
28
+ - !ruby/object:Gem::Dependency
29
+ name: rack-mobile-detect
30
+ prerelease: false
31
+ requirement: &id002 !ruby/object:Gem::Requirement
32
+ none: false
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: "0"
37
+ type: :runtime
38
+ version_requirements: *id002
39
+ - !ruby/object:Gem::Dependency
40
+ name: rspec
41
+ prerelease: false
42
+ requirement: &id003 !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: "0"
48
+ type: :development
49
+ version_requirements: *id003
50
+ - !ruby/object:Gem::Dependency
51
+ name: rdoc
52
+ prerelease: false
53
+ requirement: &id004 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: "0"
59
+ type: :development
60
+ version_requirements: *id004
61
+ description: Want to automatically detect mobile devices that access your Rails application? Mobile Fu allows you to do just that. People can access your site from a Palm, Blackberry, iPhone, iPad, Nokia, etc. and it will automatically adjust the format of the request from :html to :mobile.
62
+ email:
63
+ - brendangl@gmail.com, ben@langfeld.me
64
+ executables: []
65
+
66
+ extensions: []
67
+
68
+ extra_rdoc_files: []
69
+
70
+ files:
71
+ - .gitignore
72
+ - CHANGELOG
73
+ - Gemfile
74
+ - MIT-LICENSE
75
+ - README.rdoc
76
+ - Rakefile
77
+ - lib/mobile-fu.rb
78
+ - lib/mobile-fu/helper.rb
79
+ - lib/mobile-fu/mobilized_styles.rb
80
+ - lib/mobile-fu/version.rb
81
+ - mobile-fu.gemspec
82
+ - spec/mobilized_styles_spec.rb
83
+ - spec/spec_helper.rb
84
+ has_rdoc: true
85
+ homepage: https://github.com/benlangfeld/mobile-fu
86
+ licenses: []
87
+
88
+ post_install_message:
89
+ rdoc_options: []
90
+
91
+ require_paths:
92
+ - lib
93
+ required_ruby_version: !ruby/object:Gem::Requirement
94
+ none: false
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: "0"
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ none: false
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: "0"
105
+ requirements: []
106
+
107
+ rubyforge_project: mobile-fu
108
+ rubygems_version: 1.6.1
109
+ signing_key:
110
+ specification_version: 3
111
+ summary: Automatically detect mobile requests from mobile devices in your Rails application.
112
+ test_files:
113
+ - spec/mobilized_styles_spec.rb
114
+ - spec/spec_helper.rb