module Lino::Utilities
Public Instance Methods
empty?(value)
click to toggle source
# File lib/lino/utilities.rb, line 29 def empty?(value) value.respond_to?(:empty?) && value.empty? end
join_with(global_separator)
click to toggle source
# File lib/lino/utilities.rb, line 11 def join_with(global_separator) lambda do |item| item[:components].join(item[:separator] || global_separator) end end
map_and_join(collection, &block)
click to toggle source
# File lib/lino/utilities.rb, line 7 def map_and_join(collection, &block) collection.map { |item| block.call(item) }.join(' ') end
nil?(value)
click to toggle source
# File lib/lino/utilities.rb, line 25 def nil?(value) value.nil? end
nil_or_empty?(value)
click to toggle source
# File lib/lino/utilities.rb, line 33 def nil_or_empty?(value) nil?(value) || empty?(value) end
quote_with(global_character)
click to toggle source
# File lib/lino/utilities.rb, line 17 def quote_with(global_character) lambda do |item| item.merge( components: resolve_components(item, global_character) ) end end
Private Instance Methods
or_nil(enumerable, key)
click to toggle source
# File lib/lino/utilities.rb, line 53 def or_nil(enumerable, key) enumerable.include?(key) ? enumerable[key] : nil end
or_nth(enumerable, key, index)
click to toggle source
# File lib/lino/utilities.rb, line 57 def or_nth(enumerable, key, index) enumerable.include?(key) ? enumerable[key] : enumerable[index] end
resolve_components(item, global_character)
click to toggle source
# File lib/lino/utilities.rb, line 39 def resolve_components(item, global_character) components = item[:components] switch = components[0] if components.count > 1 character = item[:quoting] || global_character value = components[1] [switch, "#{character}#{value}#{character}"] else components end end