Sha256: 06a70a8b3aeeb4463991ca6ff4b5f8c75a2dec1f2e26e4161b5f515c6dbfcae7

Contents?: true

Size: 1.1 KB

Versions: 3

Compression:

Stored size: 1.1 KB

Contents

require 'squealer'

import('localhost', 27017, 'development')
export('localhost', 'root', '', 'reporting_export')

import.collection("users").find({}).each do |user|
  target(:user, user._id) do  # insert or update on user where id is primary key column name
    assign(:name) { user.first_name + " " + user.last_name.upcase }
    assign(:dob) { user.dob }

    user.activities.each do |activity|
      target(:activity, activity._id) do
        assign(:user_id) { user._id }
        assign(:name) { activity.name }
      end

      activity.tasks.each do |task|
        target(:task, task._id) do
          assign(:user_id) { user._id }
          assign(:activity_id) { activity._id }
          assign(:date) { task.date }
        end
      end #activity.tasks
    end #user.activities
  end
end #collection("users")

import.collection("organization").find({}).each do |organization|
  if organization.disabled
    import.collection("users").find({ :organization_id => organization.id }) do |user|
      target(:user, user.id) do
        assign(:disabled) { true }
      end
    end
  else
    # something else
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
squealer-1.0.2 lib/example_squeal.rb
squealer-1.0.1 lib/example_squeal.rb
squealer-1.0.0 lib/example_squeal.rb