Sha256: 7909bc22c758b32f3e6e55046a63bdcbfbbbfd81198637d0f29dad0797bd7ef0

Contents?: true

Size: 1.46 KB

Versions: 56

Compression:

Stored size: 1.46 KB

Contents

# encoding: utf-8
require 'fedux_org_stdlib/logic_converters/exceptions'

require 'fedux_org_stdlib/logic_converters/on_off_converter'
require 'fedux_org_stdlib/logic_converters/true_false_converter'
require 'fedux_org_stdlib/logic_converters/yes_no_converter'
require 'fedux_org_stdlib/logic_converters/y_n_converter'

module FeduxOrgStdlib
  module LogicConverters
    # Generic converter which passes arguments to other converters, e.g.
    # true/false, yes/no, on/off, y/n-converters
    class LogicConverter
      # @param [String, Symbol] type (true_false, yes_no, on_off)
      #   choose the type of converter which should be used
      def initialize(type)
        @converter = case type.to_s
                     when 'true_false'
                       TrueFalseConverter.new
                     when 'yes_no'
                       YesNoConverter.new
                     when 'on_off'
                       OnOffConverter.new
                     when 'y_n'
                       YNConverter.new
                     else
                       fail FeduxOrgStdlib::LogicConverters::Exceptions::InvalidType, "Unknown type \"#{type}\" for logic converter. Valid types are \"true_false\", \"yes_no\" or \"on_off\"."
                     end
      end

      # @param [true,false] value
      #   the logic value which should be converted
      # @return [String]
      #   the converted value
      def parse(value)
        @converter.parse(value)
      end
    end
  end
end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
fedux_org-stdlib-0.11.18 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.17 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.16 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.15 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.14 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.12 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.11 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.9 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.8 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.7 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.6 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.5 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.4 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.3 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.2 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.1 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.11.0 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.10.9 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.10.8 lib/fedux_org_stdlib/logic_converters/logic_converter.rb
fedux_org-stdlib-0.10.7 lib/fedux_org_stdlib/logic_converters/logic_converter.rb