technicalpickles-gemstalker 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +20 -0
- data/README +24 -0
- data/Rakefile +44 -0
- data/VERSION.yml +4 -0
- data/bin/gemstalk +69 -0
- data/lib/gem_stalker.rb +77 -0
- data/test/gemstalker_test.rb +64 -0
- data/test/responses/bostonrb-tree-master +565 -0
- data/test/responses/bostonrb.gemspec +13 -0
- data/test/responses/jeweler-tree-master +728 -0
- data/test/responses/jeweler.gemspec +48 -0
- data/test/responses/specs.4.8.gz +0 -0
- data/test/responses/technicalpickles-jeweler-0.8.1.gem +0 -0
- data/test/responses/technicalpickles-jeweler-0.9.3.gem +15 -0
- data/test/test_helper.rb +35 -0
- metadata +69 -0
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 Josh Nichols
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
gemstalker
|
2
|
+
==========
|
3
|
+
|
4
|
+
GemStalker is a small library to determine if GitHub has built a gem yet.
|
5
|
+
|
6
|
+
require 'gemstalker'
|
7
|
+
|
8
|
+
stalker = GemStalker.new(:username => 'technicalpickles', :repository => 'jeweler', :version => '0.7.2'
|
9
|
+
|
10
|
+
if stalker.built?
|
11
|
+
puts "zomg, it's built, im so telling everyone"
|
12
|
+
if stalker.in_specfile?
|
13
|
+
puts "sweeeet, i can install it nao"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
You can also omit the version, and it will take the version from the repository's gemspec on the master branch.
|
18
|
+
|
19
|
+
Origin code borrowed and inspired by hasmygembuiltyet.org.
|
20
|
+
|
21
|
+
COPYRIGHT
|
22
|
+
=========
|
23
|
+
|
24
|
+
Copyright (c) 2009 Josh Nichols. See LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'rake'
|
2
|
+
require 'rake/testtask'
|
3
|
+
require 'rake/rdoctask'
|
4
|
+
|
5
|
+
begin
|
6
|
+
require 'jeweler'
|
7
|
+
Jeweler::Tasks.new do |gem|
|
8
|
+
gem.name = "gemstalker"
|
9
|
+
gem.summary = "GemStalker is a small library to determine if GitHub has built a gem yet."
|
10
|
+
gem.email = "josh@technicalpickles.com"
|
11
|
+
gem.homepage = "http://github.com/technicalpickles/gemstalker"
|
12
|
+
gem.description = "A library for determining if GitHub has built a gem yet"
|
13
|
+
gem.authors = ["Josh Nichols"]
|
14
|
+
gem.files = FileList["[A-Z]*", "{bin,lib,test}/**/*"]
|
15
|
+
end
|
16
|
+
rescue LoadError
|
17
|
+
puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
|
18
|
+
end
|
19
|
+
|
20
|
+
Rake::TestTask.new do |test|
|
21
|
+
test.libs << 'lib'
|
22
|
+
test.pattern = 'test/**/*_test.rb'
|
23
|
+
test.verbose = false
|
24
|
+
end
|
25
|
+
|
26
|
+
Rake::RDocTask.new do |rdoc|
|
27
|
+
rdoc.rdoc_dir = 'rdoc'
|
28
|
+
rdoc.title = 'gemstalker'
|
29
|
+
rdoc.options << '--line-numbers' << '--inline-source'
|
30
|
+
rdoc.rdoc_files.include('README*')
|
31
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
32
|
+
end
|
33
|
+
|
34
|
+
begin
|
35
|
+
require 'rcov/rcovtask'
|
36
|
+
Rcov::RcovTask.new do |rcov|
|
37
|
+
rcov.libs << 'test'
|
38
|
+
rcov.test_files = FileList['test/**/*_test.rb']
|
39
|
+
rcov.verbose = true
|
40
|
+
end
|
41
|
+
rescue LoadError
|
42
|
+
end
|
43
|
+
|
44
|
+
task :default => :test
|
data/VERSION.yml
ADDED
data/bin/gemstalk
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__), '..', 'lib')
|
3
|
+
require 'gem_stalker'
|
4
|
+
|
5
|
+
def usage
|
6
|
+
puts ""
|
7
|
+
puts "Usage:"
|
8
|
+
puts ""
|
9
|
+
puts " #{File.basename $0} <username> <repository> [version]"
|
10
|
+
puts ""
|
11
|
+
puts "Begins stalking a gem at the specified location e.g. stalk techinicalpickles jeweler"
|
12
|
+
puts ""
|
13
|
+
end
|
14
|
+
|
15
|
+
if ARGV.length == 0 || ARGV.include?("-h") || ARGV.include?("--help")
|
16
|
+
usage
|
17
|
+
exit
|
18
|
+
end
|
19
|
+
|
20
|
+
trap "SIGINT" do
|
21
|
+
puts ""
|
22
|
+
puts "Stopping"
|
23
|
+
exit
|
24
|
+
end
|
25
|
+
|
26
|
+
options = {:username => ARGV[0], :repository => ARGV[1]}
|
27
|
+
options[:version] = ARGV[2] if ARGV.length >= 3
|
28
|
+
stalker = GemStalker.new(options)
|
29
|
+
|
30
|
+
$stdout.sync = true
|
31
|
+
|
32
|
+
unless stalker.gem?
|
33
|
+
puts "The repository is not configured as a rubygem yet."
|
34
|
+
puts "Go to the following url, and check 'RubyGem'"
|
35
|
+
puts "\t#{stalker.edit_repo_url}"
|
36
|
+
exit
|
37
|
+
end
|
38
|
+
|
39
|
+
if ARGV.length < 3
|
40
|
+
puts "Using version #{stalker.version}"
|
41
|
+
end
|
42
|
+
|
43
|
+
waiting = false
|
44
|
+
|
45
|
+
puts "Checking to see if the gem has been built:"
|
46
|
+
loop do
|
47
|
+
if stalker.built?
|
48
|
+
put "." if waiting
|
49
|
+
puts "=> Zomg, it's built, I'm so telling everyone!"
|
50
|
+
break
|
51
|
+
end
|
52
|
+
print "."
|
53
|
+
waiting = true
|
54
|
+
sleep(5)
|
55
|
+
end
|
56
|
+
|
57
|
+
waiting = false
|
58
|
+
|
59
|
+
puts "Checking to see if it is in the specfile"
|
60
|
+
loop do
|
61
|
+
if stalker.in_specfile?
|
62
|
+
put "." if waiting
|
63
|
+
puts "=> Sweeeet, everyone can install it now!"
|
64
|
+
break
|
65
|
+
end
|
66
|
+
print "."
|
67
|
+
waiting = true
|
68
|
+
sleep(5)
|
69
|
+
end
|
data/lib/gem_stalker.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'net/http'
|
2
|
+
require 'rubygems/spec_fetcher'
|
3
|
+
|
4
|
+
class GemStalker
|
5
|
+
attr_accessor :username, :name, :repository, :version
|
6
|
+
|
7
|
+
def initialize(options = {})
|
8
|
+
@username = options[:username]
|
9
|
+
@repository = options[:repository]
|
10
|
+
@version = options[:version] || determine_version
|
11
|
+
|
12
|
+
end
|
13
|
+
|
14
|
+
def built?
|
15
|
+
Net::HTTP.start('gems.github.com') {|http|
|
16
|
+
response = http.head(gem_path)
|
17
|
+
response.code == "200"
|
18
|
+
}
|
19
|
+
end
|
20
|
+
|
21
|
+
def gem?
|
22
|
+
Net::HTTP.start('github.com') {|http|
|
23
|
+
res = http.get(master_path)
|
24
|
+
return res.body =~ /alt\=.Rubygem./ if res.code == "200"
|
25
|
+
}
|
26
|
+
false
|
27
|
+
end
|
28
|
+
|
29
|
+
def in_specfile?
|
30
|
+
fetcher = Gem::SpecFetcher.new
|
31
|
+
specs = fetcher.load_specs(URI.parse('http://gems.github.com/'), 'specs')
|
32
|
+
specs.any? do |(name, spec)|
|
33
|
+
name == gem_name && spec.version.to_s == @version
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def edit_repo_url
|
38
|
+
"http://github.com/#{@username}/#{@repository}/edit"
|
39
|
+
end
|
40
|
+
|
41
|
+
protected
|
42
|
+
|
43
|
+
def gem_path
|
44
|
+
"/gems/#{gem_name}-#{@version}.gem"
|
45
|
+
end
|
46
|
+
|
47
|
+
def gem_name
|
48
|
+
"#{@username}-#{@repository}"
|
49
|
+
end
|
50
|
+
|
51
|
+
def gemspec_path
|
52
|
+
# TODO this seems very unfuture proof, and also specific to master branch...
|
53
|
+
"/#{@username}/#{@repository}/blob/master/#{@repository}.gemspec?raw=true"
|
54
|
+
end
|
55
|
+
|
56
|
+
def master_path
|
57
|
+
"/#{@username}/#{@repository}/tree/master"
|
58
|
+
end
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
def determine_version
|
63
|
+
res = nil
|
64
|
+
Net::HTTP.start('github.com') {|http|
|
65
|
+
res = http.get(gemspec_path)
|
66
|
+
}
|
67
|
+
|
68
|
+
if res.code == "200"
|
69
|
+
gemspec_file = res.body
|
70
|
+
gemspec = nil
|
71
|
+
# TODO this assumes Ruby format, but GitHub is cool with YAML
|
72
|
+
Thread.new { gemspec = eval("$SAFE = 3\n#{gemspec_file}") }.join
|
73
|
+
gemspec.version.to_s
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class GemstalkerTest < Test::Unit::TestCase
|
4
|
+
|
5
|
+
context "a stalker for a specific version of a gem that has not been built" do
|
6
|
+
setup do
|
7
|
+
@stalker = GemStalker.new(:username => 'technicalpickles', :repository => 'jeweler', :version => '0.9.3')
|
8
|
+
end
|
9
|
+
|
10
|
+
should "not be built yet" do
|
11
|
+
assert ! @stalker.built?
|
12
|
+
end
|
13
|
+
|
14
|
+
should "not be in specfile yet" do
|
15
|
+
assert ! @stalker.in_specfile?
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
context "a stalker for a specific version of a gem that has been built and is available" do
|
20
|
+
setup do
|
21
|
+
@stalker = GemStalker.new(:username => 'technicalpickles', :repository => 'jeweler', :version => '0.8.1')
|
22
|
+
end
|
23
|
+
|
24
|
+
should "be built" do
|
25
|
+
assert @stalker.built?
|
26
|
+
end
|
27
|
+
|
28
|
+
should "be in specfile" do
|
29
|
+
assert @stalker.in_specfile?
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context "a stalker without a specific version of a gem that has been built" do
|
34
|
+
setup do
|
35
|
+
@stalker = GemStalker.new(:username => 'technicalpickles', :repository => 'jeweler')
|
36
|
+
end
|
37
|
+
|
38
|
+
should "determine version" do
|
39
|
+
assert_equal '0.8.1', @stalker.version
|
40
|
+
end
|
41
|
+
|
42
|
+
should "be built" do
|
43
|
+
assert @stalker.built?
|
44
|
+
end
|
45
|
+
|
46
|
+
should "be in specfile" do
|
47
|
+
assert @stalker.in_specfile?
|
48
|
+
end
|
49
|
+
|
50
|
+
should "be a gem" do
|
51
|
+
assert @stalker.gem?
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
context "a stalker for something not marked as a gem" do
|
56
|
+
setup do
|
57
|
+
@stalker = GemStalker.new(:username => 'technicalpickles', :repository => 'bostonrb')
|
58
|
+
end
|
59
|
+
|
60
|
+
should "not be a gem" do
|
61
|
+
assert ! @stalker.gem?
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,565 @@
|
|
1
|
+
HTTP/1.1 200 OK
|
2
|
+
Server: nginx/0.6.31
|
3
|
+
Date: Fri, 13 Feb 2009 20:42:33 GMT
|
4
|
+
Content-Type: text/html; charset=utf-8
|
5
|
+
Connection: keep-alive
|
6
|
+
Set-Cookie: _github_ses=BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7AA%3D%3D--884981fc5aa85daf318eeff084d98e2cff92578f; path=/; expires=Wed, 01 Jan 2020 08:00:00 GMT; HttpOnly
|
7
|
+
Status: 200 OK
|
8
|
+
X-Runtime: 246ms
|
9
|
+
ETag: "1c00ed4642a98376fce3133a7177c84d"
|
10
|
+
Cache-Control: private, max-age=0, must-revalidate
|
11
|
+
Content-Length: 23314
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
18
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
19
|
+
|
20
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
21
|
+
<head>
|
22
|
+
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
|
23
|
+
<title>technicalpickles's bostonrb at master - GitHub</title>
|
24
|
+
<link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" />
|
25
|
+
<link rel="fluid-icon" href="http://github.com/fluidicon.png" title="GitHub" />
|
26
|
+
|
27
|
+
|
28
|
+
<link href="http://assets3.github.com/stylesheets/bundle.css?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" media="screen" rel="stylesheet" type="text/css" />
|
29
|
+
|
30
|
+
|
31
|
+
|
32
|
+
|
33
|
+
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
|
34
|
+
<script src="http://assets2.github.com/javascripts/bundle.js?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" type="text/javascript"></script>
|
35
|
+
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
<link href="http://github.com/feeds/technicalpickles/commits/bostonrb/master" rel="alternate" title="Recent Commits to bostonrb:master" type="application/atom+xml" />
|
43
|
+
|
44
|
+
<meta name="description" content="Website for bostonrb.org" />
|
45
|
+
|
46
|
+
|
47
|
+
|
48
|
+
</head>
|
49
|
+
|
50
|
+
|
51
|
+
|
52
|
+
<body>
|
53
|
+
|
54
|
+
|
55
|
+
<div id="main">
|
56
|
+
<div id="header" class="">
|
57
|
+
<div class="site">
|
58
|
+
<div class="logo">
|
59
|
+
<a href="http://github.com"><img src="/images/modules/header/logov3.png" alt="github" /></a>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
<div class="actions">
|
63
|
+
<a href="http://github.com/">Home</a>
|
64
|
+
<a href="/plans"><b><u>Pricing and Signup</u></b></a>
|
65
|
+
<a href="/popular/forked">Repositories</a>
|
66
|
+
<a href="/guides">Guides</a>
|
67
|
+
<a href="/blog">Blog</a>
|
68
|
+
<a href="/login">Login</a>
|
69
|
+
</div>
|
70
|
+
|
71
|
+
</div>
|
72
|
+
</div>
|
73
|
+
|
74
|
+
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
<div id="repo_menu">
|
79
|
+
<div class="site">
|
80
|
+
<ul>
|
81
|
+
|
82
|
+
<li class="active"><a href="http://github.com/technicalpickles/bostonrb/tree/master">Source</a></li>
|
83
|
+
|
84
|
+
<li class=""><a href="http://github.com/technicalpickles/bostonrb/commits/master">Commits</a></li>
|
85
|
+
|
86
|
+
<li class=""><a href="/technicalpickles/bostonrb/network">Network (7)</a></li>
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
<li class=""><a href="/technicalpickles/bostonrb/downloads">Downloads (0)</a></li>
|
91
|
+
|
92
|
+
<li class=""><a href="http://wiki.github.com/technicalpickles/bostonrb">Wiki (1)</a></li>
|
93
|
+
|
94
|
+
<li class=""><a href="/technicalpickles/bostonrb/graphs">Graphs</a></li>
|
95
|
+
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
</ul>
|
100
|
+
</div>
|
101
|
+
</div>
|
102
|
+
|
103
|
+
|
104
|
+
<div id="repo_sub_menu">
|
105
|
+
<div class="site">
|
106
|
+
<div class="joiner"></div>
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
<ul>
|
115
|
+
<li>
|
116
|
+
<a class="active" href="/technicalpickles/bostonrb/tree/master">master</a>
|
117
|
+
</li>
|
118
|
+
<li>
|
119
|
+
<a href="#">all branches</a>
|
120
|
+
<ul>
|
121
|
+
|
122
|
+
|
123
|
+
<li><a href="/technicalpickles/bostonrb/tree/master">master</a></li>
|
124
|
+
|
125
|
+
|
126
|
+
</ul>
|
127
|
+
</li>
|
128
|
+
<li>
|
129
|
+
<a href="#">all tags</a>
|
130
|
+
|
131
|
+
</li>
|
132
|
+
</ul>
|
133
|
+
|
134
|
+
|
135
|
+
</div>
|
136
|
+
</div>
|
137
|
+
|
138
|
+
<div class="site">
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
<div id="repos">
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
<div class="repo public">
|
152
|
+
<div class="title">
|
153
|
+
<div class="path">
|
154
|
+
<a href="/technicalpickles">technicalpickles</a> / <b><a href="http://github.com/technicalpickles/bostonrb/tree">bostonrb</a></b>
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
<a href="/signup" class="toggle_watch"><img alt="watch" class="button" src="http://assets2.github.com/images/modules/repos/watch_button.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /></a><a href="/signup" class="toggle_watch" style="display:none;"><img alt="watch" class="button" src="http://assets1.github.com/images/modules/repos/unwatch_button.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /></a>
|
169
|
+
|
170
|
+
|
171
|
+
<a href="#" id="download_button" rel="http://github.com/technicalpickles/bostonrb/archives/master"><img alt="download tarball" class="button" src="http://assets1.github.com/images/modules/repos/download_button.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /></a>
|
172
|
+
|
173
|
+
|
174
|
+
</div>
|
175
|
+
|
176
|
+
<div class="security private_security" style="display:none">
|
177
|
+
<a href="#private_repo" rel="facebox"><img src="/images/icons/private.png" alt="private" /></a>
|
178
|
+
</div>
|
179
|
+
|
180
|
+
<div id="private_repo" class="hidden">
|
181
|
+
This repository is private.
|
182
|
+
All pages are served over SSL and all pushing and pulling is done over SSH.
|
183
|
+
No one may fork, clone, or view it unless they are added as a <a href="/technicalpickles/bostonrb/edit">member</a>.
|
184
|
+
|
185
|
+
<br/>
|
186
|
+
<br/>
|
187
|
+
Every repository with this icon (<img src="/images/icons/private.png" alt="private" />) is private.
|
188
|
+
</div>
|
189
|
+
|
190
|
+
<div class="security public_security" style="">
|
191
|
+
<a href="#public_repo" rel="facebox"><img src="/images/icons/public.png" alt="public" /></a>
|
192
|
+
</div>
|
193
|
+
|
194
|
+
<div id="public_repo" class="hidden">
|
195
|
+
This repository is public.
|
196
|
+
Anyone may fork, clone, or view it.
|
197
|
+
|
198
|
+
<br/>
|
199
|
+
<br/>
|
200
|
+
Every repository with this icon (<img src="/images/icons/public.png" alt="public" />) is public.
|
201
|
+
</div>
|
202
|
+
|
203
|
+
|
204
|
+
|
205
|
+
<div class="flexipill">
|
206
|
+
<a href="/technicalpickles/bostonrb/network">
|
207
|
+
<table cellpadding="0" cellspacing="0">
|
208
|
+
<tr><td><img alt="Forks" src="http://assets3.github.com/images/modules/repos/pills/forks.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /></td><td class="middle"><span>7</span></td><td><img alt="Right" src="http://assets0.github.com/images/modules/repos/pills/right.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /></td></tr>
|
209
|
+
</table>
|
210
|
+
</a>
|
211
|
+
</div>
|
212
|
+
|
213
|
+
<div class="flexipill">
|
214
|
+
<a href="/technicalpickles/bostonrb/watchers">
|
215
|
+
<table cellpadding="0" cellspacing="0">
|
216
|
+
<tr><td><img alt="Watchers" src="http://assets3.github.com/images/modules/repos/pills/watchers.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /></td><td class="middle"><span>2</span></td><td><img alt="Right" src="http://assets0.github.com/images/modules/repos/pills/right.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /></td></tr>
|
217
|
+
</table>
|
218
|
+
</a>
|
219
|
+
</div>
|
220
|
+
</div>
|
221
|
+
<div class="meta">
|
222
|
+
<table>
|
223
|
+
|
224
|
+
<tr>
|
225
|
+
<td class="label" colspan="2">
|
226
|
+
<em>Fork of <a href="/bostonrb/bostonrb/tree">bostonrb/bostonrb</a></em>
|
227
|
+
</td>
|
228
|
+
</tr>
|
229
|
+
|
230
|
+
|
231
|
+
<tr>
|
232
|
+
<td class="label">Description:</td>
|
233
|
+
<td>
|
234
|
+
<span id="repository_description" rel="/technicalpickles/bostonrb/edit/update" class="">Website for bostonrb.org</span>
|
235
|
+
|
236
|
+
</td>
|
237
|
+
</tr>
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
<tr>
|
243
|
+
<td class="label">Homepage:</td>
|
244
|
+
<td>
|
245
|
+
|
246
|
+
|
247
|
+
<a href="http://bostonrb.org">http://bostonrb.org</a>
|
248
|
+
|
249
|
+
</td>
|
250
|
+
</tr>
|
251
|
+
|
252
|
+
|
253
|
+
|
254
|
+
<tr>
|
255
|
+
<td class="label">Clone URL:</td>
|
256
|
+
|
257
|
+
<td>
|
258
|
+
<a href="git://github.com/technicalpickles/bostonrb.git" class="git_url_facebox" rel="#git-clone">git://github.com/technicalpickles/bostonrb.git</a>
|
259
|
+
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
|
260
|
+
width="110"
|
261
|
+
height="14"
|
262
|
+
id="clippy" >
|
263
|
+
<param name="movie" value="/flash/clippy.swf"/>
|
264
|
+
<param name="allowScriptAccess" value="always" />
|
265
|
+
<param name="quality" value="high" />
|
266
|
+
<param name="scale" value="noscale" />
|
267
|
+
<param NAME="FlashVars" value="text=git://github.com/technicalpickles/bostonrb.git">
|
268
|
+
<param name="bgcolor" value="#F0F0F0">
|
269
|
+
<embed src="/flash/clippy.swf"
|
270
|
+
width="110"
|
271
|
+
height="14"
|
272
|
+
name="clippy"
|
273
|
+
quality="high"
|
274
|
+
allowScriptAccess="always"
|
275
|
+
type="application/x-shockwave-flash"
|
276
|
+
pluginspage="http://www.macromedia.com/go/getflashplayer"
|
277
|
+
FlashVars="text=git://github.com/technicalpickles/bostonrb.git"
|
278
|
+
bgcolor="#F0F0F0"
|
279
|
+
/>
|
280
|
+
</object>
|
281
|
+
|
282
|
+
<div id="git-clone" style="display:none;">
|
283
|
+
Give this clone URL to anyone.
|
284
|
+
<br/>
|
285
|
+
<code>git clone git://github.com/technicalpickles/bostonrb.git </code>
|
286
|
+
</div>
|
287
|
+
</td>
|
288
|
+
</tr>
|
289
|
+
|
290
|
+
|
291
|
+
|
292
|
+
|
293
|
+
|
294
|
+
|
295
|
+
|
296
|
+
</table>
|
297
|
+
|
298
|
+
</div>
|
299
|
+
</div>
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
</div>
|
305
|
+
|
306
|
+
|
307
|
+
<div id="commit">
|
308
|
+
<div class="group">
|
309
|
+
|
310
|
+
<div class="envelope commit">
|
311
|
+
<div class="human">
|
312
|
+
|
313
|
+
<div class="message"><pre><a href="/technicalpickles/bostonrb/commit/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1">Removed old quietbacktrace.</a> </pre></div>
|
314
|
+
|
315
|
+
|
316
|
+
<div class="actor">
|
317
|
+
<div class="gravatar">
|
318
|
+
|
319
|
+
<img alt="" height="30" src="http://www.gravatar.com/avatar/1c1aabc1abed5cce37b192dd00f0f28c?s=30&d=http%3A%2F%2Fgithub.com%2Fimages%2Fgravatars%2Fgravatar-30.png" width="30" />
|
320
|
+
</div>
|
321
|
+
<div class="name"><a href="/technicalpickles">technicalpickles</a> <span>(author)</span></div>
|
322
|
+
<div class="date">
|
323
|
+
<abbr class="relatize" title="2008-10-11 22:38:37">Sat Oct 11 22:38:37 -0700 2008</abbr>
|
324
|
+
</div>
|
325
|
+
</div>
|
326
|
+
|
327
|
+
|
328
|
+
|
329
|
+
</div>
|
330
|
+
<div class="machine">
|
331
|
+
<span>c</span>ommit <a href="/technicalpickles/bostonrb/commit/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1" hotkey="c">8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1</a><br />
|
332
|
+
<span>t</span>ree <a href="/technicalpickles/bostonrb/tree/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1" hotkey="t">01f4280d8bcd3c90c330c987c09147dda2f23e43</a><br />
|
333
|
+
|
334
|
+
|
335
|
+
<span>p</span>arent
|
336
|
+
|
337
|
+
<a href="/technicalpickles/bostonrb/tree/eb57cd053c25bd68e9b6f7fe0e8e02d2ba55167a" hotkey="p">eb57cd053c25bd68e9b6f7fe0e8e02d2ba55167a</a>
|
338
|
+
|
339
|
+
|
340
|
+
</div>
|
341
|
+
</div>
|
342
|
+
|
343
|
+
</div>
|
344
|
+
</div>
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
<div id="path">
|
350
|
+
<b><a href="/technicalpickles/bostonrb/tree">bostonrb</a></b> /
|
351
|
+
</div>
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
|
356
|
+
<script type="text/javascript">
|
357
|
+
GitHub.currentTreeSHA = "8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1"
|
358
|
+
GitHub.rootTreeSHA = "8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1"
|
359
|
+
GitHub.currentPath = ""
|
360
|
+
</script>
|
361
|
+
|
362
|
+
|
363
|
+
<div id="browser">
|
364
|
+
<table cellpadding="0" cellspacing="0">
|
365
|
+
<tr>
|
366
|
+
<th></th>
|
367
|
+
<th>name</th>
|
368
|
+
<th>age</th>
|
369
|
+
<th>
|
370
|
+
<div class="history">
|
371
|
+
<a href="/technicalpickles/bostonrb/commits/master/">history</a>
|
372
|
+
</div>
|
373
|
+
message
|
374
|
+
</th>
|
375
|
+
</tr>
|
376
|
+
|
377
|
+
|
378
|
+
|
379
|
+
|
380
|
+
<tr class="alt">
|
381
|
+
<td class="icon"> <img alt="file" src="http://assets2.github.com/images/icons/txt.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
382
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/blob/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/.gitignore" id="3410b4c5ca09bd3b80cb7f5ad1a539d1d116b396">.gitignore</a></td>
|
383
|
+
|
384
|
+
<td class="age"> <span class="relatize">Wed May 28 21:15:59 -0700 2008</span> </td>
|
385
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/c169dfce5d91eaeca725cb00815877d334457f25" class="message">Added metrics stuff to gitignore.</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
386
|
+
</tr>
|
387
|
+
|
388
|
+
<tr class="">
|
389
|
+
<td class="icon"> <img alt="file" src="http://assets2.github.com/images/icons/txt.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
390
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/blob/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/.svnignore" id="1a306a628e7c1a902ad4e7529e0670145a9a9605">.svnignore</a></td>
|
391
|
+
|
392
|
+
<td class="age"> <span class="relatize">Tue May 27 17:41:55 -0700 2008</span> </td>
|
393
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/a69e68af4fc4ca637f7fbc579f2bb2a546543004" class="message">Initial import.</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
394
|
+
</tr>
|
395
|
+
|
396
|
+
<tr class="alt">
|
397
|
+
<td class="icon"> <img alt="file" src="http://assets2.github.com/images/icons/txt.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
398
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/blob/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/Capfile" id="edcdddca15972462ccec61e422ca2c73a51f872b">Capfile</a></td>
|
399
|
+
|
400
|
+
<td class="age"> <span class="relatize">Tue May 27 18:34:06 -0700 2008</span> </td>
|
401
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/50491df2638c12f8b6ab91b4bb354a7a425d1bbc" class="message">Use local deploy.</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
402
|
+
</tr>
|
403
|
+
|
404
|
+
<tr class="">
|
405
|
+
<td class="icon"> <img alt="file" src="http://assets2.github.com/images/icons/txt.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
406
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/blob/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/README" id="93c9bcb42f29768e9be9a4560e54ba9619294297">README</a></td>
|
407
|
+
|
408
|
+
<td class="age"> <span class="relatize">Tue May 27 17:41:55 -0700 2008</span> </td>
|
409
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/a69e68af4fc4ca637f7fbc579f2bb2a546543004" class="message">Initial import.</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
410
|
+
</tr>
|
411
|
+
|
412
|
+
<tr class="alt">
|
413
|
+
<td class="icon"> <img alt="file" src="http://assets2.github.com/images/icons/txt.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
414
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/blob/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/Rakefile" id="ecffcd6facdc4dc8eb38ffaffd4db8287b7dc8be">Rakefile</a></td>
|
415
|
+
|
416
|
+
<td class="age"> <span class="relatize">Tue May 27 17:41:55 -0700 2008</span> </td>
|
417
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/a69e68af4fc4ca637f7fbc579f2bb2a546543004" class="message">Initial import.</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
418
|
+
</tr>
|
419
|
+
|
420
|
+
<tr class="">
|
421
|
+
<td class="icon"> <img alt="directory" src="http://assets1.github.com/images/icons/dir.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
422
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/tree/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/app" id="eb637070b1ec9bfc22646b4e255c348a876567f3">app/</a></td>
|
423
|
+
|
424
|
+
<td class="age"> <span class="relatize">Tue Oct 07 17:20:02 -0700 2008</span> </td>
|
425
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/39d509fc4db5b44273225c6f18356f3ab095b1f9" class="message">Fixed geocoding.</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
426
|
+
</tr>
|
427
|
+
|
428
|
+
<tr class="alt">
|
429
|
+
<td class="icon"> <img alt="directory" src="http://assets1.github.com/images/icons/dir.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
430
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/tree/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/config" id="6ab6abb13a3075b35ed881976ccc6fb3c0584671">config/</a></td>
|
431
|
+
|
432
|
+
<td class="age"> <span class="relatize">Tue Oct 07 17:42:36 -0700 2008</span> </td>
|
433
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/ce7086b8ace01bf460cd21766dd84e63ef4fca8e" class="message">Fixing ruby-debug dependency.</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
434
|
+
</tr>
|
435
|
+
|
436
|
+
<tr class="">
|
437
|
+
<td class="icon"> <img alt="directory" src="http://assets1.github.com/images/icons/dir.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
438
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/tree/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/db" id="0a3a78fd30d03f9755b567a6f7e2b4140b1f34a3">db/</a></td>
|
439
|
+
|
440
|
+
<td class="age"> <span class="relatize">Tue Sep 23 21:54:58 -0700 2008</span> </td>
|
441
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/034423e89f546acffc80e1a14ee079736426b2b4" class="message">Use cached html, durnit.</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
442
|
+
</tr>
|
443
|
+
|
444
|
+
<tr class="alt">
|
445
|
+
<td class="icon"> <img alt="directory" src="http://assets1.github.com/images/icons/dir.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
446
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/tree/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/doc" id="154705c6aa1c8ead8c99c7915373e3c44012057f">doc/</a></td>
|
447
|
+
|
448
|
+
<td class="age"> <span class="relatize">Tue May 27 17:41:55 -0700 2008</span> </td>
|
449
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/a69e68af4fc4ca637f7fbc579f2bb2a546543004" class="message">Initial import.</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
450
|
+
</tr>
|
451
|
+
|
452
|
+
<tr class="">
|
453
|
+
<td class="icon"> <img alt="directory" src="http://assets1.github.com/images/icons/dir.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
454
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/tree/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/lib" id="7aa4e04cc62cae12fed864cc2f977cfeea68d86e">lib/</a></td>
|
455
|
+
|
456
|
+
<td class="age"> <span class="relatize">Sat May 31 10:11:27 -0700 2008</span> </td>
|
457
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/e4e2946ae0d8ee6a6663eee4e87f98f433dc4477" class="message">writing Array#halve method</a> [<a href="/dancroak">dancroak</a>] </td>
|
458
|
+
</tr>
|
459
|
+
|
460
|
+
<tr class="alt">
|
461
|
+
<td class="icon"> <img alt="directory" src="http://assets1.github.com/images/icons/dir.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
462
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/tree/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/log" id="d564d0bc3dd917926892c55e3706cc116d5b165e">log/</a></td>
|
463
|
+
|
464
|
+
<td class="age"> <span class="relatize">Wed May 28 20:48:55 -0700 2008</span> </td>
|
465
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/110b465ff7a8dc4ce9a316b6fe296143953348cd" class="message">Trying to keep logs working...</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
466
|
+
</tr>
|
467
|
+
|
468
|
+
<tr class="">
|
469
|
+
<td class="icon"> <img alt="directory" src="http://assets1.github.com/images/icons/dir.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
470
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/tree/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/public" id="c9b38ffe80ceb93d134ee3f4fd78286c73346a1e">public/</a></td>
|
471
|
+
|
472
|
+
<td class="age"> <span class="relatize">Wed Oct 08 22:20:31 -0700 2008</span> </td>
|
473
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/eb57cd053c25bd68e9b6f7fe0e8e02d2ba55167a" class="message">Adding a file, for Yahoo API signup.</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
474
|
+
</tr>
|
475
|
+
|
476
|
+
<tr class="alt">
|
477
|
+
<td class="icon"> <img alt="directory" src="http://assets1.github.com/images/icons/dir.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
478
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/tree/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/script" id="5b4ed4ab5b65e1fa8d4a1f9cd6602eb89dce74b7">script/</a></td>
|
479
|
+
|
480
|
+
<td class="age"> <span class="relatize">Tue Jul 01 17:17:05 -0700 2008</span> </td>
|
481
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/5540b73902dde34b65c45fe615b917fc68c63603" class="message">Upgraded to Rails 2.1\!</a> [thoughtbot] </td>
|
482
|
+
</tr>
|
483
|
+
|
484
|
+
<tr class="">
|
485
|
+
<td class="icon"> <img alt="directory" src="http://assets1.github.com/images/icons/dir.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
486
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/tree/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/test" id="5cd86ff77b4ce302840fda1b880677564edc7d3a">test/</a></td>
|
487
|
+
|
488
|
+
<td class="age"> <span class="relatize">Tue Oct 07 17:20:02 -0700 2008</span> </td>
|
489
|
+
<td class="message"> <a href="/technicalpickles/bostonrb/commit/39d509fc4db5b44273225c6f18356f3ab095b1f9" class="message">Fixed geocoding.</a> [<a href="/technicalpickles">technicalpickles</a>] </td>
|
490
|
+
</tr>
|
491
|
+
|
492
|
+
<tr class="alt">
|
493
|
+
<td class="icon"> <img alt="directory" src="http://assets1.github.com/images/icons/dir.png?82188d2a7557f7d8fc32b3c99ad7d0356ed69b5f" /> </td>
|
494
|
+
<td class="content"> <a href="/technicalpickles/bostonrb/tree/8e0031c958d7f3358a2c92c1a9d9ecca3b7960b1/vendor" id="65cc07730489199efbcd42a5124d2a6f8b0cba9d">vendor/</a></td>
|
495
|
+
|
496
|
+
<td class="age"> </td>
|
497
|
+
<td class="message"> <span id="loading_commit_data">Loading commit data... <img src="/images/modules/ajax/indicator.gif"/></span> </td>
|
498
|
+
</tr>
|
499
|
+
|
500
|
+
</table>
|
501
|
+
</div>
|
502
|
+
|
503
|
+
|
504
|
+
|
505
|
+
|
506
|
+
|
507
|
+
|
508
|
+
<div id="readme" class="announce"><span class="name"></span><div class="plain"><pre>
|
509
|
+
|
510
|
+
This needs to be called by cron:
|
511
|
+
PATH_TO_APP/script/runner Project.download_entries</pre></div></div>
|
512
|
+
|
513
|
+
</div>
|
514
|
+
|
515
|
+
|
516
|
+
|
517
|
+
<div class="push"></div>
|
518
|
+
</div>
|
519
|
+
|
520
|
+
<div id="footer">
|
521
|
+
<div class="site">
|
522
|
+
<div class="info">
|
523
|
+
<div class="links">
|
524
|
+
<a href="http://github.com/blog/148-github-shirts-now-available">Shirts</a> |
|
525
|
+
<a href="http://github.com/blog">Blog</a> |
|
526
|
+
<a href="http://support.github.com/">Support</a> |
|
527
|
+
<a href="http://github.com/training">Training</a> |
|
528
|
+
<a href="http://github.com/contact">Contact</a> |
|
529
|
+
<a href="http://groups.google.com/group/github/">Google Group</a> |
|
530
|
+
<a href="http://github.com/guides/the-github-api">API</a> |
|
531
|
+
<a href="http://twitter.com/github">Status</a>
|
532
|
+
</div>
|
533
|
+
<div class="company">
|
534
|
+
<span id="_rrt" title="0.20003s from xc88-s00008">GitHub</span>
|
535
|
+
is <a href="http://logicalawesome.com/">Logical Awesome</a> ©2009 | <a href="/site/terms">Terms of Service</a> | <a href="/site/privacy">Privacy Policy</a>
|
536
|
+
</div>
|
537
|
+
</div>
|
538
|
+
<div class="sponsor">
|
539
|
+
<a href="http://engineyard.com"><img src="/images/modules/footer/engine_yard_logo.png" alt="Engine Yard" /></a>
|
540
|
+
<div>
|
541
|
+
Hosting provided by our<br /> partners at Engine Yard
|
542
|
+
</div>
|
543
|
+
</div>
|
544
|
+
</div>
|
545
|
+
</div>
|
546
|
+
|
547
|
+
<div id="coming_soon" style="display:none;">
|
548
|
+
This feature is coming soon. Sit tight!
|
549
|
+
</div>
|
550
|
+
|
551
|
+
|
552
|
+
<script type="text/javascript">
|
553
|
+
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
|
554
|
+
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
|
555
|
+
</script>
|
556
|
+
<script type="text/javascript">
|
557
|
+
var pageTracker = _gat._getTracker("UA-3769691-2");
|
558
|
+
pageTracker._initData();
|
559
|
+
pageTracker._trackPageview();
|
560
|
+
</script>
|
561
|
+
|
562
|
+
|
563
|
+
</body>
|
564
|
+
</html>
|
565
|
+
|