Skip to content

Instantly share code, notes, and snippets.

View salvadorgascon's full-sized avatar

Salvador Gascon salvadorgascon

View GitHub Profile
@salvadorgascon
salvadorgascon / database.yml
Last active April 9, 2023 01:23
PostgreSQL database configuration for Ruby on Rails
default: &default
adapter: postgresql
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
host: <%= ENV['PG_HOSTNAME'] %>
timeout: 5000
development:
<<: *default
database: <%= ENV['PG_DATABASE_DEV'] %>
@salvadorgascon
salvadorgascon / database.yml
Created April 9, 2023 01:19
PostgreSQL database configuration with PostGIS support for Ruby on Rails
default: &default
adapter: postgis
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
host: <%= ENV['PG_HOSTNAME'] %>
timeout: 5000
development:
<<: *default
database: <%= ENV['PG_DATABASE_DEV'] %>
@salvadorgascon
salvadorgascon / locales.rb
Created April 9, 2023 02:02
Load locales and setup available locales in Ruby on Rails
I18n.load_path += Dir[Rails.root.join('config', 'locales','**', '*.{rb,yml}').to_s]
I18n.available_locales = [:es, :en]
I18n.default_locale = :es
@salvadorgascon
salvadorgascon / generators.rb
Created April 9, 2023 02:04
Disable asset and helper generation in Ruby on Rails
Rails.application.config.generators do |g|
g.assets = false
g.helper = false
g.decorator = false
end
@salvadorgascon
salvadorgascon / query.sql
Created April 9, 2023 02:11
Query ignoring accents and ignore case on Microsoft SQL Server
SELECT Clientes.*
FROM Clientes
WHERE UPPER(Nombre) LIKE '%camion%' COLLATE Latin1_general_CI_AI
@salvadorgascon
salvadorgascon / query.sql
Created April 9, 2023 02:14
Query ignoring accents and ignore case on PostgreSQL
SELECT Clientes.*
FROM Clientes
WHERE UNACCENT(UPPER(Nombre)) LIKE UPPER('%camion%')
@salvadorgascon
salvadorgascon / my_job.rb
Created April 9, 2023 13:56
Active Job example in Ruby on Rails
# HACK: Required to foce load env vars
if Rails.env.development? || Rails.env.test?
require 'dotenv/load'
end
class MyJob < ApplicationJob
queue_as :default
def perform(*args)
# Do something later
@salvadorgascon
salvadorgascon / contains_name.rb
Created April 9, 2023 13:59
Concern to add a scope into a model in Ruby on Rails
module ContainsName
extend ActiveSupport::Concern
included do
# Scope definition here
end
end
@salvadorgascon
salvadorgascon / example.rb
Created April 9, 2023 14:03
Run a sql statement with parameters for PostgreSQL in Ruby on Rails
statement =
<<-SQL
UPDATE customers set search_text = CONCAT(code,' ',name) where id = $1
SQL
ActiveRecord::Base.connection.raw_connection.exec_params(statement, [id])
@salvadorgascon
salvadorgascon / _no_seo.html.erb
Created April 9, 2023 14:06
Disable search engine indexing page in Ruby on Rails
<meta name="robots" content="noindex">
<meta name="googlebot" content="noindex">