Skip to content

Instantly share code, notes, and snippets.

View chriswright47's full-sized avatar

Chris Wright chriswright47

  • San Francisco
View GitHub Profile
@chriswright47
chriswright47 / rle.exs
Last active May 21, 2016 00:53
Run Length Encoder form elixir games
defmodule RunLengthEncoder do
@doc """
Generates a string where consecutive elements are represented as a data value and count.
"HORSE" => "1H1O1R1S1E"
For this example, assume all input are strings, that are all uppercase letters.
It should also be able to reconstruct the data into its original form.
"1H1O1R1S1E" => "HORSE"
"""
@spec encode(String.t) :: String.t
def encode(string) do
defmodule ElixirRomanNumerals do
def to_roman(n) do
to_roman n, ""
end
defp to_roman(n, string) when n >= 1000 do
to_roman rem(n,1000), string <> stringify(trunc(n/1000), "M")
end
defp to_roman(n, string) when n >= 100 do
# CheckedAttributes Challenge
module CheckedAttributes
class ValidationError < StandardError; end
def self.included(base)
base.extend(self)
end
def attr_checked attribute, &block
attr_reader attribute
@chriswright47
chriswright47 / carousel.js
Last active December 27, 2015 17:59 — forked from ksolo/carousel.js
Image Carousel
@chriswright47
chriswright47 / form-validator.js
Last active December 27, 2015 17:49 — forked from ksolo/form-validator.js
Form Validation
// shorthand for $(document).ready();
$(function(){
$('form').submit(function(event) {
var prevent = false
var valid_email = /\b[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}\b/;
if (!(valid_email.test($('form input')[0].value))) {
prevent = true;
$('#errors').append('<li>Must be a valid email address</li>');
}
@chriswright47
chriswright47 / zoo.js
Last active December 27, 2015 16:58 — forked from dbc-challenges/zoo.js
//------------------------------------------------------------------------------------------------------------------
// YOUR CODE: Create your Zoo "object literal" and Animal "constructor" and "prototypes" here.
//------------------------------------------------------------------------------------------------------------------
console.log('test')
function Animal(name, legs) {
this.name = name;
this.legs= legs;
}
Animal.prototype.identify = function () {
return 'I am a ' + this.name + ' with ' + this.legs + ' legs.'
@chriswright47
chriswright47 / index.html
Last active December 27, 2015 16:49 — forked from dbc-challenges/index.html
DBC Phase 2 Practice Assessment Part 3
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="http://cdn.jsdelivr.net/normalize/2.1.0/normalize.css">
<link rel="stylesheet" href="main.css">
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800">
<link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Lato:100,900">
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.0.2/css/font-awesome.min.css">
</head>

Instructions:

  1. Download this application skeleton.
  2. Convert the app to use AJAX.
  3. Add any files you changed to your gist and submit your code.