son_of_a_batch 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,8 @@
1
+ #
2
+ # Private settings -- DO NOT check this into your repo.
3
+ #
4
+ # copy this file (@config/son_of_a_batch-private.example.rb@) to
5
+ # @config/son_of_a_batch-private.rb@ and enter your keys, etc.
6
+ #
7
+
8
+ config[:infochimps_apikey] = 'your_mom'
@@ -0,0 +1,5 @@
1
+ #
2
+ # Private settings -- DO NOT check this into your repo.
3
+ #
4
+
5
+ config[:infochimps_apikey] = 'your_mom'
@@ -0,0 +1,19 @@
1
+ #
2
+ # General settings -- check this into your repo.
3
+ # For private settings, copy @config/son_of_a_batch-private.example.rb@ to
4
+ # @config/son_of_a_batch-private.rb@ and enter your keys, etc.
5
+ #
6
+
7
+ p ['loading config', __FILE__]
8
+
9
+ import 'son_of_a_batch-private'
10
+
11
+ config[:template] = {
12
+ :layout_engine => :haml,
13
+ :views => './app/views'
14
+ }
15
+ config[:template_engines] = {
16
+ :haml => {
17
+ :escape_html => true
18
+ }
19
+ }
@@ -0,0 +1,72 @@
1
+ RACK_ENV = ENV["RACK_ENV"] ||= "development" unless defined? RACK_ENV
2
+ module Goliath
3
+ Goliath::ROOT_DIR = File.expand_path(File.join(File.dirname(__FILE__), '..')) unless defined?(Goliath::ROOT_DIR)
4
+ def self.root_path *dirs
5
+ File.join(Goliath::ROOT_DIR, *dirs)
6
+ end
7
+ end
8
+ $LOAD_PATH.unshift(Goliath.root_path("lib")) unless $LOAD_PATH.include?(Goliath.root_path("lib"))
9
+ is_production = !!ENV['GEM_STRICT']
10
+
11
+ if is_production
12
+ # Verify the environment has been bootstrapped by checking that the
13
+ # .bundle/loadpath file exists.
14
+ if !File.exist?(Goliath.root_path(".bundle/loadpath"))
15
+ warn "WARN The gem environment is out-of-date or has yet to be bootstrapped."
16
+ warn " Run config/bootstrap.rb to remedy this situation."
17
+ fail "gem environment not configued"
18
+ end
19
+ else
20
+ # Run a more exhaustive bootstrap check in non-production environments by making
21
+ # sure the Gemfile matches the .bundle/loadpath file checksum.
22
+ #
23
+ # Verify the environment has been bootstrapped by checking that the
24
+ # .bundle/loadpath file exists.
25
+ if !File.exist?(Goliath.root_path(".bundle/loadpath"))
26
+ warn "WARN The gem environment is out-of-date or has yet to be bootstrapped."
27
+ warn " Runnning #{Goliath.root_path("config/bootstrap.rb")} to remedy this situation..."
28
+ system Goliath.root_path("config/bootstrap.rb --local")
29
+
30
+ if !File.exist?(Goliath.root_path(".bundle/loadpath"))
31
+ warn "WARN The gem environment is STILL out-of-date."
32
+ warn " Please contact your network administrator."
33
+ fail "gem environment not configued"
34
+ end
35
+ end
36
+
37
+ checksum = File.read(Goliath.root_path(".bundle/checksum")).to_i rescue nil
38
+ if `cksum <'#{Goliath.root_path}/Gemfile'`.to_i != checksum
39
+ warn "WARN The gem environment is out-of-date or has yet to be bootstrapped."
40
+ warn " Runnning config/bootstrap.rb to remedy this situation..."
41
+ system Goliath.root_path("config/bootstrap.rb --local")
42
+
43
+ checksum = File.read(Goliath.root_path(".bundle/checksum")).to_i rescue nil
44
+ if `cksum <'#{Goliath.root_path}/Gemfile'`.to_i != checksum
45
+ warn "WARN The gem environment is STILL out-of-date."
46
+ warn " Please contact your network administrator."
47
+ fail "gem environment not configued"
48
+ end
49
+ end
50
+ end
51
+
52
+ # Disallow use of system gems by default in staging and production environments
53
+ # or when the GEM_STRICT environment variable is set. This ensures the gem
54
+ # environment is totally isolated to only stuff specified in the Gemfile.
55
+ if is_production
56
+ ENV['GEM_PATH'] = Goliath.root_path("vendor/gems")
57
+ ENV['GEM_HOME'] = Goliath.root_path("vendor/gems")
58
+ elsif !ENV['GEM_PATH'].to_s.include?(Goliath.root_path("vendor/gems"))
59
+ ENV['GEM_PATH'] =
60
+ [Goliath.root_path("vendor/gems"), ENV['GEM_PATH']].compact.join(':')
61
+ end
62
+
63
+ # Setup bundled gem load path.
64
+ paths = File.read(Goliath.root_path(".bundle/loadpath")).split("\n")
65
+ paths.each do |path|
66
+ next if path =~ /^[ \t]*(?:#|$)/
67
+ path = Goliath.root_path(path)
68
+ $: << path if !$:.include?(path)
69
+ end
70
+
71
+ # Child processes inherit our load path.
72
+ ENV['RUBYLIB'] = $:.compact.join(':')
File without changes
@@ -0,0 +1,296 @@
1
+
2
+ /* ==== Scroll down to find where to put your styles :) ==== */
3
+
4
+ /* HTML5 - Boilerplate */
5
+
6
+ html, body, div, span, object, iframe,
7
+ h1, h2, h3, h4, h5, h6, p, blockquote, pre,
8
+ abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
9
+ small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
10
+ fieldset, form, label, legend,
11
+ table, caption, tbody, tfoot, thead, tr, th, td,
12
+ article, aside, canvas, details, figcaption, figure,
13
+ footer, header, hgroup, menu, nav, section, summary,
14
+ time, mark, audio, video {
15
+ margin: 0;
16
+ padding: 0;
17
+ border: 0;
18
+ font-size: 100%;
19
+ font: inherit;
20
+ vertical-align: baseline;
21
+ }
22
+
23
+ article, aside, details, figcaption, figure,
24
+ footer, header, hgroup, menu, nav, section {
25
+ display: block;
26
+ }
27
+
28
+ blockquote, q { quotes: none; }
29
+ blockquote:before, blockquote:after,
30
+ q:before, q:after { content: ''; content: none; }
31
+ ins { background-color: #ff9; color: #000; text-decoration: none; }
32
+ mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
33
+ del { text-decoration: line-through; }
34
+ abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
35
+ table { border-collapse: collapse; border-spacing: 0; }
36
+ hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
37
+ input, select { vertical-align: middle; }
38
+
39
+ body { font:13px/1.231 sans-serif; *font-size:small; }
40
+ select, input, textarea, button { font:99% sans-serif; }
41
+ pre, code, kbd, samp { font-family: monospace, sans-serif; }
42
+
43
+ html { overflow-y: scroll; }
44
+ a:hover, a:active { outline: none; }
45
+ ul, ol { margin-left: 2em; }
46
+ ol { list-style-type: decimal; }
47
+ nav ul, nav li { margin: 0; list-style:none; list-style-image: none; }
48
+ small { font-size: 85%; }
49
+ strong, th { font-weight: bold; }
50
+ td { vertical-align: top; }
51
+
52
+ sub, sup { font-size: 75%; line-height: 0; position: relative; }
53
+ sup { top: -0.5em; }
54
+ sub { bottom: -0.25em; }
55
+
56
+ pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; padding: 15px; }
57
+ textarea { overflow: auto; }
58
+ .ie6 legend, .ie7 legend { margin-left: -7px; }
59
+ input[type="radio"] { vertical-align: text-bottom; }
60
+ input[type="checkbox"] { vertical-align: bottom; }
61
+ .ie7 input[type="checkbox"] { vertical-align: baseline; }
62
+ .ie6 input { vertical-align: text-bottom; }
63
+ label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; }
64
+ button, input, select, textarea { margin: 0; }
65
+ input:valid, textarea:valid { }
66
+ input:invalid, textarea:invalid { border-radius: 1px; -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; box-shadow: 0px 0px 5px red; }
67
+ .no-boxshadow input:invalid, .no-boxshadow textarea:invalid { background-color: #f0dddd; }
68
+
69
+ ::-moz-selection{ background: #eFdEe9; color:#fff; text-shadow: none; }
70
+ ::selection { background:#eFdEe9; color:#fff; text-shadow: none; }
71
+ a:link { -webkit-tap-highlight-color: #eFdEe9; }
72
+
73
+ button { width: auto; overflow: visible; }
74
+ .ie7 img { -ms-interpolation-mode: bicubic; }
75
+
76
+ body, select, input, textarea { color: #444; }
77
+ h1, h2, h3, h4, h5, h6 { font-weight: bold; }
78
+ a, a:active, a:visited { color: #607890; }
79
+ a:hover { color: #036; }
80
+
81
+ /*
82
+ // ========================================== \\
83
+ || ||
84
+ || Your styles ! ||
85
+ || ||
86
+ \\ ========================================== //
87
+ */
88
+
89
+
90
+ body{
91
+ font-family:Helvetica, Helvetica Neue, Arial, sans-serif;
92
+ }
93
+
94
+ .wrapper{
95
+ margin:auto;
96
+ width:960px;
97
+ }
98
+
99
+ #logo {
100
+ float: left;
101
+ margin-top: 10px;
102
+ margin-right: 20px;
103
+ }
104
+
105
+ #header-container{
106
+ background-color:#e4edf6;
107
+ height:80px;
108
+ border-bottom:20px solid #f1e5d9;
109
+ margin-bottom:50px;
110
+ }
111
+
112
+ #title{
113
+ font-weight:normal;
114
+ font-size: 50px;
115
+ color:white;
116
+ padding: 15px 5px 10px 0;
117
+ float:left;
118
+ clear: none;
119
+ }
120
+ #title a{ text-decoration: none }
121
+
122
+ h1 { font-size: 185%; padding-top: 14px; padding-bottom: 5px; }
123
+ h2 { font-size: 154%; padding-top: 20px; padding-bottom: 4px; }
124
+ h3 { font-size: 139%; padding-top: 6px; padding-bottom: 4px; }
125
+ h4 { font-size: 116%; padding-top: 4px; padding-bottom: 2px; }
126
+
127
+ nav{
128
+ float:right;
129
+ margin-top:10px;
130
+ }
131
+
132
+ nav ul, nav ul li{
133
+ display:inline;
134
+ }
135
+
136
+ nav a, nav a:visited, nav a:active{
137
+ padding:10px 20px;
138
+ color:#666;
139
+ text-decoration:none;
140
+ background-color:#d4dde6;
141
+ }
142
+
143
+ aside{
144
+ color:#444;
145
+ padding:20px;
146
+ float:right;
147
+ height:500px;
148
+ width:200px;
149
+ background-color:#e4edf6;
150
+ border-bottom:20px solid #e44d26;
151
+ margin-bottom:50px;
152
+ }
153
+
154
+ #main {
155
+ min-height: 550px;
156
+ }
157
+
158
+ #main p{
159
+ font:16px/26px Helvetica, Helvetica Neue, Arial;
160
+ width:620px;
161
+ text-shadow:none;
162
+ }
163
+
164
+ #main header h2{
165
+ padding-bottom:30px;
166
+ }
167
+
168
+ article header{
169
+ margin-bottom:50px;
170
+ padding-bottom:30px;
171
+ width:700px;
172
+ }
173
+
174
+ #footer-container{
175
+ background-color:#e4edf6;
176
+ height:240px;
177
+ border-top:40px solid #e4edf6;
178
+ margin-top:50px;
179
+ }
180
+
181
+ #footer-container footer{
182
+ color:#888;
183
+ text-align:right;
184
+ }
185
+ #footer-container footer a, #footer-container footer a:active, #footer-container footer a:visited { color: #88a; }
186
+
187
+ .info{
188
+ position:absolute;
189
+ top:5px;
190
+ background-color:white;
191
+ padding:10px;
192
+ }
193
+
194
+ #jquery-test{
195
+ top:45px;
196
+ }
197
+
198
+ .ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
199
+ .hidden { display: none; visibility: hidden; }
200
+ .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
201
+ .visuallyhidden.focusable:active,
202
+ .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
203
+ .invisible { visibility: hidden; }
204
+ .clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
205
+ .clearfix:after { clear: both; }
206
+ .clearfix { zoom: 1; }
207
+
208
+
209
+ .meter {
210
+ margin: 3em;
211
+ background-color: #eee;
212
+ padding: 2em;
213
+ font-size: 154%;
214
+ }
215
+
216
+
217
+ /* Nice table styling for greater dashboard justice */
218
+ table {
219
+ text-align: left;
220
+ }
221
+ table th, table td {
222
+ text-align: left;
223
+ }
224
+ table th {
225
+ font-weight: bold;
226
+ }
227
+ table th, table td {
228
+ min-width: 30px;
229
+ padding: 4px 0 4px 10px;
230
+ }
231
+ table th:first-child, table td:first-child {
232
+ padding-left: 0;
233
+ }
234
+ table tbody tr:hover {
235
+ background-color: #e8f0ff;
236
+ }
237
+
238
+ table.full {
239
+ width: 960px;
240
+ }
241
+ table.horizontal th {
242
+ border-bottom: 2px solid #6678b1;
243
+ }
244
+ table.horizontal th, table.horizontal td {
245
+ min-width: 70px;
246
+ }
247
+
248
+ table.vertical {
249
+ margin: 16px 0;
250
+ }
251
+ table.vertical th {
252
+ width: 180px;
253
+ padding: 4px 5px 3px 5px;
254
+ border-bottom: 1px solid #51ded8;
255
+ }
256
+ table.vertical td {
257
+ padding: 4px 0 3px 10px;
258
+ border-bottom: 1px solid #f1eee8;
259
+ }
260
+ table.vertical th:first-child {
261
+ white-space: nowrap;
262
+ }
263
+ table.vertical tr:last-child {
264
+ border: none;
265
+ }
266
+
267
+
268
+
269
+ @media all and (orientation:portrait) {
270
+
271
+ }
272
+
273
+ @media all and (orientation:landscape) {
274
+
275
+ }
276
+
277
+ @media screen and (max-device-width: 480px) {
278
+
279
+ /* html { -webkit-text-size-adjust:none; -ms-text-size-adjust:none; } */
280
+ }
281
+
282
+
283
+ @media print {
284
+ * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important;
285
+ -ms-filter: none !important; }
286
+ a, a:visited { color: #444 !important; text-decoration: underline; }
287
+ a[href]:after { content: " (" attr(href) ")"; }
288
+ abbr[title]:after { content: " (" attr(title) ")"; }
289
+ .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }
290
+ pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
291
+ thead { display: table-header-group; }
292
+ tr, img { page-break-inside: avoid; }
293
+ @page { margin: 0.5cm; }
294
+ p, h2, h3 { orphans: 3; widows: 3; }
295
+ h2, h3{ page-break-after: avoid; }
296
+ }
@@ -0,0 +1,96 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{son_of_a_batch}
8
+ s.version = "0.0.2"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Philip (flip) Kromer for Infochimps"]
12
+ s.date = %q{2011-04-23}
13
+ s.description = %q{Smelt from a plentiferous gallimaufry of requests an agglomerated bale of responses. With, y'know, concurrency and all that.}
14
+ s.email = %q{coders@infochimps.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE.txt",
17
+ "README.textile"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".rspec",
22
+ "Gemfile",
23
+ "Gemfile.lock",
24
+ "LICENSE.txt",
25
+ "README.textile",
26
+ "Rakefile",
27
+ "VERSION",
28
+ "app/endpoints/sleepy.rb",
29
+ "app/views/debug.haml",
30
+ "app/views/layout.haml",
31
+ "app/views/root.haml",
32
+ "config/bootstrap.rb",
33
+ "config/son_of_a_batch-private.example.rb",
34
+ "config/son_of_a_batch-private.rb",
35
+ "config/son_of_a_batch.rb",
36
+ "lib/boot.rb",
37
+ "lib/son_of_a_batch.rb",
38
+ "public/stylesheets/style.css",
39
+ "son_of_a_batch.gemspec",
40
+ "son_of_a_batch.rb",
41
+ "spec/son_of_a_batch_spec.rb",
42
+ "spec/spec_helper.rb"
43
+ ]
44
+ s.homepage = %q{http://infochimps.com/labs}
45
+ s.licenses = ["MIT"]
46
+ s.require_paths = ["lib"]
47
+ s.rubygems_version = %q{1.5.0}
48
+ s.summary = %q{Smelt from a plentiferous gallimaufry of requests an agglomerated bale of responses. With, y'know, concurrency and all that.}
49
+ s.test_files = [
50
+ "spec/son_of_a_batch_spec.rb",
51
+ "spec/spec_helper.rb"
52
+ ]
53
+
54
+ if s.respond_to? :specification_version then
55
+ s.specification_version = 3
56
+
57
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
58
+ s.add_runtime_dependency(%q<em-synchrony>, [">= 0"])
59
+ s.add_runtime_dependency(%q<em-http-request>, [">= 0"])
60
+ s.add_runtime_dependency(%q<yajl-ruby>, ["~> 0.8.2"])
61
+ s.add_runtime_dependency(%q<gorillib>, ["~> 0.0.4"])
62
+ s.add_runtime_dependency(%q<rack-respond_to>, [">= 0"])
63
+ s.add_runtime_dependency(%q<rack-abstract-format>, [">= 0"])
64
+ s.add_development_dependency(%q<bundler>, ["~> 1.0.12"])
65
+ s.add_development_dependency(%q<yard>, ["~> 0.6.7"])
66
+ s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
67
+ s.add_development_dependency(%q<rspec>, ["~> 2.5.0"])
68
+ s.add_development_dependency(%q<rcov>, [">= 0"])
69
+ else
70
+ s.add_dependency(%q<em-synchrony>, [">= 0"])
71
+ s.add_dependency(%q<em-http-request>, [">= 0"])
72
+ s.add_dependency(%q<yajl-ruby>, ["~> 0.8.2"])
73
+ s.add_dependency(%q<gorillib>, ["~> 0.0.4"])
74
+ s.add_dependency(%q<rack-respond_to>, [">= 0"])
75
+ s.add_dependency(%q<rack-abstract-format>, [">= 0"])
76
+ s.add_dependency(%q<bundler>, ["~> 1.0.12"])
77
+ s.add_dependency(%q<yard>, ["~> 0.6.7"])
78
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
79
+ s.add_dependency(%q<rspec>, ["~> 2.5.0"])
80
+ s.add_dependency(%q<rcov>, [">= 0"])
81
+ end
82
+ else
83
+ s.add_dependency(%q<em-synchrony>, [">= 0"])
84
+ s.add_dependency(%q<em-http-request>, [">= 0"])
85
+ s.add_dependency(%q<yajl-ruby>, ["~> 0.8.2"])
86
+ s.add_dependency(%q<gorillib>, ["~> 0.0.4"])
87
+ s.add_dependency(%q<rack-respond_to>, [">= 0"])
88
+ s.add_dependency(%q<rack-abstract-format>, [">= 0"])
89
+ s.add_dependency(%q<bundler>, ["~> 1.0.12"])
90
+ s.add_dependency(%q<yard>, ["~> 0.6.7"])
91
+ s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
92
+ s.add_dependency(%q<rspec>, ["~> 2.5.0"])
93
+ s.add_dependency(%q<rcov>, [">= 0"])
94
+ end
95
+ end
96
+