Class: Bricolage::PSQLLoadOptions::Option

Inherits:
Object
  • Object
show all
Defined in:
lib/bricolage/psqldatasource.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, value) ⇒ Option

Returns a new instance of Option.



567
568
569
570
# File 'lib/bricolage/psqldatasource.rb', line 567

def initialize(name, value)
  @name = name
  @value = value
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



572
573
574
# File 'lib/bricolage/psqldatasource.rb', line 572

def name
  @name
end

#valueObject (readonly)

Returns the value of attribute value.



573
574
575
# File 'lib/bricolage/psqldatasource.rb', line 573

def value
  @value
end

Instance Method Details

#to_sObject

Make polymorphic?



576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
# File 'lib/bricolage/psqldatasource.rb', line 576

def to_s
  if @name == 'encoding'   # encoding utf16le
    "#{@name} #{@value}"
  else
    case @value
    when true      # acceptanydate
      @name
    when false     # compupdate false
      "#{@name} false"
    when 'on', 'off'
      "#{@name} #{@value}"
    when String    # json 'auto'
      "#{@name} '#{@value}'"
    when Integer   # maxerror 10
      "#{@name} #{@value}"
    when nil       # (explicitly disable boolean options)
      ''
    else
      raise ParameterError, "unsupported option value type for #{@name}: #{@value.inspect}"
    end
  end
end