Sha256: 244947fd0c3784677c8e5b24a05956f1d4c44d304fd6beeae2f96387e81d885c

Contents?: true

Size: 802 Bytes

Versions: 2

Compression:

Stored size: 802 Bytes

Contents

require 'pp'

module Lino
  module Utilities
    def map_and_join(collection, &block)
      collection.map { |item| block.call(item) }.join(' ')
    end

    def join_with(global_separator)
      lambda do |item|
        item[:components].join(item[:separator] || global_separator)
      end
    end

    def quote_with(global_character)
      lambda do |item|
        character = item[:quoting] || global_character
        components = item[:components]
        switch = components[0]
        value = components[1]

        item.merge(
            components: (components.count > 1) ?
                [switch, "#{character}#{value}#{character}"] :
                components)
      end
    end

    def missing?(value)
      value.nil? || (value.respond_to?(:empty?) && value.empty?)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lino-1.9.0 lib/lino/utilities.rb
lino-1.8.0.pre.2 lib/lino/utilities.rb