turbo_chat 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +21 -0
  3. data/README.md +741 -0
  4. data/app/assets/config/chat_gem_manifest.js +6 -0
  5. data/app/assets/javascripts/chat_gem/application.js +4 -0
  6. data/app/assets/javascripts/chat_gem/lifecycle_events.js +93 -0
  7. data/app/assets/javascripts/chat_gem/messages.js +442 -0
  8. data/app/assets/javascripts/chat_gem/realtime.js +398 -0
  9. data/app/assets/javascripts/chat_gem/shared.js +488 -0
  10. data/app/assets/stylesheets/chat_gem/application.css +741 -0
  11. data/app/controllers/chat_gem/application_controller.rb +41 -0
  12. data/app/controllers/chat_gem/chat_memberships_controller.rb +81 -0
  13. data/app/controllers/chat_gem/chat_messages_controller.rb +144 -0
  14. data/app/controllers/chat_gem/chats_controller/event_payload_support.rb +58 -0
  15. data/app/controllers/chat_gem/chats_controller/invitation_support.rb +31 -0
  16. data/app/controllers/chat_gem/chats_controller.rb +125 -0
  17. data/app/helpers/chat_gem/application_helper/config_support.rb +41 -0
  18. data/app/helpers/chat_gem/application_helper/mention_support/entry_builder.rb +55 -0
  19. data/app/helpers/chat_gem/application_helper/mention_support/permission_support.rb +28 -0
  20. data/app/helpers/chat_gem/application_helper/mention_support/token_builder.rb +49 -0
  21. data/app/helpers/chat_gem/application_helper/mention_support.rb +80 -0
  22. data/app/helpers/chat_gem/application_helper/message_rendering.rb +165 -0
  23. data/app/helpers/chat_gem/application_helper/participant_support.rb +81 -0
  24. data/app/helpers/chat_gem/application_helper.rb +12 -0
  25. data/app/models/chat_gem/application_record.rb +5 -0
  26. data/app/models/chat_gem/chat.rb +127 -0
  27. data/app/models/chat_gem/chat_membership.rb +136 -0
  28. data/app/models/chat_gem/chat_message/blocked_words_moderation.rb +120 -0
  29. data/app/models/chat_gem/chat_message/body_length_validation.rb +20 -0
  30. data/app/models/chat_gem/chat_message/broadcasting.rb +61 -0
  31. data/app/models/chat_gem/chat_message/formatting.rb +81 -0
  32. data/app/models/chat_gem/chat_message/mention_validation.rb +85 -0
  33. data/app/models/chat_gem/chat_message/signals.rb +61 -0
  34. data/app/models/chat_gem/chat_message.rb +40 -0
  35. data/app/views/chat_gem/chat_messages/_chat_message.html.erb +1 -0
  36. data/app/views/chat_gem/chat_messages/_form.html.erb +22 -0
  37. data/app/views/chat_gem/chat_messages/_message.html.erb +83 -0
  38. data/app/views/chat_gem/chat_messages/_signal.html.erb +3 -0
  39. data/app/views/chat_gem/chat_messages/_signals.html.erb +24 -0
  40. data/app/views/chat_gem/chat_messages/index.html.erb +1 -0
  41. data/app/views/chat_gem/chats/index.html.erb +51 -0
  42. data/app/views/chat_gem/chats/new.html.erb +13 -0
  43. data/app/views/chat_gem/chats/show.html.erb +95 -0
  44. data/app/views/layouts/chat_gem/application.html.erb +20 -0
  45. data/config/routes.rb +16 -0
  46. data/db/migrate/20260215000000_create_chat_gem_chats.rb +8 -0
  47. data/db/migrate/20260215000001_create_chat_gem_chat_memberships.rb +19 -0
  48. data/db/migrate/20260215000002_create_chat_gem_chat_messages.rb +14 -0
  49. data/db/migrate/20260218000011_add_closed_at_to_chat_gem_chats.rb +6 -0
  50. data/db/migrate/20260218000012_add_custom_role_key_to_chat_memberships.rb +6 -0
  51. data/db/migrate/20260218000013_add_invitation_accepted_to_chat_gem_chat_memberships.rb +5 -0
  52. data/lib/chat_gem/configuration.rb +242 -0
  53. data/lib/chat_gem/engine.rb +29 -0
  54. data/lib/chat_gem/model_extensions/chat_participant.rb +45 -0
  55. data/lib/chat_gem/moderation.rb +194 -0
  56. data/lib/chat_gem/permission.rb +193 -0
  57. data/lib/chat_gem/signals.rb +26 -0
  58. data/lib/chat_gem/version.rb +3 -0
  59. data/lib/chat_gem.rb +24 -0
  60. data/lib/generators/chat_gem/install/install_generator.rb +18 -0
  61. data/lib/generators/chat_gem/install/templates/chat_gem.rb +36 -0
  62. data/lib/generators/turbo_chat/install/install_generator.rb +18 -0
  63. data/lib/generators/turbo_chat/install/templates/turbo_chat.rb +36 -0
  64. data/lib/tasks/chat_gem_tasks.rake +1 -0
  65. data/lib/tasks/turbo_chat_tasks.rake +10 -0
  66. data/lib/turbo_chat/version.rb +5 -0
  67. data/lib/turbo_chat.rb +24 -0
  68. data/turbo_chat.gemspec +31 -0
  69. metadata +155 -0
