Skip to content

Commit

Permalink
Added PS3 Support
Browse files Browse the repository at this point in the history
  • Loading branch information
tj committed Aug 28, 2009
1 parent c3ff8be commit 55df6e7
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 11 deletions.
1 change: 1 addition & 0 deletions README.rdoc
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ User agent parser.
* Opera
* IE
* Konqueror
* PS3
* Wii

== License:
Expand Down
24 changes: 13 additions & 11 deletions lib/user-agent/agent.rb
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,11 @@ def self.engine_version_for_user_agent string
# Return version for user agent _string_.

def self.version_for_user_agent string
case string
when /chrome/i ; $1 if string =~ /chrome\/([\d\w\.\-]+)/i
when /safari/i ; $1 if string =~ /version\/([\d\w\.\-]+)/i
else
$1 if string =~ /#{name_for_user_agent(string)}[\/ ]([\d\w\.\-]+)/i
case name = name_for_user_agent(string)
when :Chrome ; $1 if string =~ /chrome\/([\d\w\.\-]+)/i
when :Safari ; $1 if string =~ /version\/([\d\w\.\-]+)/i
when :PS3 ; $1 if string =~ /([\d\w\.\-]+)\)\s*$/i
else $1 if string =~ /#{name}[\/ ]([\d\w\.\-]+)/i
end
end

Expand Down Expand Up @@ -125,6 +125,7 @@ def self.os_for_user_agent string
when /os x (\d+)[._](\d+)/i ; :"OS X #{$1}.#{$2}"
when /linux/i ; :Linux
when /wii/i ; :Wii
when /playstation 3/i ; :Playstation
else ; :Unknown
end
end
Expand All @@ -134,12 +135,13 @@ def self.os_for_user_agent string

def self.name_for_user_agent string
case string
when /konqueror/i ; :Konqueror
when /chrome/i ; :Chrome
when /safari/i ; :Safari
when /msie/i ; :IE
when /opera/i ; :Opera
else ; :Unknown
when /konqueror/i ; :Konqueror
when /chrome/i ; :Chrome
when /safari/i ; :Safari
when /msie/i ; :IE
when /opera/i ; :Opera
when /playstation 3/i ; :PS3
else ; :Unknown
end
end

Expand Down
3 changes: 3 additions & 0 deletions spec/agents_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,7 @@ def test name, version, os, engine, engine_version, string
test :Konqueror, '4.2', :Linux, :khtml, '4.2.4', 'Mozilla/5.0 (compatible; Konqueror/4.2; Linux; X11; x86_64) KHTML/4.2.4 (like Gecko) Fedora/4.2.4-2.fc11'
test :Konqueror, '3.1-rc6', :Linux, :konqueror, '3.1-rc6', 'Mozilla/5.0 (compatible; Konqueror/3.1-rc6; i686 Linux; 20021105)'

test :PS3, '2.00', :Playstation, :unknown, nil, 'Mozilla/5.0 (PLAYSTATION 3; 2.00)'
test :PS3, '1.10', :Playstation, :unknown, nil, 'Mozilla/5.0 (PLAYSTATION 3; 1.10)'

end

0 comments on commit 55df6e7

Please sign in to comment.