Sha256: 833f83a2c4c2b85f5d509d70059cb9c54517f55709654aaa46c96845e4ae981b

Contents?: true

Size: 783 Bytes

Versions: 4

Compression:

Stored size: 783 Bytes

Contents

require 'active_record'

module AeUsersMigrator
  module Export
    class Account < ActiveRecord::Base
      belongs_to :person
    end

    class EmailAddress < ActiveRecord::Base
      belongs_to :person
    end

    class OpenIdIdentity < ActiveRecord::Base
      belongs_to :person
    end

    class Person < ActiveRecord::Base
      has_many :email_addresses
      has_one :account
      has_many :open_id_identities
      has_and_belongs_to_many :roles

      def as_json(options = {})
        json = super(options)

        %w{email_addresses account open_id_identities roles}.each do |assn|
          json[assn] = self.send(assn).as_json
        end

        json
      end
    end

    class Role < ActiveRecord::Base
      has_and_belongs_to_many :people
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ae_users_migrator-1.0.3 lib/ae_users_migrator/export.rb
ae_users_migrator-1.0.2 lib/ae_users_migrator/export.rb
ae_users_migrator-1.0.1 lib/ae_users_migrator/export.rb
ae_users_migrator-1.0.0 lib/ae_users_migrator/export.rb