Skip to content

Instantly share code, notes, and snippets.

Avatar

Dale voltechs

  • Notion, Twilight Coders
  • Denver
View GitHub Profile
View CombustionEngine.md

For those of you who might be using your engine as a git submodule in a bigger project, here is what I've settled on (riffed a bit from https://github.com/pat/combustion/issues/13#issuecomment-99608773). I will admit that a bit of the final result is due to trail/error. For instance, I don't really know what the task :environment block does, but I know when I run rake db:migrate, it executes that block, and thus requires additional requires.

If someone else has a clearer understanding of how everything is fitting together, please let me know and I'll update

We do not need to modify db paths in the Rakefile because we've set those up as initializers in the engine.rb so that the main app pulls migrations and schema.rb from the core project. (Bonus points for loading FactoryBot factories to be reused in the main app!)

@voltechs
voltechs / Calendar.gs
Last active Jun 22, 2019
Block time off from your personal calendar on your work calendar.
View Calendar.gs
function getPrimaryCalendar() {
return CalendarApp.getDefaultCalendar();
}
function getSecondaryCalendar() {
debug(JSON.stringify(PropertiesService.getUserProperties()));
debug(JSON.stringify(PropertiesService.getScriptProperties()));
return CalendarApp.getCalendarById(calendarID());
}
@voltechs
voltechs / no_automount
Last active Jun 15, 2020
Add volume (UUID) to fstab to prevent automount (macOS)
View no_automount
#!/usr/bin/env ruby
# Usage: no_automount /Volumes/My\ Disk
diskinfo = `diskutil info '#{ARGV[0]}'`.gsub("\n\n", "\n").split("\n").collect { |b|
b.strip.split(/:\s+/)
}.to_h
disk_uuid = diskinfo['Volume UUID']
disk_type = diskinfo['Type (Bundle)']
View NukeOneDrive.bat
@echo off
cls
set x86=%SYSTEMROOT%\System32\OneDriveSetup.exe”
set x64=%SYSTEMROOT%\SysWOW64\OneDriveSetup.exe”
echo Closing OneDrive process.
echo.
@voltechs
voltechs / gist:59849ce491a5e1179e09
Created Jun 16, 2014
my stack trace for nsevent leak
View gist:59849ce491a5e1179e09
0 libsystem_malloc.dylib malloc_zone_calloc
1 libsystem_malloc.dylib calloc
2 libobjc.A.dylib class_createInstance
3 libobjc.A.dylib +[NSObject allocWithZone:]
4 AppKit -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:]
5 sfml-window +[SFApplication processEvent]
6 sfml-window -[SFWindowController processEvent]
7 sfml-window sf::priv::WindowImpl::popEvent(sf::Event&, bool)
8 sfml-window sf::Window::pollEvent(sf::Event&)
9 Galaxer Client::run()
View gist:3087376
irb(main):019:0> u.permissions
Permission Load (0.8ms) SELECT `permissions`.* FROM `permissions` INNER JOIN `groups` ON `permissions`.`group_id` = `groups`.`id` INNER JOIN `memberships` ON `groups`.`id` = `memberships`.`group_id` WHERE `memberships`.`user_id` = 1160 AND (expiration = "0000-00-00" OR expiration > '2012-07-10')
ActiveRecord::DangerousAttributeError: create is defined by ActiveRecord
from /usr/local/lib/ruby/gems/1.9/gems/activerecord-3.2.5/lib/active_record/attribute_methods.rb:91:in `instance_method_already_implemented?'
from /usr/local/lib/ruby/gems/1.9/gems/activemodel-3.2.5/lib/active_model/attribute_methods.rb:263:in `block in define_attribute_method'
from /usr/local/lib/ruby/gems/1.9/gems/activemodel-3.2.5/lib/active_model/attribute_methods.rb:260:in `each'
from /usr/local/lib/ruby/gems/1.9/gems/activemodel-3.2.5/lib/active_model/attribute_methods.rb:260:in `define_attribute_method'
from /usr/local/lib/ruby/gems/1.9/gems/activemodel-3.2.5/lib/act
@voltechs
voltechs / query.sql
Created Jul 8, 2012
Memberships ordered by the rank of membership's role.
View query.sql
SELECT `memberships`.* from `memberships`
INNER JOIN `groups` ON `groups`.id = `memberships`.group_id
INNER JOIN `roles` ON `memberships`.role_id = `roles`.id
INNER JOIN `roles` `role_cat` ON `role_cat`.id = `roles`.type_id
WHERE `groups`.id = "HHC" AND `memberships`.expiration > CURDATE()
ORDER BY `role_cat`.rank DESC, `roles`.rank DESC
View group.rb
class Group < ActiveRecord::Base
set_primary_key :id
belongs_to :type, class_name: "GroupType"
belongs_to :parent, class_name: "Group", foreign_key: "parent_id"
has_many :children, class_name: "Group", foreign_key: "parent_id"
# Haven't played around with this part too much yet.
accepts_nested_attributes_for :children
View gist:3037044
SELECT `users`.* FROM `users`
INNER JOIN `memberships`
ON `users`.`id` = `memberships`.`user_id`
INNER JOIN `roles`
ON `roles`.`id` = `memberships`.`role_id`
WHERE `memberships`.`group_id` = 'NUCC' AND (expiration > '2012-07-02')
ORDER BY `roles`.`rank` DESC
View group.rb
has_many :members, :through => :memberships, :source => :user, :include => { :memberships => :role }, :order => 'roles.rank'
You can’t perform that action at this time.