loggable_activity 0.1.51 → 0.1.53

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -1
  3. data/CHANGELOG.md +8 -1
  4. data/GETTING-STARTED.md +102 -41
  5. data/README.md +3 -0
  6. data/docs/LoggableActivity/Activity.html +44 -16
  7. data/docs/LoggableActivity/Encryption.html +31 -24
  8. data/docs/LoggableActivity/EncryptionKey.html +10 -7
  9. data/docs/LoggableActivity/Hooks.html +19 -19
  10. data/docs/LoggableActivity/Payload.html +7 -7
  11. data/docs/LoggableActivity/PayloadsBuilder.html +75 -22
  12. data/docs/LoggableActivity/UpdatePayloadsBuilder.html +66 -67
  13. data/docs/created.rid +10 -10
  14. data/docs/js/search_index.js +1 -1
  15. data/docs/js/search_index.js.gz +0 -0
  16. data/docs/table_of_contents.html +25 -0
  17. data/lib/generators/.DS_Store +0 -0
  18. data/lib/generators/loggable_activity/.DS_Store +0 -0
  19. data/lib/generators/loggable_activity/install_generator.rb +11 -6
  20. data/lib/generators/loggable_activity/install_templates_generator.rb +42 -0
  21. data/lib/generators/loggable_activity/templates/config/locales/loggable_activity.en.yml +36 -0
  22. data/lib/generators/loggable_activity/templates/helpers/loggable_activity_helper.rb +49 -0
  23. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.erb +23 -0
  24. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.slim +18 -0
  25. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.erb +18 -0
  26. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.slim +17 -0
  27. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.erb +18 -0
  28. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.slim +17 -0
  29. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.erb +18 -0
  30. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.slim +12 -0
  31. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.erb +12 -0
  32. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.slim +11 -0
  33. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.erb +8 -0
  34. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.slim +6 -0
  35. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.erb +17 -0
  36. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.slim +14 -0
  37. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.erb +23 -0
  38. data/lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.slim +21 -0
  39. data/lib/loggable_activity/payloads_builder.rb +18 -3
  40. data/lib/loggable_activity/update_payloads_builder.rb +18 -60
  41. data/lib/loggable_activity/version.rb +1 -1
  42. metadata +41 -16
  43. /data/lib/generators/loggable_activity/templates/{loggable_activity.yml → config/loggable_activity.yml} +0 -0
