module Riddle class Configuration class SQLSource < Riddle::Configuration::Source def self.settings [ :type, :sql_host, :sql_user, :sql_pass, :sql_db, :sql_port, :sql_sock, :mysql_connect_flags, :mysql_ssl_cert, :mysql_ssl_key, :mysql_ssl_ca, :odbc_dsn, :sql_query_pre, :sql_query, :sql_joined_field, :sql_file_field, :sql_query_range, :sql_range_step, :sql_query_killlist, :sql_attr_uint, :sql_attr_bool, :sql_attr_bigint, :sql_attr_timestamp, :sql_attr_str2ordinal, :sql_attr_float, :sql_attr_multi, :sql_attr_string, :sql_attr_str2wordcount, :sql_attr_json, :sql_column_buffers, :sql_field_string, :sql_field_str2wordcount, :sql_query_post, :sql_query_post_index, :sql_ranged_throttle, :sql_query_info, :mssql_winauth, :mssql_unicode, :unpack_zlib, :unpack_mysqlcompress, :unpack_mysqlcompress_maxsize ] end attr_accessor *self.settings def initialize(name, type) @name = name @type = type @sql_query_pre = [] @sql_joined_field = [] @sql_file_field = [] @sql_attr_uint = [] @sql_attr_bool = [] @sql_attr_bigint = [] @sql_attr_timestamp = [] @sql_attr_str2ordinal = [] @sql_attr_float = [] @sql_attr_multi = [] @sql_attr_string = [] @sql_attr_str2wordcount = [] @sql_attr_json = [] @sql_field_string = [] @sql_field_str2wordcount = [] @sql_query_post = [] @sql_query_post_index = [] @unpack_zlib = [] @unpack_mysqlcompress = [] end def valid? super && (!( @sql_host.nil? || @sql_user.nil? || @sql_db.nil? || @sql_query.nil? ) || !@parent.nil?) end end end end