class BetterHelpers::NamespaceToHash

Public Class Methods

new(helper_class, names) click to toggle source
# File lib/better_helpers/namespace_to_hash.rb, line 3
def initialize helper_class, names
  @helper_class = helper_class
  @names = names.clone
end

Public Instance Methods

perform() click to toggle source
# File lib/better_helpers/namespace_to_hash.rb, line 8
def perform
  generate_hash @names.shift, @names, {}
end

Private Instance Methods

generate_hash(name, names, hash) click to toggle source
# File lib/better_helpers/namespace_to_hash.rb, line 13
def generate_hash name, names, hash
  if names.empty?
    hash[name] = @helper_class.new

  else
    hash[name] = {}
    generate_hash(names.shift, names, hash[name])
  end

  hash
end