FUTURE MEDIA LAB
ENGINEERING
LIGHTNING
TALKS
James Moriarty
Call Graphs
The “Call”
class A
def self.z
B.y
end
end
class B
def self.y
puts "hello world"
end
end
A.z # => "hello world"
“message passing is a
technique for invoking
behavior”
A -- y -> B
● A is the sender
● B is the receiver
● y is the message
The “Graph”
“a set of vertices and edges”
The “Call Graph”
class A
def self.x
B.new.y
end
end
class B
def y
1 + C.z do 1 end
end
end
class C
def self.z
yield
end
end
Things to look for
Universal Vertices
Directed Cyclic Graphs
Directed Acyclic Graphs
module Poto
module FileRepository
module AWS
class S3
def all(prefix:, page:, per_page:)
objects = client.objects(
page: page,
per_page: per_page,
prefix: prefix
)
FileCollectionMapper.new(objects).call
end
end
end
end
end
github.com/jamesmoriarty/call-graph

Lightning Talk - Call Graphs