galakei 0.12.0 → 0.12.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile.lock +1 -1
- data/lib/galakei/docomo_css/inline_stylesheet.rb +7 -2
- data/lib/galakei/filter/content_type.rb +1 -0
- data/lib/galakei/filter/haml.rb +2 -1
- data/lib/galakei/filter/recode.rb +1 -0
- data/lib/galakei/request.rb +4 -4
- data/lib/galakei/version.rb +1 -1
- data/lib/galakei.rb +12 -0
- metadata +12 -12
data/Gemfile.lock
CHANGED
@@ -8,6 +8,7 @@ class Galakei::DocomoCss::InlineStylesheet
|
|
8
8
|
doc = Nokogiri::HTML(controller.response.body)
|
9
9
|
stylesheets = doc.xpath('//link[@rel="stylesheet"]')
|
10
10
|
return if stylesheets.empty?
|
11
|
+
Galakei.logger.info("[galakei] DoCoMo browser 1.0 and external stylesheets detected, inlining CSS")
|
11
12
|
stylesheets.each do |e|
|
12
13
|
e.unlink
|
13
14
|
stylesheet = Galakei::DocomoCss::Stylesheet.new(parser(e['href']))
|
@@ -22,9 +23,13 @@ class Galakei::DocomoCss::InlineStylesheet
|
|
22
23
|
uri = URI.parse(href)
|
23
24
|
if uri.host && uri.scheme && uri.port
|
24
25
|
parser.load_uri!(uri)
|
25
|
-
elsif /^\/assets\/(
|
26
|
+
elsif /^\/assets\/([^?]+)/=~ href
|
26
27
|
asset = Rails.application.assets.find_asset($1)
|
27
|
-
|
28
|
+
if asset
|
29
|
+
parser.add_block!(asset.to_s, {:media_types => :all, :base_dir => File.dirname(href)})
|
30
|
+
else
|
31
|
+
Galakei.logger.warn("[galakei] asset lookup for #{$1} failed, skipping")
|
32
|
+
end
|
28
33
|
else
|
29
34
|
parser.load_file!(path(href))
|
30
35
|
end
|
@@ -13,6 +13,7 @@ class Galakei::Filter::ContentType < Galakei::Filter::Base
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def filter
|
16
|
+
Galakei.logger.info("[galakei] DoCoMo browser 1.0 and HTML detected, changing content type to application/xhtml+xml")
|
16
17
|
response.content_type = 'application/xhtml+xml'
|
17
18
|
end
|
18
19
|
end
|
data/lib/galakei/filter/haml.rb
CHANGED
@@ -6,7 +6,8 @@ class Galakei::Filter::Haml < Galakei::Filter::Base
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def filter
|
9
|
-
old_format = ::Haml::Template.options[:format]
|
9
|
+
old_format = ::Haml::Template.options[:format]
|
10
|
+
Galakei.logger.info("[galakei] galakei detected, switching HAML to use :xhtml")
|
10
11
|
::Haml::Template.options[:format] = :xhtml
|
11
12
|
yield
|
12
13
|
ensure
|
data/lib/galakei/request.rb
CHANGED
@@ -3,20 +3,20 @@ require "rack/request"
|
|
3
3
|
module Galakei
|
4
4
|
module Request
|
5
5
|
def docomo?
|
6
|
-
/^DoCoMo/ =~ user_agent
|
6
|
+
!! (/^DoCoMo/ =~ user_agent)
|
7
7
|
end
|
8
8
|
|
9
9
|
def au?
|
10
10
|
# doesn't detect some 2G phones, but as they will be discontinued soon, doesn't really matter
|
11
|
-
/KDDI/ =~ user_agent
|
11
|
+
!! (/KDDI/ =~ user_agent)
|
12
12
|
end
|
13
13
|
|
14
14
|
def softbank?
|
15
|
-
/^(SoftBank|Vodafone)/ =~ user_agent
|
15
|
+
!! (/^(SoftBank|Vodafone)/ =~ user_agent)
|
16
16
|
end
|
17
17
|
|
18
18
|
def imode_browser_1_0?
|
19
|
-
if
|
19
|
+
if /^DoCoMo(.*\((.*;)?c(\d+)\;)?/ =~ user_agent
|
20
20
|
$3.to_i < 500
|
21
21
|
else
|
22
22
|
false
|
data/lib/galakei/version.rb
CHANGED
data/lib/galakei.rb
CHANGED
@@ -23,4 +23,16 @@ if defined?(Rails)
|
|
23
23
|
require 'galakei/railtie'
|
24
24
|
require 'galakei/engine'
|
25
25
|
require 'galakei/use_rack_request_to_extract_sid'
|
26
|
+
|
27
|
+
module Galakei
|
28
|
+
def self.logger
|
29
|
+
Rails.logger
|
30
|
+
end
|
31
|
+
end
|
32
|
+
else
|
33
|
+
module Galakei
|
34
|
+
def self.logger
|
35
|
+
@logger ||= Logger.new(STDERR)
|
36
|
+
end
|
37
|
+
end
|
26
38
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: galakei
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.
|
4
|
+
version: 0.12.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,12 +11,12 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2011-10-
|
14
|
+
date: 2011-10-05 00:00:00.000000000 +09:00
|
15
15
|
default_executable:
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: actionpack
|
19
|
-
requirement: &
|
19
|
+
requirement: &18595660 !ruby/object:Gem::Requirement
|
20
20
|
none: false
|
21
21
|
requirements:
|
22
22
|
- - ! '>='
|
@@ -24,10 +24,10 @@ dependencies:
|
|
24
24
|
version: 3.0.3
|
25
25
|
type: :runtime
|
26
26
|
prerelease: false
|
27
|
-
version_requirements: *
|
27
|
+
version_requirements: *18595660
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rack
|
30
|
-
requirement: &
|
30
|
+
requirement: &18595000 !ruby/object:Gem::Requirement
|
31
31
|
none: false
|
32
32
|
requirements:
|
33
33
|
- - ! '>='
|
@@ -35,10 +35,10 @@ dependencies:
|
|
35
35
|
version: 1.2.1
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
|
-
version_requirements: *
|
38
|
+
version_requirements: *18595000
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
40
|
name: css_parser
|
41
|
-
requirement: &
|
41
|
+
requirement: &18594460 !ruby/object:Gem::Requirement
|
42
42
|
none: false
|
43
43
|
requirements:
|
44
44
|
- - ! '>='
|
@@ -46,10 +46,10 @@ dependencies:
|
|
46
46
|
version: '0'
|
47
47
|
type: :runtime
|
48
48
|
prerelease: false
|
49
|
-
version_requirements: *
|
49
|
+
version_requirements: *18594460
|
50
50
|
- !ruby/object:Gem::Dependency
|
51
51
|
name: nokogiri
|
52
|
-
requirement: &
|
52
|
+
requirement: &18593840 !ruby/object:Gem::Requirement
|
53
53
|
none: false
|
54
54
|
requirements:
|
55
55
|
- - ! '>='
|
@@ -57,10 +57,10 @@ dependencies:
|
|
57
57
|
version: '0'
|
58
58
|
type: :runtime
|
59
59
|
prerelease: false
|
60
|
-
version_requirements: *
|
60
|
+
version_requirements: *18593840
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: sanitize
|
63
|
-
requirement: &
|
63
|
+
requirement: &18567560 !ruby/object:Gem::Requirement
|
64
64
|
none: false
|
65
65
|
requirements:
|
66
66
|
- - ! '>='
|
@@ -68,7 +68,7 @@ dependencies:
|
|
68
68
|
version: '0'
|
69
69
|
type: :runtime
|
70
70
|
prerelease: false
|
71
|
-
version_requirements: *
|
71
|
+
version_requirements: *18567560
|
72
72
|
description: Japanese feature phones (a.k.a., keitai, galakei) have a number of restrictions
|
73
73
|
over normal web browsers. This library adds support for them
|
74
74
|
email: info@mobalean.com
|