parlement 0.5 → 0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGES +26 -0
- data/README +2 -1
- data/app/controllers/account_controller.rb +27 -18
- data/app/controllers/application.rb +1 -3
- data/app/controllers/elt_controller.rb +92 -42
- data/app/helpers/elt_helper.rb +7 -18
- data/app/models/elt.rb +76 -22
- data/app/models/mail.rb +13 -10
- data/app/models/mail_notify.rb +11 -27
- data/app/models/person.rb +1 -1
- data/app/views/account/_login.rhtml +14 -9
- data/app/views/account/_show.rhtml +23 -9
- data/app/views/elt/_choice.rhtml +32 -0
- data/app/views/elt/_elt.rhtml +90 -78
- data/app/views/elt/_list.rhtml +83 -50
- data/app/views/elt/_listByDate.rhtml +60 -0
- data/app/views/elt/_listByVote.rhtml +71 -0
- data/app/views/elt/choices.rhtml +29 -0
- data/app/views/elt/new.rhtml +11 -26
- data/app/views/elt/rss.rxml +14 -12
- data/app/views/elt/show.rhtml +23 -29
- data/app/views/elt/vote_rss.rxml +40 -0
- data/app/views/layouts/top.rhtml +5 -13
- data/config/environment.rb +3 -1
- data/config/routes.rb +4 -0
- data/db/development_structure.sql +5 -2
- data/db/migrate/002_nested_set.rb +22 -0
- data/db/migrate/003_elt_children_count.rb +12 -0
- data/public/images/ParlementLogo.png +0 -0
- data/public/images/indicator.gif +0 -0
- data/public/javascripts/behaviour.js +254 -0
- data/public/javascripts/mybehaviour.js +96 -0
- data/public/javascripts/slider.js +188 -163
- data/test/fixtures/elts.yml +19 -0
- data/test/fixtures/mail/mail_ruby +4 -0
- data/test/fixtures/mail/mail_rubyChild +1 -1
- data/test/fixtures/mail/mail_rubyChild2 +1 -1
- data/test/functional/account_controller_test.rb +24 -0
- data/test/functional/elt_controller_test.rb +64 -4
- data/test/unit/elt_test.rb +28 -4
- data/test/unit/mail_notify_test.rb +7 -5
- data/test/unit/mail_test.rb +1 -1
- data/vendor/plugins/google_analytics/README +19 -0
- data/vendor/plugins/google_analytics/Rakefile +22 -0
- data/vendor/plugins/google_analytics/init.rb +3 -0
- data/vendor/plugins/google_analytics/lib/rubaidh/google_analytics.rb +70 -0
- data/vendor/plugins/google_analytics/test/google_analytics_test.rb +8 -0
- data/vendor/plugins/output_compression/README +4 -0
- data/vendor/plugins/output_compression/Rakefile +22 -0
- data/vendor/plugins/output_compression/init.rb +2 -0
- data/vendor/plugins/output_compression/lib/output_compression.rb +66 -0
- data/vendor/plugins/output_compression/tasks/output_compression_tasks.rake +4 -0
- data/vendor/plugins/output_compression/test/output_compression_test.rb +8 -0
- metadata +32 -4
- data/public/images/smile.svg +0 -257
- data/public/javascripts/borders.js +0 -687
@@ -5,14 +5,74 @@ require 'elt_controller'
|
|
5
5
|
class EltController; def rescue_action(e) raise e end; end
|
6
6
|
|
7
7
|
class EltControllerTest < Test::Unit::TestCase
|
8
|
+
#fixtures :people, :users, :elts, :mails, :attachments, :subscribers
|
9
|
+
|
8
10
|
def setup
|
9
11
|
@controller = EltController.new
|
10
12
|
@request = ActionController::TestRequest.new
|
11
13
|
@response = ActionController::TestResponse.new
|
12
|
-
end
|
13
14
|
|
14
|
-
|
15
|
-
def test_truth
|
16
|
-
assert true
|
15
|
+
@elt = Elt.find 'ROOT'
|
17
16
|
end
|
17
|
+
|
18
|
+
def test_create
|
19
|
+
post :create, :id => @elt.id, :commit => "Propose!",
|
20
|
+
:elt =>{
|
21
|
+
:body => "Un joli test", :subject => "test_create", :parent_id => @elt.id }
|
22
|
+
assert_equal 4, @elt.children_count
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_create_login
|
26
|
+
login
|
27
|
+
post :create, :id => @elt.id, :commit => "Propose!",
|
28
|
+
:elt =>{
|
29
|
+
:body => "Un joli test", :subject => "test_create", :parent_id => @elt.id }
|
30
|
+
assert_equal 4, @elt.children_count
|
31
|
+
end
|
32
|
+
|
33
|
+
def test_vote_pro
|
34
|
+
login
|
35
|
+
post :vote, :id => @elt.id, :choice => { :value => "+1" }, :commit => "Vote!"
|
36
|
+
assert_equal 4, @elt.children_count
|
37
|
+
assert_equal 1, @elt.result
|
38
|
+
end
|
39
|
+
|
40
|
+
def test_vote_con
|
41
|
+
login
|
42
|
+
post :vote, :id => @elt.id, :choice => { :value => "-1" }, :commit => "Vote!"
|
43
|
+
assert_equal 4, @elt.children_count
|
44
|
+
assert_equal -1, @elt.result
|
45
|
+
end
|
46
|
+
|
47
|
+
def test_vote_zero
|
48
|
+
login
|
49
|
+
post :vote, :id => @elt.id, :choice => { :value => "+1" }, :commit => "Vote!"
|
50
|
+
post :vote, :id => @elt.id, :choice => { :value => "+1" }, :commit => "Vote!"
|
51
|
+
assert_equal 5, @elt.children_count
|
52
|
+
assert_equal 0, @elt.result
|
53
|
+
|
54
|
+
post :vote, :id => @elt.id, :choice => { :value => "-1" }, :commit => "Vote!"
|
55
|
+
post :vote, :id => @elt.id, :choice => { :value => "-1" }, :commit => "Vote!"
|
56
|
+
assert_equal 7, @elt.children_count
|
57
|
+
assert_equal 0, @elt.result
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_fight_spam
|
61
|
+
post :create, :id => @elt.id, :commit => "Propose!", :elt => {
|
62
|
+
:parent_id => @elt.id,
|
63
|
+
:subject => "cheap_atenolol<a_href='http_pohyis.org_tramadol_'",
|
64
|
+
:body => "Un spam" }
|
65
|
+
assert_equal 3, @elt.children_count
|
66
|
+
|
67
|
+
post :create, :id => @elt.id, :commit => "Propose!", :elt => {
|
68
|
+
:parent_id => @elt.id,
|
69
|
+
:subject => "href='http_pohyis.org_tramadol_'",
|
70
|
+
:body => "Un spam" }
|
71
|
+
assert_equal 3, @elt.children_count
|
72
|
+
|
73
|
+
post :create, :id => @elt.id, :commit => "Propose!", :elt => {
|
74
|
+
:parent_id => @elt.id, :subject => ">'", :body => "Un spam" }
|
75
|
+
assert_equal 3, @elt.children_count
|
76
|
+
end
|
18
77
|
end
|
78
|
+
|
data/test/unit/elt_test.rb
CHANGED
@@ -1,15 +1,39 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../test_helper'
|
2
2
|
|
3
3
|
class EltTest < Test::Unit::TestCase
|
4
|
-
fixtures :elts, :mails, :attachments
|
4
|
+
fixtures :people, :users, :elts, :mails, :attachments, :subscribers
|
5
5
|
|
6
6
|
def setup
|
7
7
|
@elt = Elt.find(1)
|
8
8
|
end
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
def test_generated_id
|
11
|
+
e = @elt.children.new
|
12
|
+
e.subject = "Test: /de\ #?&subject"
|
13
|
+
e.body = "Test de body"
|
14
|
+
e.save
|
15
|
+
@elt.add_child e
|
16
|
+
|
17
|
+
assert_equal "Test_de_subject", e.id
|
18
|
+
|
19
|
+
e = @elt.children.new
|
20
|
+
e.subject = "Test&? de subject"
|
21
|
+
e.body = "Test de body"
|
22
|
+
e.save
|
23
|
+
@elt.add_child e
|
24
|
+
|
25
|
+
assert_equal "Test_de_subject_1", e.id
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_vote_hidden_from_view
|
29
|
+
vote = @elt.children.new
|
30
|
+
vote.save
|
31
|
+
@elt.add_child vote
|
32
|
+
vote.body = "+1"
|
33
|
+
vote.publish
|
34
|
+
|
35
|
+
assert_equal -1, vote.result
|
36
|
+
assert_equal 1, vote.parent.result
|
13
37
|
end
|
14
38
|
end
|
15
39
|
|
@@ -18,10 +18,11 @@ class MailNotifyTest < Test::Unit::TestCase
|
|
18
18
|
|
19
19
|
assert_equal 0, ActionMailer::Base.deliveries.size
|
20
20
|
|
21
|
-
elt = Elt.find('
|
22
|
-
elt.
|
21
|
+
elt = Elt.find('mailList')
|
22
|
+
elt.publish
|
23
23
|
|
24
24
|
assert_equal 1, ActionMailer::Base.deliveries.size
|
25
|
+
assert_equal "mail@leparlement.org", ActionMailer::Base.deliveries[0].to[0]
|
25
26
|
end
|
26
27
|
|
27
28
|
def test_redeliver_mail
|
@@ -29,11 +30,12 @@ class MailNotifyTest < Test::Unit::TestCase
|
|
29
30
|
|
30
31
|
assert_equal 0, ActionMailer::Base.deliveries.size
|
31
32
|
|
32
|
-
elt = Elt.find('
|
33
|
-
elt.
|
33
|
+
elt = Elt.find('mailList')
|
34
|
+
elt.publish
|
34
35
|
|
35
36
|
assert_equal 1, ActionMailer::Base.deliveries.size
|
36
|
-
|
37
|
+
assert_equal "mail@leparlement.org", ActionMailer::Base.deliveries[0].to[0]
|
38
|
+
#puts ActionMailer::Base.deliveries[0].to
|
37
39
|
end
|
38
40
|
end
|
39
41
|
|
data/test/unit/mail_test.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
GoogleAnalytics
|
2
|
+
===============
|
3
|
+
|
4
|
+
This is a quick 'n' dirty module to easily enable Google Analytics support
|
5
|
+
in your application. By default it'll output the analytics code for every
|
6
|
+
single page automatically, if it's configured correctly. This is done by
|
7
|
+
adding:
|
8
|
+
|
9
|
+
Rubaidh::GoogleAnalytics.tracker_id = 'UA-12345-67'
|
10
|
+
|
11
|
+
to your `config/environment.rb`, inserting your own tracker id. This can be
|
12
|
+
discovered by looking at the value assigned to +_uacct+ in the Javascript
|
13
|
+
code.
|
14
|
+
|
15
|
+
If you want to disable the code insertion for particular pages, add the following to controllers that don't want it:
|
16
|
+
|
17
|
+
skip_after_filter :add_google_analytics_code
|
18
|
+
|
19
|
+
Simple. :-)
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'rake'
|
2
|
+
require 'rake/testtask'
|
3
|
+
require 'rake/rdoctask'
|
4
|
+
|
5
|
+
desc 'Default: run unit tests.'
|
6
|
+
task :default => :test
|
7
|
+
|
8
|
+
desc 'Test the google_analytics plugin.'
|
9
|
+
Rake::TestTask.new(:test) do |t|
|
10
|
+
t.libs << 'lib'
|
11
|
+
t.pattern = 'test/**/*_test.rb'
|
12
|
+
t.verbose = true
|
13
|
+
end
|
14
|
+
|
15
|
+
desc 'Generate documentation for the google_analytics plugin.'
|
16
|
+
Rake::RDocTask.new(:rdoc) do |rdoc|
|
17
|
+
rdoc.rdoc_dir = 'rdoc'
|
18
|
+
rdoc.title = 'GoogleAnalytics'
|
19
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
20
|
+
rdoc.rdoc_files.include('README')
|
21
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
22
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Rubaidh # :nodoc:
|
2
|
+
module GoogleAnalyticsMixin
|
3
|
+
def google_analytics_code(request = nil)
|
4
|
+
return unless GoogleAnalytics.enabled?
|
5
|
+
GoogleAnalytics.new.google_analytics_code(request)
|
6
|
+
end
|
7
|
+
|
8
|
+
# An after_filter to automatically add the analytics code.
|
9
|
+
def add_google_analytics_code
|
10
|
+
code = google_analytics_code(request)
|
11
|
+
return if code.blank?
|
12
|
+
response.body.gsub! '</body>', code + '</body>'
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
class GoogleAnalytics
|
17
|
+
# Specify the Google Analytics ID for this web site. This can be found
|
18
|
+
# as the value of +_uacct+ in the Javascript excerpt
|
19
|
+
@@tracker_id = nil
|
20
|
+
cattr_accessor :tracker_id
|
21
|
+
|
22
|
+
# Specify a different domain name from the default. You'll want to use
|
23
|
+
# this if you have several subdomains that you want to combine into
|
24
|
+
# one report. See the Google Analytics documentation for more
|
25
|
+
# information.
|
26
|
+
@@domain_name = nil
|
27
|
+
cattr_accessor :domain_name
|
28
|
+
|
29
|
+
# I can't see why you'd want to do this, but you can always change the
|
30
|
+
# analytics URL.
|
31
|
+
@@analytics_url = 'http://www.google-analytics.com/urchin.js'
|
32
|
+
cattr_accessor :analytics_url
|
33
|
+
|
34
|
+
# I can't see why you'd want to do this, but you can always change the
|
35
|
+
# analytics URL (ssl version).
|
36
|
+
@@analytics_ssl_url = 'https://ssl.google-analytics.com/urchin.js'
|
37
|
+
cattr_accessor :analytics_ssl_url
|
38
|
+
|
39
|
+
# The environments in which to enable the Google Analytics code. Defaults
|
40
|
+
# to 'production' only.
|
41
|
+
@@environments = ['production']
|
42
|
+
cattr_accessor :environments
|
43
|
+
|
44
|
+
# Return true if the Google Analytics system is enabled and configured
|
45
|
+
# correctly.
|
46
|
+
def self.enabled?
|
47
|
+
(environments.include?(RAILS_ENV) and
|
48
|
+
not tracker_id.blank? and
|
49
|
+
not analytics_url.blank?)
|
50
|
+
end
|
51
|
+
|
52
|
+
def google_analytics_code(request = nil)
|
53
|
+
extra_code = domain_name.blank? ? nil : "_udn = \"#{domain_name}\";"
|
54
|
+
url = (not request.blank? and request.ssl?) ? analytics_ssl_url : analytics_url
|
55
|
+
|
56
|
+
# OK, I'm not very bright -- I tried to turn this into a partial and
|
57
|
+
# failed miserably! So it'll have to live here for now.
|
58
|
+
code = <<-HTML
|
59
|
+
<script src="#{url}" type="text/javascript">
|
60
|
+
</script>
|
61
|
+
<script type="text/javascript">
|
62
|
+
_uacct = "#{tracker_id}";
|
63
|
+
#{extra_code}
|
64
|
+
urchinTracker();
|
65
|
+
</script>
|
66
|
+
HTML
|
67
|
+
code
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'rake'
|
2
|
+
require 'rake/testtask'
|
3
|
+
require 'rake/rdoctask'
|
4
|
+
|
5
|
+
desc 'Default: run unit tests.'
|
6
|
+
task :default => :test
|
7
|
+
|
8
|
+
desc 'Test the output_compression plugin.'
|
9
|
+
Rake::TestTask.new(:test) do |t|
|
10
|
+
t.libs << 'lib'
|
11
|
+
t.pattern = 'test/**/*_test.rb'
|
12
|
+
t.verbose = true
|
13
|
+
end
|
14
|
+
|
15
|
+
desc 'Generate documentation for the output_compression plugin.'
|
16
|
+
Rake::RDocTask.new(:rdoc) do |rdoc|
|
17
|
+
rdoc.rdoc_dir = 'rdoc'
|
18
|
+
rdoc.title = 'OutputCompression'
|
19
|
+
rdoc.options << '--line-numbers --inline-source'
|
20
|
+
rdoc.rdoc_files.include('README')
|
21
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
22
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
# OutputCompression
|
2
|
+
# Rails output compression filters
|
3
|
+
#
|
4
|
+
# Adds two classmethods to ActionController that can be used as after-filters:
|
5
|
+
# strip_whitespace and compress_output.
|
6
|
+
# If you use page-caching, you MUST specify the compress_output filter AFTER
|
7
|
+
# caches_page, otherwise the compressed data will be cached instead of the HTML
|
8
|
+
#
|
9
|
+
# class MyController < ApplicationController
|
10
|
+
# after_filter :strip_whitespace
|
11
|
+
# caches_page :index
|
12
|
+
# after_filter :compress_output
|
13
|
+
# end
|
14
|
+
|
15
|
+
begin
|
16
|
+
require 'zlib'
|
17
|
+
require 'stringio'
|
18
|
+
GZIP_SUPPORTED = true
|
19
|
+
rescue
|
20
|
+
GZIP_SUPPORTED = false
|
21
|
+
end
|
22
|
+
|
23
|
+
module CompressionSystem
|
24
|
+
def compress_output
|
25
|
+
return unless accepts_gzip?
|
26
|
+
output = StringIO.new
|
27
|
+
def output.close
|
28
|
+
# Zlib does a close. Bad Zlib...
|
29
|
+
rewind
|
30
|
+
end
|
31
|
+
gz = Zlib::GzipWriter.new(output)
|
32
|
+
gz.write(response.body)
|
33
|
+
gz.close
|
34
|
+
if output.length < response.body.length
|
35
|
+
@old_response_body = response.body
|
36
|
+
response.body = output.string
|
37
|
+
response.headers['Content-encoding'] = @compression_encoding
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def accepts_gzip?
|
42
|
+
return false unless GZIP_SUPPORTED
|
43
|
+
accepts = request.env['HTTP_ACCEPT_ENCODING']
|
44
|
+
return false unless accepts && accepts =~ /(x-gzip|gzip)/
|
45
|
+
@compression_encoding = $1
|
46
|
+
true
|
47
|
+
end
|
48
|
+
|
49
|
+
def strip_whitespace
|
50
|
+
response.body.gsub!(/()|(.*?<\/script>)|()|()|\s+/m) do |m|
|
51
|
+
if m =~ /^()(.*?)<\/script>$/m
|
52
|
+
$1 + $2.strip.gsub(/\s+/, ' ').gsub('',"\n-->") + ''
|
53
|
+
elsif m =~ /^$/m
|
54
|
+
''
|
55
|
+
elsif m =~ /^<(textarea|pre)/
|
56
|
+
m
|
57
|
+
else ' '
|
58
|
+
end
|
59
|
+
end
|
60
|
+
response.body.gsub! /\s+\s+/, '>'
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
class ActionController::Base
|
65
|
+
include CompressionSystem
|
66
|
+
end
|
metadata
CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
4
4
|
name: parlement
|
5
5
|
version: !ruby/object:Gem::Version
|
6
|
-
version: "0.
|
7
|
-
date: 2006-
|
6
|
+
version: "0.6"
|
7
|
+
date: 2006-06-18 00:00:00 +02:00
|
8
8
|
summary: Trusted Direct Democracy on a forum
|
9
9
|
require_paths:
|
10
10
|
- lib
|
@@ -74,6 +74,11 @@ files:
|
|
74
74
|
- app/views/elt/_list.rhtml
|
75
75
|
- app/views/elt/new.rhtml
|
76
76
|
- app/views/elt/show.rhtml
|
77
|
+
- app/views/elt/_listByDate.rhtml
|
78
|
+
- app/views/elt/_choice.rhtml
|
79
|
+
- app/views/elt/_listByVote.rhtml
|
80
|
+
- app/views/elt/vote_rss.rxml
|
81
|
+
- app/views/elt/choices.rhtml
|
77
82
|
- app/views/account/welcome.rhtml
|
78
83
|
- app/views/account/_login.rhtml
|
79
84
|
- app/views/account/logout.rhtml
|
@@ -99,6 +104,8 @@ files:
|
|
99
104
|
- db/ROOT
|
100
105
|
- db/development_structure.sql
|
101
106
|
- db/migrate/001_create_choices.rb
|
107
|
+
- db/migrate/002_nested_set.rb
|
108
|
+
- db/migrate/003_elt_children_count.rb
|
102
109
|
- db/ROOT/perso
|
103
110
|
- db/ROOT/parlement.txt
|
104
111
|
- db/ROOT/perso.txt
|
@@ -143,12 +150,13 @@ files:
|
|
143
150
|
- public/images/rails.png
|
144
151
|
- public/images/orange_by_darren_Hester_350o.jpg
|
145
152
|
- public/images/Sleep-Deprivation-5.JPG
|
153
|
+
- public/images/indicator.gif
|
146
154
|
- public/images/smile.png
|
147
|
-
- public/images/smile.svg
|
148
155
|
- public/images/eltBackground.svg
|
149
156
|
- public/images/world.png
|
150
157
|
- public/images/world.svg
|
151
158
|
- public/images/eltBackground.jng
|
159
|
+
- public/images/ParlementLogo.png
|
152
160
|
- public/engine_files/README
|
153
161
|
- public/engine_files/login_engine
|
154
162
|
- public/javascripts/prototype.js
|
@@ -160,9 +168,10 @@ files:
|
|
160
168
|
- public/javascripts/slider.js
|
161
169
|
- public/javascripts/blank.gif
|
162
170
|
- public/javascripts/ie7.js
|
163
|
-
- public/javascripts/
|
171
|
+
- public/javascripts/behaviour.js
|
164
172
|
- public/javascripts/ie7-load.htc
|
165
173
|
- public/javascripts/application.js
|
174
|
+
- public/javascripts/mybehaviour.js
|
166
175
|
- test/fixtures
|
167
176
|
- test/functional
|
168
177
|
- test/mocks
|
@@ -204,6 +213,8 @@ files:
|
|
204
213
|
- vendor/plugins/engines
|
205
214
|
- vendor/plugins/guid
|
206
215
|
- vendor/plugins/file_column
|
216
|
+
- vendor/plugins/output_compression
|
217
|
+
- vendor/plugins/google_analytics
|
207
218
|
- vendor/plugins/login_engine/test
|
208
219
|
- vendor/plugins/login_engine/app
|
209
220
|
- vendor/plugins/login_engine/db
|
@@ -336,6 +347,23 @@ files:
|
|
336
347
|
- vendor/plugins/file_column/lib/magick_file_column.rb
|
337
348
|
- vendor/plugins/file_column/lib/file_column_helper.rb
|
338
349
|
- vendor/plugins/file_column/lib/file_column.rb
|
350
|
+
- vendor/plugins/output_compression/test
|
351
|
+
- vendor/plugins/output_compression/tasks
|
352
|
+
- vendor/plugins/output_compression/lib
|
353
|
+
- vendor/plugins/output_compression/Rakefile
|
354
|
+
- vendor/plugins/output_compression/init.rb
|
355
|
+
- vendor/plugins/output_compression/README
|
356
|
+
- vendor/plugins/output_compression/test/output_compression_test.rb
|
357
|
+
- vendor/plugins/output_compression/tasks/output_compression_tasks.rake
|
358
|
+
- vendor/plugins/output_compression/lib/output_compression.rb
|
359
|
+
- vendor/plugins/google_analytics/test
|
360
|
+
- vendor/plugins/google_analytics/lib
|
361
|
+
- vendor/plugins/google_analytics/Rakefile
|
362
|
+
- vendor/plugins/google_analytics/init.rb
|
363
|
+
- vendor/plugins/google_analytics/README
|
364
|
+
- vendor/plugins/google_analytics/test/google_analytics_test.rb
|
365
|
+
- vendor/plugins/google_analytics/lib/rubaidh
|
366
|
+
- vendor/plugins/google_analytics/lib/rubaidh/google_analytics.rb
|
339
367
|
test_files:
|
340
368
|
- test/unit/mail_test.rb
|
341
369
|
- test/unit/elt_test.rb
|