Skip to content

Instantly share code, notes, and snippets.

@kbarber
kbarber / gist:1541536
Created December 30, 2011 21:26
mocking mysql database connections
#!/usr/bin/env rspec
require 'mocha'
require 'mysql'
describe "foo" do
it "should mock mysql query" do
mock_mysql = mock("Mysql")
Mysql.expects(:new).returns(mock_mysql)
mock_mysql.expects(:query).with("create database foo")
@kbarber
kbarber / gist:1548119
Created January 1, 2012 19:30
rvmrc for facter
# rvm gemset list ruby-1.8.7-p352@global
gemsets for ruby-1.8.7-p352 (found in /Users/ken/.rvm/gems/ruby-1.8.7-p352)
ci
esperfoo
=> global
puppet
[ken@kb Development]# cd facter ruby-1.8.7-p352@global
installing diff-lcs 1.1.2...
@kbarber
kbarber / gist:1548247
Created January 1, 2012 20:23
rvmrc file for gems
#!/usr/bin/env bash
# This is an RVM Project .rvmrc file, used to automatically load the ruby
# development environment upon cd'ing into the directory
# First we specify our desired <ruby>[@<gemset>], the @gemset name is optional.
environment_id="ruby-1.8.7-p352@facter"
#
# Uncomment following line if you want options to be set only for given project.
@kbarber
kbarber / gist:1642636
Created January 19, 2012 21:12
Finding the scope of another class in puppet
scope.class_scope(find_hostclass('your::class')).to_hash(false)
@kbarber
kbarber / gist:1730504
Created February 3, 2012 14:47
generating and distributing mcollective keys
define create_rsa_key (
) {
# Private key
exec { "genprivkey":
command => "generate private key",
creates => "/home/${name}/.mcollective/${name}-private.pem",
}
file { "/home/${name}/.mcollective/${name}-private.pem":
ensure => "present",
@kbarber
kbarber / gist:1749041
Created February 6, 2012 02:31
Structured Facts
[ken@kb test]# ~/Development/facter/bin/facter networking
---
interfaces:
lo0:
ip:
addresses:
- 127.0.0.1
status: active
en0:
status: inactive
@kbarber
kbarber / ruby_yaml_keysort.rb
Created February 10, 2012 16:51
Blog: YAML/hash sort 1
#!/usr/bin/env ruby
require 'yaml'
a = {
"a" => "b",
"e" => "b",
"c" => "b",
"p" => "b",
"z" => "b",
@kbarber
kbarber / ruby_yaml_hash_keysort2.rb
Created February 10, 2012 16:54
Blog: YAML/hash sort 2
#!/usr/bin/env ruby
require 'yaml'
a = {
"a" => "b",
"e" => "b",
"c" => "b",
"p" => "b",
"z" => "b",
@kbarber
kbarber / gist:1865704
Created February 19, 2012 20:48
structured facts: arp_table
# ./bin/facter arp_table
---
arp_table:
list:
- &id001
ip_address: 169.254.245.13
protocol: ethernet
mac_address: b8:8d:12:5a:c9:45
hostname: ""
interface: en1
@kbarber
kbarber / gist:1869627
Created February 20, 2012 15:17
sample json
{"kb2.local":{"arp_table":[{"hostname":"","interface":"en1","ip_address":"192.168.16.1","protocol":"ethernet","mac_address":"0:c:42:bd:d3:91"},{"hostname":"","interface":"en1","ip_address":"192.168.16.205","protocol":"ethernet","mac_address":"0:c:29:6b:b7:cf"},{"hostname":"","interface":"en1","ip_address":"192.168.16.207","protocol":"ethernet","mac_address":"c8:2a:14:50:69:91"},{"hostname":"","interface":"en1","ip_address":"192.168.16.215","protocol":"ethernet","mac_address":"68:a8:6d:4f:e0:a4"},{"hostname":"","interface":"en1","ip_address":"192.168.16.255","protocol":"ethernet","mac_address":"ff:ff:ff:ff:ff:ff"}],"operatingsystem":"sunos"},"kb.local":{"arp_table":[{"hostname":"","interface":"en1","ip_address":"192.168.16.1","protocol":"ethernet","mac_address":"0:c:42:bd:d3:91"},{"hostname":"","interface":"en1","ip_address":"192.168.16.204","protocol":"ethernet","mac_address":"0:c:29:6b:b7:ce"},{"hostname":"","interface":"en1","ip_address":"192.168.16.207","protocol":"ethernet","mac_address":"c8:2a:14:50:69:9