class Gotta::Mod::ModBuilder

Attributes

description[R]
name[R]
version[R]

Public Class Methods

mod(name, &block) click to toggle source
# File lib/gotta/mod/mod_builder.rb, line 7
def self.mod(name, &block)
  new(name: name, &block)
end
new(name:, &block) click to toggle source
# File lib/gotta/mod/mod_builder.rb, line 15
def initialize(name:, &block)
  @name = name
  instance_eval(&block)
  Mod.hub.loaded_mods << name
  puts "Mod '#{name}' registered."
end

Public Instance Methods

depends_on(mod_name) click to toggle source
# File lib/gotta/mod/mod_builder.rb, line 30
def depends_on(mod_name)
  Mod.hub.add_dependency({self.name => mod_name})
end
on(type, &block) click to toggle source
# File lib/gotta/mod/mod_builder.rb, line 34
def on(type, &block)
  Mod.hub.register_mod(
    mod_name: name,
    path: @filter,
    on: type,
    &block
  )
end
watch(filter, &block) click to toggle source
# File lib/gotta/mod/mod_builder.rb, line 43
def watch(filter, &block)
  @filter = filter
  instance_eval &block
end