Getting the project working again

Replace Twitter Bootstrap by Zurb Foundation
Used @import in SCSS instad of require_tree for proper order and use of variables like $debian_color
Moved old files out of the way (renamed them to xx*)
Welcome controller (/) works
Moved templates from ERB to SLIM format
Fixed database settings
Reduced routes to working ones
Tidied up Gemfile
Checked in experimental lab files

Tried to find a good description for this massive commit :)
This commit is contained in:
Christoph Haas 2014-11-16 18:26:03 +01:00
parent a7e05b2b78
commit 87f545414f
38 changed files with 3341 additions and 156 deletions

View file

@ -5,22 +5,38 @@ class Package < ActiveRecord::Base
order('name ASC')
}
# Use PostgreSQL's full-text search capability for the user search
def self.text_search(query)
if query.present?
# Add a rank column to each result
rank = <<-RANK
ts_rank(to_tsvector(packages.name), plainto_tsquery(#{sanitize(query)}))
+
ts_rank(to_tsvector(packages.description), plainto_tsquery(#{sanitize(query)}))
RANK
# Do the full-text search and return results by rank
where("to_tsvector('english', packages.name) @@ plainto_tsquery(:q) or
to_tsvector('english', packages.description) @@ plainto_tsquery(:q)
", q: query).order("#{rank} desc")
else
all
end
# Return a query of all packages that have screenshots
def self.with_screenshots
# Query for all packages who's ID appears in a screenshot's "package_id" field
subselect = Screenshot.select(:package_id)
where(id: subselect )
end
# Return a query of all packages that have screenshots
def self.without_screenshots
# Query for all packages who's ID does not appear in a screenshot's "package_id" field
subselect = Screenshot.select(:package_id)
where.not(id: subselect)
end
# Use PostgreSQL's full-text search capability for the user search
# TODO: check if pgSearch does this job for us
#def self.text_search(query)
# if query.present?
# # Add a rank column to each result
# rank = <<-RANK
# ts_rank(to_tsvector(packages.name), plainto_tsquery(#{sanitize(query)}))
# +
# ts_rank(to_tsvector(packages.description), plainto_tsquery(#{sanitize(query)}))
# RANK
#
# # Do the full-text search and return results by rank
# where("to_tsvector('english', packages.name) @@ plainto_tsquery(:q) or
# to_tsvector('english', packages.description) @@ plainto_tsquery(:q)
# ", q: query).order("#{rank} desc")
# else
# all
# end
#end
end

View file

@ -8,4 +8,27 @@ class Screenshot < ActiveRecord::Base
def image_url(size)
"#{Rails.configuration.images_path_prefix}/#{self.package.name[0]}/#{self.package.name}/#{self.id}_#{size}.png"
end
## Get the URL leading to a screenshot of this package
#def url(size)
# if self.approved
# # TODO: Make the path configurable
# basepath = "/screenshots/approved/"
# else
# basepath = "/screenshots/unapproved/"
# end
#
# File.join(basepath, self.package.name[0], self.package.name, "#{self.id}_#{size}.png")
#end
#
## Return caption for full-screen screenshots.
## Takes the description of a screenshot if available.
## Otherwise it falls back to the general description of its package.
#def caption
# if self.description != ''
# self.description
# else
# self.package.description
# end
#end
end