class Eco::API::UseCases::DefaultCases::SetDefaultTagCase
Public Instance Methods
main(people, session, options, usecase)
click to toggle source
take the deepest tag (the one that is further down in the tree) different options (several nodes at the same depth):
> take the common node between them (i.e. you have Hamilton and Auckland -> take New Zealand)¶ ↑
> if there's no common node between them, take the `first` (unless they are at top level of the tree)¶ ↑
# File lib/eco/api/usecases/default_cases/set_default_tag_case.rb, line 9 def main(people, session, options, usecase) micro = session.micro tagtree_present!(session) users = users_present!(people, session) update = session.new_job("main", "update", :update, usecase, :account) users.each do |person| micro.refresh_default_tag(nil, person, options) update.add(person) end end
Private Instance Methods
tagtree_present!(session)
click to toggle source
# File lib/eco/api/usecases/default_cases/set_default_tag_case.rb, line 23 def tagtree_present!(session) if !session.tagtree msg = "There is no tagtree definition in the configuration files\n" + "For this usecase to work out you need to define it." session.logger.fatal(msg) raise msg end end
users_present!(people, session)
click to toggle source
# File lib/eco/api/usecases/default_cases/set_default_tag_case.rb, line 32 def users_present!(people, session) people.users.tap do |users| unless users.length > 0 session.logger.info(msg = "There are no people with account... aborting script") raise msg end end end