module Flatter::Extension
Public Instance Methods
dependencies()
click to toggle source
# File lib/flatter/extension.rb, line 21 def dependencies @dependencies ||= [] end
hook!()
click to toggle source
# File lib/flatter/extension.rb, line 25 def hook! return false if hooked? use_dependencies mapping.extend! mapper.extend! factory.extend! hook_callback! @hooked = true end
hooked?()
click to toggle source
# File lib/flatter/extension.rb, line 54 def hooked? !!@hooked end
Private Instance Methods
depends_on(*extensions)
click to toggle source
# File lib/flatter/extension.rb, line 16 def depends_on(*extensions) dependencies.concat extensions end
factory()
click to toggle source
# File lib/flatter/extension.rb, line 68 def factory @factory ||= Factory.new(self) end
hook_callback!()
click to toggle source
# File lib/flatter/extension.rb, line 44 def hook_callback! instance_exec(&@hook_callback) if @hook_callback.present? end
hooked(&block)
click to toggle source
# File lib/flatter/extension.rb, line 39 def hooked(&block) @hook_callback = block end
mapper()
click to toggle source
# File lib/flatter/extension.rb, line 63 def mapper @mapper ||= Mapper.new(self) end
mapping()
click to toggle source
# File lib/flatter/extension.rb, line 58 def mapping @mapping ||= Mapping.new(self) end
register_as(name)
click to toggle source
# File lib/flatter/extension.rb, line 11 def register_as(name) ::Flatter.extensions[name] = self end
use_dependencies()
click to toggle source
# File lib/flatter/extension.rb, line 49 def use_dependencies dependencies.each{ |extension| ::Flatter.use extension } end