@@ -0,0 +1,18 @@
1
+ <tr>
2
+ <td>
3
+ <%= render partial: 'loggable_activity/templates/shared/activity_info', locals: { activity: activity } %>
4
+ </td>
5
+ <td>
6
+ <% update_activity_attrs = activity.update_activity_attrs %>
7
+ <% if update_attrs = update_activity_attrs[:update_attrs] %>
8
+ <%= render partial: 'loggable_activity/templates/shared/update_attrs', locals: { update_attrs: update_attrs } %>
9
+ <% end %>
10
+ <% if updated_relations = update_activity_attrs[:updated_relations_attrs] %>
11
+ <br>
12
+ <%= render partial: 'loggable_activity/templates/shared/updated_relations', locals: { updated_relations: updated_relations } %>
13
+ <% end %>
14
+ </td>
15
+ <td>
16
+ <%= link_to 'Delete', demo_activity_log_path(activity), data: { turbo_method: :delete, confirm: 'Are you sure?' }, class: 'btn btn-danger btn-sm' %>
17
+ </td>
18
+ </tr>
@@ -0,0 +1,17 @@
1
+ tr
2
+ td
3
+ = render partial: 'loggable_activity/templates/shared/activity_info', locals: { activity: activity }
4
+ td
5
+ b.text-secondary = primary_type(activity)
6
+ br/
7
+ - activity.primary_payload_attrs.each do |k, v|
8
+ = "<i>#{k}:</i> #{v.blank? ? t('loggable.activity.deleted') : v}".html_safe
9
+ br/
10
+ br/
11
+ - activity.relations_attrs.each do |relation_attrs|
12
+ b.text-secondary = relation_type(relation_attrs)
13
+ br/
14
+ = render partial: 'loggable_activity/templates/shared/list_attrs', locals: { attrs: relation_attrs[:attrs] }
15
+ br/
16
+ td
17
+ =< link_to 'Delete', demo_activity_log_path(activity), data: { turbo_method: :delete, confirm: 'Are you sure?' }, class: 'btn btn-danger btn-sm'
@@ -0,0 +1,18 @@
1
+ <tr>
2
+ <td>
3
+ <%= render partial: 'loggable_activity/templates/shared/activity_info', locals: { activity: activity } %>
4
+ </td>
5
+ <td>
6
+ <b class="text-secondary"><%= primary_type(activity) %></b><br/>
7
+ <% activity.primary_payload_attrs.each do |k, v| %>
8
+ <%= "<i>#{k}:</i> #{v.blank? ? t('loggable.activity.deleted') : v}".html_safe %><br/>
9
+ <% end %><br/>
10
+ <% activity.relations_attrs.each do |relation_attrs| %>
11
+ <b class="text-secondary"><%= relation_type(relation_attrs) %></b><br/>
12
+ <%= render partial: 'loggable_activity/templates/shared/list_attrs', locals: { attrs: relation_attrs[:attrs] } %><br/>
13
+ <% end %>
14
+ </td>
15
+ <td>
16
+ <%= link_to 'Delete', demo_activity_log_path(activity), data: { turbo_method: :delete, confirm: 'Are you sure?' }, class: 'btn btn-danger btn-sm' %>
17
+ </td>
18
+ </tr>
@@ -0,0 +1,17 @@
1
+ tr
2
+ td
3
+ = render partial: 'loggable_activity/templates/shared/activity_info', locals: { activity: activity }
4
+ td
5
+ b.text-secondary = primary_type(activity)
6
+ br/
7
+ - activity.primary_payload_attrs.each do |k, v|
8
+ = "<i>#{k}:</i> #{v.blank? ? t('loggable.activity.deleted') : v}".html_safe
9
+ br/
10
+ br/
11
+ - activity.relations_attrs.each do |relation_attrs|
12
+ b.text-secondary = relation_type(relation_attrs)
13
+ br/
14
+ = render partial: 'loggable_activity/templates/shared/list_attrs', locals: { attrs: relation_attrs[:attrs] }
15
+ br/
16
+ td
17
+ =< link_to 'Delete', demo_activity_log_path(activity), data: { turbo_method: :delete, confirm: 'Are you sure?' }, class: 'btn btn-danger btn-sm'
@@ -0,0 +1,18 @@
1
+ <tr>
2
+ <td>
3
+ <%= render partial: 'loggable_activity/templates/shared/activity_info', locals: { activity: activity } %>
4
+ </td>
5
+ <td>
6
+ <% update_activity_attrs = activity.update_activity_attrs %>
7
+ <% if update_attrs = update_activity_attrs[:update_attrs] %>
8
+ <%= render partial: 'loggable_activity/templates/shared/update_attrs', locals: { update_attrs: update_attrs } %>
9
+ <% end %>
10
+ <% if updated_relations = update_activity_attrs[:updated_relations_attrs] %>
11
+ <br>
12
+ <%= render partial: 'loggable_activity/templates/shared/updated_relations', locals: { updated_relations: updated_relations } %>
13
+ <% end %>
14
+ </td>
15
+ <td>
16
+ <%= link_to 'Delete', demo_activity_log_path(activity), data: { turbo_method: :delete, confirm: 'Are you sure?' }, class: 'btn btn-danger btn-sm' %>
17
+ </td>
18
+ </tr>
@@ -0,0 +1,12 @@
1
+ tr
2
+ td
3
+ = render partial: 'loggable_activity/templates/shared/activity_info', locals: { activity: activity }
4
+ td
5
+ - update_activity_attrs = activity.update_activity_attrs
6
+ - if update_attrs = update_activity_attrs[:update_attrs]
7
+ = render partial: 'loggable_activity/templates/shared/update_attrs', locals: { update_attrs: update_attrs }
8
+ - if updated_relations = update_activity_attrs[:updated_relations_attrs]
9
+ br/
10
+ = render partial: 'loggable_activity/templates/shared/updated_relations', locals: { updated_relations: updated_relations }
11
+ td
12
+ =< link_to 'Delete', demo_activity_log_path(activity), data: { turbo_method: :delete, confirm: 'Are you sure?' }, class: 'btn btn-danger btn-sm'
@@ -0,0 +1,12 @@
1
+ <div class="px-4">
2
+ <h5><%= t("loggable.activity.#{activity.action}", name: "") %></h5>
3
+ <b><%= activity.record_display_name %></b>
4
+ <br>
5
+ <i>Actor:&nbsp;</i>
6
+ <br>
7
+ <%= activity.actor_display_name %>
8
+ <br>
9
+ <i>When:&nbsp;</i>
10
+ <br>
11
+ <%= I18n.l(activity.created_at, format: :long) %>
12
+ </div>
@@ -0,0 +1,11 @@
1
+ .px-4
2
+ .h5 = t("loggable.activity.#{activity.action}", name: "")
3
+ b = activity.record_display_name
4
+ br
5
+ i Actor:&nbsp;
6
+ br
7
+ = activity.actor_display_name
8
+ br
9
+ i When:&nbsp;
10
+ br
11
+ = I18n.l(activity.created_at, format: :long)
@@ -0,0 +1,8 @@
1
+ <% if attrs == :deleted %>
2
+ <%= t('loggable.activity.deleted') %>
3
+ <% elsif attrs.is_a?(Hash) %>
4
+ <% attrs.each do |k, v| %>
5
+ <%= "<i>#{k}:</i> #{v.blank? ? t('loggable.activity.deleted') : v}".html_safe %>
6
+ <br>
7
+ <% end %>
8
+ <% end %>
@@ -0,0 +1,6 @@
1
+ - if attrs == :deleted
2
+ = t('loggable.activity.deleted')
3
+ - elsif attrs.is_a?(Hash)
4
+ - attrs.each do |k, v|
5
+ = "<i>#{k}:</i> #{v.blank? ? t('loggable.activity.deleted') : v}".html_safe
6
+ br/
@@ -0,0 +1,17 @@
1
+ <b class="text-secondary"><%= update_relation_class(update_attrs) %></b>
2
+ <br>
3
+ <% if update_attrs[:attrs] == :deleted %>
4
+ <%= t('loggable.activity.deleted') %>
5
+ <% else %>
6
+ <% update_attrs[:attrs].each do |attr| %>
7
+ <% attr.each do |key, from_to| %>
8
+ <% next if from_to.nil? %>
9
+ <i><%= key %></i>
10
+ <br>
11
+ <%= "from: #{from_to[:from].nil? ? 'Empty' : from_to[:from]}" %>
12
+ <br>
13
+ <%= "to: #{from_to[:to].nil? ? 'Empty' : from_to[:to]}" %>
14
+ <br>
15
+ <% end %>
16
+ <% end %>
17
+ <% end %>
@@ -0,0 +1,14 @@
1
+ b.text-secondary = update_relation_class(update_attrs)
2
+ br/
3
+ - if update_attrs[:attrs] == :deleted
4
+ = t('loggable.activity.deleted')
5
+ - else
6
+ - update_attrs[:attrs].each do |attr|
7
+ - attr.each do |key, from_to|
8
+ - next if from_to.nil?
9
+ i = key
10
+ br/
11
+ = "from: #{from_to[:from].nil? ? "Empty" : from_to[:from]}"
12
+ br/
13
+ = "to: #{from_to[:to].nil? ? "Empty" : from_to[:to]}"
14
+ br/
@@ -0,0 +1,23 @@
1
+ <% updated_relations.each do |relation| %>
2
+ <b class="text-secondary"><%= update_relation_class(relation) %></b>
3
+ <br>
4
+ <% if relation[:previous_attrs].present? %>
5
+ <i>From:</i>
6
+ <br>
7
+ <%= render partial: 'loggable_activity/templates/shared/list_attrs', locals: { attrs: relation[:previous_attrs][:attrs] } %>
8
+ <% else %>
9
+ <i>From:</i>
10
+ <br>
11
+ Empty
12
+ <br>
13
+ <% end %>
14
+ <% if relation[:current_attrs].present? %>
15
+ <i>To:</i>
16
+ <br>
17
+ <%= render partial: 'loggable_activity/templates/shared/list_attrs', locals: { attrs: relation[:current_attrs][:attrs] } %>
18
+ <% else %>
19
+ <i>To:</i>
20
+ <br>
21
+ Empty
22
+ <% end %>
23
+ <% end %>
@@ -0,0 +1,21 @@
1
+ - updated_relations.each do |relation|
2
+ b.text-secondary = update_relation_class(relation)
3
+ br/
4
+ - if relation[:previous_attrs].present?
5
+ i From:
6
+ br/
7
+ = render partial:'loggable_activity/templates/shared/list_attrs', locals: {attrs: relation[:previous_attrs][:attrs] }
8
+ - else
9
+ i From:
10
+ br/
11
+ |Empty
12
+ br
13
+ - if relation[:current_attrs].present?
14
+ i To:
15
+ br/
16
+ = render partial: 'loggable_activity/templates/shared/list_attrs', locals: { attrs: relation[:current_attrs][:attrs] }
17
+ - else
18
+ i To:
19
+ br/
20
+ |Empty
21
+
@@ -56,7 +56,7 @@ module LoggableActivity
56
56
  )
