Class: AeUsersMigrator::Import::Dumpfile

Inherits:
Object
  • Object
show all
Defined in:
lib/ae_users_migrator/import.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeDumpfile

Returns a new instance of Dumpfile.



81
82
83
84
# File 'lib/ae_users_migrator/import.rb', line 81

def initialize
  @people = {}
  @roles = {}
end

Instance Attribute Details

#peopleObject (readonly)

Returns the value of attribute people.



78
79
80
# File 'lib/ae_users_migrator/import.rb', line 78

def people
  @people
end

#rolesObject (readonly)

Returns the value of attribute roles.



79
80
81
# File 'lib/ae_users_migrator/import.rb', line 79

def roles
  @roles
end

Class Method Details

.load(file) ⇒ Object



86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/ae_users_migrator/import.rb', line 86

def self.load(file)
  json = JSON.load(file)
  df = Dumpfile.new
  
  json.each do |item|
    p = if item["person"]
      Person.new(item["person"])
    else
      Person.new(item)
    end
    
    df.people[p.id] = p
  end
  
  df.people.each do |id, person|
    person.roles.each do |role|
      df.roles[role.id] ||= role
      df.roles[role.id].people << person
    end
  end
  
  return df
end