module BetterHelpers::Base::ClassMethods

Public Class Methods

extended(base) click to toggle source
# File lib/better_helpers/base.rb, line 9
def self.extended base
  @@BetterHelpersMasterHelper ||= Class.new
end

Public Instance Methods

better_helpers(namespace = nil, &block) click to toggle source
# File lib/better_helpers/base.rb, line 13
def better_helpers namespace = nil, &block
  helper_class = Class.new(&block)
  helper_class.class_eval do
    include BetterHelpers::Railties::RequestContext
  end

  namespace ||= self.to_s.underscore
  names = namespace.to_s.split("/")
  name = names.shift

  hash = NamespaceToHash.new(helper_class, names).perform
  value = HashHierarchyToClass.new(hash, @@BetterHelpersMasterHelper).apply

  self.send(:define_method, name) { value }
end