Skip to content

Commit

Permalink
Returned unique values for meta data.
Browse files Browse the repository at this point in the history
  • Loading branch information
fnando committed Feb 10, 2013
1 parent ece1a0b commit 155efda
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 9 deletions.
6 changes: 3 additions & 3 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,17 @@ GEM
json (1.7.6)
method_source (0.8.1)
multi_json (1.5.0)
pry (0.9.11.1)
pry (0.9.11.4)
coderay (~> 1.0.5)
method_source (~> 0.8)
slop (~> 3.4)
rack (1.4.4)
rack (1.4.5)
rack-cache (1.2)
rack (>= 0.4)
rack-test (0.6.2)
rack (>= 1.0)
rake (10.0.3)
rdoc (3.12)
rdoc (3.12.1)
json (~> 1.4)
slop (3.4.3)
sprockets (2.2.2)
Expand Down
2 changes: 1 addition & 1 deletion browser.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,6 @@ Gem::Specification.new do |s|
s.add_development_dependency "actionpack"
s.add_development_dependency "rake"
s.add_development_dependency "rdoc"
s.add_development_dependency "pry"
s.add_development_dependency "pry-meta"
s.add_development_dependency "awesome_print"
end
16 changes: 11 additions & 5 deletions lib/browser.rb
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
require "set"

class Browser
# Add Rails helper if ActionController::Base is available
require "browser/action_controller" if defined?(ActionController::Base)
Expand Down Expand Up @@ -361,20 +363,24 @@ def platform

# Return a meta info about this browser.
def meta
Array.new.tap do |m|
m << id
set = Set.new.tap do |m|
m << id.to_s
m << "webkit" if webkit?
m << "ios" if ios?
m << "safari safari#{version}" if safari?
m.merge(%W[safari safari#{version}]) if safari?
m << "#{id}#{version}" unless safari? || chrome?
m << platform
m << platform.to_s
m << "capable" if capable?
m << "mobile" if mobile?
end

set.to_a
end

alias_method :to_a, :meta

# Return meta representation as string.
def to_s
meta.join(" ")
meta.to_a.join(" ")
end
end
10 changes: 10 additions & 0 deletions test/browser_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -443,4 +443,14 @@ def test_kindle_fire
assert @browser.kindle?
assert @browser.webkit?
end

def test_remove_duplicate_items
@browser.ua = SAFARI
assert_equal ["safari"], @browser.meta.select {|item| item == "safari" }
end

def test_meta_aliased_as_to_a
@browser.ua = SAFARI
assert_equal @browser.meta, @browser.to_a
end
end

0 comments on commit 155efda

Please sign in to comment.