29 lines
615 B
Ruby
29 lines
615 B
Ruby
require 'travis/api/app'
|
|
|
|
class Travis::Api::App
|
|
module Extensions
|
|
# Allows writing
|
|
#
|
|
# helpers :some_helper
|
|
#
|
|
# Instead of
|
|
#
|
|
# helpers Travis::Api::App::Helpers::SomeHelper
|
|
module SmartConstants
|
|
def helpers(*list, &block)
|
|
super(*resolve_constants(list, Helpers), &block)
|
|
end
|
|
|
|
def register(*list, &block)
|
|
super(*resolve_constants(list, Extensions), &block)
|
|
end
|
|
|
|
private
|
|
|
|
def resolve_constants(list, namespace)
|
|
list.map { |e| Symbol === e ? namespace.const_get(e.to_s.camelize) : e }
|
|
end
|
|
end
|
|
end
|
|
end
|