Sha256: adc0476a05e770900fdd42aa03f2f707193da3459f0573eea108eb380446ef3e

Contents?: true

Size: 820 Bytes

Versions: 90

Compression:

Stored size: 820 Bytes

Contents

module RockRMS
  class Client
    module Group
      def list_groups(options = {})
        Response::Group.format(get(group_path, options))
      end

      def find_group(id)
        Response::Group.format(get(group_path(id)))
      end

      def list_groups_for_person(person_id, options = {})
        opts = options.dup
        opts['$filter'] = Array(opts['$filter'])
          .push("Members/any(m: m/PersonId eq #{person_id})")
          .join(' and ')
        opts['$expand'] ||= 'Members'

        list_groups(opts)
      end

      def list_families_for_person(person_id, options = {})
        Response::Group.format(
          get("Groups/GetFamilies/#{person_id}", options)
        )
      end

      private

      def group_path(id = nil)
        id ? "Groups/#{id}" : 'Groups'
      end
    end
  end
end

Version data entries

90 entries across 90 versions & 1 rubygems

Version Path
rock_rms-8.5.0 lib/rock_rms/resources/group.rb
rock_rms-8.4.0 lib/rock_rms/resources/group.rb
rock_rms-8.3.0 lib/rock_rms/resources/group.rb
rock_rms-8.2.1 lib/rock_rms/resources/group.rb
rock_rms-8.2.0 lib/rock_rms/resources/group.rb
rock_rms-8.1.0 lib/rock_rms/resources/group.rb
rock_rms-8.0.0 lib/rock_rms/resources/group.rb
rock_rms-7.4.0 lib/rock_rms/resources/group.rb
rock_rms-7.3.0 lib/rock_rms/resources/group.rb
rock_rms-7.2.0 lib/rock_rms/resources/group.rb
rock_rms-7.1.2 lib/rock_rms/resources/group.rb
rock_rms-7.1.1 lib/rock_rms/resources/group.rb
rock_rms-7.1.0 lib/rock_rms/resources/group.rb
rock_rms-7.0.3 lib/rock_rms/resources/group.rb
rock_rms-7.0.2 lib/rock_rms/resources/group.rb
rock_rms-7.0.1 lib/rock_rms/resources/group.rb
rock_rms-7.0.0 lib/rock_rms/resources/group.rb
rock_rms-6.2.0 lib/rock_rms/resources/group.rb
rock_rms-6.1.0 lib/rock_rms/resources/group.rb
rock_rms-6.0.8 lib/rock_rms/resources/group.rb