sniffles 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. data/README.md +38 -5
  2. data/lib/sniffles/sniffers/advertising/gumgum.rb +24 -0
  3. data/lib/sniffles/sniffers/advertising/kontera.rb +24 -0
  4. data/lib/sniffles/sniffers/advertising/thedeck.rb +24 -0
  5. data/lib/sniffles/sniffers/advertising/tribalfusion.rb +24 -0
  6. data/lib/sniffles/sniffers/analytics/google_analytics.rb +1 -1
  7. data/lib/sniffles/sniffers/analytics/piwik.rb +24 -0
  8. data/lib/sniffles/sniffers/cms/bigcommerce.rb +24 -0
  9. data/lib/sniffles/sniffers/cms/flatpress.rb +35 -0
  10. data/lib/sniffles/sniffers/cms/invision.rb +35 -0
  11. data/lib/sniffles/sniffers/cms/joomla.rb +34 -0
  12. data/lib/sniffles/sniffers/cms/mybb.rb +24 -0
  13. data/lib/sniffles/sniffers/cms/prestashop.rb +28 -0
  14. data/lib/sniffles/sniffers/cms/shopify.rb +24 -0
  15. data/lib/sniffles/sniffers/cms/typepad.rb +28 -0
  16. data/lib/sniffles/sniffers/cms/vbulletin.rb +10 -2
  17. data/lib/sniffles/version.rb +1 -1
  18. data/sniffles.gemspec +4 -5
  19. data/spec/cassettes/blackhatworld_com.yml +3352 -0
  20. data/spec/cassettes/community_invisionpower_com.yml +2785 -0
  21. data/spec/cassettes/demo-store_prestashop_com.yml +852 -0
  22. data/spec/cassettes/demo_forum-software_org_mybb.yml +385 -0
  23. data/spec/cassettes/downlopedia_com.yml +1401 -0
  24. data/spec/cassettes/flatpress_org_home_blog.yml +368 -0
  25. data/spec/cassettes/invisionmodding_com.yml +2456 -0
  26. data/spec/cassettes/joomla_org.yml +733 -0
  27. data/spec/cassettes/metafilter_com.yml +1250 -0
  28. data/spec/cassettes/pandoramoa_com.yml +622 -0
  29. data/spec/cassettes/shop_angrybirds_com.yml +455 -0
  30. data/spec/cassettes/sixflags_com.yml +1028 -0
  31. data/spec/cassettes/softpedia_com.yml +3196 -0
  32. data/spec/cassettes/soulemama_typepad_com.yml +2645 -0
  33. data/spec/cassettes/tmz_com.yml +2927 -0
  34. data/spec/sniffles/sniffers/advertising/gumgum_spec.rb +18 -0
  35. data/spec/sniffles/sniffers/advertising/kontera_spec.rb +18 -0
  36. data/spec/sniffles/sniffers/advertising/thedeck_spec.rb +18 -0
  37. data/spec/sniffles/sniffers/advertising/tribalfusion_spec.rb +18 -0
  38. data/spec/sniffles/sniffers/analytics/google_analytics_spec.rb +7 -0
  39. data/spec/sniffles/sniffers/analytics/piwik_spec.rb +17 -0
  40. data/spec/sniffles/sniffers/cms/bigcommerce_spec.rb +18 -0
  41. data/spec/sniffles/sniffers/cms/flatpress_spec.rb +19 -0
  42. data/spec/sniffles/sniffers/cms/invision_spec.rb +26 -0
  43. data/spec/sniffles/sniffers/cms/joomla_spec.rb +19 -0
  44. data/spec/sniffles/sniffers/cms/mybb_spec.rb +18 -0
  45. data/spec/sniffles/sniffers/cms/prestashop_spec.rb +18 -0
  46. data/spec/sniffles/sniffers/cms/shopify_spec.rb +18 -0
  47. data/spec/sniffles/sniffers/cms/typepad_spec.rb +18 -0
  48. data/spec/sniffles/sniffers/cms/vbulletin_spec.rb +7 -1
  49. metadata +56 -64
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/advertising/gumgum')
3
+
4
+ describe Sniffles::Sniffers::Gumgum do
5
+ describe "#output", :vcr => { :cassette_name => "tmz_com" } do
6
+ context "gumgum" do
7
+ let(:gumgum) { described_class.new(page_body("http://www.tmz.com")) }
8
+
9
+ it { gumgum.output[:found].should eq true }
10
+ end
11
+
12
+ context "no gumgum" do
13
+ let(:blank) { described_class.new(empty_html_doc) }
14
+
15
+ it { blank.output[:found].should eq false }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/advertising/kontera')
3
+
4
+ describe Sniffles::Sniffers::Kontera do
5
+ describe "#output", :vcr => { :cassette_name => "softpedia_com" } do
6
+ context "kontera" do
7
+ let(:kontera) { described_class.new(page_body("http://www.softpedia.com/")) }
8
+
9
+ it { kontera.output[:found].should eq true }
10
+ end
11
+
12
+ context "no kontera" do
13
+ let(:blank) { described_class.new(empty_html_doc) }
14
+
15
+ it { blank.output[:found].should eq false }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/advertising/thedeck')
3
+
4
+ describe Sniffles::Sniffers::Thedeck do
5
+ describe "#output", :vcr => { :cassette_name => "metafilter_com" } do
6
+ context "thedeck" do
7
+ let(:thedeck) { described_class.new(page_body("http://www.metafilter.com/")) }
8
+
9
+ it { thedeck.output[:found].should eq true }
10
+ end
11
+
12
+ context "no thedeck" do
13
+ let(:blank) { described_class.new(empty_html_doc) }
14
+
15
+ it { blank.output[:found].should eq false }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/advertising/tribalfusion')
3
+
4
+ describe Sniffles::Sniffers::Tribalfusion do
5
+ describe "#output", :vcr => { :cassette_name => "sixflags_com" } do
6
+ context "tribalfusion" do
7
+ let(:tribalfusion) { described_class.new(page_body("http://www.sixflags.com/national/index.aspx")) }
8
+
9
+ it { tribalfusion.output[:found].should eq true }
10
+ end
11
+
12
+ context "no tribalfusion" do
13
+ let(:blank) { described_class.new(empty_html_doc) }
14
+
15
+ it { blank.output[:found].should eq false }
16
+ end
17
+ end
18
+ end
@@ -16,6 +16,13 @@ describe Sniffles::Sniffers::GoogleAnalytics do
16
16
  it { ga.output[:found].should eq true }