57
57
  end
58
58
 
59
- # Builds payloads for related records.
59
+ # Builds payloads for relations
60
60
  #
61
61
  # @param relation_config [Hash] The configuration of the relation.
62
62
  def build_relation_payload(relation_config)
@@ -66,6 +66,8 @@ module LoggableActivity
66
66
  build_payload(relation_config, 'belongs_to')
67
67
  when 'has_one'
68
68
  build_payload(relation_config, 'has_one')
69
+ when 'has_many'
70
+ build_has_many_payloads(relation_config, 'has_many')
69
71
  end
70
72
  end
71
73
  end
@@ -78,10 +80,23 @@ module LoggableActivity
78
80
  associated_record = send(relation_config[relation_type])
79
81
  return nil if associated_record.nil?
80
82
 
81
- associated_loggable_attrs = relation_config['loggable_attrs']
83
+ build_associated_payload(associated_record, relation_config)
84
+ end
82
85
 
83
- encryption_key = associated_record_encryption_key(associated_record, relation_config['data_owner'])
86
+ # Builds payloads for has_many relations.
87
+ def build_has_many_payloads(relation_config, relation_type)
88
+ associated_records = send(relation_config[relation_type])
89
+ return nil if associated_records.empty?
90
+
91
+ associated_records.each do |associated_record|
92
+ build_associated_payload(associated_record, relation_config)
93
+ end
94
+ end
84
95
 
