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
Gem::Specification.new do |s| | |
s.name = 'acts_as_untitled' | |
s.version = '0.1.0' | |
s.platform = Gem::Platform::RUBY | |
s.author = 'Edward Tsech' | |
s.email = '[email protected]' | |
s.summary = 'Acts as untitled!' | |
s.description = '' | |
s.files = ['acts_as_untitled.rb'] |
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
ContentFor = Class.new | |
x = ContentFor.new | |
puts x.class.object_id # => 2266662780 | |
# puts x.class.name | |
ContentFor = Class.new | |
y = ContentFor.new | |
puts x.class.object_id # => 2266662780 |
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
THOUSAND = -> p { -> x { p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[ | |
p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[ | |
p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[ | |
p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[ | |
p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p[p |
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
(use 'net.cgrand.enlive-html) | |
; Define our posts, it can be response from the database. | |
(def posts [{:title "First post" | |
:content "Content of my first post." | |
:comments [{ | |
:user "edtsech" | |
:text "boom"} | |
{:user "anonymous" | |
:text "blah-blah-blah"}]} |
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
(defroutes posts-routes | |
(context "/posts" [] | |
(GET "/" request ...) | |
(GET "/new" request ...) | |
(POST "/" request ...))) |
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
h1 = { "a" => 100, "b" => 200 } | |
h2 = { "b" => 254, "c" => 300 } | |
h3 = h1.merge(h2) | |
h3 #=> {"a"=>100, "b"=>254, "c"=>300} | |
h1 #=> { "a" => 100, "b" => 200 } |
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
(defn validate [data schema] | |
(into {} (for [[x y] schema] | |
[x (if (contains? data x) | |
(let [res (x data)] | |
(try (y res) (catch IllegalArgumentException e false))) | |
false)]))) | |
(defn valid? [data schema] | |
(every? true? (vals (validate data schema)))) |
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
(defn split-by | |
"Create from sequence (l) sequence of sequences with specified number of elemenets (c) | |
Example: | |
(split-by 2 [1 2 3 4 5 6 7]) | |
=> '((1 2) (3 4) (5 6) (7))" | |
[c l] | |
(if (seq l) | |
(cons (take c l) (split-by c (drop c l))))) | |
(defn split-into-chunks |
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
flipArgs = function (f) { | |
return function() { | |
let args = Array.prototype.slice.call(arguments); | |
return f.apply(null, args.slice(1).concat(args[0])) | |
} | |
} | |
fullName = function(name, lastName) { return name + ' ' + lastName} | |
// fullName("John", "Doe") -> "John Doe" |
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
rightCurry = function (f) { | |
let args = Array.prototype.slice.call(arguments).slice(1); | |
return function(firstArg) { | |
return f.apply(null, [firstArg].concat(args)) | |
} | |
} | |
fullName = function (name, middleName, lastName) { return name + " " + middleName + " " + lastName } | |
// rightCurry(fullName, "David", "Doe")("John") -> "John David Doe" |
OlderNewer