Sha256: 6c18c513bfc3578ff7d221a11f33158a1480c29b843187f7fddcf18dd626bf53

Contents?: true

Size: 686 Bytes

Versions: 8

Compression:

Stored size: 686 Bytes

Contents

module Torque
  module PostgreSQL
    module Collector

      def self.new(*args)
        klass = Class.new

        args.flatten!
        args.compact!

        klass.module_eval do
          args.each do |attribute|
            define_method attribute do |*args|
              if args.empty?
                instance_variable_get("@#{attribute}")
              elsif args.size > 1
                instance_variable_set("@#{attribute}", args)
              else
                instance_variable_set("@#{attribute}", args.first)
              end
            end
            alias_method "#{attribute}=", attribute
          end
        end

        klass
      end

    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
torque-postgresql-0.1.7 lib/torque/postgresql/collector.rb
torque-postgresql-0.1.6 lib/torque/postgresql/collector.rb
torque-postgresql-0.1.5 lib/torque/postgresql/collector.rb
torque-postgresql-0.1.4 lib/torque/postgresql/collector.rb
torque-postgresql-0.1.3 lib/torque/postgresql/collector.rb
torque-postgresql-0.1.2 lib/torque/postgresql/collector.rb
torque-postgresql-0.1.1 lib/torque/postgresql/collector.rb
torque-postgresql-0.1.0 lib/torque/postgresql/collector.rb