Sha256: d6f581d93b0d2c0c51d97d97d1ce63c11535e0b5499cb3290810ca18299a72d2

Contents?: true

Size: 1.68 KB

Versions: 189

Compression:

Stored size: 1.68 KB

Contents

module Spaceship
  module Portal
    class Persons < PortalBase
      class << self
        def all
          members = client.team_members
          all_members = []
          member = factory_member(members["members"], "member")
          admins = factory_member(members["admins"], "admin")
          agent  = factory_member(members["agent"], "agent")

          all_members.concat(member)
          all_members.concat(admins)
          all_members << agent

          return all_members
        end

        def invited
          return factory_invite(client.team_invited["invites"])
        end

        def factory_invite(invitees)
          if invitees.kind_of?(Hash)
            return Spaceship::Portal::Invite.factory(invitees)
          end
          final_invitees = []
          invitees.each do |invitee|
            final_invitees << Spaceship::Portal::Invite.factory(invitee)
          end
          return final_invitees
        end

        def factory_member(members, type)
          if members.kind_of?(Hash)
            attrs = members
            attrs[:type] = type
            return Spaceship::Portal::Person.factory(attrs)
          end
          final_members = []
          members.each do |member|
            attrs = member
            attrs[:type] = type
            final_members << Spaceship::Portal::Person.factory(attrs)
          end
          return final_members
        end

        def find(email)
          all.each do |member|
            if member.email_address == email
              return member
            end
          end
          return nil
        end

        def invite(email, role)
          client.team_invite(email, role)
        end
      end
    end
  end
end

Version data entries

189 entries across 189 versions & 1 rubygems

Version Path
fastlane-2.74.0.beta.20180106010004 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.73.0 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.73.0.beta.20180105010003 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.73.0.beta.20180104010004 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.73.0.beta.20180103010003 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.72.0 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.72.0.beta.20180102010003 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.72.0.beta.20180101010003 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.72.0.beta.20171231010003 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.71.1 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.72.0.beta.20171230010003 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.72.0.beta.20171229010003 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.72.0.beta.20171228010004 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.71.0 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.71.0.beta.20171227010004 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.71.0.beta.20171226010004 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.71.0.beta.20171225010003 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.71.0.beta.20171224010003 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.71.0.beta.20171223010003 spaceship/lib/spaceship/portal/persons.rb
fastlane-2.71.0.beta.20171222010003 spaceship/lib/spaceship/portal/persons.rb