Class: GroupActionLogger

Inherits:
Object
  • Object
show all
Defined in:
app/services/group_action_logger.rb

Instance Method Summary collapse

Constructor Details

#initialize(acting_user, group) ⇒ GroupActionLogger

Returns a new instance of GroupActionLogger.



4
5
6
7
# File 'app/services/group_action_logger.rb', line 4

def initialize(acting_user, group)
  @acting_user = acting_user
  @group = group
end

Instance Method Details

#log_add_user_to_group(target_user, subject = nil) ⇒ Object



27
28
29
30
31
32
33
34
35
# File 'app/services/group_action_logger.rb', line 27

def log_add_user_to_group(target_user, subject = nil)
  GroupHistory.create!(
    default_params.merge(
      action: GroupHistory.actions[:add_user_to_group],
      target_user: target_user,
      subject: subject,
    ),
  )
end

#log_change_group_settingsObject



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'app/services/group_action_logger.rb', line 47

def log_change_group_settings
  @group
    .previous_changes
    .except(*excluded_attributes)
    .each do |attribute_name, value|
      next if value[0].blank? && value[1].blank?

      GroupHistory.create!(
        default_params.merge(
          action: GroupHistory.actions[:change_group_setting],
          subject: attribute_name,
          prev_value: value[0],
          new_value: value[1],
        ),
      )
    end
end

#log_make_user_group_owner(target_user) ⇒ Object



9
10
11
12
13
14
15
16
# File 'app/services/group_action_logger.rb', line 9

def log_make_user_group_owner(target_user)
  GroupHistory.create!(
    default_params.merge(
      action: GroupHistory.actions[:make_user_group_owner],
      target_user: target_user,
    ),
  )
end

#log_remove_user_as_group_owner(target_user) ⇒ Object



18
19
20
21
22
23
24
25
# File 'app/services/group_action_logger.rb', line 18

def log_remove_user_as_group_owner(target_user)
  GroupHistory.create!(
    default_params.merge(
      action: GroupHistory.actions[:remove_user_as_group_owner],
      target_user: target_user,
    ),
  )
end

#log_remove_user_from_group(target_user, subject = nil) ⇒ Object



37
38
39
40
41
42
43
44
45
# File 'app/services/group_action_logger.rb', line 37

def log_remove_user_from_group(target_user, subject = nil)
  GroupHistory.create!(
    default_params.merge(
      action: GroupHistory.actions[:remove_user_from_group],
      target_user: target_user,
      subject: subject,
    ),
  )
end