Module: Hamsterdam::Clojure

Defined in:
lib/hamsterdam/clj.rb

Defined Under Namespace

Classes: EmptyList, Hash, List, Queue, Set

Class Method Summary collapse

Class Method Details

.hash(h = nil) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/hamsterdam/clj.rb', line 10

def self.hash(h = nil)
  if h.nil?
    Hash::EMPTY
  else
    Hash.create(h)
  end
end

.internal_hash_classObject



18
19
20
# File 'lib/hamsterdam/clj.rb', line 18

def self.internal_hash_class
  Hash
end

.list(*values) ⇒ Object



26
27
28
# File 'lib/hamsterdam/clj.rb', line 26

def self.list(*values)
  List.create(values).pop
end

.queue(*values) ⇒ Object



30
31
32
# File 'lib/hamsterdam/clj.rb', line 30

def self.queue(*values)
  Queue.create(values)
end

.set(*values) ⇒ Object



22
23
24
# File 'lib/hamsterdam/clj.rb', line 22

def self.set(*values)
  Set.create(values)
end

.symbolize_keys(hash) ⇒ Object



34
35
36
37
38
39
40
41
42
# File 'lib/hamsterdam/clj.rb', line 34

def self.symbolize_keys(hash)
  hash.reduce(hash) do |memo,(k,v)|
    if Symbol === k
      memo
    else
      memo.delete(k).put(k.to_sym, v)
    end
  end
end