This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ApplicationRecord << ActiveRecord::Base | |
#... | |
after_validation :log_validation_errors | |
private | |
def log_validation_errors | |
Rails.logger.tagged self.class.name do | |
if self.errors.empty? |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// I often do stuff like (coffeescript): | |
// | |
// class @Forms.Select extends React.Component | |
// | |
// Which, often requires an ugly @Forms ||= {} somewhere, or this will | |
// explode. Now, I know there's better ways to do this, and CommonJS has | |
// its nifty resource stuff, but I am old and stuck in my ways and stuff. | |
// | |
// With this snippet (if you're in rails, you can include it in application.js | |
// before your components dir), you can write (again, coffee): |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Consider this common pattern... | |
if (user = User.find params[:id]) | |
user.profile_viewed | |
end | |
# Would be a bit less awkward if... | |
with User.find params[:id] do |user| | |
user.profile_viewed |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@DateFormat = React.createClass | |
propTypes: | |
timestamp: React.PropTypes.number.isRequired | |
fuzzy: React.PropTypes.bool | |
dateOnly: React.PropTypes.bool | |
short: React.PropTypes.bool | |
className: React.PropTypes.string | |
getInitialState: -> | |
timer: null |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class Items::Flour < Item | |
name "Flour" | |
description "Looks like crushed up wheat to you. Keep dry." | |
value 2.copper | |
stack_size 20 | |
# Use with a Bucket of Water to create Dough. Requires | |
# level 1 or greater cooking. | |
use_with Item::BucketOfWater, create: [Item::Dough, Item::Bucket], skills: { Skill::Cooking => 1 } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@App = React.createClass | |
#== Validations | |
propTypes: {} | |
contextTypes: {} | |
#== Initialize |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# As if Ruby didn't make dates any easier, this! | |
# (#method_missing is disgusting and I love it.) | |
# | |
# 25.december 2015 #=> Fri, 25 Dec 2015 | |
# | |
class Fixnum | |
def method_missing(month, year=nil) | |
Date::MONTHNAMES.each_with_index do |m, i| | |
return Date.new year, i, self if m && month.to_s.casecmp(m)==0 | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module HasGuid | |
extend ActiveSupport::Concern | |
included do | |
before_validation :generate_guid | |
class_attribute :guid_column_name | |
class_attribute :guid_options | |
validate :validate_guid |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module CollectionHelper | |
#... | |
# This does a shitload of magic. It handles sort, order, filter, page and search. | |
# | |
def self.filter_scope(scope, params = {}) | |
unpermitted_params = [] | |
params = params.with_indifferent_access | |
params[:sort] ||= 'id' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# === Table Schema | |
# | |
# id: integer | |
# title: string | |
# body: string | |
# author_id: integer | |
# | |
class Post < ActiveRecord::Base | |
include Sluggable | |
belongs_to :author |
NewerOlder