This file contains hidden or 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
#!/usr/bin/ruby | |
# | |
# Most of this taken from here: https://gist.github.com/jmazzi/436947 | |
require 'csv' | |
require 'pathname' | |
# CHANGE THIS | |
input_file = Pathname("PATH/TO/CSV").expand_path | |
output_file = Pathname("~/pwds.xml").expand_path |
This file contains hidden or 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
def address_method(city: "Bloomington", state: "IN", street: "123 fake st") | |
print x,y,z,"\n" | |
end | |
input = {city: "Indianapolis", street: "321 faux st", zip: "12345"} | |
address_method(input_address) # => ArgumentError: unknown keyword: zip | |
addr_mthd = method(:address_method) | |
acceptable_keywords = addr_mthd.parameters.select{|p| p[0] == :key}.map(&:last) |
This file contains hidden or 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
# boring var technique | |
x = nil | |
[1,2,3,4].each do |y| | |
if x | |
puts x + y | |
end | |
x = y | |
end |
This file contains hidden or 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 Dryer = Struct.new(:file_path, :super_class, :blk) do | |
def self.def_class(file_path, super_class=Object, &blk) | |
new(file_path, super_class, blk).def_class | |
end | |
def def_class | |
constant_names.each.with_index.inject(Object) do |const, (next_const, index)| | |
if constant_names.length == index + 1 |
This file contains hidden or 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/models/user.rb | |
Dryer.def_class(__FILE__) do | |
def hi | |
"hello world" | |
end | |
end | |
User.new.hi | |
=> "hello world" |
This file contains hidden or 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
=begin | |
This class allows you to condsolidate the declaration of class names into | |
the file name. It also handles namespacing based on the file path if you are | |
using Rails autoloading. | |
This works with the single exception of constant lookup via nesting, so you | |
will need to replace constants with variables and methods. | |
Examples: |
This file contains hidden or 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
### In file version | |
klass = Class.new do | |
def hi | |
puts 'hello' | |
end | |
end | |
name = __FILE__.slice(/\w*.rb$/).slice(/\w*/).camelcase | |
Object.const_set(name, klass) |
This file contains hidden or 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
# This is the default .slate file. | |
# If no ~/.slate file exists this is the file that will be used. | |
config defaultToCurrentScreen true | |
config nudgePercentOf screenSize | |
config resizePercentOf screenSize | |
config modalEscapeKey esc | |
alias modal esc,ctrl | |
alias mt ${modal}:toggle |
This file contains hidden or 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
>> be vim | |
Your Ruby version is 2.2.3, but your Gemfile specified 2.1.7 | |
Vim: Caught deadly signal SEGV | |
Vim: Finished. | |
Segmentation fault: 11 |
This file contains hidden or 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
irb(main):008:0> x = Enumerator.new(Float::INFINITY) { yield 1 } | |
=> #<Enumerator: #<Enumerator::Generator:0x007f85531b6360>:each> | |
irb(main):009:0> x.size | |
=> Infinity |