17
17
  it { ga.output[:ua].should eq "UA-386965-7" }
18
18
  end
19
+
20
+ context "inline w/ gaJsHost syntax", :vcr => { :cassette_name => "blackhatworld_com" } do
21
+ let(:ga) { described_class.new(page_body("http://www.blackhatworld.com/index.php")) }
22
+
23
+ it { ga.output[:found].should eq true }
24
+ it { ga.output[:ua].should eq "UA-24324223-1" }
25
+ end
19
26
 
20
27
  context "no google analytics" do
21
28
  let(:blank) { described_class.new(empty_html_doc) }
@@ -0,0 +1,17 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/analytics/piwik')
3
+
4
+ describe Sniffles::Sniffers::Piwik do
5
+ describe "#output", :vcr => { :cassette_name => "downlopedia_com" } do
6
+ let(:piwik) { described_class.new(page_body("http://www.downlopedia.com/")) }
7
+ let(:blank) { described_class.new(empty_html_doc) }
8
+
9
+ context "piwik" do
10
+ it { piwik.output[:found].should eq true }
11
+ end
12
+
13
+ context "no piwik" do
14
+ it { blank.output[:found].should eq false }
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/cms/bigcommerce')
3
+
4
+ describe Sniffles::Sniffers::Bigcommerce do
5
+ describe "#output" do
6
+ context "bigcommerce", :vcr => { :cassette_name => "pandoramoa_com" } do
7
+ let(:bigcommerce) { described_class.new(page_body("http://www.pandoramoa.com/")) }
8
+
9
+ it { bigcommerce.output[:found].should eq true }
10
+ end
11
+
12
+ context "not bigcommerce" do
13
+ let(:blank) { described_class.new(empty_html_doc) }
14
+
15
+ it { blank.output[:found].should eq false }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,19 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/cms/flatpress')
3
+
4
+ describe Sniffles::Sniffers::Flatpress do
5
+ describe "#output" do
6
+ context "flatpress", :vcr => { :cassette_name => "flatpress_org_home_blog" } do
7
+ let(:flatpress) { described_class.new(page_body("http://flatpress.org/home/blog.php")) }
8
+
9
+ it { flatpress.output[:found].should eq true }
10
+ it { flatpress.output[:version].should eq "0.703.5" }
11
+ end
12
+
13
+ context "not flatpress" do
14
+ let(:blank) { described_class.new(empty_html_doc) }
15
+
16
+ it { blank.output[:found].should eq false }
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,26 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/cms/invision')
3
+
4
+ describe Sniffles::Sniffers::Invision do
5
+ describe "#output" do
6
+ context "invision", :vcr => { :cassette_name => "community_invisionpower_com" } do
7
+ subject { described_class.new(page_body("http://community.invisionpower.com/")).output }
8
+
9
+ its([:found]) { should eq true }
10
+ its([:version]) { should eq "3.3.0 Beta 3" }
11
+ end
12
+
13
+ context "invision w/o version", :vcr => { :cassette_name => "invisionmodding_com" } do
14
+ subject { described_class.new(page_body("http://invisionmodding.com/")).output }
15
+
16
+ its([:found]) { should eq true }
17
+ its([:version]) { should eq false }
18
+ end
19
+
20
+ context "not invision" do
21
+ subject { described_class.new(empty_html_doc).output }
22
+
23
+ its([:found]) { should eq false }
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,19 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/cms/joomla')
3
+
4
+ describe Sniffles::Sniffers::Joomla do
5
+ describe "#output" do
6
+ context "joomla", :vcr => { :cassette_name => "joomla_org" } do
7
+ let(:joomla) { described_class.new(page_body("http://www.joomla.org/")) }
8
+
9
+ it { joomla.output[:found].should eq true }
10
+ it { joomla.output[:version].should eq "1.5" }
11
+ end
12
+
13
+ context "not joomla" do
14
+ let(:blank) { described_class.new(empty_html_doc) }
15
+
16
+ it { blank.output[:found].should eq false }
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/cms/mybb')
3
+
4
+ describe Sniffles::Sniffers::Mybb do
5
+ describe "#output" do
6
+ context "mybb", :vcr => { :cassette_name => "demo_forum-software_org_mybb" } do
7
+ let(:mybb) { described_class.new(page_body("http://demo.forum-software.org/mybb/")) }
8
+
9
+ it { mybb.output[:found].should eq true }
10
+ end
11
+
12
+ context "not mybb" do
13
+ let(:blank) { described_class.new(empty_html_doc) }
14
+
15
+ it { blank.output[:found].should eq false }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/cms/prestashop')
3
+
4
+ describe Sniffles::Sniffers::Prestashop do
5
+ describe "#output" do
6
+ context "prestashop", :vcr => { :cassette_name => "demo-store_prestashop_com" } do
7
+ let(:prestashop) { described_class.new(page_body("http://demo-store.prestashop.com/en/")) }
8
+
9
+ it { prestashop.output[:found].should eq true }
10
+ end
11
+
12
+ context "not prestashop" do
13
+ let(:blank) { described_class.new(empty_html_doc) }
14
+
15
+ it { blank.output[:found].should eq false }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/cms/shopify')
3
+
4
+ describe Sniffles::Sniffers::Shopify do
5
+ describe "#output" do
6
+ context "shopify", :vcr => { :cassette_name => "shop_angrybirds_com" } do
7
+ let(:shopify) { described_class.new(page_body("http://shop.angrybirds.com/")) }
8
+
9
+ it { shopify.output[:found].should eq true }
10
+ end
11
+
12
+ context "not shopify" do
13
+ let(:blank) { described_class.new(empty_html_doc) }
14
+
15
+ it { blank.output[:found].should eq false }
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../../../spec_helper')
2
+ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sniffers/cms/typepad')
3
+
4
+ describe Sniffles::Sniffers::Typepad do
5
+ describe "#output" do
6
+ context "typepad", :vcr => { :cassette_name => "soulemama_typepad_com" } do
7
+ subject { described_class.new(page_body("http://www.soulemama.typepad.com/")).output }
8
+
9
+ its([:found]) { should eq true }
10
+ end
11
+
12
+ context "not typepad" do
13
+ subject { described_class.new(empty_html_doc).output }
14
+
15
+ its([:found]) { should eq false }
16
+ end
17
+ end
18
+ end
@@ -3,7 +3,7 @@ require File.expand_path(File.dirname(__FILE__) + '/../../../../lib/sniffles/sni
3
3
 
4
4
  describe Sniffles::Sniffers::Vbulletin do
5
5
  describe "#output" do
6
- context "vbulletin", :vcr => { :cassette_name => "vbulletin_com" } do
6
+ context "vbulletin w/ meta generator", :vcr => { :cassette_name => "vbulletin_com" } do
7
7
  let(:vbulletin) { described_class.new(page_body("https://www.vbulletin.com/forum/forum.php")) }
8
8
 
9
9
  it { vbulletin.output[:found].should eq true }
@@ -11,6 +11,12 @@ describe Sniffles::Sniffers::Vbulletin do
11
11
  it { vbulletin.output[:feed].should eq "https://www.vbulletin.com/forum/external.php?type=RSS2" }
12
12
  end
13
13
 
14
+ context "vbulletin w/ JS initialization", :vcr => { :cassette_name => "blackhatworld_com" } do
15
+ let(:vbulletin) { described_class.new(page_body("http://www.blackhatworld.com/index.php")) }
16
+
17
+ it { vbulletin.output[:found].should eq true }
18
+ end
19
+
14
20
  context "not vbulletin" do
15
21
  let(:blank) { described_class.new(empty_html_doc) }
16
22
 
metadata CHANGED
@@ -1,12 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sniffles
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Ezekiel Templin
9
- - Jake Austwick
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
@@ -14,7 +13,7 @@ date: 2012-03-07 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: nokogiri
17
- requirement: &2153342800 !ruby/object:Gem::Requirement
16
+ requirement: &2160995620 !ruby/object:Gem::Requirement
18
17
  none: false
19
18
  requirements:
20
19
  - - ~>
@@ -22,10 +21,10 @@ dependencies:
22
21
  version: 1.5.0
23
22
  type: :runtime
24
23
  prerelease: false
25
- version_requirements: *2153342800
24
+ version_requirements: *2160995620
26
25
  - !ruby/object:Gem::Dependency
27
26
  name: rspec
28
- requirement: &2153341820 !ruby/object:Gem::Requirement
27
+ requirement: &2160994720 !ruby/object:Gem::Requirement
29
28
  none: false
30
29
  requirements:
31
30
  - - ~>
@@ -33,10 +32,10 @@ dependencies:
33
32
  version: 2.8.0
34
33
  type: :development
35
34
  prerelease: false
36
- version_requirements: *2153341820
35
+ version_requirements: *2160994720
37
36
  - !ruby/object:Gem::Dependency
38
37
  name: typhoeus
39
- requirement: &2153340320 !ruby/object:Gem::Requirement
38
+ requirement: &2160993320 !ruby/object:Gem::Requirement
40
39
  none: false
41
40
  requirements:
42
41
  - - ~>
@@ -44,10 +43,10 @@ dependencies:
44
43
  version: 0.3.3
45
44
  type: :development
46
45
  prerelease: false
47
- version_requirements: *2153340320
46
+ version_requirements: *2160993320
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: vcr
50
- requirement: &2153338940 !ruby/object:Gem::Requirement
49
+ requirement: &2160991900 !ruby/object:Gem::Requirement
51
50
  none: false
52
51
  requirements:
53
52
  - - ~>
@@ -55,8 +54,9 @@ dependencies:
55
54
  version: 2.0.0
56
55
  type: :development
57
56
  prerelease: false
58
- version_requirements: *2153338940
59
- description: Detects popular CMS, Javascript libraries, and other items of interest.
57
+ version_requirements: *2160991900
58
+ description: Sniffles helps you detect which popular CMS, analytics, and advertising
59
+ platforms a website is running.
60
60
  email:
61
61
  - zeke@templ.in
62
62
  executables: []
@@ -80,19 +80,32 @@ files:
80
80
  - lib/sniffles/sniffers/advertising/adsense.rb
81
81
  - lib/sniffles/sniffers/advertising/buysellads.rb
82
82
  - lib/sniffles/sniffers/advertising/casale.rb
83
+ - lib/sniffles/sniffers/advertising/gumgum.rb
84
+ - lib/sniffles/sniffers/advertising/kontera.rb
85
+ - lib/sniffles/sniffers/advertising/thedeck.rb
86
+ - lib/sniffles/sniffers/advertising/tribalfusion.rb
83
87
  - lib/sniffles/sniffers/analytics/chartbeat.rb
84
88
  - lib/sniffles/sniffers/analytics/clicky.rb
85
89
  - lib/sniffles/sniffers/analytics/google_analytics.rb
86
90
  - lib/sniffles/sniffers/analytics/kissmetrics.rb
87
91
  - lib/sniffles/sniffers/analytics/mixpanel.rb
92
+ - lib/sniffles/sniffers/analytics/piwik.rb
88
93
  - lib/sniffles/sniffers/analytics/quantcast.rb
94
+ - lib/sniffles/sniffers/cms/bigcommerce.rb
89
95
  - lib/sniffles/sniffers/cms/blogger.rb
90
96
  - lib/sniffles/sniffers/cms/cscart.rb
97
+ - lib/sniffles/sniffers/cms/flatpress.rb
98
+ - lib/sniffles/sniffers/cms/invision.rb
99
+ - lib/sniffles/sniffers/cms/joomla.rb
91
100
  - lib/sniffles/sniffers/cms/movabletype.rb
101
+ - lib/sniffles/sniffers/cms/mybb.rb
92
102
  - lib/sniffles/sniffers/cms/oscommerce.rb
93
103
  - lib/sniffles/sniffers/cms/phpbb.rb
94
104
  - lib/sniffles/sniffers/cms/posterous.rb
105
+ - lib/sniffles/sniffers/cms/prestashop.rb
106
+ - lib/sniffles/sniffers/cms/shopify.rb
95
107
  - lib/sniffles/sniffers/cms/tumblr.rb
108
+ - lib/sniffles/sniffers/cms/typepad.rb
96
109
  - lib/sniffles/sniffers/cms/vanilla.rb
97
110
  - lib/sniffles/sniffers/cms/vbulletin.rb
98
111
  - lib/sniffles/sniffers/cms/wordpress.rb
@@ -103,20 +116,35 @@ files:
103
116
  - lib/sniffles/version.rb
104
117
  - sniffles.gemspec
105
118
  - spec/cassettes/beenverified_com.yml
119
+ - spec/cassettes/blackhatworld_com.yml
106
120
  - spec/cassettes/blog_posterous_com.yml
121
+ - spec/cassettes/community_invisionpower_com.yml
122
+ - spec/cassettes/demo-store_prestashop_com.yml
107
123
  - spec/cassettes/demo_cs-cart_com.yml
124
+ - spec/cassettes/demo_forum-software_org_mybb.yml
108
125
  - spec/cassettes/demo_oscommerce_com.yml
126
+ - spec/cassettes/downlopedia_com.yml
127
+ - spec/cassettes/flatpress_org_home_blog.yml
109
128
  - spec/cassettes/forum-software_org_vanilla.yml
110
129
  - spec/cassettes/foursquare_com.yml
111
130
  - spec/cassettes/google_blogspot_com.yml
112
131
  - spec/cassettes/guistyles_com.yml
113
132
  - spec/cassettes/humemes_com.yml
133
+ - spec/cassettes/invisionmodding_com.yml
134
+ - spec/cassettes/joomla_org.yml
135
+ - spec/cassettes/metafilter_com.yml
114
136
  - spec/cassettes/movabletype_com_blog.yml
115
137
  - spec/cassettes/orangecrushbeads_com.yml
138
+ - spec/cassettes/pandoramoa_com.yml
116
139
  - spec/cassettes/pearsonified_com.yml
117
140
  - spec/cassettes/phpbb_com.yml
141
+ - spec/cassettes/shop_angrybirds_com.yml
142
+ - spec/cassettes/sixflags_com.yml
143
+ - spec/cassettes/softpedia_com.yml
144
+ - spec/cassettes/soulemama_typepad_com.yml
118
145
  - spec/cassettes/squidoo_com.yml
119
146
  - spec/cassettes/staff_tumblr_com.yml
147
+ - spec/cassettes/tmz_com.yml
120
148
  - spec/cassettes/topix_com.yml
121
149
  - spec/cassettes/vbulletin_com.yml
122
150
  - spec/cassettes/wordpress_com.yml
@@ -127,19 +155,32 @@ files:
127
155
  - spec/sniffles/sniffers/advertising/adsense_spec.rb
128
156
  - spec/sniffles/sniffers/advertising/buysellads_spec.rb
129
157
  - spec/sniffles/sniffers/advertising/casale_spec.rb
158
+ - spec/sniffles/sniffers/advertising/gumgum_spec.rb
159
+ - spec/sniffles/sniffers/advertising/kontera_spec.rb
160
+ - spec/sniffles/sniffers/advertising/thedeck_spec.rb
161
+ - spec/sniffles/sniffers/advertising/tribalfusion_spec.rb
130
162
  - spec/sniffles/sniffers/analytics/chartbeat_spec.rb
131
163
  - spec/sniffles/sniffers/analytics/clicky_spec.rb
132
164
  - spec/sniffles/sniffers/analytics/google_analytics_spec.rb
133
165
  - spec/sniffles/sniffers/analytics/kissmetrics_spec.rb
134
166
  - spec/sniffles/sniffers/analytics/mixpanel_spec.rb
167
+ - spec/sniffles/sniffers/analytics/piwik_spec.rb
135
168
  - spec/sniffles/sniffers/analytics/quantcast_spec.rb
169
+ - spec/sniffles/sniffers/cms/bigcommerce_spec.rb
136
170
  - spec/sniffles/sniffers/cms/blogger_spec.rb
137
171
  - spec/sniffles/sniffers/cms/cscart_spec.rb
172
+ - spec/sniffles/sniffers/cms/flatpress_spec.rb
173
+ - spec/sniffles/sniffers/cms/invision_spec.rb
174
+ - spec/sniffles/sniffers/cms/joomla_spec.rb
138
175
  - spec/sniffles/sniffers/cms/movabletype_spec.rb
176
+ - spec/sniffles/sniffers/cms/mybb_spec.rb
139
177
  - spec/sniffles/sniffers/cms/oscommerce_spec.rb
140
178
  - spec/sniffles/sniffers/cms/phpbb_spec.rb
141
179
  - spec/sniffles/sniffers/cms/posterous_spec.rb
180
+ - spec/sniffles/sniffers/cms/prestashop_spec.rb
181
+ - spec/sniffles/sniffers/cms/shopify_spec.rb
142
182
  - spec/sniffles/sniffers/cms/tumblr_spec.rb
183
+ - spec/sniffles/sniffers/cms/typepad_spec.rb
143
184
  - spec/sniffles/sniffers/cms/vanilla_spec.rb
144
185
  - spec/sniffles/sniffers/cms/vbulletin_spec.rb
145
186
  - spec/sniffles/sniffers/cms/wordpress_spec.rb
@@ -165,7 +206,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
206
  version: '0'
166
207
  segments:
167
208
  - 0
168
- hash: 3018524255101447038
209
+ hash: -4001251301588077794
169
210
  required_rubygems_version: !ruby/object:Gem::Requirement
170
211
  none: false
171
212
  requirements:
@@ -174,60 +215,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
215
  version: '0'
175
216
  segments:
176
217
  - 0
177
- hash: 3018524255101447038
218
+ hash: -4001251301588077794
178
219
  requirements: []
179
220
  rubyforge_project:
180
221
  rubygems_version: 1.8.17
181
222
  signing_key:
182
223
  specification_version: 3
183
- summary: Sniffles helps you determine the platforms and libraries a website is running.
184
- test_files:
185
- - spec/cassettes/beenverified_com.yml
186
- - spec/cassettes/blog_posterous_com.yml
187
- - spec/cassettes/demo_cs-cart_com.yml
188
- - spec/cassettes/demo_oscommerce_com.yml
189
- - spec/cassettes/forum-software_org_vanilla.yml
190
- - spec/cassettes/foursquare_com.yml
191
- - spec/cassettes/google_blogspot_com.yml
192
- - spec/cassettes/guistyles_com.yml
193
- - spec/cassettes/humemes_com.yml
194
- - spec/cassettes/movabletype_com_blog.yml
195
- - spec/cassettes/orangecrushbeads_com.yml
196
- - spec/cassettes/pearsonified_com.yml
197
- - spec/cassettes/phpbb_com.yml
198
- - spec/cassettes/squidoo_com.yml
199
- - spec/cassettes/staff_tumblr_com.yml
200
- - spec/cassettes/topix_com.yml
201
- - spec/cassettes/vbulletin_com.yml
202
- - spec/cassettes/wordpress_com.yml
203
- - spec/cassettes/wundergroud_com.yml
204
- - spec/cassettes/xenforo_com.yml
205
- - spec/sniffles/html_spec.rb
206
- - spec/sniffles/sniffers/advertising/admeld_spec.rb
207
- - spec/sniffles/sniffers/advertising/adsense_spec.rb
208
- - spec/sniffles/sniffers/advertising/buysellads_spec.rb
209
- - spec/sniffles/sniffers/advertising/casale_spec.rb
210
- - spec/sniffles/sniffers/analytics/chartbeat_spec.rb
211
- - spec/sniffles/sniffers/analytics/clicky_spec.rb
212
- - spec/sniffles/sniffers/analytics/google_analytics_spec.rb
213
- - spec/sniffles/sniffers/analytics/kissmetrics_spec.rb
214
- - spec/sniffles/sniffers/analytics/mixpanel_spec.rb
215
- - spec/sniffles/sniffers/analytics/quantcast_spec.rb
216
- - spec/sniffles/sniffers/cms/blogger_spec.rb
217
- - spec/sniffles/sniffers/cms/cscart_spec.rb
218
- - spec/sniffles/sniffers/cms/movabletype_spec.rb
219
- - spec/sniffles/sniffers/cms/oscommerce_spec.rb
220
- - spec/sniffles/sniffers/cms/phpbb_spec.rb
221
- - spec/sniffles/sniffers/cms/posterous_spec.rb
222
- - spec/sniffles/sniffers/cms/tumblr_spec.rb
223
- - spec/sniffles/sniffers/cms/vanilla_spec.rb
224
- - spec/sniffles/sniffers/cms/vbulletin_spec.rb
225
- - spec/sniffles/sniffers/cms/wordpress_spec.rb
226
- - spec/sniffles/sniffers/cms/xenforo_spec.rb
227
- - spec/sniffles/sniffers/cms/zencart_spec.rb
228
- - spec/sniffles/sniffers/javascript/jquery_spec.rb
229
- - spec/sniffles/sniffers_spec.rb
230
- - spec/sniffles/text_spec.rb
231
- - spec/sniffles_spec.rb
232
- - spec/spec_helper.rb
233
- - spec/support/helpers.rb
224
+ summary: Detect the platforms and libraries a website is running.
225
+ test_files: []