Module: Knock::Preferences

Extended by:
Base, Client
Defined in:
lib/knock/preferences.rb

Overview

Provides convienience methods for working with preferences (deprecated)

Instance Attribute Summary

Attributes included from Base

#key

Class Method Summary collapse

Methods included from Client

client, delete_request, execute_request, get_request, handle_error_response, post_request, put_request, user_agent

Class Method Details

.get(user_id:, preference_set:) ⇒ Hash

Deprecated.

Please use Knock::Preferences#Knock#Knock::Users#Knock::Users.get_preferences instead

Gets a single preference set, defaults to the 'default' set for the user given.

Parameters:

  • user_id (String)

    The ID of the user to retrieve preferences for

  • preference_set (String)

    The preference set ID (defaults to `default`)

Returns:

  • (Hash)

    The preference set (if it exists)



29
30
31
# File 'lib/knock/preferences.rb', line 29

def get(user_id:, preference_set:)
  Knock::Users.get_preferences(user_id: user_id, preference_set: preference_set)
end

.get_all(user_id:) ⇒ Hash

Deprecated.

Please use Knock::Preferences#Knock#Knock::Users#Knock::Users.get_all_preferences instead

Returns all preference sets for the user

Parameters:

  • user_id (String)

    The ID of the user to retrieve preferences for

Returns:

  • (Hash)

    The preference sets



17
18
19
# File 'lib/knock/preferences.rb', line 17

def get_all(user_id:)
  Knock::Users.get_all_preferences(user_id: user_id)
end

.set_category(user_id:, category:, setting:, preference_set:) ⇒ Hash

Deprecated.

Please use Knock::Preferences#Knock#Knock::Users#Knock::Users.set_category_preferences instead

Sets preferences for the given category

Parameters:

  • user_id (String)

    The ID of the user to set preferences for

  • preference_set (String)

    The preference set ID (defaults to `default`)

  • category (String)

    The category to set preferences for

  • setting (Bool | Hash)

    Either a boolean to indicate if the type is enabled or a hash containing channel types and settings

Returns:

  • (Hash)

    The preference set



103
104
105
106
107
108
109
110
# File 'lib/knock/preferences.rb', line 103

def set_category(user_id:, category:, setting:, preference_set:)
  Knock::Users.set_category_preferences(
    user_id: user_id,
    category: category,
    setting: setting,
    preference_set: preference_set
  )
end

.set_channel_type(user_id:, channel_type:, setting:, preference_set:) ⇒ Hash

Deprecated.

Please use Knock::Preferences#Knock#Knock::Users#Knock::Users.set_channel_type_preferences instead

Sets preferences for the given channel type

Parameters:

  • user_id (String)

    The ID of the user to set preferences for

  • preference_set (String)

    The preference set ID (defaults to `default`)

  • channel_type (String)

    The channel type to set

  • setting (Bool)

    Whether the channel type is enabled or not

Returns:

  • (Hash)

    The preference set



65
66
67
68
69
70
71
72
# File 'lib/knock/preferences.rb', line 65

def set_channel_type(user_id:, channel_type:, setting:, preference_set:)
  Knock::Users.set_channel_type_preferences(
    user_id: user_id,
    channel_type: channel_type,
    setting: setting,
    preference_set: preference_set
  )
end

.set_workflow(user_id:, workflow:, setting:, preference_set:) ⇒ Hash

Deprecated.

Please use Knock::Preferences#Knock#Knock::Users#Knock::Users.set_workflow_preferences instead

Sets preferences for the given workflow

Parameters:

  • user_id (String)

    The ID of the user to set preferences for

  • preference_set (String)

    The preference set ID (defaults to `default`)

  • workflow (String)

    The workflow to set preferences for

  • setting (Bool | Hash)

    Either a boolean to indicate if the type is enabled or a hash containing channel types and settings

Returns:

  • (Hash)

    The preference set



84
85
86
87
88
89
90
91
# File 'lib/knock/preferences.rb', line 84

def set_workflow(user_id:, workflow:, setting:, preference_set:)
  Knock::Users.set_workflow_preferences(
    user_id: user_id,
    workflow: workflow,
    setting: setting,
    preference_set: preference_set
  )
end

.update(user_id:, preference_set:, channel_types: nil, workflows: nil, categories: nil) ⇒ Object

Deprecated.

Please use Knock::Preferences#Knock#Knock::Users#Knock::Users.set_preferences instead

Sets multiple preferences at once for the preference set.

 @return [Hash] The preference set

Parameters:

  • user_id (String)

    The ID of the user to set preferences for

  • preference_set (String)

    The preference set ID (defaults to `default`)

  • preferences (Hash)

    The preferences hash to set



41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/knock/preferences.rb', line 41

def update(
  user_id:,
  preference_set:, channel_types: nil,
  workflows: nil,
  categories: nil
)
  Knock::Users.set_preferences(
    user_id: user_id,
    channel_types: channel_types,
    workflows: workflows,
    categories: categories,
    preference_set: preference_set
  )
end