tipp.erb
concat
./views/tipp.erb
in
concat
<%= erb :recommendation, :locals => {:hardware => rec.gpu } %>
</div>
</section>
<section id="shopSnippets">
<h2>Beispiel</h2>
<div>
<%= erb :snippet, :locals => {:snippet => snippet, :rec => rec, :hardwareType => "Cpu"} %>
<%= erb :snippet, :locals => {:snippet => snippet, :rec => rec, :hardwareType => "Gpu" } %>
</div>
</section>
<footer><a href="/impressum">Impressum</a>
<span id="lastUpdate">last database update: <%= Time.at(lastUpdate.to_i).strftime("%d.%m.%Y") %></span>
<div id="socialButtons"><g:plusone size="small" href="http://www.pc-kombo.de"></g:plusone></div>
./views/tipp.erb
in
evaluate_source
<%= erb :recommendation, :locals => {:hardware => rec.gpu } %>
</div>
</section>
<section id="shopSnippets">
<h2>Beispiel</h2>
<div>
<%= erb :snippet, :locals => {:snippet => snippet, :rec => rec, :hardwareType => "Cpu"} %>
<%= erb :snippet, :locals => {:snippet => snippet, :rec => rec, :hardwareType => "Gpu" } %>
</div>
</section>
<footer><a href="/impressum">Impressum</a>
<span id="lastUpdate">last database update: <%= Time.at(lastUpdate.to_i).strftime("%d.%m.%Y") %></span>
<div id="socialButtons"><g:plusone size="small" href="http://www.pc-kombo.de"></g:plusone></div>
/home/malte/.gem/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb
in
instance_eval
compile_template_method(locals_keys)
end
private
# Evaluate the template source in the context of the scope object.
def evaluate_source(scope, locals, &block)
source, offset = precompiled(locals)
scope.instance_eval(source, eval_file, line - offset)
end
# JRuby doesn't allow Object#instance_eval to yield to the block it's
# closed over. This is by design and (ostensibly) something that will
# change in MRI, though no current MRI version tested (1.8.6 - 1.9.2)
# exhibits the behavior. More info here:
#
/home/malte/.gem/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb
in
evaluate_source
compile_template_method(locals_keys)
end
private
# Evaluate the template source in the context of the scope object.
def evaluate_source(scope, locals, &block)
source, offset = precompiled(locals)
scope.instance_eval(source, eval_file, line - offset)
end
# JRuby doesn't allow Object#instance_eval to yield to the block it's
# closed over. This is by design and (ostensibly) something that will
# change in MRI, though no current MRI version tested (1.8.6 - 1.9.2)
# exhibits the behavior. More info here:
#
/home/malte/.gem/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb
in
cached_evaluate
# Redefine itself to use method compilation the next time:
def self.cached_evaluate(scope, locals, &block)
method = compiled_method(locals.keys)
method.bind(scope).call(locals, &block)
end
# Use instance_eval the first time:
evaluate_source(scope, locals, &block)
end
# Generates all template source by combining the preamble, template, and
# postamble and returns a two-tuple of the form: [source, offset], where
# source is the string containing (Ruby) source code for the template and
# offset is the integer line offset where line reporting should begin.
#
/home/malte/.gem/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb
in
evaluate
compile!
else
raise NotImplementedError
end
end
def evaluate(scope, locals, &block)
cached_evaluate(scope, locals, &block)
end
# Process the template and return the result. The first time this
# method is called, the template source is evaluated with instance_eval.
# On the sequential method calls it will compile the template to an
# unbound method which will lead to better performance. In any case,
# template executation is guaranteed to be performed in the scope object
/home/malte/.gem/ruby/1.9.1/gems/tilt-1.3.3/lib/tilt/template.rb
in
render
prepare
end
# Render the template in the given scope with the locals specified. If a
# block is given, it is typically available within the template via
# +yield+.
def render(scope=Object.new, locals={}, &block)
evaluate scope, locals || {}, &block
end
# The basename of the template file.
def basename(suffix='')
File.basename(file, suffix) if file
end
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
render
locals = options.delete(:locals) || locals || {}
views = options.delete(:views) || settings.views || "./views"
layout = options.delete(:layout)
layout = :layout if layout.nil? || layout == true
# compile and render template
template = compile_template(engine, data, options, views)
output = template.render(self, locals, &block)
# render layout
if layout
begin
options = options.merge(:views => views, :layout => false)
output = render(engine, layout, options, locals) { output }
rescue Errno::ENOENT
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
erb
# :locals A hash with local variables that should be available
# in the template
module Templates
include Tilt::CompileSite
def erb(template, options={}, locals={})
options[:outvar] = '@_out_buf'
render :erb, template, options, locals
end
def erubis(template, options={}, locals={})
options[:outvar] = '@_out_buf'
render :erubis, template, options, locals
end
./server.rb
in
block in <main>
price = params[:price].to_i
price = 4000 if params[:price].to_i > 4000
recommendation = Recommendation.new(price)
snippet = Snippet.new(recommendation)
lastUpdate = Database.new.getMetaInfo("lastUpdate")
session[:cpuRec] = recommendation;
session[:gpuRec] = recommendation;
body erb :tipp, :locals => {:rec => recommendation, :price => price, :snippet => snippet, :lastUpdate => lastUpdate}
end
get '/login' do
protected!
"authorized"
end
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
call
define_method "#{verb} #{path}", &block
unbound_method = instance_method("#{verb} #{path}")
block =
if block.arity != 0
proc { unbound_method.bind(self).call(*@block_params) }
else
proc { unbound_method.bind(self).call }
end
invoke_hook(:route_added, verb, path, block)
(@routes[verb] ||= []).
push([pattern, keys, conditions, block]).last
end
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
block in route
define_method "#{verb} #{path}", &block
unbound_method = instance_method("#{verb} #{path}")
block =
if block.arity != 0
proc { unbound_method.bind(self).call(*@block_params) }
else
proc { unbound_method.bind(self).call }
end
invoke_hook(:route_added, verb, path, block)
(@routes[verb] ||= []).
push([pattern, keys, conditions, block]).last
end
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
instance_eval
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval(&block)
throw :halt, instance_eval(&block)
end
# No matching route was found or all routes passed. The default
# implementation is to forward the request downstream when running
# as middleware (@app is non-nil); when no downstream app is set, raise
# a NotFound exception. Subclasses can override this method to perform
# custom route miss logic.
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
route_eval
route_eval(&pass_block) if pass_block
route_missing
end
# Run a route block and throw :halt with the result.
def route_eval(&block)
throw :halt, instance_eval(&block)
end
# No matching route was found or all routes passed. The default
# implementation is to forward the request downstream when running
# as middleware (@app is non-nil); when no downstream app is set, raise
# a NotFound exception. Subclasses can override this method to perform
# custom route miss logic.
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
block (2 levels) in route!
end
@params = original_params.merge(params)
@block_params = values
pass_block = catch(:pass) do
conditions.each { |cond|
throw :pass if instance_eval(&cond) == false }
route_eval(&block)
end
end
end
@params = original_params
end
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
catch
{'captures' => values}
else
{}
end
@params = original_params.merge(params)
@block_params = values
pass_block = catch(:pass) do
conditions.each { |cond|
throw :pass if instance_eval(&cond) == false }
route_eval(&block)
end
end
end
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
block in route!
{'captures' => values}
else
{}
end
@params = original_params.merge(params)
@block_params = values
pass_block = catch(:pass) do
conditions.each { |cond|
throw :pass if instance_eval(&cond) == false }
route_eval(&block)
end
end
end
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
each
# Run routes defined on the class and all superclasses.
def route!(base=self.class, pass_block=nil)
if routes = base.routes[@request.request_method]
original_params = @params
path = unescape(@request.path_info)
routes.each do |pattern, keys, conditions, block|
if match = pattern.match(path)
values = match.captures.to_a
params =
if keys.any?
keys.zip(values).inject({}) do |hash,(k,v)|
if k == 'splat'
(hash[k] ||= []) << v
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
route!
# Run routes defined on the class and all superclasses.
def route!(base=self.class, pass_block=nil)
if routes = base.routes[@request.request_method]
original_params = @params
path = unescape(@request.path_info)
routes.each do |pattern, keys, conditions, block|
if match = pattern.match(path)
values = match.captures.to_a
params =
if keys.any?
keys.zip(values).inject({}) do |hash,(k,v)|
if k == 'splat'
(hash[k] ||= []) << v
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
dispatch!
res
end
# Dispatch a request with error handling.
def dispatch!
static! if settings.static? && (request.get? || request.head?)
before_filter!
route!
rescue NotFound => boom
handle_not_found!(boom)
rescue ::Exception => boom
handle_exception!(boom)
ensure
after_filter! unless env['sinatra.static_file']
end
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
block in call!
def call!(env)
@env = env
@request = Request.new(env)
@response = Response.new
@params = indifferent_params(@request.params)
@template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) }
status, header, body = @response.finish
# Never produce a body on HEAD requests. Do retain the Content-Length
# unless it's "0", in which case we assume it was calculated erroneously
# for a manual HEAD response and remove it entirely.
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
instance_eval
def indifferent_hash
Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt) { instance_eval(&block) }
return if res.nil?
case
when res.respond_to?(:to_str)
@response.body = [res]
when res.respond_to?(:to_ary)
res = res.to_ary
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
block in invoke
def indifferent_hash
Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt) { instance_eval(&block) }
return if res.nil?
case
when res.respond_to?(:to_str)
@response.body = [res]
when res.respond_to?(:to_ary)
res = res.to_ary
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
catch
def indifferent_hash
Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt) { instance_eval(&block) }
return if res.nil?
case
when res.respond_to?(:to_str)
@response.body = [res]
when res.respond_to?(:to_ary)
res = res.to_ary
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
invoke
def indifferent_hash
Hash.new {|hash,key| hash[key.to_s] if Symbol === key }
end
# Run the block with 'throw :halt' support and apply result to the response.
def invoke(&block)
res = catch(:halt) { instance_eval(&block) }
return if res.nil?
case
when res.respond_to?(:to_str)
@response.body = [res]
when res.respond_to?(:to_ary)
res = res.to_ary
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
call!
def call!(env)
@env = env
@request = Request.new(env)
@response = Response.new
@params = indifferent_params(@request.params)
@template_cache.clear if settings.reload_templates
invoke { dispatch! }
invoke { error_block!(response.status) }
status, header, body = @response.finish
# Never produce a body on HEAD requests. Do retain the Content-Length
# unless it's "0", in which case we assume it was calculated erroneously
# for a manual HEAD response and remove it entirely.
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
call
@app = app
@template_cache = Tilt::Cache.new
yield self if block_given?
end
# Rack call interface.
def call(env)
dup.call!(env)
end
attr_accessor :env, :request, :response, :params
def call!(env)
@env = env
@request = Request.new(env)
/usr/lib/ruby/1.9.1/rack/session/abstract/id.rb
in
context
def call(env)
context(env)
end
def context(env, app=@app)
load_session(env)
status, headers, body = app.call(env)
commit_session(env, status, headers, body)
end
private
# Generate a new session id using Ruby #rand. The size of the
# session id is controlled by the :sidbits option.
/usr/lib/ruby/1.9.1/rack/session/abstract/id.rb
in
call
def initialize(app, options={})
@app = app
@key = options[:key] || "rack.session"
@default_options = self.class::DEFAULT_OPTIONS.merge(options)
end
def call(env)
context(env)
end
def context(env, app=@app)
load_session(env)
status, headers, body = app.call(env)
commit_session(env, status, headers, body)
end
/usr/lib/ruby/1.9.1/rack/showexceptions.rb
in
call
def initialize(app)
@app = app
@template = ERB.new(TEMPLATE)
end
def call(env)
@app.call(env)
rescue StandardError, LoadError, SyntaxError => e
backtrace = pretty(env, e)
[500,
{"Content-Type" => "text/html",
"Content-Length" => backtrace.join.size.to_s},
backtrace]
end
/usr/lib/ruby/1.9.1/rack/methodoverride.rb
in
call
method = method.to_s.upcase
if HTTP_METHODS.include?(method)
env["rack.methodoverride.original_method"] = env["REQUEST_METHOD"]
env["REQUEST_METHOD"] = method
end
end
@app.call(env)
end
end
end
/usr/lib/ruby/1.9.1/rack/commonlogger.rb
in
call
def initialize(app, logger=nil)
@app = app
@logger = logger
end
def call(env)
began_at = Time.now
status, header, body = @app.call(env)
header = Utils::HeaderHash.new(header)
log(env, status, header, began_at)
[status, header, body]
end
private
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
block in call
middleware.each { |c,a,b| builder.use(c, *a, &b) }
builder.run super
builder.to_app
end
def call(env)
synchronize { prototype.call(env) }
end
private
def detect_rack_handler
servers = Array(self.server)
servers.each do |server_name|
begin
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
synchronize
end
@@mutex = Mutex.new
def synchronize(&block)
if lock?
@@mutex.synchronize(&block)
else
yield
end
end
def metadef(message, &block)
(class << self; self; end).
send :define_method, message, &block
end
/usr/lib/ruby/1.9.1/sinatra/base.rb
in
call
middleware.each { |c,a,b| builder.use(c, *a, &b) }
builder.run super
builder.to_app
end
def call(env)
synchronize { prototype.call(env) }
end
private
def detect_rack_handler
servers = Array(self.server)
servers.each do |server_name|
begin
/usr/lib/ruby/1.9.1/rack/content_length.rb
in
call
include Rack::Utils
def initialize(app)
@app = app
end
def call(env)
status, headers, body = @app.call(env)
headers = HeaderHash.new(headers)
if !STATUS_WITH_NO_ENTITY_BODY.include?(status) &&
!headers['Content-Length'] &&
!headers['Transfer-Encoding'] &&
(body.respond_to?(:to_ary) || body.respond_to?(:to_str))
/usr/lib/ruby/1.9.1/rack/handler/webrick.rb
in
service
env["QUERY_STRING"] ||= ""
env["REQUEST_PATH"] ||= "/"
unless env["PATH_INFO"] == ""
path, n = req.request_uri.path, env["SCRIPT_NAME"].length
env["PATH_INFO"] = path[n, path.length-n]
end
status, headers, body = @app.call(env)
begin
res.status = status.to_i
headers.each { |k, vs|
if k.downcase == "set-cookie"
res.cookies.concat vs.split("\n")
else
vs.split("\n").each { |v|
/usr/lib/ruby/1.9.1/webrick/httpserver.rb
in
service
servlet, options, script_name, path_info = search_servlet(req.path)
raise HTTPStatus::NotFound, "`#{req.path}' not found." unless servlet
req.script_name = script_name
req.path_info = path_info
si = servlet.get_instance(self, *options)
@logger.debug(format("%s is invoked.", si.class.name))
si.service(req, res)
end
def do_OPTIONS(req, res)
res["allow"] = "GET,HEAD,POST,OPTIONS"
end
def mount(dir, servlet, *options)
/usr/lib/ruby/1.9.1/webrick/httpserver.rb
in
run
if callback = server[:RequestCallback]
callback.call(req, res)
elsif callback = server[:RequestHandler]
msg = ":RequestHandler is deprecated, please use :RequestCallback"
@logger.warn(msg)
callback.call(req, res)
end
server.service(req, res)
rescue HTTPStatus::EOFError, HTTPStatus::RequestTimeout => ex
res.set_error(ex)
rescue HTTPStatus::Error => ex
@logger.error(ex.message)
res.set_error(ex)
rescue HTTPStatus::Status => ex
res.status = ex.code
/usr/lib/ruby/1.9.1/webrick/server.rb
in
block in start_thread
addr = sock.peeraddr
@logger.debug "accept: #{addr[3]}:#{addr[1]}"
rescue SocketError
@logger.debug "accept: <address unknown>"
raise
end
call_callback(:AcceptCallback, sock)
block ? block.call(sock) : run(sock)
rescue Errno::ENOTCONN
@logger.debug "Errno::ENOTCONN raised"
rescue ServerError => ex
msg = "#{ex.class}: #{ex.message}\n\t#{ex.backtrace[0]}"
@logger.error msg
rescue Exception => ex
@logger.error ex
Variable | Value |
---|---|
price | "500" |
No POST data.
Variable | Value |
---|---|
GATEWAY_INTERFACE | CGI/1.1 |
HTTP_ACCEPT | text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 |
HTTP_ACCEPT_ENCODING | gzip, deflate |
HTTP_ACCEPT_LANGUAGE | de-at,de;q=0.8,en-us;q=0.5,en;q=0.3 |
HTTP_CONNECTION | Keep-Alive |
HTTP_COOKIE | rack.session=14afcb1bf05b7ad39742a3403cb453df; __utma=177868452.1226820508.1354898316.1354898316.1354898316.1; __utmb=177868452.5.10.1354898316; __utmc=177868452; __utmz=177868452.1354898316.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) |
HTTP_HOST | localhost:4118 |
HTTP_REFERER | http://www.pc-kombo.de/tipp?price=600 |
HTTP_USER_AGENT | Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:16.0) Gecko/20100101 Firefox/16.0 |
HTTP_VERSION | HTTP/1.1 |
HTTP_X_FORWARDED_FOR | 138.232.7.54 |
HTTP_X_FORWARDED_HOST | www.pc-kombo.de |
HTTP_X_FORWARDED_SERVER | www.pc-kombo.de |
PATH_INFO | /tipp |
QUERY_STRING | price=500 |
REMOTE_ADDR | 127.0.0.1 |
REMOTE_HOST | localhost.localdomain |
REQUEST_METHOD | GET |
REQUEST_PATH | / |
REQUEST_URI | http://www.pc-kombo.de/tipp?price=500 |
SCRIPT_NAME | |
SERVER_NAME | www.pc-kombo.de |
SERVER_PORT | 80 |
SERVER_PROTOCOL | HTTP/1.1 |
SERVER_SOFTWARE | WEBrick/1.3.1 (Ruby/1.9.2/2010-08-18) |
rack.errors | #<IO:<STDERR>> |
rack.input | #<StringIO:0x0000001d84b918> |
rack.multiprocess | false |
rack.multithread | true |
rack.request.cookie_hash | {"rack.session"=>"14afcb1bf05b7ad39742a3403cb453df", "__utma"=>"177868452.1226820508.1354898316.1354898316.1354898316.1", "__utmb"=>"177868452.5.10.1354898316", "__utmc"=>"177868452", "__utmz"=>"177868452.1354898316.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)"} |
rack.request.cookie_string | rack.session=14afcb1bf05b7ad39742a3403cb453df; __utma=177868452.1226820508.1354898316.1354898316.1354898316.1; __utmb=177868452.5.10.1354898316; __utmc=177868452; __utmz=177868452.1354898316.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) |
rack.request.query_hash | {"price"=>"500"} |
rack.request.query_string | price=500 |
rack.run_once | false |
rack.session | {:cpuRec=>#<Recommendation:0x0000001d848ce0 @cpus=[#<Cpu:0x0000001d7d9278 @type="Pentium Dual-Core E6500", @price=5.19, @passRating=1742, @futureRating=0>, #<Cpu:0x0000001d7d9138 @type="Pentium Dual-Core E6800", @price=8.95, @passRating=2343, @futureRating=0>, #<Cpu:0x0000001d7d8eb8 @type="AMD Sempron 145", @price=29.64, @passRating=804, @futureRating=0>, #<Cpu:0x0000001d7d8d78 @type="AMD Athlon XP 2600+", @price=32.95, @passRating=388, @futureRating=0>, #<Cpu:0x0000001d7d8c38 @type="Intel Celeron G460", @price=33.72, @passRating=1203, @futureRating=0>, #<Cpu:0x0000001d7d8af8 @type="AMD Athlon II X2 240e", @price=33.79, @passRating=1641, @futureRating=0>, #<Cpu:0x0000001d7d89b8 @type="AMD Athlon II X2 240", @price=33.79, @passRating=1781, @futureRating=1690>, #<Cpu:0x0000001d7d8878 @type="Celeron G440", @price=34.32, @passRating=781, @futureRating=0>, #<Cpu:0x0000001d7d8738 @type="Pentium 4 3", @price=34.49, @passRating=369, @futureRating=0>, #<Cpu:0x0000001d7d85f8 @type="AMD A4-3300", @price=35.22, @passRating=1599, @futureRating=0>, #<Cpu:0x0000001d7d84b8 @type="Intel Celeron G540", @price=36.49, @passRating=2291, @futureRating=0>, #<Cpu:0x0000001d7d8378 @type="Celeron G530", @price=36.65, @passRating=2271, @futureRating=0>, #<Cpu:0x0000001d7d8238 @type="Intel Celeron G530", @price=36.65, @passRating=2271, @futureRating=0>, #<Cpu:0x0000001d7d80f8 @type="Celeron G550", @price=37.84, @passRating=2371, @futureRating=0>, #<Cpu:0x0000001d7d7fb8 @type="Celeron G540", @price=37.95, @passRating=2291, @futureRating=0>, #<Cpu:0x0000001d7d7e78 @type="AMD Athlon 64 3500+", @price=39.0, @passRating=573, @futureRating=0>, #<Cpu:0x0000001d7d7d38 @type="AMD Athlon 64 3700+", @price=39.95, @passRating=654, @futureRating=0>, #<Cpu:0x0000001d7d7bf8 @type="AMD Athlon 64 3200+", @price=39.95, @passRating=487, @futureRating=0>, #<Cpu:0x0000001d7d7ab8 @type="AMD Athlon 64 3200", @price=39.95, @passRating=487, @futureRating=0>, #<Cpu:0x0000001d7d7978 @type="Intel Celeron G440", @price=39.95, @passRating=781, @futureRating=0>, #<Cpu:0x0000001d7d7838 @type="AMD Sempron 140", @price=41.89, @passRating=829, @futureRating=0>, #<Cpu:0x0000001d7d76f8 @type="AMD Athlon II X2 250", @price=42.89, @passRating=1714, @futureRating=1810>, #<Cpu:0x0000001d7d75b8 @type="AMD Athlon II X2", @price=43.17, @passRating=1419, @futureRating=0>, #<Cpu:0x0000001d7d7478 @type="AMD Athlon II X2 270", @price=43.49, @passRating=1874, @futureRating=2060>, #<Cpu:0x0000001d7d7338 @type="AMD Athlon 64 4000+", @price=43.99, @passRating=591, @futureRating=0>, #<Cpu:0x0000001d7d71f8 @type="Core2 Duo E6750", @price=44.0, @passRating=1737, @futureRating=0>, #<Cpu:0x0000001d7d70b8 @type="AMD Athlon II X2 260", @price=44.68, @passRating=1810, @futureRating=1930>, #<Cpu:0x0000001d7d6f78 @type="AMD A4-3400", @price=45.83, @passRating=1666, @futureRating=3360>, #<Cpu:0x0000001d7d6e38 @type="Celeron 2", @price=46.2, @passRating=232, @futureRating=0>, #<Cpu:0x0000001d7d6cf8 @type="AMD A4-3400 APU", @price=47.24, @passRating=1666, @futureRating=0>, #<Cpu:0x0000001d7d6bb8 @type="Intel Pentium G620 @ 2.60GHz", @price=53.34, @passRating=2292, @futureRating=0>, #<Cpu:0x0000001d7d6a78 @type="AMD Athlon II X4 631", @price=54.68, @passRating=3323, @futureRating=2720>, #<Cpu:0x0000001d7d6938 @type="AMD A4-3300 APU", @price=54.95, @passRating=1599, @futureRating=0>, #<Cpu:0x0000001d7d5128 @type="AMD Athlon II X3 455", @price=55.56, @passRating=3009, @futureRating=2430>, #<Cpu:0x0000001d7d4fe8 @type="Intel Pentium G860", @price=56.16, @passRating=2843, @futureRating=2920>, #<Cpu:0x0000001d7d4ea8 @type="AMD A6-5400K", @price=60.44, @passRating=2179, @futureRating=0>, #<Cpu:0x0000001d7d4d68 @type="AMD Athlon II X3 450", @price=60.89, @passRating=2509, @futureRating=0>, #<Cpu:0x0000001d7d4c28 @type="AMD Athlon II X3 435", @price=61.9, @passRating=2211, @futureRating=2180>, #<Cpu:0x0000001d7d4ae8 @type="AMD Athlon II X3 460", @price=64.16, @passRating=3092, @futureRating=0>, #<Cpu:0x0000001d7d49a8 @type="Intel Pentium G630T", @price=65.22, @passRating=2275, @futureRating=0>, #<Cpu:0x0000001d7d4868 @type="Pentium G630T", @price=65.22, @passRating=2275, @futureRating=0>, #<Cpu:0x0000001d7d4728 @type="AMD A6-3650 APU", @price=69.02, @passRating=3419, @futureRating=0>, #<Cpu:0x0000001d7d45e8 @type="Dual-Core", @price=69.2, @passRating=1150, @futureRating=0>, #<Cpu:0x0000001d7d44a8 @type="AMD Phenom II X4 945", @price=69.55, @passRating=3809, @futureRating=0>, #<Cpu:0x0000001d7d4340 @type="AMD Athlon 64 X2 Dual-Core", @price=69.95, @passRating=839, @futureRating=0>, #<Cpu:0x0000001d7d4200 @type="AMD Athlon II X4 640", @price=70.85, @passRating=3354, @futureRating=3020>, #<Cpu:0x0000001d7d40c0 @type="AMD Athlon II X4 651", @price=71.82, @passRating=3885, @futureRating=3020>, #<Cpu:0x0000001d7d3f80 @type="AMD Athlon II X3 420e", @price=72.59, @passRating=2062, @futureRating=0>, #<Cpu:0x0000001d7d3e40 @type="AMD Phenom II X2 555", @price=72.59, @passRating=2050, @futureRating=0>, #<Cpu:0x0000001d7d3d00 @type="AMD Athlon II X3 425", @price=72.59, @passRating=2446, @futureRating=2060>, #<Cpu:0x0000001d7d3bc0 @type="AMD A6-3500 APU", @price=72.74, @passRating=2047, @futureRating=0>, #<Cpu:0x0000001d7d3a80 @type="Intel Pentium G620T @ 2.20GHz", @price=74.9, @passRating=2223, @futureRating=0>, #<Cpu:0x0000001d7d3940 @type="Pentium Dual-Core", @price=76.03, @passRating=1296, @futureRating=0>, #<Cpu:0x0000001d7d3800 @type="Core i3 540", @price=76.5, @passRating=2684, @futureRating=0>, #<Cpu:0x0000001d7d36c0 @type="AMD A8-3850 APU", @price=80.22, @passRating=3756, @futureRating=0>, #<Cpu:0x0000001d7d3580 @type="AMD A6-3670 APU", @price=80.25, @passRating=3372, @futureRating=0>, #<Cpu:0x0000001d7d3440 @type="AMD Athlon II X3 445", @price=81.39, @passRating=2742, @futureRating=0>, #<Cpu:0x0000001d7d3300 @type="AMD Phenom II X3 705e", @price=81.39, @passRating=2259, @futureRating=0>, #<Cpu:0x0000001d7d31c0 @type="AMD Phenom II X4 955", @price=82.49, @passRating=4054, @futureRating=3910>, #<Cpu:0x0000001d7d3080 @type="Phenom II X4 955", @price=82.49, @passRating=4054, @futureRating=0>, #<Cpu:0x0000001d7d2e00 @type="AMD Phenom II X4 965", @price=85.84, @passRating=4341, @futureRating=4120>, #<Cpu:0x0000001d7d2cc0 @type="Phenom II X4 965", @price=89.89, @passRating=4341, @futureRating=0>, #<Cpu:0x0000001d7d2b80 @type="AMD Phenom II", @price=89.89, @passRating=3489, @futureRating=0>, #<Cpu:0x0000001d7d2900 @type="AMD Phenom II X6 1045T", @price=93.36, @passRating=4850, @futureRating=4420>, #<Cpu:0x0000001d7d27c0 @type="AMD Phenom II X3", @price=94.59, @passRating=2316, @futureRating=0>, #<Cpu:0x0000001d7d2680 @type="AMD Phenom II X2 560", @price=94.59, @passRating=2189, @futureRating=0>, #<Cpu:0x0000001d7d2540 @type="Pentium 4 2", @price=94.72, @passRating=247, @futureRating=0>, #<Cpu:0x0000001d7d2400 @type="AMD FX-4100", @price=95.49, @passRating=4044, @futureRating=5620>, #<Cpu:0x0000001d7d22c0 @type="AMD Phenom II X6 1090T", @price=98.9, @passRating=5626, @futureRating=5020>, #<Cpu:0x0000001d7d2180 @type="AMD Athlon II X4 605e", @price=98.99, @passRating=2658, @futureRating=0>, #<Cpu:0x0000001d7d2040 @type="Intel Core2 Duo E7600", @price=99.0, @passRating=2163, @futureRating=0>, #<Cpu:0x0000001d7d1f00 @type="AMD Phenom 9550 Quad-Core", @price=99.95, @passRating=2502, @futureRating=0>, #<Cpu:0x0000001d7d1dc0 @type="Intel Core i3-2100", @price=99.98, @passRating=3557, @futureRating=3660>, #<Cpu:0x0000001d7d1c80 @type="AMD Athlon II X4 615e", @price=102.29, @passRating=2745, @futureRating=0>, #<Cpu:0x0000001d7d1b40 @type="Intel Core i3-2120", @price=104.29, @passRating=3979, @futureRating=3870>, #<Cpu:0x0000001d7d1a00 @type="Intel Core i3", @price=104.29, @passRating=2552, @futureRating=0>, #<Cpu:0x0000001d7d18c0 @type="Core i3-3220", @price=104.86, @passRating=4310, @futureRating=0>, #<Cpu:0x0000001d7d1780 @type="Intel Core i3-3220", @price=104.86, @passRating=4310, @futureRating=4130>, #<Cpu:0x0000001d7d1640 @type="AMD A8-5600K APU", @price=104.95, @passRating=4713, @futureRating=0>, #<Cpu:0x0000001d7d1500 @type="AMD Athlon II X4 630", @price=105.0, @passRating=3255, @futureRating=0>, #<Cpu:0x0000001d7d13c0 @type="AMD FX-6100", @price=105.13, @passRating=5388, @futureRating=5460>, #<Cpu:0x0000001d7d1280 @type="AMD Phenom II X4 920", @price=105.59, @passRating=3588, @futureRating=3470>, #<Cpu:0x0000001d7cf958 @type="AMD Athlon II X4 610e", @price=105.59, @passRating=2817, @futureRating=0>, #<Cpu:0x0000001d7cf818 @type="Intel Core i3-2120T", @price=107.15, @passRating=3283, @futureRating=0>, #<Cpu:0x0000001d7cf6d8 @type="AMD Phenom II X2 565", @price=109.86, @passRating=2367, @futureRating=0>, #<Cpu:0x0000001d7cf598 @type="Pentium G6950", @price=110.42, @passRating=2036, @futureRating=0>, #<Cpu:0x0000001d7cf458 @type="Core i3 530", @price=112.4, @passRating=2552, @futureRating=0>, #<Cpu:0x0000001d7cf318 @type="AMD A10-5700", @price=112.97, @passRating=4668, @futureRating=3490>, #<Cpu:0x0000001d7cf1d8 @type="AMD Athlon II X4 645", @price=114.39, @passRating=3453, @futureRating=3090>, #<Cpu:0x0000001d7cf098 @type="Intel Core i3-2130", @price=115.89, @passRating=4074, @futureRating=0>, #<Cpu:0x0000001d7cef58 @type="Intel Core i3 550", @price=116.7, @passRating=3020, @futureRating=0>, #<Cpu:0x0000001d7cee18 @type="Intel Core i3-3225", @price=118.9, @passRating=4370, @futureRating=4130>, #<Cpu:0x0000001d7cecd8 @type="Pentium Dual-Core E5200", @price=119.0, @passRating=1476, @futureRating=0>, #<Cpu:0x0000001d7ceb98 @type="AMD Phenom 9750 Quad-Core", @price=119.95, @passRating=2983, @futureRating=0>, #<Cpu:0x0000001d7cea58 @type="AMD FX-4170", @price=119.95, @passRating=4973, @futureRating=6200>, #<Cpu:0x0000001d7ce918 @type="AMD A10-5800K APU", @price=119.95, @passRating=4874, @futureRating=0>, #<Cpu:0x0000001d7ce7d8 @type="Intel Core i3-3220T", @price=122.89, @passRating=3976, @futureRating=0>, #<Cpu:0x0000001d7ce698 @type="Core i3 550", @price=123.12, @passRating=3020, @futureRating=0>, #<Cpu:0x0000001d7ce558 @type="AMD Phenom II X4 840", @price=123.19, @passRating=3092, @futureRating=3590>, #<Cpu:0x0000001d7ce2d8 @type="AMD Phenom II X4 960T", @price=123.19, @passRating=3864, @futureRating=3290>, #<Cpu:0x0000001d7ce198 @type="AMD FX-6200", @price=124.07, @passRating=6179, @futureRating=5940>, #<Cpu:0x0000001d7ce058 @type="Intel Core i3-2100T", @price=127.0, @passRating=3262, @futureRating=0>, #<Cpu:0x0000001d7cdf18 @type="Intel Core i3-2105", @price=127.89, @passRating=3933, @futureRating=0>, #<Cpu:0x0000001d7cddd8 @type="Core i3-3225", @price=129.6, @passRating=4370, @futureRating=0>, #<Cpu:0x0000001d7cdc98 @type="Core2 Quad Q6600", @price=129.79, @passRating=2949, @futureRating=0>, #<Cpu:0x0000001d7cdb58 @type="AMD Phenom II X4 970", @price=130.9, @passRating=4423, @futureRating=4020>, #<Cpu:0x0000001d7cda18 @type="AMD Phenom II X4 850", @price=131.99, @passRating=3779, @futureRating=0>, #<Cpu:0x0000001d7cd8d8 @type="Core i3-3220T", @price=131.99, @passRating=3976, @futureRating=0>, #<Cpu:0x0000001d7cd798 @type="AMD FX-8120", @price=141.51, @passRating=6713, @futureRating=5390>, #<Cpu:0x0000001d7cd658 @type="Intel Core2 Quad Q8400", @price=142.99, @passRating=3176, @futureRating=0>, #<Cpu:0x0000001d7cd518 @type="Core2 Quad Q8400", @price=142.99, @passRating=3176, @futureRating=0>, #<Cpu:0x0000001d7cd3d8 @type="Intel Core2 Quad Q8300", @price=144.89, @passRating=3107, @futureRating=0>, #<Cpu:0x0000001d7cd298 @type="AMD Phenom II X6 1055T", @price=146.29, @passRating=5018, @futureRating=4540>, #<Cpu:0x0000001d7cd130 @type="AMD Athlon 64 X2 4600+", @price=149.9, @passRating=1365, @futureRating=0>, #<Cpu:0x0000001d7ccfc8 @type="Core2 Duo E7500", @price=155.13, @passRating=1909, @futureRating=0>, #<Cpu:0x0000001d7cce88 @type="Intel Core i5-2310 @ 2.90GHz", @price=157.84, @passRating=5751, @futureRating=0>, #<Cpu:0x0000001d7ccd20 @type="AMD Phenom II X4 980", @price=159.72, @passRating=4753, @futureRating=4320>, #<Cpu:0x0000001d7ccbe0 @type="Core2 Duo E8600", @price=162.79, @passRating=2512, @futureRating=0>, #<Cpu:0x0000001d7cca78 @type="Core2 Quad Q9300", @price=162.79, @passRating=3190, @futureRating=0>, #<Cpu:0x0000001d7cc910 @type="AMD Phenom II X6 1075T", @price=162.79, @passRating=5369, @futureRating=4780>, #<Cpu:0x0000001d7cc7d0 @type="AMD Phenom II X4 975", @price=162.79, @passRating=4643, @futureRating=4170>, #<Cpu:0x0000001d7cc668 @type="Intel Core i5-2300", @price=164.49, @passRating=5111, @futureRating=4980>, #<Cpu:0x0000001d7cc528 @type="Intel Core2 Duo E6750", @price=167.4, @passRating=1737, @futureRating=0>, #<Cpu:0x0000001d7cc3c0 @type="Intel Core i5-3450", @price=167.65, @passRating=6599, @futureRating=5890>, #<Cpu:0x0000001d7cc280 @type="AMD FX-8150", @price=167.92, @passRating=7821, @futureRating=5880>, #<Cpu:0x0000001d7cc118 @type="Core i5-3470", @price=169.72, @passRating=6606, @futureRating=0>, #<Cpu:0x0000001d7cbfd8 @type="Core i5-3450S", @price=171.2, @passRating=6479, @futureRating=0>, #<Cpu:0x0000001d7cbe98 @type="Core i5-3330", @price=177.8, @passRating=5339, @futureRating=0>, #<Cpu:0x0000001d7cbd58 @type="Intel Core i5-3330", @price=177.8, @passRating=5339, @futureRating=5710>, #<Cpu:0x0000001d7cbc18 @type="Core i5 650", @price=179.0, @passRating=3248, @futureRating=0>, #<Cpu:0x0000001d7cbad8 @type="Intel Core i5-3470", @price=179.89, @passRating=6606, @futureRating=6070>, #<Cpu:0x0000001d7bdcf8 @type="Intel Core i5-3470S", @price=179.95, @passRating=6925, @futureRating=0>, #<Cpu:0x0000001d7bdb90 @type="Core i5-2400", @price=180.83, @passRating=5779, @futureRating=0>, #<Cpu:0x0000001d7bda50 @type="Intel Core i5-2400", @price=180.83, @passRating=5779, @futureRating=5500>, #<Cpu:0x0000001d7bd910 @type="Intel Core i5-3550", @price=182.5, @passRating=6935, @futureRating=6250>, #<Cpu:0x0000001d7bd780 @type="Intel Core i5-2400S", @price=183.18, @passRating=4929, @futureRating=4450>, #<Cpu:0x0000001d7bd5c8 @type="Core i5-3470S", @price=183.78, @passRating=6925, @futureRating=0>, #<Cpu:0x0000001d7bd410 @type="Intel Core i5-3570", @price=184.47, @passRating=7079, @futureRating=0>, #<Cpu:0x0000001d7bd258 @type="Core2 Duo E8400", @price=188.91, @passRating=2159, @futureRating=0>, #<Cpu:0x0000001d7bcf10 @type="Core i5-2500", @price=192.37, @passRating=6336, @futureRating=0>, #<Cpu:0x0000001d7bcd80 @type="Intel Core i5-2500", @price=192.37, @passRating=6336, @futureRating=5850>, #<Cpu:0x0000001d7bcb28 @type="Core i5-2500K", @price=192.37, @passRating=6499, @futureRating=0>, #<Cpu:0x0000001d7bc9e8 @type="Intel Core i5 661", @price=195.33, @passRating=3373, @futureRating=0>, #<Cpu:0x0000001d7bc8a8 @type="Core i5-3550", @price=195.89, @passRating=6935, @futureRating=0>, #<Cpu:0x0000001d7bc740 @type="Intel Core i7 860", @price=199.0, @passRating=5266, @futureRating=0>, #<Cpu:0x0000001d7bc600 @type="Core2 Quad Q8300", @price=199.24, @passRating=3107, @futureRating=0>, #<Cpu:0x0000001d7bc4c0 @type="Core i5 760", @price=202.8, @passRating=4007, @futureRating=0>, #<Cpu:0x0000001d7bc380 @type="Intel Core2 Quad Q9505", @price=203.49, @passRating=4018, @futureRating=0>, #<Cpu:0x0000001d7bc240 @type="Core i5-3570K", @price=204.09, @passRating=7137, @futureRating=0>, #<Cpu:0x0000001d7bc100 @type="Intel Core i5-3570K", @price=204.09, @passRating=7137, @futureRating=6430>, #<Cpu:0x0000001d7bbfc0 @type="Intel Core2 Quad Q9450", @price=211.19, @passRating=3813, @futureRating=0>, #<Cpu:0x0000001d7bbe80 @type="AMD Phenom II X6 1100T", @price=224.39, @passRating=6002, @futureRating=5150>, #<Cpu:0x0000001d7bbd40 @type="Core i5-3570", @price=224.77, @passRating=7079, @futureRating=0>, #<Cpu:0x0000001d7bbc00 @type="Core2 Quad Q9550", @price=225.7, @passRating=4044, @futureRating=0>, #<Cpu:0x0000001d7bbac0 @type="Intel Core2 Quad Q9550", @price=225.7, @passRating=4044, @futureRating=0>, #<Cpu:0x0000001d7bb980 @type="Core i5 750", @price=234.55, @passRating=3755, @futureRating=0>, #<Cpu:0x0000001d7bb840 @type="Core2 Duo T9600", @price=240.23, @passRating=1814, @futureRating=0>, #<Cpu:0x0000001d7bb700 @type="Intel Core2 Duo T9600", @price=240.23, @passRating=1814, @futureRating=0>, #<Cpu:0x0000001d7bb5c0 @type="Core2 Duo E8500", @price=240.5, @passRating=2344, @futureRating=0>, #<Cpu:0x0000001d7bb480 @type="Intel Core i5 750", @price=244.5, @passRating=3755, @futureRating=0>, #<Cpu:0x0000001d7bb340 @type="Intel Core i7-3820", @price=263.2, @passRating=9207, @futureRating=10520>, #<Cpu:0x0000001d7bb200 @type="Core i7-2700K", @price=264.85, @passRating=8966, @futureRating=0>, #<Cpu:0x0000001d7bb0c0 @type="AMD Athlon II X2 255", @price=269.0, @passRating=1906, @futureRating=1870>, #<Cpu:0x0000001d7baf80 @type="Intel Core i7-3770", @price=270.95, @passRating=9466, @futureRating=8110>, #<Cpu:0x0000001d7bad00 @type="Core i7-3770S", @price=275.81, @passRating=9530, @futureRating=0>, #<Cpu:0x0000001d7babc0 @type="Intel Core i7 870", @price=276.0, @passRating=5612, @futureRating=0>, #<Cpu:0x0000001d7baa80 @type="Intel Core i7-2700K", @price=280.95, @passRating=8966, @futureRating=8290>, #<Cpu:0x0000001d7ba940 @type="Core i7 950", @price=283.0, @passRating=5754, @futureRating=0>, #<Cpu:0x0000001d7ba800 @type="Core i7 960", @price=284.0, @passRating=6019, @futureRating=0>, #<Cpu:0x0000001d7ba6c0 @type="Intel Core i7-2600", @price=286.89, @passRating=8413, @futureRating=8140>, #<Cpu:0x0000001d7ba580 @type="Core i7-2600K", @price=286.89, @passRating=8641, @futureRating=0>, #<Cpu:0x0000001d7ba440 @type="Core i7-2600S", @price=289.02, @passRating=7285, @futureRating=0>, #<Cpu:0x0000001d7ba300 @type="Intel Core i7-3770S", @price=290.95, @passRating=9530, @futureRating=7410>, #<Cpu:0x0000001d7ba1c0 @type="Core i7-3770K", @price=297.24, @passRating=9657, @futureRating=0>, #<Cpu:0x0000001d7ba080 @type="Intel Core i7-3770K", @price=297.24, @passRating=9657, @futureRating=8350>, #<Cpu:0x0000001d7b9f40 @type="Intel Core i7 940", @price=299.0, @passRating=5447, @futureRating=0>, #<Cpu:0x0000001d7b9e00 @type="Intel Core i5 680", @price=307.03, @passRating=3500, @futureRating=0>, #<Cpu:0x0000001d7b1ef8 @type="Core i7 930", @price=312.84, @passRating=5039, @futureRating=0>, #<Cpu:0x0000001d7b1db8 @type="Core i7 860", @price=329.18, @passRating=5266, @futureRating=0>, #<Cpu:0x0000001d7b1c78 @type="Core i5 670", @price=339.23, @passRating=3229, @futureRating=0>, #<Cpu:0x0000001d7b1958 @type="Core i7 920", @price=352.43, @passRating=4993, @futureRating=0>, #<Cpu:0x0000001d7b1818 @type="Core2 Quad Q9650", @price=365.12, @passRating=4375, @futureRating=0>, #<Cpu:0x0000001d7b16d8 @type="Core i7 870", @price=377.58, @passRating=5612, @futureRating=0>, #<Cpu:0x0000001d7b1598 @type="Intel Core2 Duo P9500", @price=402.84, @passRating=1639, @futureRating=0>, #<Cpu:0x0000001d7b1458 @type="Core2 Duo P8600", @price=422.45, @passRating=1557, @futureRating=0>, #<Cpu:0x0000001d7b12f0 @type="Core2 E6700", @price=459.4, @passRating=1583, @futureRating=0>, #<Cpu:0x0000001d7b11b0 @type="AMD A6-3600 APU", @price=499.0, @passRating=3251, @futureRating=0>, #<Cpu:0x0000001d7b1048 @type="AMD A8-5500", @price=499.0, @passRating=4266, @futureRating=3350>, #<Cpu:0x0000001d7b0f08 @type="Intel Core i7-3930K", @price=540.75, @passRating=12074, @futureRating=10490>, #<Cpu:0x0000001d7b0dc8 @type="Core i7-3930K", @price=540.75, @passRating=12074, @futureRating=0>, #<Cpu:0x0000001d7b0c38 @type="Pentium Dual-Core E6600", @price=582.21, @passRating=1958, @futureRating=0>, #<Cpu:0x0000001d7b0a80 @type="Intel Core i7-980", @price=596.98, @passRating=0, @futureRating=8970>, #<Cpu:0x0000001d7b08c8 @type="Celeron E3400", @price=619.0, @passRating=1606, @futureRating=0>, #<Cpu:0x0000001d7b0710 @type="AMD Phenom II X2", @price=631.12, @passRating=2073, @futureRating=0>, #<Cpu:0x0000001d7b0530 @type="Intel Core i7 975", @price=716.93, @passRating=6539, @futureRating=0>, #<Cpu:0x0000001d7b0300 @type="Core i7-3960X", @price=904.83, @passRating=12821, @futureRating=0>, #<Cpu:0x0000001d7b01c0 @type="Intel Core i7-3960X @ 3.30GHz", @price=918.79, @passRating=12821, @futureRating=0>, #<Cpu:0x0000001d7aff68 @type="Intel Core i7 965", @price=924.2, @passRating=5627, @futureRating=0>, #<Cpu:0x0000001d7afb58 @type="Intel", @price=3937.96, @passRating=857, @futureRating=0>], @gpus=[#<Gpu:0x0000001d723d38 @type="GeForce 8400 GS", @price=27.15, @passRating=100, @futureRating=0>, #<Gpu:0x0000001d723bd0 @type="GeForce 8400GS", @price=27.15, @passRating=139, @futureRating=0>, #<Gpu:0x0000001d723a90 @type="Radeon 9200", @price=28.31, @passRating=75, @futureRating=0>, #<Gpu:0x0000001d723928 @type="GeForce 210", @price=30.54, @passRating=187, @futureRating=0>, #<Gpu:0x0000001d7237e8 @type="Radeon HD 5450", @price=34.9, @passRating=272, @futureRating=0>, #<Gpu:0x0000001d7236a8 @type="GeForce 7800 GT", @price=34.95, @passRating=265, @futureRating=0>, #<Gpu:0x0000001d723590 @type="GeForce GT 520", @price=38.5, @passRating=376, @futureRating=560>, #<Gpu:0x0000001d723360 @type="Radeon HD 6450", @price=39.5, @passRating=292, @futureRating=470>, #<Gpu:0x0000001d723248 @type="Radeon HD 4350", @price=41.89, @passRating=248, @futureRating=0>, #<Gpu:0x0000001d723130 @type="GeForce GT 220", @price=42.33, @passRating=355, @futureRating=0>, #<Gpu:0x0000001d723018 @type="GeForce 6200", @price=43.99, @passRating=43, @futureRating=0>, #<Gpu:0x0000001d722f00 @type="GeForce GT 430", @price=48.34, @passRating=672, @futureRating=960>, #<Gpu:0x0000001d722de8 @type="Radeon HD 3450", @price=49.49, @passRating=101, @futureRating=0>, #<Gpu:0x0000001d722cd0 @type="Radeon 9550", @price=49.95, @passRating=101, @futureRating=0>, #<Gpu:0x0000001d722bb8 @type="Radeon HD 6570", @price=62.89, @passRating=1042, @futureRating=1490>, #<Gpu:0x0000001d722aa0 @type="Radeon HD 4650", @price=66.59, @passRating=340, @futureRating=0>, #<Gpu:0x0000001d722988 @type="Radeon HD 6670", @price=66.85, @passRating=1040, @futureRating=1880>, #<Gpu:0x0000001d722870 @type="GeForce GT 630", @price=69.95, @passRating=697, @futureRating=1130>, #<Gpu:0x0000001d722730 @type="GeForce 9500 GT", @price=72.95, @passRating=292, @futureRating=0>, #<Gpu:0x0000001d251c10 @type="GeForce 9400 GT", @price=76.93, @passRating=213, @futureRating=0>, #<Gpu:0x0000001d251af8 @type="Radeon HD 5670", @price=80.9, @passRating=1057, @futureRating=1790>, #<Gpu:0x0000001d2518a0 @type="GeForce GTS 450", @price=84.1, @passRating=1477, @futureRating=2150>, #<Gpu:0x0000001d2515f8 @type="Radeon HD 7750", @price=85.94, @passRating=1779, @futureRating=2500>, #<Gpu:0x0000001d2512d8 @type="GeForce GT 240", @price=86.0, @passRating=651, @futureRating=0>, #<Gpu:0x0000001d250ef0 @type="Radeon HD 6770", @price=89.49, @passRating=478, @futureRating=2510>, #<Gpu:0x0000001d250bf8 @type="GeForce 9800 GT", @price=91.14, @passRating=721, @futureRating=0>, #<Gpu:0x0000001d250630 @type="Radeon X1550", @price=99.95, @passRating=232, @futureRating=0>, #<Gpu:0x0000001d2501d0 @type="Radeon HD 4850", @price=100.89, @passRating=1169, @futureRating=0>, #<Gpu:0x0000001d24fe88 @type="Radeon HD 7770", @price=110.19, @passRating=2583, @futureRating=3400>, #<Gpu:0x0000001d24fc30 @type="GeForce GTX 460", @price=111.19, @passRating=2692, @futureRating=3680>, #<Gpu:0x0000001d24f820 @type="GeForce GTX 650", @price=111.89, @passRating=1875, @futureRating=2890>, #<Gpu:0x0000001d24f4b0 @type="GeForce GTX 550 Ti", @price=132.98, @passRating=1909, @futureRating=2480>, #<Gpu:0x0000001d24ef38 @type="GeForce GT 440", @price=134.0, @passRating=786, @futureRating=1160>, #<Gpu:0x0000001d24eba0 @type="Radeon HD 6870", @price=134.74, @passRating=2540, @futureRating=4250>, #<Gpu:0x0000001d24e5d8 @type="Radeon HD 6850", @price=139.0, @passRating=2227, @futureRating=3590>, #<Gpu:0x0000001d24e380 @type="Radeon HD 5850", @price=153.1, @passRating=744, @futureRating=0>, #<Gpu:0x0000001d24e010 @type="Radeon HD 4870", @price=164.89, @passRating=1160, @futureRating=0>, #<Gpu:0x0000001d244830 @type="GeForce GTX 285", @price=177.09, @passRating=1273, @futureRating=0>, #<Gpu:0x0000001d2445d8 @type="Radeon HD 7850", @price=187.12, @passRating=3695, @futureRating=6090>, #<Gpu:0x0000001d2440b0 @type="GeForce GTX 660", @price=192.68, @passRating=3959, @futureRating=6740>, #<Gpu:0x0000001d243de0 @type="Radeon HD 6790", @price=197.0, @passRating=2228, @futureRating=3050>, #<Gpu:0x0000001d2439a8 @type="Radeon HD 7870", @price=204.56, @passRating=4032, @futureRating=6910>, #<Gpu:0x0000001d243660 @type="Radeon HD 6950", @price=207.85, @passRating=3142, @futureRating=5290>, #<Gpu:0x0000001d243520 @type="Radeon HD 5830", @price=224.89, @passRating=2055, @futureRating=0>, #<Gpu:0x0000001d2430c0 @type="Radeon HD 5770", @price=239.5, @passRating=698, @futureRating=0>, #<Gpu:0x0000001d242ee0 @type="GeForce GTX 480", @price=252.9, @passRating=4194, @futureRating=5800>, #<Gpu:0x0000001d242aa8 @type="GeForce GTX 560", @price=262.43, @passRating=3052, @futureRating=4040>, #<Gpu:0x0000001d242648 @type="GeForce GTX 560 Ti", @price=262.43, @passRating=3497, @futureRating=4720>, #<Gpu:0x0000001d2422b0 @type="GeForce GTX 570", @price=266.15, @passRating=4303, @futureRating=5880>, #<Gpu:0x0000001d241f68 @type="Radeon HD 7950", @price=269.73, @passRating=4380, @futureRating=8610>, #<Gpu:0x0000001d241d38 @type="GeForce GTX 660 Ti", @price=285.89, @passRating=4666, @futureRating=8680>, #<Gpu:0x0000001d241950 @type="Radeon HD 6970", @price=317.0, @passRating=3403, @futureRating=5660>, #<Gpu:0x0000001d2417c0 @type="GeForce GTX 670", @price=361.52, @passRating=5254, @futureRating=9450>, #<Gpu:0x0000001d2412c0 @type="GeForce GTX 580", @price=385.73, @passRating=4875, @futureRating=6640>, #<Gpu:0x0000001d240f00 @type="Radeon HD 7970", @price=388.55, @passRating=5074, @futureRating=9990>, #<Gpu:0x0000001d240b40 @type="GeForce GTX 680", @price=416.77, @passRating=5494, @futureRating=10610>, #<Gpu:0x0000001d2409d8 @type="GeForce GTX 295", @price=505.79, @passRating=1089, @futureRating=0>, #<Gpu:0x0000001d23c6d0 @type="GeForce GTX 460 SE", @price=549.0, @passRating=2095, @futureRating=3040>, #<Gpu:0x0000001d23c400 @type="GeForce GTX 590", @price=751.0, @passRating=4229, @futureRating=9770>, #<Gpu:0x0000001d23be60 @type="GeForce GTX 690", @price=1032.63, @passRating=4993, @futureRating=17750>], @cpu=#<Cpu:0x0000001d7cc280 @type="AMD FX-8150", @price=167.92, @passRating=7821, @futureRating=5880>, @gpu=#<Gpu:0x0000001d2439a8 @type="Radeon HD 7870", @price=204.56, @passRating=4032, @futureRating=6910>>, :gpuRec=>#<Recommendation:0x0000001d848ce0 @cpus=[#<Cpu:0x0000001d7d9278 @type="Pentium Dual-Core E6500", @price=5.19, @passRating=1742, @futureRating=0>, #<Cpu:0x0000001d7d9138 @type="Pentium Dual-Core E6800", @price=8.95, @passRating=2343, @futureRating=0>, #<Cpu:0x0000001d7d8eb8 @type="AMD Sempron 145", @price=29.64, @passRating=804, @futureRating=0>, #<Cpu:0x0000001d7d8d78 @type="AMD Athlon XP 2600+", @price=32.95, @passRating=388, @futureRating=0>, #<Cpu:0x0000001d7d8c38 @type="Intel Celeron G460", @price=33.72, @passRating=1203, @futureRating=0>, #<Cpu:0x0000001d7d8af8 @type="AMD Athlon II X2 240e", @price=33.79, @passRating=1641, @futureRating=0>, #<Cpu:0x0000001d7d89b8 @type="AMD Athlon II X2 240", @price=33.79, @passRating=1781, @futureRating=1690>, #<Cpu:0x0000001d7d8878 @type="Celeron G440", @price=34.32, @passRating=781, @futureRating=0>, #<Cpu:0x0000001d7d8738 @type="Pentium 4 3", @price=34.49, @passRating=369, @futureRating=0>, #<Cpu:0x0000001d7d85f8 @type="AMD A4-3300", @price=35.22, @passRating=1599, @futureRating=0>, #<Cpu:0x0000001d7d84b8 @type="Intel Celeron G540", @price=36.49, @passRating=2291, @futureRating=0>, #<Cpu:0x0000001d7d8378 @type="Celeron G530", @price=36.65, @passRating=2271, @futureRating=0>, #<Cpu:0x0000001d7d8238 @type="Intel Celeron G530", @price=36.65, @passRating=2271, @futureRating=0>, #<Cpu:0x0000001d7d80f8 @type="Celeron G550", @price=37.84, @passRating=2371, @futureRating=0>, #<Cpu:0x0000001d7d7fb8 @type="Celeron G540", @price=37.95, @passRating=2291, @futureRating=0>, #<Cpu:0x0000001d7d7e78 @type="AMD Athlon 64 3500+", @price=39.0, @passRating=573, @futureRating=0>, #<Cpu:0x0000001d7d7d38 @type="AMD Athlon 64 3700+", @price=39.95, @passRating=654, @futureRating=0>, #<Cpu:0x0000001d7d7bf8 @type="AMD Athlon 64 3200+", @price=39.95, @passRating=487, @futureRating=0>, #<Cpu:0x0000001d7d7ab8 @type="AMD Athlon 64 3200", @price=39.95, @passRating=487, @futureRating=0>, #<Cpu:0x0000001d7d7978 @type="Intel Celeron G440", @price=39.95, @passRating=781, @futureRating=0>, #<Cpu:0x0000001d7d7838 @type="AMD Sempron 140", @price=41.89, @passRating=829, @futureRating=0>, #<Cpu:0x0000001d7d76f8 @type="AMD Athlon II X2 250", @price=42.89, @passRating=1714, @futureRating=1810>, #<Cpu:0x0000001d7d75b8 @type="AMD Athlon II X2", @price=43.17, @passRating=1419, @futureRating=0>, #<Cpu:0x0000001d7d7478 @type="AMD Athlon II X2 270", @price=43.49, @passRating=1874, @futureRating=2060>, #<Cpu:0x0000001d7d7338 @type="AMD Athlon 64 4000+", @price=43.99, @passRating=591, @futureRating=0>, #<Cpu:0x0000001d7d71f8 @type="Core2 Duo E6750", @price=44.0, @passRating=1737, @futureRating=0>, #<Cpu:0x0000001d7d70b8 @type="AMD Athlon II X2 260", @price=44.68, @passRating=1810, @futureRating=1930>, #<Cpu:0x0000001d7d6f78 @type="AMD A4-3400", @price=45.83, @passRating=1666, @futureRating=3360>, #<Cpu:0x0000001d7d6e38 @type="Celeron 2", @price=46.2, @passRating=232, @futureRating=0>, #<Cpu:0x0000001d7d6cf8 @type="AMD A4-3400 APU", @price=47.24, @passRating=1666, @futureRating=0>, #<Cpu:0x0000001d7d6bb8 @type="Intel Pentium G620 @ 2.60GHz", @price=53.34, @passRating=2292, @futureRating=0>, #<Cpu:0x0000001d7d6a78 @type="AMD Athlon II X4 631", @price=54.68, @passRating=3323, @futureRating=2720>, #<Cpu:0x0000001d7d6938 @type="AMD A4-3300 APU", @price=54.95, @passRating=1599, @futureRating=0>, #<Cpu:0x0000001d7d5128 @type="AMD Athlon II X3 455", @price=55.56, @passRating=3009, @futureRating=2430>, #<Cpu:0x0000001d7d4fe8 @type="Intel Pentium G860", @price=56.16, @passRating=2843, @futureRating=2920>, #<Cpu:0x0000001d7d4ea8 @type="AMD A6-5400K", @price=60.44, @passRating=2179, @futureRating=0>, #<Cpu:0x0000001d7d4d68 @type="AMD Athlon II X3 450", @price=60.89, @passRating=2509, @futureRating=0>, #<Cpu:0x0000001d7d4c28 @type="AMD Athlon II X3 435", @price=61.9, @passRating=2211, @futureRating=2180>, #<Cpu:0x0000001d7d4ae8 @type="AMD Athlon II X3 460", @price=64.16, @passRating=3092, @futureRating=0>, #<Cpu:0x0000001d7d49a8 @type="Intel Pentium G630T", @price=65.22, @passRating=2275, @futureRating=0>, #<Cpu:0x0000001d7d4868 @type="Pentium G630T", @price=65.22, @passRating=2275, @futureRating=0>, #<Cpu:0x0000001d7d4728 @type="AMD A6-3650 APU", @price=69.02, @passRating=3419, @futureRating=0>, #<Cpu:0x0000001d7d45e8 @type="Dual-Core", @price=69.2, @passRating=1150, @futureRating=0>, #<Cpu:0x0000001d7d44a8 @type="AMD Phenom II X4 945", @price=69.55, @passRating=3809, @futureRating=0>, #<Cpu:0x0000001d7d4340 @type="AMD Athlon 64 X2 Dual-Core", @price=69.95, @passRating=839, @futureRating=0>, #<Cpu:0x0000001d7d4200 @type="AMD Athlon II X4 640", @price=70.85, @passRating=3354, @futureRating=3020>, #<Cpu:0x0000001d7d40c0 @type="AMD Athlon II X4 651", @price=71.82, @passRating=3885, @futureRating=3020>, #<Cpu:0x0000001d7d3f80 @type="AMD Athlon II X3 420e", @price=72.59, @passRating=2062, @futureRating=0>, #<Cpu:0x0000001d7d3e40 @type="AMD Phenom II X2 555", @price=72.59, @passRating=2050, @futureRating=0>, #<Cpu:0x0000001d7d3d00 @type="AMD Athlon II X3 425", @price=72.59, @passRating=2446, @futureRating=2060>, #<Cpu:0x0000001d7d3bc0 @type="AMD A6-3500 APU", @price=72.74, @passRating=2047, @futureRating=0>, #<Cpu:0x0000001d7d3a80 @type="Intel Pentium G620T @ 2.20GHz", @price=74.9, @passRating=2223, @futureRating=0>, #<Cpu:0x0000001d7d3940 @type="Pentium Dual-Core", @price=76.03, @passRating=1296, @futureRating=0>, #<Cpu:0x0000001d7d3800 @type="Core i3 540", @price=76.5, @passRating=2684, @futureRating=0>, #<Cpu:0x0000001d7d36c0 @type="AMD A8-3850 APU", @price=80.22, @passRating=3756, @futureRating=0>, #<Cpu:0x0000001d7d3580 @type="AMD A6-3670 APU", @price=80.25, @passRating=3372, @futureRating=0>, #<Cpu:0x0000001d7d3440 @type="AMD Athlon II X3 445", @price=81.39, @passRating=2742, @futureRating=0>, #<Cpu:0x0000001d7d3300 @type="AMD Phenom II X3 705e", @price=81.39, @passRating=2259, @futureRating=0>, #<Cpu:0x0000001d7d31c0 @type="AMD Phenom II X4 955", @price=82.49, @passRating=4054, @futureRating=3910>, #<Cpu:0x0000001d7d3080 @type="Phenom II X4 955", @price=82.49, @passRating=4054, @futureRating=0>, #<Cpu:0x0000001d7d2e00 @type="AMD Phenom II X4 965", @price=85.84, @passRating=4341, @futureRating=4120>, #<Cpu:0x0000001d7d2cc0 @type="Phenom II X4 965", @price=89.89, @passRating=4341, @futureRating=0>, #<Cpu:0x0000001d7d2b80 @type="AMD Phenom II", @price=89.89, @passRating=3489, @futureRating=0>, #<Cpu:0x0000001d7d2900 @type="AMD Phenom II X6 1045T", @price=93.36, @passRating=4850, @futureRating=4420>, #<Cpu:0x0000001d7d27c0 @type="AMD Phenom II X3", @price=94.59, @passRating=2316, @futureRating=0>, #<Cpu:0x0000001d7d2680 @type="AMD Phenom II X2 560", @price=94.59, @passRating=2189, @futureRating=0>, #<Cpu:0x0000001d7d2540 @type="Pentium 4 2", @price=94.72, @passRating=247, @futureRating=0>, #<Cpu:0x0000001d7d2400 @type="AMD FX-4100", @price=95.49, @passRating=4044, @futureRating=5620>, #<Cpu:0x0000001d7d22c0 @type="AMD Phenom II X6 1090T", @price=98.9, @passRating=5626, @futureRating=5020>, #<Cpu:0x0000001d7d2180 @type="AMD Athlon II X4 605e", @price=98.99, @passRating=2658, @futureRating=0>, #<Cpu:0x0000001d7d2040 @type="Intel Core2 Duo E7600", @price=99.0, @passRating=2163, @futureRating=0>, #<Cpu:0x0000001d7d1f00 @type="AMD Phenom 9550 Quad-Core", @price=99.95, @passRating=2502, @futureRating=0>, #<Cpu:0x0000001d7d1dc0 @type="Intel Core i3-2100", @price=99.98, @passRating=3557, @futureRating=3660>, #<Cpu:0x0000001d7d1c80 @type="AMD Athlon II X4 615e", @price=102.29, @passRating=2745, @futureRating=0>, #<Cpu:0x0000001d7d1b40 @type="Intel Core i3-2120", @price=104.29, @passRating=3979, @futureRating=3870>, #<Cpu:0x0000001d7d1a00 @type="Intel Core i3", @price=104.29, @passRating=2552, @futureRating=0>, #<Cpu:0x0000001d7d18c0 @type="Core i3-3220", @price=104.86, @passRating=4310, @futureRating=0>, #<Cpu:0x0000001d7d1780 @type="Intel Core i3-3220", @price=104.86, @passRating=4310, @futureRating=4130>, #<Cpu:0x0000001d7d1640 @type="AMD A8-5600K APU", @price=104.95, @passRating=4713, @futureRating=0>, #<Cpu:0x0000001d7d1500 @type="AMD Athlon II X4 630", @price=105.0, @passRating=3255, @futureRating=0>, #<Cpu:0x0000001d7d13c0 @type="AMD FX-6100", @price=105.13, @passRating=5388, @futureRating=5460>, #<Cpu:0x0000001d7d1280 @type="AMD Phenom II X4 920", @price=105.59, @passRating=3588, @futureRating=3470>, #<Cpu:0x0000001d7cf958 @type="AMD Athlon II X4 610e", @price=105.59, @passRating=2817, @futureRating=0>, #<Cpu:0x0000001d7cf818 @type="Intel Core i3-2120T", @price=107.15, @passRating=3283, @futureRating=0>, #<Cpu:0x0000001d7cf6d8 @type="AMD Phenom II X2 565", @price=109.86, @passRating=2367, @futureRating=0>, #<Cpu:0x0000001d7cf598 @type="Pentium G6950", @price=110.42, @passRating=2036, @futureRating=0>, #<Cpu:0x0000001d7cf458 @type="Core i3 530", @price=112.4, @passRating=2552, @futureRating=0>, #<Cpu:0x0000001d7cf318 @type="AMD A10-5700", @price=112.97, @passRating=4668, @futureRating=3490>, #<Cpu:0x0000001d7cf1d8 @type="AMD Athlon II X4 645", @price=114.39, @passRating=3453, @futureRating=3090>, #<Cpu:0x0000001d7cf098 @type="Intel Core i3-2130", @price=115.89, @passRating=4074, @futureRating=0>, #<Cpu:0x0000001d7cef58 @type="Intel Core i3 550", @price=116.7, @passRating=3020, @futureRating=0>, #<Cpu:0x0000001d7cee18 @type="Intel Core i3-3225", @price=118.9, @passRating=4370, @futureRating=4130>, #<Cpu:0x0000001d7cecd8 @type="Pentium Dual-Core E5200", @price=119.0, @passRating=1476, @futureRating=0>, #<Cpu:0x0000001d7ceb98 @type="AMD Phenom 9750 Quad-Core", @price=119.95, @passRating=2983, @futureRating=0>, #<Cpu:0x0000001d7cea58 @type="AMD FX-4170", @price=119.95, @passRating=4973, @futureRating=6200>, #<Cpu:0x0000001d7ce918 @type="AMD A10-5800K APU", @price=119.95, @passRating=4874, @futureRating=0>, #<Cpu:0x0000001d7ce7d8 @type="Intel Core i3-3220T", @price=122.89, @passRating=3976, @futureRating=0>, #<Cpu:0x0000001d7ce698 @type="Core i3 550", @price=123.12, @passRating=3020, @futureRating=0>, #<Cpu:0x0000001d7ce558 @type="AMD Phenom II X4 840", @price=123.19, @passRating=3092, @futureRating=3590>, #<Cpu:0x0000001d7ce2d8 @type="AMD Phenom II X4 960T", @price=123.19, @passRating=3864, @futureRating=3290>, #<Cpu:0x0000001d7ce198 @type="AMD FX-6200", @price=124.07, @passRating=6179, @futureRating=5940>, #<Cpu:0x0000001d7ce058 @type="Intel Core i3-2100T", @price=127.0, @passRating=3262, @futureRating=0>, #<Cpu:0x0000001d7cdf18 @type="Intel Core i3-2105", @price=127.89, @passRating=3933, @futureRating=0>, #<Cpu:0x0000001d7cddd8 @type="Core i3-3225", @price=129.6, @passRating=4370, @futureRating=0>, #<Cpu:0x0000001d7cdc98 @type="Core2 Quad Q6600", @price=129.79, @passRating=2949, @futureRating=0>, #<Cpu:0x0000001d7cdb58 @type="AMD Phenom II X4 970", @price=130.9, @passRating=4423, @futureRating=4020>, #<Cpu:0x0000001d7cda18 @type="AMD Phenom II X4 850", @price=131.99, @passRating=3779, @futureRating=0>, #<Cpu:0x0000001d7cd8d8 @type="Core i3-3220T", @price=131.99, @passRating=3976, @futureRating=0>, #<Cpu:0x0000001d7cd798 @type="AMD FX-8120", @price=141.51, @passRating=6713, @futureRating=5390>, #<Cpu:0x0000001d7cd658 @type="Intel Core2 Quad Q8400", @price=142.99, @passRating=3176, @futureRating=0>, #<Cpu:0x0000001d7cd518 @type="Core2 Quad Q8400", @price=142.99, @passRating=3176, @futureRating=0>, #<Cpu:0x0000001d7cd3d8 @type="Intel Core2 Quad Q8300", @price=144.89, @passRating=3107, @futureRating=0>, #<Cpu:0x0000001d7cd298 @type="AMD Phenom II X6 1055T", @price=146.29, @passRating=5018, @futureRating=4540>, #<Cpu:0x0000001d7cd130 @type="AMD Athlon 64 X2 4600+", @price=149.9, @passRating=1365, @futureRating=0>, #<Cpu:0x0000001d7ccfc8 @type="Core2 Duo E7500", @price=155.13, @passRating=1909, @futureRating=0>, #<Cpu:0x0000001d7cce88 @type="Intel Core i5-2310 @ 2.90GHz", @price=157.84, @passRating=5751, @futureRating=0>, #<Cpu:0x0000001d7ccd20 @type="AMD Phenom II X4 980", @price=159.72, @passRating=4753, @futureRating=4320>, #<Cpu:0x0000001d7ccbe0 @type="Core2 Duo E8600", @price=162.79, @passRating=2512, @futureRating=0>, #<Cpu:0x0000001d7cca78 @type="Core2 Quad Q9300", @price=162.79, @passRating=3190, @futureRating=0>, #<Cpu:0x0000001d7cc910 @type="AMD Phenom II X6 1075T", @price=162.79, @passRating=5369, @futureRating=4780>, #<Cpu:0x0000001d7cc7d0 @type="AMD Phenom II X4 975", @price=162.79, @passRating=4643, @futureRating=4170>, #<Cpu:0x0000001d7cc668 @type="Intel Core i5-2300", @price=164.49, @passRating=5111, @futureRating=4980>, #<Cpu:0x0000001d7cc528 @type="Intel Core2 Duo E6750", @price=167.4, @passRating=1737, @futureRating=0>, #<Cpu:0x0000001d7cc3c0 @type="Intel Core i5-3450", @price=167.65, @passRating=6599, @futureRating=5890>, #<Cpu:0x0000001d7cc280 @type="AMD FX-8150", @price=167.92, @passRating=7821, @futureRating=5880>, #<Cpu:0x0000001d7cc118 @type="Core i5-3470", @price=169.72, @passRating=6606, @futureRating=0>, #<Cpu:0x0000001d7cbfd8 @type="Core i5-3450S", @price=171.2, @passRating=6479, @futureRating=0>, #<Cpu:0x0000001d7cbe98 @type="Core i5-3330", @price=177.8, @passRating=5339, @futureRating=0>, #<Cpu:0x0000001d7cbd58 @type="Intel Core i5-3330", @price=177.8, @passRating=5339, @futureRating=5710>, #<Cpu:0x0000001d7cbc18 @type="Core i5 650", @price=179.0, @passRating=3248, @futureRating=0>, #<Cpu:0x0000001d7cbad8 @type="Intel Core i5-3470", @price=179.89, @passRating=6606, @futureRating=6070>, #<Cpu:0x0000001d7bdcf8 @type="Intel Core i5-3470S", @price=179.95, @passRating=6925, @futureRating=0>, #<Cpu:0x0000001d7bdb90 @type="Core i5-2400", @price=180.83, @passRating=5779, @futureRating=0>, #<Cpu:0x0000001d7bda50 @type="Intel Core i5-2400", @price=180.83, @passRating=5779, @futureRating=5500>, #<Cpu:0x0000001d7bd910 @type="Intel Core i5-3550", @price=182.5, @passRating=6935, @futureRating=6250>, #<Cpu:0x0000001d7bd780 @type="Intel Core i5-2400S", @price=183.18, @passRating=4929, @futureRating=4450>, #<Cpu:0x0000001d7bd5c8 @type="Core i5-3470S", @price=183.78, @passRating=6925, @futureRating=0>, #<Cpu:0x0000001d7bd410 @type="Intel Core i5-3570", @price=184.47, @passRating=7079, @futureRating=0>, #<Cpu:0x0000001d7bd258 @type="Core2 Duo E8400", @price=188.91, @passRating=2159, @futureRating=0>, #<Cpu:0x0000001d7bcf10 @type="Core i5-2500", @price=192.37, @passRating=6336, @futureRating=0>, #<Cpu:0x0000001d7bcd80 @type="Intel Core i5-2500", @price=192.37, @passRating=6336, @futureRating=5850>, #<Cpu:0x0000001d7bcb28 @type="Core i5-2500K", @price=192.37, @passRating=6499, @futureRating=0>, #<Cpu:0x0000001d7bc9e8 @type="Intel Core i5 661", @price=195.33, @passRating=3373, @futureRating=0>, #<Cpu:0x0000001d7bc8a8 @type="Core i5-3550", @price=195.89, @passRating=6935, @futureRating=0>, #<Cpu:0x0000001d7bc740 @type="Intel Core i7 860", @price=199.0, @passRating=5266, @futureRating=0>, #<Cpu:0x0000001d7bc600 @type="Core2 Quad Q8300", @price=199.24, @passRating=3107, @futureRating=0>, #<Cpu:0x0000001d7bc4c0 @type="Core i5 760", @price=202.8, @passRating=4007, @futureRating=0>, #<Cpu:0x0000001d7bc380 @type="Intel Core2 Quad Q9505", @price=203.49, @passRating=4018, @futureRating=0>, #<Cpu:0x0000001d7bc240 @type="Core i5-3570K", @price=204.09, @passRating=7137, @futureRating=0>, #<Cpu:0x0000001d7bc100 @type="Intel Core i5-3570K", @price=204.09, @passRating=7137, @futureRating=6430>, #<Cpu:0x0000001d7bbfc0 @type="Intel Core2 Quad Q9450", @price=211.19, @passRating=3813, @futureRating=0>, #<Cpu:0x0000001d7bbe80 @type="AMD Phenom II X6 1100T", @price=224.39, @passRating=6002, @futureRating=5150>, #<Cpu:0x0000001d7bbd40 @type="Core i5-3570", @price=224.77, @passRating=7079, @futureRating=0>, #<Cpu:0x0000001d7bbc00 @type="Core2 Quad Q9550", @price=225.7, @passRating=4044, @futureRating=0>, #<Cpu:0x0000001d7bbac0 @type="Intel Core2 Quad Q9550", @price=225.7, @passRating=4044, @futureRating=0>, #<Cpu:0x0000001d7bb980 @type="Core i5 750", @price=234.55, @passRating=3755, @futureRating=0>, #<Cpu:0x0000001d7bb840 @type="Core2 Duo T9600", @price=240.23, @passRating=1814, @futureRating=0>, #<Cpu:0x0000001d7bb700 @type="Intel Core2 Duo T9600", @price=240.23, @passRating=1814, @futureRating=0>, #<Cpu:0x0000001d7bb5c0 @type="Core2 Duo E8500", @price=240.5, @passRating=2344, @futureRating=0>, #<Cpu:0x0000001d7bb480 @type="Intel Core i5 750", @price=244.5, @passRating=3755, @futureRating=0>, #<Cpu:0x0000001d7bb340 @type="Intel Core i7-3820", @price=263.2, @passRating=9207, @futureRating=10520>, #<Cpu:0x0000001d7bb200 @type="Core i7-2700K", @price=264.85, @passRating=8966, @futureRating=0>, #<Cpu:0x0000001d7bb0c0 @type="AMD Athlon II X2 255", @price=269.0, @passRating=1906, @futureRating=1870>, #<Cpu:0x0000001d7baf80 @type="Intel Core i7-3770", @price=270.95, @passRating=9466, @futureRating=8110>, #<Cpu:0x0000001d7bad00 @type="Core i7-3770S", @price=275.81, @passRating=9530, @futureRating=0>, #<Cpu:0x0000001d7babc0 @type="Intel Core i7 870", @price=276.0, @passRating=5612, @futureRating=0>, #<Cpu:0x0000001d7baa80 @type="Intel Core i7-2700K", @price=280.95, @passRating=8966, @futureRating=8290>, #<Cpu:0x0000001d7ba940 @type="Core i7 950", @price=283.0, @passRating=5754, @futureRating=0>, #<Cpu:0x0000001d7ba800 @type="Core i7 960", @price=284.0, @passRating=6019, @futureRating=0>, #<Cpu:0x0000001d7ba6c0 @type="Intel Core i7-2600", @price=286.89, @passRating=8413, @futureRating=8140>, #<Cpu:0x0000001d7ba580 @type="Core i7-2600K", @price=286.89, @passRating=8641, @futureRating=0>, #<Cpu:0x0000001d7ba440 @type="Core i7-2600S", @price=289.02, @passRating=7285, @futureRating=0>, #<Cpu:0x0000001d7ba300 @type="Intel Core i7-3770S", @price=290.95, @passRating=9530, @futureRating=7410>, #<Cpu:0x0000001d7ba1c0 @type="Core i7-3770K", @price=297.24, @passRating=9657, @futureRating=0>, #<Cpu:0x0000001d7ba080 @type="Intel Core i7-3770K", @price=297.24, @passRating=9657, @futureRating=8350>, #<Cpu:0x0000001d7b9f40 @type="Intel Core i7 940", @price=299.0, @passRating=5447, @futureRating=0>, #<Cpu:0x0000001d7b9e00 @type="Intel Core i5 680", @price=307.03, @passRating=3500, @futureRating=0>, #<Cpu:0x0000001d7b1ef8 @type="Core i7 930", @price=312.84, @passRating=5039, @futureRating=0>, #<Cpu:0x0000001d7b1db8 @type="Core i7 860", @price=329.18, @passRating=5266, @futureRating=0>, #<Cpu:0x0000001d7b1c78 @type="Core i5 670", @price=339.23, @passRating=3229, @futureRating=0>, #<Cpu:0x0000001d7b1958 @type="Core i7 920", @price=352.43, @passRating=4993, @futureRating=0>, #<Cpu:0x0000001d7b1818 @type="Core2 Quad Q9650", @price=365.12, @passRating=4375, @futureRating=0>, #<Cpu:0x0000001d7b16d8 @type="Core i7 870", @price=377.58, @passRating=5612, @futureRating=0>, #<Cpu:0x0000001d7b1598 @type="Intel Core2 Duo P9500", @price=402.84, @passRating=1639, @futureRating=0>, #<Cpu:0x0000001d7b1458 @type="Core2 Duo P8600", @price=422.45, @passRating=1557, @futureRating=0>, #<Cpu:0x0000001d7b12f0 @type="Core2 E6700", @price=459.4, @passRating=1583, @futureRating=0>, #<Cpu:0x0000001d7b11b0 @type="AMD A6-3600 APU", @price=499.0, @passRating=3251, @futureRating=0>, #<Cpu:0x0000001d7b1048 @type="AMD A8-5500", @price=499.0, @passRating=4266, @futureRating=3350>, #<Cpu:0x0000001d7b0f08 @type="Intel Core i7-3930K", @price=540.75, @passRating=12074, @futureRating=10490>, #<Cpu:0x0000001d7b0dc8 @type="Core i7-3930K", @price=540.75, @passRating=12074, @futureRating=0>, #<Cpu:0x0000001d7b0c38 @type="Pentium Dual-Core E6600", @price=582.21, @passRating=1958, @futureRating=0>, #<Cpu:0x0000001d7b0a80 @type="Intel Core i7-980", @price=596.98, @passRating=0, @futureRating=8970>, #<Cpu:0x0000001d7b08c8 @type="Celeron E3400", @price=619.0, @passRating=1606, @futureRating=0>, #<Cpu:0x0000001d7b0710 @type="AMD Phenom II X2", @price=631.12, @passRating=2073, @futureRating=0>, #<Cpu:0x0000001d7b0530 @type="Intel Core i7 975", @price=716.93, @passRating=6539, @futureRating=0>, #<Cpu:0x0000001d7b0300 @type="Core i7-3960X", @price=904.83, @passRating=12821, @futureRating=0>, #<Cpu:0x0000001d7b01c0 @type="Intel Core i7-3960X @ 3.30GHz", @price=918.79, @passRating=12821, @futureRating=0>, #<Cpu:0x0000001d7aff68 @type="Intel Core i7 965", @price=924.2, @passRating=5627, @futureRating=0>, #<Cpu:0x0000001d7afb58 @type="Intel", @price=3937.96, @passRating=857, @futureRating=0>], @gpus=[#<Gpu:0x0000001d723d38 @type="GeForce 8400 GS", @price=27.15, @passRating=100, @futureRating=0>, #<Gpu:0x0000001d723bd0 @type="GeForce 8400GS", @price=27.15, @passRating=139, @futureRating=0>, #<Gpu:0x0000001d723a90 @type="Radeon 9200", @price=28.31, @passRating=75, @futureRating=0>, #<Gpu:0x0000001d723928 @type="GeForce 210", @price=30.54, @passRating=187, @futureRating=0>, #<Gpu:0x0000001d7237e8 @type="Radeon HD 5450", @price=34.9, @passRating=272, @futureRating=0>, #<Gpu:0x0000001d7236a8 @type="GeForce 7800 GT", @price=34.95, @passRating=265, @futureRating=0>, #<Gpu:0x0000001d723590 @type="GeForce GT 520", @price=38.5, @passRating=376, @futureRating=560>, #<Gpu:0x0000001d723360 @type="Radeon HD 6450", @price=39.5, @passRating=292, @futureRating=470>, #<Gpu:0x0000001d723248 @type="Radeon HD 4350", @price=41.89, @passRating=248, @futureRating=0>, #<Gpu:0x0000001d723130 @type="GeForce GT 220", @price=42.33, @passRating=355, @futureRating=0>, #<Gpu:0x0000001d723018 @type="GeForce 6200", @price=43.99, @passRating=43, @futureRating=0>, #<Gpu:0x0000001d722f00 @type="GeForce GT 430", @price=48.34, @passRating=672, @futureRating=960>, #<Gpu:0x0000001d722de8 @type="Radeon HD 3450", @price=49.49, @passRating=101, @futureRating=0>, #<Gpu:0x0000001d722cd0 @type="Radeon 9550", @price=49.95, @passRating=101, @futureRating=0>, #<Gpu:0x0000001d722bb8 @type="Radeon HD 6570", @price=62.89, @passRating=1042, @futureRating=1490>, #<Gpu:0x0000001d722aa0 @type="Radeon HD 4650", @price=66.59, @passRating=340, @futureRating=0>, #<Gpu:0x0000001d722988 @type="Radeon HD 6670", @price=66.85, @passRating=1040, @futureRating=1880>, #<Gpu:0x0000001d722870 @type="GeForce GT 630", @price=69.95, @passRating=697, @futureRating=1130>, #<Gpu:0x0000001d722730 @type="GeForce 9500 GT", @price=72.95, @passRating=292, @futureRating=0>, #<Gpu:0x0000001d251c10 @type="GeForce 9400 GT", @price=76.93, @passRating=213, @futureRating=0>, #<Gpu:0x0000001d251af8 @type="Radeon HD 5670", @price=80.9, @passRating=1057, @futureRating=1790>, #<Gpu:0x0000001d2518a0 @type="GeForce GTS 450", @price=84.1, @passRating=1477, @futureRating=2150>, #<Gpu:0x0000001d2515f8 @type="Radeon HD 7750", @price=85.94, @passRating=1779, @futureRating=2500>, #<Gpu:0x0000001d2512d8 @type="GeForce GT 240", @price=86.0, @passRating=651, @futureRating=0>, #<Gpu:0x0000001d250ef0 @type="Radeon HD 6770", @price=89.49, @passRating=478, @futureRating=2510>, #<Gpu:0x0000001d250bf8 @type="GeForce 9800 GT", @price=91.14, @passRating=721, @futureRating=0>, #<Gpu:0x0000001d250630 @type="Radeon X1550", @price=99.95, @passRating=232, @futureRating=0>, #<Gpu:0x0000001d2501d0 @type="Radeon HD 4850", @price=100.89, @passRating=1169, @futureRating=0>, #<Gpu:0x0000001d24fe88 @type="Radeon HD 7770", @price=110.19, @passRating=2583, @futureRating=3400>, #<Gpu:0x0000001d24fc30 @type="GeForce GTX 460", @price=111.19, @passRating=2692, @futureRating=3680>, #<Gpu:0x0000001d24f820 @type="GeForce GTX 650", @price=111.89, @passRating=1875, @futureRating=2890>, #<Gpu:0x0000001d24f4b0 @type="GeForce GTX 550 Ti", @price=132.98, @passRating=1909, @futureRating=2480>, #<Gpu:0x0000001d24ef38 @type="GeForce GT 440", @price=134.0, @passRating=786, @futureRating=1160>, #<Gpu:0x0000001d24eba0 @type="Radeon HD 6870", @price=134.74, @passRating=2540, @futureRating=4250>, #<Gpu:0x0000001d24e5d8 @type="Radeon HD 6850", @price=139.0, @passRating=2227, @futureRating=3590>, #<Gpu:0x0000001d24e380 @type="Radeon HD 5850", @price=153.1, @passRating=744, @futureRating=0>, #<Gpu:0x0000001d24e010 @type="Radeon HD 4870", @price=164.89, @passRating=1160, @futureRating=0>, #<Gpu:0x0000001d244830 @type="GeForce GTX 285", @price=177.09, @passRating=1273, @futureRating=0>, #<Gpu:0x0000001d2445d8 @type="Radeon HD 7850", @price=187.12, @passRating=3695, @futureRating=6090>, #<Gpu:0x0000001d2440b0 @type="GeForce GTX 660", @price=192.68, @passRating=3959, @futureRating=6740>, #<Gpu:0x0000001d243de0 @type="Radeon HD 6790", @price=197.0, @passRating=2228, @futureRating=3050>, #<Gpu:0x0000001d2439a8 @type="Radeon HD 7870", @price=204.56, @passRating=4032, @futureRating=6910>, #<Gpu:0x0000001d243660 @type="Radeon HD 6950", @price=207.85, @passRating=3142, @futureRating=5290>, #<Gpu:0x0000001d243520 @type="Radeon HD 5830", @price=224.89, @passRating=2055, @futureRating=0>, #<Gpu:0x0000001d2430c0 @type="Radeon HD 5770", @price=239.5, @passRating=698, @futureRating=0>, #<Gpu:0x0000001d242ee0 @type="GeForce GTX 480", @price=252.9, @passRating=4194, @futureRating=5800>, #<Gpu:0x0000001d242aa8 @type="GeForce GTX 560", @price=262.43, @passRating=3052, @futureRating=4040>, #<Gpu:0x0000001d242648 @type="GeForce GTX 560 Ti", @price=262.43, @passRating=3497, @futureRating=4720>, #<Gpu:0x0000001d2422b0 @type="GeForce GTX 570", @price=266.15, @passRating=4303, @futureRating=5880>, #<Gpu:0x0000001d241f68 @type="Radeon HD 7950", @price=269.73, @passRating=4380, @futureRating=8610>, #<Gpu:0x0000001d241d38 @type="GeForce GTX 660 Ti", @price=285.89, @passRating=4666, @futureRating=8680>, #<Gpu:0x0000001d241950 @type="Radeon HD 6970", @price=317.0, @passRating=3403, @futureRating=5660>, #<Gpu:0x0000001d2417c0 @type="GeForce GTX 670", @price=361.52, @passRating=5254, @futureRating=9450>, #<Gpu:0x0000001d2412c0 @type="GeForce GTX 580", @price=385.73, @passRating=4875, @futureRating=6640>, #<Gpu:0x0000001d240f00 @type="Radeon HD 7970", @price=388.55, @passRating=5074, @futureRating=9990>, #<Gpu:0x0000001d240b40 @type="GeForce GTX 680", @price=416.77, @passRating=5494, @futureRating=10610>, #<Gpu:0x0000001d2409d8 @type="GeForce GTX 295", @price=505.79, @passRating=1089, @futureRating=0>, #<Gpu:0x0000001d23c6d0 @type="GeForce GTX 460 SE", @price=549.0, @passRating=2095, @futureRating=3040>, #<Gpu:0x0000001d23c400 @type="GeForce GTX 590", @price=751.0, @passRating=4229, @futureRating=9770>, #<Gpu:0x0000001d23be60 @type="GeForce GTX 690", @price=1032.63, @passRating=4993, @futureRating=17750>], @cpu=#<Cpu:0x0000001d7cc280 @type="AMD FX-8150", @price=167.92, @passRating=7821, @futureRating=5880>, @gpu=#<Gpu:0x0000001d2439a8 @type="Radeon HD 7870", @price=204.56, @passRating=4032, @futureRating=6910>>} |
rack.session.options | {:path=>"/", :domain=>nil, :expire_after=>nil, :secure=>false, :httponly=>true, :defer=>false, :renew=>false, :sidbits=>128, :drop=>false, :id=>"14afcb1bf05b7ad39742a3403cb453df"} |
rack.url_scheme | http |
rack.version | [1, 1] |
sinatra.error | #<Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and US-ASCII> |
You're seeing this error because you have
enabled the show_exceptions
setting.