Skip to content

Instantly share code, notes, and snippets.

View Marchino's full-sized avatar

Marco Crepaldi Marchino

View GitHub Profile
module Mmplus
module Controllers
module Search
extend ActiveSupport::Concern
included do
before_filter :fix_params
def do_search(search_params, classes = nil)
q = search_params
MM_ITEMS.each do |item_type|
scope "#{item_type.to_s.pluralize}" do
# index items of item_type
match "/" => "items/#{item_type.to_s.pluralize}#index", :as => "#{item_type.to_s.pluralize}"
# show item
match ":title/:id" => "items/#{item_type.to_s.pluralize}#show", :as => "#{item_type.to_s}"
# shipping costs for item
get ":title/:id/shipping_costs" => "items/#{item_type.to_s.pluralize}#shipping_costs", :as => "#{item_type.to_s}_shipping_costs"
# question for item
get ":title/:id/new_question" => "items/#{item_type.to_s.pluralize}#new_question", :as => "new_#{item_type.to_s}_question"
require 'spec_helper.rb'
describe "Phone call", :search => true do
it "should be created without user logged in" do
email_sent_until_now = email_count
item = RareBook.last
visit send("new_rare_book_phone_call_path", :title => item.to_url_param, :id => item.id)
fill_in "phone_call_name", :with => "User name"
fill_in "phone_call_phone_number", :with => "1234567890"
require 'spec_helper'
describe "Question", :search => true do
before(:each) do
@buyer = Buyer.first
@item = RareBook.first
host! 'mmplus.dev'
Capybara.app_host = "http://mmplus.dev"
reset_email
@Marchino
Marchino / import.rb
Created September 29, 2011 13:47
import stuff from a csv with first row containing model's attributes
keys = []
CSV.foreach("/path/to/stuff/to/import.csv") do |row|
keys = row and first = false if first
ModelName.create(Hash[*keys.each{|k| k.strip!}.zip(row.each{|k| k.strip!}).flatten]) unless first
end
end
@Marchino
Marchino / pages_controller.rb
Created October 19, 2011 10:16
Typoheus example with multilpe simultaneous requests and caching enabled
class PagesController < ApplicationController
require 'nokogiri' # or wathever parses the responses
def home
@blog_responses = make_requests ["http://url_to_first.blog", "http://url_to_second.blog"]
end
protected
def make_requests(urls = [])
@Marchino
Marchino / ps_aux_pipe_grep_wathcer
Created November 10, 2011 14:15
watch directory
Marcos-MacBook-Pro:~ marcocrepaldi$ ps aux
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
marcocrepaldi 25226 0.0 2.7 2557336 114636 s004 S+ 3:11PM 0:14.09 ruby path/to/rake watcher:start
@Marchino
Marchino / controller.rb
Created November 29, 2011 09:00
indexing config
class Controller < ApplicationController
@items = Sunspot.search(ModelName) do
fulltext params[:q], :fields => ["description_#{I18n.locale}".to_sym, :author]
end
end
@Marchino
Marchino / catalogue.txt
Created December 14, 2011 15:12
Catalogue upload delayed job
Id_libro Arg_catalogo Autore Titolo Sottotitolo Luogo_stampa Editore Anno_stampa Prezzo_itl Prezzo_eur Note_biblio Soggetto Materia Num_catalogo Varie_1 Varie_2 Varie_3 Varie_4
37 888366003X A cura di Maria Adelaide Bartoli Bacherini e Raffaello Monterosso Vincenzo Bellini "in questa graziosa capitale della Toscana", Catalogo della Mostra bibliografico-documentaria (Firenza, Biblioteca Nazionale Centrale, 19 dicembre 2001 - 19 gennaio 2002). Fondazione Monteverdi 2001 32,00 Un volume di pp. 104. Monografie e studi critici
19 9788886288002 Sacre rappresentazioni nel manoscritto 201 della Biblioteca Municipale di OrlÈans. Fondazione Monteverdi 1958 48,00 Edizione fototipica. Testi e musiche trascritti e commentati da Giampiero Tintori. Volume di cm. 25x35, pp. 88 di introduzione e commento, 104 di musica trascritta e facsimili. In brochure. Altre edizioni monumentali
20 9788886288019 La Fida Ninfa. Dramma per musica in tre atti di Scipione Maffei. Musica di Antonio Vivaldi. Edizione di
@Marchino
Marchino / data_manipulation.rb
Created February 17, 2012 14:35
XLS Import end export
class DataManipulation
include ActiveModel::Conversion
extend ActiveModel::Naming
ALLOWED_MODELS = [:products, :stores]
attr_accessor :file, :model_name
def initialize(options = {})
self.file = options[:file]
self.model_name = options[:model_name].try(:singularize)