module Atelier::LibraryDSL
Public Instance Methods
description(*args)
click to toggle source
# File lib/atelier/library_dsl.rb, line 13 def description(*args) @description ||= '' @description = args.join("\n") unless args.empty? @description end
title(*args)
click to toggle source
# File lib/atelier/library_dsl.rb, line 7 def title(*args) @title ||= '' @title = args.join(' ') unless args.empty? @title end
Private Instance Methods
action(action_name, &block)
click to toggle source
# File lib/atelier/library_dsl.rb, line 38 def action(action_name, &block) @actions ||= {} Application.instance.logger.warn "The method '#{action_name}' is overridden by your provided action" if methods.include?(action_name.to_sym) action = Action.new(action_name, &block) @actions[action_name] = action method(action_name, &action.proc) end
library(lib_name, &block)
click to toggle source
# File lib/atelier/library_dsl.rb, line 25 def library(lib_name, &block) @libraries ||= {} library = Library.new(lib_name, &block) @libraries[lib_name] = library method(lib_name) do |*args| if args.empty? library else library.send(*args) end end end
method(name, &block)
click to toggle source
# File lib/atelier/library_dsl.rb, line 21 def method(name, &block) (class << self; self; end).send(:define_method, name, &block) end