Sha256: 7e338cade74393b7be6b32ba79f8cf49b72f47b764884d129329ff23428d0842

Contents?: true

Size: 811 Bytes

Versions: 2

Compression:

Stored size: 811 Bytes

Contents

# frozen_string_literal: true

module Lino
  module Options
    def with_option(option, value, separator: nil, quoting: nil)
      return self if missing?(value)

      with(options: @options.add(
        {
          components: [option, value],
          separator: separator,
          quoting: quoting
        }
      ))
    end

    def with_repeated_option(option, values, separator: nil, quoting: nil)
      values.inject(self) do |s, value|
        s.with_option(option, value, separator: separator, quoting: quoting)
      end
    end

    def with_flag(flag)
      return self if missing?(flag)

      with(options: @options.add({ components: [flag] }))
    end

    def with_flags(flags)
      return self if missing?(flags)

      flags.inject(self) { |s, flag| s.with_flag(flag) }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lino-2.2.0.pre.3 lib/lino/options.rb
lino-2.2.0.pre.2 lib/lino/options.rb