/usr/lib/ruby/vendor_ruby/merb-helpers/text_helpers.rb is in ruby-merb-helpers 1.1.3-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | module Merb::Helpers::Text
# Allows you to cycle through elements in an array
#
# ==== Parameters
# values<Array>:: Array of objects to cycle through
# values<Hash>:: Last element of array can be a hash with the key of
# :name to specify the name of the cycle
#
# ==== Returns
# String
#
# ==== Notes
# * Default name is :default
#
# ==== Example
# <%= 5.times { cycle("odd! ","even! "} %>
#
# Generates:
#
# odd! even! odd! even! odd!
def cycle(*values)
options = extract_options_from_args!(values) || {}
key = (options[:name] || :default).to_sym
(@cycle_positions ||= {})[key] ||= {:position => -1, :values => values}
unless values == @cycle_positions[key][:values]
@cycle_positions[key] = {:position => -1, :values => values}
end
current = @cycle_positions[key][:position]
@cycle_positions[key][:position] = current + 1
values.at( (current + 1) % values.length).to_s
end
# Allows you to reset a cycle
#
# ==== Parameters
# name<Symbol|String>:: Name of the cycle
#
# ==== Returns
# True if successful, otherwise nil
#
# ==== Notes
# * Default name is :default
#
# ==== Example
# <%= cycle("odd! ","even! ","what comes after even?") %>
# <%= cycle("odd! ","even! ","what comes after even?") %>
# <% reset_cycle %>
# <%= cycle("odd! ","even! ","what comes after even?") %>
#
# Generates:
#
# odd! even! odd!
def reset_cycle(name = :default)
(@cycle_positions[name.to_sym] = nil) &&
true if @cycle_positions && @cycle_positions[name.to_sym]
end
end
module Merb::GlobalHelpers
include Merb::Helpers::Text
end
|