iGEL-ua_parser 0.0.1 → 0.0.2

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/Manifest ADDED
@@ -0,0 +1,15 @@
1
+ Manifest
2
+ README.rdoc
3
+ Rakefile
4
+ test/trident_test.rb
5
+ test/webkit_test.rb
6
+ test/gecko_test.rb
7
+ test/other_test.rb
8
+ test/version_test.rb
9
+ test/crawler_test.rb
10
+ test/presto_test.rb
11
+ apache_log_tester.rb
12
+ ua_parser.gemspec
13
+ lib/ua_parser/version.rb
14
+ lib/ua_parser/user_agent.rb
15
+ lib/ua_parser.rb
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
2
2
  require 'rake'
3
3
  require 'echoe'
4
4
 
5
- Echoe.new('ua_parser', '0.0.1') do |p|
5
+ Echoe.new('ua_parser', '0.0.2') do |p|
6
6
  p.description = "Parses the user agent of browsers and bots."
7
7
  p.url = "http://github.com/iGEL/ua_parser"
8
8
  p.author = "Johannes Barre"
@@ -5,6 +5,7 @@ module UaParser
5
5
  # == Parameters
6
6
  # * ua_string: The user agent as you got it
7
7
  def initialize(ua_string)
8
+ ua_string = "" unless ua_string.is_a?(String)
8
9
  @ua_string = ua_string.strip.downcase
9
10
  @known = false
10
11
  @type = :browser
data/test/other_test.rb CHANGED
@@ -5,7 +5,7 @@ require 'ua_parser'
5
5
 
6
6
  class OtherTest < Test::Unit::TestCase
7
7
  include UaParser
8
-
8
+
9
9
  def test_apache
10
10
  ua = UserAgent.new "Apache/2.2.8 (Ubuntu) DAV/2 SVN/1.4.6 mod_python/3.3.1 Python/2.5.2 PHP/5.2.4-2ubuntu5.3 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g (internal dummy connection)"
11
11
  assert ua.known?
@@ -98,6 +98,28 @@ class OtherTest < Test::Unit::TestCase
98
98
  end
99
99
  end
100
100
 
101
+ def test_nil
102
+ ua = UserAgent.new nil
103
+ assert !ua.known?
104
+ assert ua.browser?
105
+ assert !ua.bot?
106
+ assert !ua.feed_reader?
107
+ assert !ua.other?
108
+ assert_equal nil, ua.render_engine
109
+ assert_equal nil, ua.render_engine_version
110
+ assert_equal :no_agent_given, ua.name
111
+ assert_equal nil, ua.version
112
+ assert_equal [], ua.emails
113
+ assert_equal nil, ua.email
114
+ assert_equal [], ua.urls
115
+ assert_equal nil, ua.url
116
+ [:architecture, :dotnet_versions, :os, :os_type, :os_version, :ui_lang, :ui_lang_country, :vendor].each do |method|
117
+ assert_raise NotImplementedError do
118
+ ua.method(method).call
119
+ end
120
+ end
121
+ end
122
+
101
123
  def test_svn_151
102
124
  ua = UserAgent.new "SVN/1.5.1 (r32289) neon/0.28.2"
103
125
  assert ua.known?
data/ua_parser.gemspec CHANGED
@@ -2,27 +2,27 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{ua_parser}
5
- s.version = "0.0.1"
5
+ s.version = "0.0.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Johannes Barre"]
9
- s.date = %q{2009-01-29}
9
+ s.date = %q{2009-05-04}
10
10
  s.description = %q{Parses the user agent of browsers and bots.}
11
11
  s.email = %q{igel@igels.net}
12
12
  s.extra_rdoc_files = ["README.rdoc", "lib/ua_parser/version.rb", "lib/ua_parser/user_agent.rb", "lib/ua_parser.rb"]
13
- s.files = ["Manifest", "README.rdoc", "Rakefile", "test/trident_test.rb", "test/webkit_test.rb", "test/gecko_test.rb", "test/other_test.rb", "test/version_test.rb", "test/crawler_test.rb", "test/presto_test.rb", "apache_log_tester.rb", "lib/ua_parser/version.rb", "lib/ua_parser/user_agent.rb", "lib/ua_parser.rb", "ua_parser.gemspec"]
13
+ s.files = ["Manifest", "README.rdoc", "Rakefile", "test/trident_test.rb", "test/webkit_test.rb", "test/gecko_test.rb", "test/other_test.rb", "test/version_test.rb", "test/crawler_test.rb", "test/presto_test.rb", "apache_log_tester.rb", "ua_parser.gemspec", "lib/ua_parser/version.rb", "lib/ua_parser/user_agent.rb", "lib/ua_parser.rb"]
14
14
  s.has_rdoc = true
15
15
  s.homepage = %q{http://github.com/iGEL/ua_parser}
16
16
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Ua_parser", "--main", "README.rdoc"]
17
17
  s.require_paths = ["lib"]
18
18
  s.rubyforge_project = %q{ua_parser}
19
- s.rubygems_version = %q{1.3.1}
19
+ s.rubygems_version = %q{1.3.2}
20
20
  s.summary = %q{Parses the user agent of browsers and bots.}
21
21
  s.test_files = ["test/trident_test.rb", "test/webkit_test.rb", "test/gecko_test.rb", "test/other_test.rb", "test/version_test.rb", "test/crawler_test.rb", "test/presto_test.rb"]
22
22
 
23
23
  if s.respond_to? :specification_version then
24
24
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
25
- s.specification_version = 2
25
+ s.specification_version = 3
26
26
 
27
27
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
28
28
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iGEL-ua_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Johannes Barre
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-29 00:00:00 -08:00
12
+ date: 2009-05-04 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -36,10 +36,10 @@ files:
36
36
  - test/crawler_test.rb
37
37
  - test/presto_test.rb
38
38
  - apache_log_tester.rb
39
+ - ua_parser.gemspec
39
40
  - lib/ua_parser/version.rb
40
41
  - lib/ua_parser/user_agent.rb
41
42
  - lib/ua_parser.rb
42
- - ua_parser.gemspec
43
43
  has_rdoc: true
44
44
  homepage: http://github.com/iGEL/ua_parser
45
45
  post_install_message:
@@ -69,7 +69,7 @@ requirements: []
69
69
  rubyforge_project: ua_parser
70
70
  rubygems_version: 1.2.0
71
71
  signing_key:
72
- specification_version: 2
72
+ specification_version: 3
73
73
  summary: Parses the user agent of browsers and bots.
74
74
  test_files:
75
75
  - test/trident_test.rb