Sha256: ecbf5cb8aa2ca0a8b0626ba598d3a1c0b5b18dd6de68be3bd3e1189c830369d7

Contents?: true

Size: 550 Bytes

Versions: 18

Compression:

Stored size: 550 Bytes

Contents

module Mysql
  class Context
    MANDATORY_OPTS = [
      :database, :tables, :tag, :sync_fm, :omit_events
    ]
    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

18 entries across 18 versions & 1 rubygems

Version Path
flydata-0.2.20 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.19 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.18 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.17 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.16 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.15 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.13 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.12 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.11 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.10 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.9 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.8 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.7 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.6 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.5 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.4 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.3 lib/flydata/fluent-plugins/mysql/context.rb
flydata-0.2.2 lib/flydata/fluent-plugins/mysql/context.rb