Sha256: 19223d35143dab43fdf51c0d28aca8c5c244bc13e1032ddc0f580b5857b35f37

Contents?: true

Size: 648 Bytes

Versions: 5

Compression:

Stored size: 648 Bytes

Contents

module Replication

  class Config

    attr_accessor :model_class, :pairs_method, :strand_class, :except, :only, :options

    def initialize(model_class)
      @model_class = model_class
      @options = {}
    end

    def with(modules)
      modules.each do |m|
        case m
        when Symbol
          model_class.send :include, Replication::Modules.const_get(m.to_s.classify)
        when Hash
          @options.merge!(m)
          with(m.keys)
        # else
          # type not known, ignore
        end
      end
    end

    def set(params)
      params and params.each {|name, value| self.send "#{name}=", value}
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
replication-0.4.1 lib/replication/config.rb
replication-0.4.0 lib/replication/config.rb
replication-0.3.2 lib/replication/config.rb
replication-0.3.1 lib/replication/config.rb
replication-0.3.0 lib/replication/config.rb