class PactBroker::Config::Setting
Public Class Methods
Source
# File lib/pact_broker/config/setting.rb, line 51 def self.get_db_type(object) case object when true, false "boolean" when String, nil "string" when SpaceDelimitedStringList "space_delimited_string_list" when Array, Hash "json" when Integer "integer" when Float "float" when Symbol "symbol" else nil end end
rubocop: disable Metrics/CyclomaticComplexity
Source
# File lib/pact_broker/config/setting.rb, line 33 def self.get_db_value(object) case object when String, Integer, Float, NilClass object when TrueClass "1" when FalseClass "0" when SpaceDelimitedStringList, Symbol object.to_s when Array, Hash object.to_json else nil end end
rubocop: enable Metrics/CyclomaticComplexity
Public Instance Methods
Source
# File lib/pact_broker/config/setting.rb, line 6 def set_value_from(object) self.type = Setting.get_db_type(object) self.value = Setting.get_db_value(object) self end
Source
# File lib/pact_broker/config/setting.rb, line 13 def value_object case type when "json" JSON.parse(value, symbolize_names: true) when "string" value when "symbol" value.to_sym when "integer" Integer(value) when "float" Float(value) when "space_delimited_string_list" SpaceDelimitedStringList.parse(value) when "boolean" value == "1" end end
rubocop: disable Metrics/CyclomaticComplexity