Class: Ook

Inherits:
Object
  • Object
show all
Defined in:
lib/inline-ook.rb

Constant Summary collapse

Stacks =
{}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.class_ook(s, a) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/inline-ook.rb', line 13

def self.class_ook(s, a)
  if a
    stack << "." + s + stack.pop
  else
    stack << "."
    new.__send__("Ook" + s, a)
  end
end

.global_ook(s, a) ⇒ Object



26
27
28
# File 'lib/inline-ook.rb', line 26

def self.global_ook(s, a)
  stack << s + (a ? stack.pop : "")
end

.ookObject



6
7
8
9
# File 'lib/inline-ook.rb', line 6

def self.ook
  stack << "."
  :ook
end

.Ook(a = nil) ⇒ Object



29
# File 'lib/inline-ook.rb', line 29

def self.Ook (a = nil); Ook.class_ook("",  a); end

.Ook!(a = nil) ⇒ Object



30
# File 'lib/inline-ook.rb', line 30

def self.Ook!(a = nil); Ook.class_ook("!", a); end

.Ook?(a = nil) ⇒ Boolean

Returns:

  • (Boolean)


31
# File 'lib/inline-ook.rb', line 31

def self.Ook?(a = nil); Ook.class_ook("?", a); end

.stackObject



10
11
12
# File 'lib/inline-ook.rb', line 10

def self.stack
  Stacks[Thread.current] ||= []
end

Instance Method Details

#instance_ook(s, a) ⇒ Object



21
22
23
24
25
# File 'lib/inline-ook.rb', line 21

def instance_ook(s, a)
  l = a ? Ook.stack.pop : ""
  Ook.stack.last << s + l
  self
end

#ookObject



3
4
5
# File 'lib/inline-ook.rb', line 3

def ook
  :ook
end

#Ook(a = nil) ⇒ Object



32
# File 'lib/inline-ook.rb', line 32

def Ook (a = nil); instance_ook(".", a); end

#Ook!(a = nil) ⇒ Object



33
# File 'lib/inline-ook.rb', line 33

def Ook!(a = nil); instance_ook("!", a); end

#Ook?(a = nil) ⇒ Boolean

Returns:

  • (Boolean)


34
# File 'lib/inline-ook.rb', line 34

def Ook?(a = nil); instance_ook("?", a); end