Module: Audiences
- Includes:
- ActiveSupport::Configurable
- Defined in:
- lib/audiences.rb,
lib/audiences/scim.rb,
lib/audiences/model.rb,
lib/audiences/engine.rb,
lib/audiences/version.rb,
app/models/audiences/group.rb,
lib/audiences/configuration.rb,
lib/audiences/editor_helper.rb,
lib/audiences/notifications.rb,
lib/audiences/scim/patch_op.rb,
app/models/audiences/context.rb,
lib/audiences/scim/scim_data.rb,
app/models/audiences/criterion.rb,
app/models/audiences/membership.rb,
lib/audiences/scim/field_mapping.rb,
lib/audiences/scim/observer_base.rb,
app/models/audiences/users_search.rb,
app/models/audiences/external_user.rb,
app/models/audiences/criterion_group.rb,
app/models/audiences/context/locating.rb,
app/models/audiences/group_membership.rb,
app/events/audiences/application_event.rb,
app/models/audiences/application_record.rb,
app/models/audiences/context_extra_user.rb,
lib/audiences/scim/patch_users_observer.rb,
lib/audiences/scim/patch_groups_observer.rb,
lib/audiences/scim/upsert_users_observer.rb,
lib/audiences/scim/upsert_groups_observer.rb,
app/controllers/audiences/contexts_controller.rb,
app/events/audiences/persisted_resource_event.rb,
app/models/concerns/audiences/membership_group.rb,
app/controllers/audiences/scim_proxy_controller.rb,
app/controllers/audiences/application_controller.rb
Overview
Audiences system Audiences pushes notifications to your rails app when a SCIM backend updates a user, notifying matching audiences.
Defined Under Namespace
Modules: EditorHelper, MembershipGroup, Model, Notifications, Scim Classes: ApplicationController, ApplicationEvent, ApplicationRecord, Context, ContextExtraUser, ContextsController, Criterion, CriterionGroup, Engine, ExternalUser, Group, GroupMembership, Membership, PersistedResourceEvent, ScimProxyController, UsersSearch
Constant Summary collapse
- VERSION =
"2.0.1"- DEFAULT_TERRITORY_ABBREVIATIONS =
{ "Philadelphia" => "PHL", "New Jersey" => "NJ", "Maryland" => "MD", "Connecticut" => "CT", "Long Island" => "LI", "Boston" => "BOS", "Atlanta" => "ATL", "Chicago" => "CHI", "Detroit" => "DET", "Houston" => "HOU", "Dallas" => "DAL", "Denver" => "DEN", "Tampa" => "TPA", "Austin" => "AUS", "Charlotte" => "CLT", "Nashville" => "NSH", "Phoenix" => "PHX", "Pittsburgh" => "PIT", "San Antonio" => "SAO", "Fort Lauderdale" => "FLL", "Las Vegas" => "LVS", "Orlando" => "ORL", "Cincinnati" => "CIN", "Columbus" => "CLB", "Jacksonville" => "JAX", "Oklahoma City" => "OKC", "Raleigh" => "RLD", "Cleveland" => "CLE" }.freeze
Class Method Summary collapse
-
.update(key, criteria: [], extra_users: [], match_all: false) ⇒ Object
Updates the given context.
Class Method Details
.update(key, criteria: [], extra_users: [], match_all: false) ⇒ Object
Updates the given context
Params might contain:
match_all: Boolean criteria: { groups: Array<{ <group_type>: Array<{ id: Integer }> }> }
28 29 30 31 32 33 34 35 36 |
# File 'lib/audiences.rb', line 28 def update(key, criteria: [], extra_users: [], match_all: false) Audiences::Context.load(key) do |context| context.update!( match_all: match_all, extra_users: ::Audiences::ExternalUser.from_scim(*extra_users.map(&:with_indifferent_access)), criteria: ::Audiences::Criterion.map(criteria.map(&:with_indifferent_access)) ) end end |