Module: Eco::API::MicroCases::People::Manage::Cache

Included in:
Eco::API::MicroCases::People::Manage
Defined in:
lib/eco/api/microcases/people/manage/cache.rb

Instance Method Summary collapse

Instance Method Details

#people_cache(filename = enviro.config.people.cache) ⇒ Eco::API::Organization::People

Helper to locally cache the people manager.

Parameters:

  • filename (String) (defaults to: enviro.config.people.cache)

    the name of the file where the data should be cached.

Returns:



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/eco/api/microcases/people/manage/cache.rb', line 10

def people_cache(filename = enviro.config.people.cache)
  log(:info) { 'Going to get all the people via API' }

  start   = Time.now
  people  = session.batch.get_people
  secs    = (Time.now - start).round(3)
  cnt     = people.count
  per_sec = (cnt.to_f / secs).round(2)

  log(:info) {
    "Loaded #{cnt} people in #{secs} seconds (#{per_sec} people/sec)"
  }

  file = file_manager.save_json(people, filename, :timestamp)

  log(:info) {
    "#{people.length} people loaded and saved locally to #{file}."
  }

  Eco::API::Organization::People.new(people)
end