exvo_warez 0.2.35 → 0.4.0

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/.gitignore CHANGED
@@ -1 +1,5 @@
1
- *.gem
1
+ *.gem
2
+ Gemfile.lock
3
+ .bundle
4
+ pkg/*
5
+ log/*
data/Gemfile CHANGED
@@ -1,6 +1,4 @@
1
- source :gemcutter
1
+ source "http://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
- # gem "rack-useragent-filter", :git => "git://github.com/seku/rack-useragent.git"
6
- # gem "rack-useragent-filter", :path => "~/exvo/rack-useragent"
data/Rakefile CHANGED
@@ -1,2 +1,10 @@
1
- require 'bundler'
2
- Bundler::GemHelper.install_tasks
1
+ require 'bundler/gem_tasks'
2
+
3
+ require 'rspec/core'
4
+ require 'rspec/core/rake_task'
5
+
6
+ RSpec::Core::RakeTask.new(:spec) do |spec|
7
+ spec.pattern = FileList['spec/**/*_spec.rb']
8
+ end
9
+
10
+ task :default => :spec
data/exvo_warez.gemspec CHANGED
@@ -7,23 +7,20 @@ Gem::Specification.new do |s|
7
7
 
8
8
  s.required_rubygems_version = ">= 1.3.6"
9
9
  s.authors = ["Tomasz Mazur"]
10
- s.description = %q{Maintain Exvo Notifications in external apps}
10
+ s.description = %q{Append google analytics & chartbeat to the html pages}
11
11
  s.email = %q{defkode@gmail.com}
12
12
  s.summary = %q{ExvoWarez}
13
13
  s.extra_rdoc_files = [
14
14
  "LICENSE",
15
15
  "README.rdoc"
16
16
  ]
17
- s.homepage = %q{http://github.com/defkode/rack-useragent}
18
17
  s.rubyforge_project = %q{exvo_warez}
19
-
20
- s.add_dependency 'rack-useragent-filter', ['>= 0.1.9']
21
- s.add_dependency 'rack_referral', ['>= 0.0.1']
22
- s.add_dependency 'exvo-auth', ['> 0.9.6']
23
18
 
24
19
  s.files = `git ls-files`.split("\n")
25
20
  s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
26
21
  s.require_path = 'lib'
22
+ s.add_development_dependency 'rspec', ['>= 2.6']
23
+ s.add_development_dependency 'rack', ['>= 1.1.0']
27
24
  end
28
25
 
29
26
 
data/lib/exvo_warez.rb CHANGED
@@ -1,35 +1,11 @@
1
- require "rack/exvo/seo"
2
- require "rack/useragent/filter"
3
- require "rack_referral"
4
- require 'exvo-auth'
1
+ require "rack/exvo/stats"
5
2
 
6
3
  module Rack
7
4
  class ExvoWarez
8
5
 
9
6
  def initialize(app)
10
7
  @app = app
11
- apply_middlewares
12
- end
13
-
14
- def apply_middlewares
15
- if env == "development"
16
- # apply_referral
17
- apply_useragent_filter
18
- # apply_seo
19
- end
20
-
21
- if env == "staging"
22
- apply_referral
23
- apply_useragent_filter
24
- apply_seo if ExvoAuth::Config.client_id
25
- end
26
-
27
- if env == "production"
28
- apply_referral
29
- apply_useragent_filter
30
- apply_seo if ExvoAuth::Config.client_id
31
- end
32
-
8
+ apply_stats if env == "production" && ExvoAuth::Config.client_id
33
9
  end
34
10
 
35
11
  def call(env)
@@ -41,29 +17,9 @@ module Rack
41
17
  def env
42
18
  ENV['RACK_ENV'] || "development"
43
19
  end
44
-
45
- def auth_host
46
- env == "production" ? "http://auth.exvo.com" : "http://staging.auth.exvo.com"
47
- end
48
-
49
- def apply_useragent_filter
50
- required_products = [
51
- ["Internet Explorer", "8.0"],
52
- ["Opera", "10.0"],
53
- ["Firefox", "3.0"]
54
- ]
55
-
56
- @app = Rack::UserAgent::Filter.new(@app, required_products, :force_with_cookie => "deprecated_browser", :template => "http://www.exvo.com/browser_unsupported.html")
57
- # :template => "#{RAILS_ROOT}/public/browser_unsupported.html.erb"
58
- end
59
20
 
60
- def apply_seo
61
- @app = Rack::ExvoWarez::Seo.new(@app)
21
+ def apply_stats
22
+ @app = Rack::ExvoWarez::Stats.new(@app)
62
23
  end
63
-
64
- def apply_referral
65
- @app = Rack::Referral.new(@app, :url => "#{auth_host}/referrals/<REF>?return_to=<RETURN_TO>")
66
- end
67
-
68
24
  end
69
25
  end
@@ -1,10 +1,9 @@
1
1
  module Rack
2
2
  class ExvoWarez
3
- class Seo
3
+ class Stats
4
4
  def initialize(app)
5
5
  @app = app
6
- @apps = apps_index
7
- @payload = ERB.new(::File.read(::File.expand_path("../templates/links.erb", __FILE__))).result(binding)
6
+ @payload = ERB.new(::File.read(::File.expand_path("../templates/stats.erb", __FILE__))).result(binding)
8
7
  end
9
8
 
10
9
  def call(env)
@@ -42,12 +41,6 @@ module Rack
42
41
 
43
42
  private
44
43
 
45
- def apps_index
46
- ExvoAuth::Autonomous::Auth.instance.get("/api/private/apps/published").parsed_response.reject do |app|
47
- app["client_id"] == ExvoAuth::Config.client_id
48
- end
49
- end
50
-
51
44
  def html?(headers)
52
45
  /html/ === headers['Content-Type']
53
46
  end
@@ -18,11 +18,6 @@
18
18
  })();
