Skip to content

Instantly share code, notes, and snippets.

View vraravam's full-sized avatar

Vijay Aravamudhan vraravam

  • ThoughtWorks Inc.
  • Chennai, India
  • X @avijayr1
View GitHub Profile
@vraravam
vraravam / database_cleaner.rb
Created January 13, 2016 05:41
If using database_cleaner gem in a rails app....
# spec/support/database_cleaner.rb
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each, js: true) do
DatabaseCleaner.strategy = :truncation
end
@vraravam
vraravam / factory_girl.rb
Last active August 6, 2018 06:53
Configuration at project-level for factory_girl in a rails rspec codebase (spec/support/factory_girl.rb)
# frozen_string_literal: true
RSpec.configure do |config|
config.before(:suite) do
begin
DatabaseCleaner.start
setup_biz
FactoryBot.lint unless config.files_to_run.one?
ensure
DatabaseCleaner.clean
@vraravam
vraravam / production.rb
Created January 13, 2016 05:39
LogRage configuration for production env in rails app
# config/environments/production.rb
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.
config.lograge.enabled = true
# add time to lograge
config.lograge.custom_options = lambda do |event|
{ time: event.time, params: event.payload[:params].except('controller', 'action', 'utf8', 'authenticity_token', 'commit') }
end
@vraravam
vraravam / string.rb
Created January 13, 2016 03:03
string to unicode conversion in ruby
# config/initializers/string.rb
class String
# TODO: Don't know how to convert to UTF-16BE encoding using built-in methods, and then arrive
# at the result similar to: http://api.mvaayoo.com/unicodeutil/unicode.jsp
def to_unicode
unpack('U*').map { |i| i.to_s(16).rjust(4, '0') }.join
end
end
@vraravam
vraravam / sitemap.rb
Created February 21, 2015 18:02
Using sitemap_generator gem and configuring it to generate pages from high_voltage
# Set the host name for URL creation
SitemapGenerator::Sitemap.default_host = 'http://www.pycosystems.com'
SitemapGenerator::Sitemap.create do
# Put links creation logic here.
#
# The root path '/' and sitemap index file are added automatically for you.
# Links are added to the Sitemap in the order they are specified.
#
# Usage: add(path, options={})
@vraravam
vraravam / .rubocop.yml
Last active January 13, 2016 05:34
Rubocop config file
require:
- rubocop-rspec
AllCops:
Include:
- '**/Capfile'
- '**/Gemfile'
- '**/Rakefile'
- '**/config.ru'
- '**/app/**/*'
@vraravam
vraravam / .simplecov
Last active October 23, 2023 06:57
Simplecov config file (.simplecov)
SimpleCov.minimum_coverage 98.00
SimpleCov.minimum_coverage_by_file 80
SimpleCov.refuse_coverage_drop
SimpleCov.formatter = SimpleCov::Formatter::HTMLFormatter
SimpleCov.start :rails do
add_group 'Mailers', 'app/mailers'
add_group 'Policies', 'app/policies'
add_group 'Services', 'app/services'
add_group 'Uploaders', 'app/uploaders'
add_group 'Validators', 'app/validators'
# frozen_string_literal: true
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?('/')
"https://github.com/#{repo_name}.git"
end
source 'https://rubygems.org'
ruby '2.4.2'
@vraravam
vraravam / application.rb
Last active January 13, 2016 05:37
Rails Generator configuration
class Application < Rails::Application
config.generators do |g|
g.orm :active_record
g.template_engine :erb
g.stylesheets false
g.javascripts false
g.test_framework :rspec,
fixtures: true,
view_specs: false,
helper_specs: false,
@vraravam
vraravam / time_splits.rb
Created January 14, 2015 10:08
Ruby module using arel for null-checks and time comparisons
module TimeSplits
extend ActiveSupport::Concern
module ClassMethods
def not_null?(attribute)
where(arel_table[attribute].not_eq(nil))
end
def in_future?(attribute, default_threshold = Time.current)
not_null?(attribute).where(arel_table[attribute].gt(default_threshold))