Skip to content

Instantly share code, notes, and snippets.

package main
import (
"net/http"
"github.com/mrkplt/end_point/models"
)
func main() {
http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
### Keybase proof
I hereby claim:
* I am mrkplt on github.
* I am mrkplt (https://keybase.io/mrkplt) on keybase.
* I have a public key whose fingerprint is B63F B8E1 BE81 FBAF E770 6DB7 2D7F 0EBC 0074 AC2E
To claim this, I am signing this object:
@mrkplt
mrkplt / environment_check.rb
Last active August 29, 2015 14:22
Environment check for safer rake tasks.
module EnvironmentCheck
MESSAGE = "This action is destructive. Proceed?"
def self.execute(message = MESSAGE)
return command_line_output unless inquiry(message) == 'y'
yield if block_given?
end
private
@mrkplt
mrkplt / gist:7fb65807e60e9ce8aec2
Last active August 29, 2015 14:17
Awful coupling, Demeter violation
class A
attr_reader :b
def initialize
@b = B.new
end
end
class B
attr_reader :c
class BadDemeter
# this is an example that abuses LoD. I am not saying that your code
# can't look like this for other reasons.
def thinger
useless_abstraction_three.last
end
private
@mrkplt
mrkplt / gist:0b06015b4ecd00a55ce8
Last active August 29, 2015 14:17
Playing with Go channels
package main
import "fmt"
func main() {
messages := make(chan string)
return_messages := make(chan string)
go func() { return_messages <- "ping" }()
@mrkplt
mrkplt / gist:b114d2525a03cfb95acd
Created March 22, 2015 13:34
composition example
# https://www.youtube.com/watch?v=gRpUfjTwSOo&utm_source=golangweekly&utm_medium=email
package main
import "fmt"
type user struct {
name string
email string
}
# http://www.brianstorti.com/implementing-a-priority-queue-in-ruby
class PriorityQueue
attr_reader :elements
def initialize
@elements = [nil]
end
def <<(element)
@elements << element
@mrkplt
mrkplt / business_object.rb
Last active August 29, 2015 14:12
A sort of fast mock up of how I think you could implement business logic that would be separated from data layer and controller.
class BusinessObject
class LambdaError < StandardError; end;
class NotImplementedError < StandardError; end;
def initialize(lambda_hash = {})
post_init(lambda_hash)
end
def perform
raise NotImplementedError, 'must implement perform.'
@mrkplt
mrkplt / view_model.rb
Last active August 29, 2015 14:11
A quick view model implementation
class ViewModel
def initialize(klass)
@klass = klass
end
private
attr_accessor :klass
def method_missing(method_sym, *arguments, &block)