Sha256: 9ed1e2f403bd2592ae8a451f0f6b8da3519d8d279aabb79b1a5cf09f632e866f

Contents?: true

Size: 563 Bytes

Versions: 5

Compression:

Stored size: 563 Bytes

Contents

module Mysql
  class Context
    MANDATORY_OPTS = [
      :database, :tables, :tag, :sync_fm, :omit_events, :table_meta
    ]
    OPTIONAL_OPTS = [
      :current_binlog_file
    ]

    (MANDATORY_OPTS + OPTIONAL_OPTS).each do |opt|
      attr_accessor opt
    end

    def initialize(opts)
      missing_opts = MANDATORY_OPTS - opts.keys
      unless (missing_opts.empty?)
        raise "Mandatory option(s) are missing: #{missing_opts.join(', ')}"
      end

      opts.each do |k, v|
        self.instance_variable_set(:"@#{k}", v)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
flydata-0.2.25 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.24 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.23 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.22 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.21 lib/flydata/fluent-plugins/mysql/context.rb