96
+ # Builds the payload for an associated record.
97
+ def build_associated_payload(associated_record, relation_config)
98
+ associated_loggable_attrs = relation_config['loggable_attrs']
99
+ encryption_key = associated_record_encryption_key(associated_record, relation_config['data_owner'])
85
100
  encrypted_attrs =
86
101
  encrypt_attrs(
87
102
  associated_record.attributes,
@@ -4,66 +4,6 @@ module LoggableActivity
4
4
  # This module is responsible for building update payloads used in loggable activities.
5
5
  module UpdatePayloadsBuilder
6
6
  # Builds payloads for an activity update event.
7
- #
8
- # Example:
9
- # build_update_payloads
10
- #
11
- # Returns:
12
- # [
13
- # [0] #<LoggableActivity::Payload:0x00000001047d31d8> {
14
- # :id => nil,
15
- # :record_type => "Demo::Club",
16
- # :record_id => 7,
17
- # :encrypted_attrs => {
18
- # "changes" => [
19
- # [0] {
20
- # "name" => {
21
- # "from" => "+aQznZK64KLQ8wsyZlSOGQbqm+J8gDX93rNFeF+wY68=\n",
22
- # "to" => "OdS834ZDS06+AYxmz4cUjhtgk7Jc8NoOVAAqR81Is7w=\n"
23
- # }
24
- # }
25
- # ]
26
- # },
27
- # :payload_type => "update_payload",
28
- # :data_owner => false,
29
- # :activity_id => nil,
30
- # :created_at => nil,
31
- # :updated_at => nil
32
- # },
33
- # [1] #<LoggableActivity::Payload:0x0000000107847f80> {
34
- # :id => nil,
35
- # :record_type => "Demo::Address",
36
- # :record_id => 7,
37
- # :encrypted_attrs => {
38
- # "street" => "W7cmT22Bb5TKVmtxTYJt1w==\n",
39
- # "city" => "AAwdTI7Xo86cMbFBAMsMIw==\n",
40
- # "country" => "7gu5wdu6O9tD7Q7+EDOqAg==\n",
41
- # "postal_code" => "ljjfT6MXGNK33/PUyi6Nmw==\n"
42
- # },
43
- # :payload_type => "previous_association",
44
- # :data_owner => false,
45
- # :activity_id => nil,
46
- # :created_at => nil,
47
- # :updated_at => nil
48
- # },
49
- # [2] #<LoggableActivity::Payload:0x0000000107802a98> {
50
- # :id => nil,
51
- # :record_type => "Demo::Address",
52
- # :record_id => 8,
53
- # :encrypted_attrs => {
54
- # "street" => "CuULVgIEgrOcWBxegKEvSg==\n",
55
- # "city" => "QbvodOYMvNFpkvsCprqGqg==\n",
56
- # "country" => "/N03d1OL3TY+aaiPUQ5N1A==\n",
57
- # "postal_code" => "ZZu3S5tnaTeq+wBu0dPKBw==\n"
58
- # },
59
- # :payload_type => "current_association",
60
- # :data_owner => false,
61
- # :activity_id => nil,
62
- # :created_at => nil,
63
- # :updated_at => nil
64
- # }
65
- # ]
66
- #
67
7
  def build_update_payloads
68
8
  @update_payloads = []
69
9
 
@@ -113,10 +53,28 @@ module LoggableActivity
113
53
  case key
114
54
  when 'belongs_to'
115
55
  build_relation_update_for_belongs_to(relation_config)
56
+ when 'has_one'
57
+ build_relation_update_for_has_one(relation_config)
58
+ when 'has_many'
59
+ build_relation_update_for_has_many(relation_config)
116
60
  end
117
61
  end
118
62
  end
119
63
 
64
+ def build_relation_update_for_has_many(relation_config)
65
+ # NOTE: This method is not implemented yet.
66
+ # It requires that there is a form where it is possible to change
67
+ # the related records. This is not implemented yet. in the Demo app
68
+ # puts relation_config['has_many']
69
+ end
70
+
71
+ def build_relation_update_for_has_one(relation_config)
72
+ # NOTE: This method is not implemented yet.
73
+ # It requires that there is a form where it is possible to change
74
+ # the related records. This is not implemented yet. in the Demo app
75
+ # puts relation_config['has_many']
76
+ end
77
+
120
78
  def build_relation_update_for_belongs_to(relation_config)
121
79
  relation_id = "#{relation_config['belongs_to']}_id"
122
80
  model_class_name = relation_config['model']
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module LoggableActivity
4
- VERSION = '0.1.51'
4
+ VERSION = '0.1.53'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: loggable_activity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.51
4
+ version: 0.1.53
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Max \nGroenlund"
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-02-21 00:00:00.000000000 Z
11
+ date: 2024-02-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -28,44 +28,50 @@ dependencies:
28
28
  name: rails
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: 7.1.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: 7.1.2
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec-rails
42
+ name: generator_spec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
47
+ version: 0.10.0
48
+ type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 0.10.0
55
55
  - !ruby/object:Gem::Dependency
56
- name: generator_spec
56
+ name: rspec-rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.10.0
61
+ version: '6.1'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 6.1.1
62
65
  type: :development
63
66
  prerelease: false
64
67
  version_requirements: !ruby/object:Gem::Requirement
65
68
  requirements:
66
69
  - - "~>"
67
70
  - !ruby/object:Gem::Version
68
- version: 0.10.0
71
+ version: '6.1'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 6.1.1
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: sqlite3
71
77
  requirement: !ruby/object:Gem::Requirement
@@ -205,14 +211,33 @@ files:
205
211
  - lib/generators/.DS_Store
206
212
  - lib/generators/loggable_activity/.DS_Store
207
213
  - lib/generators/loggable_activity/install_generator.rb
214
+ - lib/generators/loggable_activity/install_templates_generator.rb
208
215
  - lib/generators/loggable_activity/templates/.DS_Store
216
+ - lib/generators/loggable_activity/templates/config/locales/loggable_activity.en.yml
217
+ - lib/generators/loggable_activity/templates/config/loggable_activity.yml
209
218
  - lib/generators/loggable_activity/templates/create_loggable_activities.rb
210
219
  - lib/generators/loggable_activity/templates/create_loggable_encryption_keys.rb
211
220
  - lib/generators/loggable_activity/templates/create_loggable_payloads.rb
212
221
  - lib/generators/loggable_activity/templates/current_user.rb
222
+ - lib/generators/loggable_activity/templates/helpers/loggable_activity_helper.rb
213
223
  - lib/generators/loggable_activity/templates/loggable_activity.en.yml
214
- - lib/generators/loggable_activity/templates/loggable_activity.yml
215
224
  - lib/generators/loggable_activity/templates/loggable_activity_helper.rb
225
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.erb
226
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_create.html.slim
227
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.erb
228
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_destroy.html.slim
229
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.erb
230
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_show.html.slim
231
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.erb
232
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/default/_update.html.slim
233
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.erb
234
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_activity_info.html.slim
235
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.erb
236
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_list_attrs.html.slim
237
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.erb
238
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_update_attrs.html.slim
239
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.erb
240
+ - lib/generators/loggable_activity/templates/views/loggable_activity/templates/shared/_updated_relations.html.slim
216
241
  - lib/loggable_activity.rb
217
242
  - lib/loggable_activity/.DS_Store
218
243
  - lib/loggable_activity/activity.rb