metadata ADDED
@@ -0,0 +1,155 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: turbo_chat
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Alexander Haumer
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2026-02-19 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '7.0'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '8.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '7.0'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '8.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: turbo-rails
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '1.4'
40
+ - - "<"
41
+ - !ruby/object:Gem::Version
42
+ version: '3.0'
43
+ type: :runtime
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: '1.4'
50
+ - - "<"
51
+ - !ruby/object:Gem::Version
52
+ version: '3.0'
53
+ description: A mountable Rails engine with chats, messages, memberships, and Turbo
54
+ Stream updates.
55
+ email:
56
+ executables: []
57
+ extensions: []
58
+ extra_rdoc_files: []
59
+ files:
60
+ - MIT-LICENSE
61
+ - README.md
62
+ - app/assets/config/chat_gem_manifest.js
63
+ - app/assets/javascripts/chat_gem/application.js
64
+ - app/assets/javascripts/chat_gem/lifecycle_events.js
65
+ - app/assets/javascripts/chat_gem/messages.js
66
+ - app/assets/javascripts/chat_gem/realtime.js
67
+ - app/assets/javascripts/chat_gem/shared.js
68
+ - app/assets/stylesheets/chat_gem/application.css
69
+ - app/controllers/chat_gem/application_controller.rb
70
+ - app/controllers/chat_gem/chat_memberships_controller.rb
71
+ - app/controllers/chat_gem/chat_messages_controller.rb
72
+ - app/controllers/chat_gem/chats_controller.rb
73
+ - app/controllers/chat_gem/chats_controller/event_payload_support.rb
74
+ - app/controllers/chat_gem/chats_controller/invitation_support.rb
75
+ - app/helpers/chat_gem/application_helper.rb
76
+ - app/helpers/chat_gem/application_helper/config_support.rb
77
+ - app/helpers/chat_gem/application_helper/mention_support.rb
78
+ - app/helpers/chat_gem/application_helper/mention_support/entry_builder.rb
79
+ - app/helpers/chat_gem/application_helper/mention_support/permission_support.rb
80
+ - app/helpers/chat_gem/application_helper/mention_support/token_builder.rb
81
+ - app/helpers/chat_gem/application_helper/message_rendering.rb
82
+ - app/helpers/chat_gem/application_helper/participant_support.rb
83
+ - app/models/chat_gem/application_record.rb
84
+ - app/models/chat_gem/chat.rb
85
+ - app/models/chat_gem/chat_membership.rb
86
+ - app/models/chat_gem/chat_message.rb
87
+ - app/models/chat_gem/chat_message/blocked_words_moderation.rb
88
+ - app/models/chat_gem/chat_message/body_length_validation.rb
89
+ - app/models/chat_gem/chat_message/broadcasting.rb
90
+ - app/models/chat_gem/chat_message/formatting.rb
91
+ - app/models/chat_gem/chat_message/mention_validation.rb
92
+ - app/models/chat_gem/chat_message/signals.rb
93
+ - app/views/chat_gem/chat_messages/_chat_message.html.erb
94
+ - app/views/chat_gem/chat_messages/_form.html.erb
95
+ - app/views/chat_gem/chat_messages/_message.html.erb
96
+ - app/views/chat_gem/chat_messages/_signal.html.erb
97
+ - app/views/chat_gem/chat_messages/_signals.html.erb
98
+ - app/views/chat_gem/chat_messages/index.html.erb
99
+ - app/views/chat_gem/chats/index.html.erb
100
+ - app/views/chat_gem/chats/new.html.erb
101
+ - app/views/chat_gem/chats/show.html.erb
102
+ - app/views/layouts/chat_gem/application.html.erb
103
+ - config/routes.rb
104
+ - db/migrate/20260215000000_create_chat_gem_chats.rb
105
+ - db/migrate/20260215000001_create_chat_gem_chat_memberships.rb
106
+ - db/migrate/20260215000002_create_chat_gem_chat_messages.rb
107
+ - db/migrate/20260218000011_add_closed_at_to_chat_gem_chats.rb
108
+ - db/migrate/20260218000012_add_custom_role_key_to_chat_memberships.rb
109
+ - db/migrate/20260218000013_add_invitation_accepted_to_chat_gem_chat_memberships.rb
110
+ - lib/chat_gem.rb
111
+ - lib/chat_gem/configuration.rb
112
+ - lib/chat_gem/engine.rb
113
+ - lib/chat_gem/model_extensions/chat_participant.rb
114
+ - lib/chat_gem/moderation.rb
115
+ - lib/chat_gem/permission.rb
116
+ - lib/chat_gem/signals.rb
117
+ - lib/chat_gem/version.rb
118
+ - lib/generators/chat_gem/install/install_generator.rb
119
+ - lib/generators/chat_gem/install/templates/chat_gem.rb
120
+ - lib/generators/turbo_chat/install/install_generator.rb
121
+ - lib/generators/turbo_chat/install/templates/turbo_chat.rb
122
+ - lib/tasks/chat_gem_tasks.rake
123
+ - lib/tasks/turbo_chat_tasks.rake
124
+ - lib/turbo_chat.rb
125
+ - lib/turbo_chat/version.rb
126
+ - turbo_chat.gemspec
127
+ homepage: https://github.com/Haumer/ruby_llm_chat
128
+ licenses:
129
+ - MIT
130
+ metadata:
131
+ homepage_uri: https://github.com/Haumer/ruby_llm_chat
132
+ source_code_uri: https://github.com/Haumer/ruby_llm_chat/tree/main
133
+ bug_tracker_uri: https://github.com/Haumer/ruby_llm_chat/issues
134
+ changelog_uri: https://github.com/Haumer/ruby_llm_chat/blob/main/README.md
135
+ rubygems_mfa_required: 'true'
136
+ post_install_message:
137
+ rdoc_options: []
138
+ require_paths:
139
+ - lib
140
+ required_ruby_version: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '3.1'
145
+ required_rubygems_version: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - ">="
148
+ - !ruby/object:Gem::Version
149
+ version: '0'
150
+ requirements: []
151
+ rubygems_version: 3.5.16
152
+ signing_key:
153
+ specification_version: 4
154
+ summary: Lightweight mountable chat engine for Rails
155
+ test_files: []