# Calls a hook.
# Returns the listeners response.
def call_hook(hook, context={})
- returning [] do |response|
+ [].tap do |response|
hls = hook_listeners(hook)
if hls.any?
hls.each {|listener| response << listener.send(hook, context)}
def render_menu_node_with_children(node, project=nil)
caption, url, selected = extract_node_details(node, project)
- html = returning [] do |html|
+ html = [].tap do |html|
html << '<li>'
# Parent
html << render_single_menu_node(node, caption, url, selected)
# Standard children
- standard_children_list = returning "" do |child_html|
+ standard_children_list = "".tap do |child_html|
node.children.each do |child|
child_html << render_menu_node(child, project)
end
def render_unattached_children_menu(node, project)
return nil unless node.child_menus
- returning "" do |child_html|
+ "".tap do |child_html|
unattached_children = node.child_menus.call(project)
# Tree nodes support #each so we need to do object detection
if unattached_children.is_a? Array
end
def self.all_modules
- returning [] do |modules|
+ [].tap do |modules|
Redmine::AccessControl.available_project_modules.each do |name|
modules << EnabledModule.new(:name => name.to_s)
end
def each_root_valid?(roots_to_validate)
left = right = 0
roots_to_validate.all? do |root|
- returning(root.left > left && root.right > right) do
+ (root.left > left && root.right > right).tap do
left = root.left
right = root.right
end
# plugin names involved is shorter than 230 characters that one will be
# used. Otherwise a shorter name will be returned.
def build_migration_name
- returning descriptive_migration_name do |name|
+ descriptive_migration_name.tap do |name|
name.replace short_migration_name if name.length > MAX_FILENAME_LENGTH
end
end
email_hash = Digest::MD5.hexdigest(email)
options = DEFAULT_OPTIONS.merge(options)
options[:default] = CGI::escape(options[:default]) unless options[:default].nil?
- returning gravatar_api_url(email_hash, options.delete(:ssl)) do |url|
+ gravatar_api_url(email_hash, options.delete(:ssl)).tap do |url|
opts = []
[:rating, :size, :default].each do |opt|
unless options[opt].nil?