19
19
  //]]>
20
20
  </script>
21
- <footer style="display: none">
22
- <% @apps.each do |app| %>
23
- <a href="<%= app["url"] %>"><%= app["name"] %></a>
24
- <% end %>
25
- </footer>
26
21
  <script type='text/javascript'>
27
22
  //<![CDATA[
28
23
  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module ExvoWarez
2
- VERSION = "0.2.35"
2
+ VERSION = "0.4.0"
3
3
  end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe Rack::ExvoWarez do
4
+
5
+ it "should inject script before body tag" do
6
+ app = lambda {|env| [200, {"Content-Type" => "text/html"}, ["foo", "bar", "</body>"]]}
7
+ a = Rack::ExvoWarez::Stats.new(app)
8
+ p = a.instance_variable_get(:@payload)
9
+ s, h, b = a.call({})
10
+ body = "".tap{|s| b.each{|c| s << c}}
11
+
12
+ p.length.should_not eql(0)
13
+ body.should eql("foobar#{p}</body>")
14
+ end
15
+ end
@@ -0,0 +1,6 @@
1
+ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $:.unshift(File.dirname(__FILE__))
3
+
4
+ require "exvo_warez"
5
+ require 'erb'
6
+ require 'rack/request'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exvo_warez
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.35
4
+ version: 0.4.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,42 +9,31 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-07 00:00:00.000000000Z
12
+ date: 2011-10-11 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rack-useragent-filter
16
- requirement: &2161001500 !ruby/object:Gem::Requirement
15
+ name: rspec
16
+ requirement: &2153366480 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.1.9
22
- type: :runtime
21
+ version: '2.6'
22
+ type: :development
23
23
  prerelease: false
24
- version_requirements: *2161001500
24
+ version_requirements: *2153366480
25
25
  - !ruby/object:Gem::Dependency
26
- name: rack_referral
27
- requirement: &2161001020 !ruby/object:Gem::Requirement
26
+ name: rack
27
+ requirement: &2153365380 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
- version: 0.0.1
33
- type: :runtime
32
+ version: 1.1.0
33
+ type: :development
34
34
  prerelease: false
35
- version_requirements: *2161001020
36
- - !ruby/object:Gem::Dependency
37
- name: exvo-auth
38
- requirement: &2161000520 !ruby/object:Gem::Requirement
39
- none: false
40
- requirements:
41
- - - ! '>'
42
- - !ruby/object:Gem::Version
43
- version: 0.9.6
44
- type: :runtime
45
- prerelease: false
46
- version_requirements: *2161000520
47
- description: Maintain Exvo Notifications in external apps
35
+ version_requirements: *2153365380
36
+ description: Append google analytics & chartbeat to the html pages
48
37
  email: defkode@gmail.com
49
38
  executables: []
50
39
  extensions: []
@@ -52,22 +41,19 @@ extra_rdoc_files:
52
41
  - LICENSE
53
42
  - README.rdoc
54
43
  files:
55
- - .bundle/config
56
44
  - .gitignore
57
45
  - Gemfile
58
- - Gemfile.lock
59
46
  - LICENSE
60
47
  - README.rdoc
61
48
  - Rakefile
62
- - VERSION
63
49
  - exvo_warez.gemspec
64
50
  - lib/exvo_warez.rb
