technicalpickles-gemstalker 0.3.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/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
|
+
|