65
- - lib/rack/exvo/seo.rb
66
- - lib/rack/exvo/templates/links.erb
51
+ - lib/rack/exvo/stats.rb
52
+ - lib/rack/exvo/templates/stats.erb
67
53
  - lib/version.rb
68
- - test/exvo_warez_test.rb
69
- - test/helper.rb
70
- homepage: http://github.com/defkode/rack-useragent
54
+ - spec/exvo_warez_spec.rb
55
+ - spec/spec_helper.rb
56
+ homepage:
71
57
  licenses: []
72
58
  post_install_message:
73
59
  rdoc_options: []
data/.bundle/config DELETED
@@ -1,2 +0,0 @@
1
- ---
2
- BUNDLE_WITHOUT: staging:production
data/Gemfile.lock DELETED
@@ -1,76 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- exvo_warez (0.2.33)
5
- exvo-auth (> 0.9.6)
6
- rack-useragent-filter (>= 0.1.9)
7
- rack_referral (>= 0.0.1)
8
-
9
- GEM
10
- remote: http://rubygems.org/
11
- specs:
12
- abstract (1.0.0)
13
- actionpack (3.0.7)
14
- activemodel (= 3.0.7)
15
- activesupport (= 3.0.7)
16
- builder (~> 2.1.2)
17
- erubis (~> 2.6.6)
18
- i18n (~> 0.5.0)
19
- rack (~> 1.2.1)
20
- rack-mount (~> 0.6.14)
21
- rack-test (~> 0.5.7)
22
- tzinfo (~> 0.3.23)
23
- activemodel (3.0.7)
24
- activesupport (= 3.0.7)
25
- builder (~> 2.1.2)
26
- i18n (~> 0.5.0)
27
- activesupport (3.0.7)
28
- addressable (2.2.6)
29
- builder (2.1.2)
30
- crack (0.1.8)
31
- erubis (2.6.6)
32
- abstract (>= 1.0.0)
33
- exvo-auth (0.12.2)
34
- actionpack (~> 3.0.0)
35
- activemodel (~> 3.0.0)
36
- httparty (~> 0.6.1)
37
- oa-oauth (~> 0.0.4)
38
- faraday (0.4.6)
39
- addressable (>= 2.1.1)
40
- rack (>= 1.0.1)
41
- httparty (0.6.1)
42
- crack (= 0.1.8)
43
- i18n (0.5.0)
44
- multi_json (0.0.5)
45
- nokogiri (1.4.7)
46
- oa-core (0.0.5)
47
- rack (~> 1.1)
48
- oa-oauth (0.0.5)
49
- multi_json (~> 0.0.2)
50
- nokogiri (~> 1.4.2)
51
- oa-core (= 0.0.5)
52
- oauth (~> 0.4.0)
53
- oauth2 (~> 0.0.10)
54
- oauth (0.4.5)
55
- oauth2 (0.0.13)
56
- faraday (~> 0.4.1)
57
- multi_json (>= 0.0.4)
58
- rack (1.2.4)
59
- rack-mount (0.6.14)
60
- rack (>= 1.0.0)
61
- rack-test (0.5.7)
62
- rack (>= 1.0)
63
- rack-useragent-filter (0.2.0)
64
- rack (>= 0.9.1)
65
- tilt (>= 1.0.0)
66
- useragent (>= 0.1.5)
67
- rack_referral (0.0.1)
68
- tilt (1.3.3)
69
- tzinfo (0.3.29)
70
- useragent (0.4.4)
71
-
72
- PLATFORMS
73
- ruby
74
-
75
- DEPENDENCIES
76
- exvo_warez!
data/VERSION DELETED
File without changes
@@ -1,20 +0,0 @@
1
- require 'helper'
2
-
3
- class TestExvoWarez < Test::Unit::TestCase
4
- test "sanity" do
5
- app = lambda {|env| [200, {"Content-Type" => "text/html"}, ["foo", "bar", "</body>"]]}
6
- Rack::ExvoWarez::Seo.send :define_method, :apps_index do # poor man's mock
7
- [
8
- {"url" => "url1", "name" => "name1"},
9
- {"url" => "url2", "name" => "name2"}
10
- ]
11
- end
12
- a = Rack::ExvoWarez::Seo.new(app)
13
- p = a.instance_variable_get(:@payload)
14
- s, h, b = a.call({})
15
- body = "".tap{|s| b.each{|c| s << c}}
16
-
17
- assert p.length > 0
18
- assert_equal "foobar#{p}</body>", body
19
- end
20
- end
data/test/helper.rb DELETED
@@ -1,4 +0,0 @@
1
- require 'rubygems'
2
- gem "test-unit", "~>2.1.0"
3
- require 'test/unit'
4
- require 'exvo_warez'