chat 0.2.0 → 0.9.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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +11 -8
  3. data/Rakefile +2 -0
  4. data/app/assets/javascripts/chat/channels/message.coffee +33 -43
  5. data/app/assets/javascripts/chat/channels/status.coffee +2 -2
  6. data/app/assets/javascripts/chat/messages.coffee +12 -11
  7. data/app/assets/stylesheets/chat/avatar_grid.sass +40 -0
  8. data/app/assets/stylesheets/chat/chat.sass +9 -4
  9. data/app/assets/stylesheets/chat/checkbox.sass +3 -3
  10. data/app/assets/stylesheets/chat/emojionearea.min.css +1 -1
  11. data/app/assets/stylesheets/chat/header.sass +25 -8
  12. data/app/assets/stylesheets/chat/launch.sass +39 -3
  13. data/app/assets/stylesheets/chat/list.sass +56 -23
  14. data/app/assets/stylesheets/chat/message_form.sass +7 -4
  15. data/app/assets/stylesheets/chat/new.sass +27 -22
  16. data/app/assets/stylesheets/chat/transcript.sass +60 -64
  17. data/app/channels/chat/messages_channel.rb +3 -2
  18. data/app/channels/chat/notification_channel.rb +2 -0
  19. data/app/channels/chat/status_channel.rb +12 -10
  20. data/app/controllers/chat/application_controller.rb +5 -1
  21. data/app/controllers/chat/conversations_controller.rb +24 -2
  22. data/app/controllers/chat/messages_controller.rb +8 -2
  23. data/app/helpers/chat/application_helper.rb +35 -24
  24. data/app/jobs/chat/application_job.rb +9 -1
  25. data/app/jobs/chat/message_relay_job.rb +5 -13
  26. data/app/jobs/chat/notification_relay_job.rb +10 -4
  27. data/app/jobs/chat/status_relay_job.rb +3 -3
  28. data/app/mailers/chat/application_mailer.rb +2 -0
  29. data/app/models/chat/application_record.rb +2 -0
  30. data/app/models/chat/conversation.rb +12 -0
  31. data/app/models/chat/dot_command.rb +2 -0
  32. data/app/models/chat/dot_command/gif.rb +2 -0
  33. data/app/models/chat/dot_command/shrug.rb +3 -1
  34. data/app/models/chat/dot_command/validator.rb +3 -1
  35. data/app/models/chat/message.rb +10 -2
  36. data/app/models/chat/session.rb +3 -3
  37. data/app/views/chat/_chat.html.haml +10 -6
  38. data/app/views/chat/conversations/_conversation.html.haml +23 -0
  39. data/app/views/chat/conversations/_index.html.haml +1 -6
  40. data/app/views/chat/conversations/_new.html.haml +2 -4
  41. data/app/views/chat/conversations/_show.html.haml +8 -7
  42. data/app/views/chat/conversations/create.js.erb +14 -10
  43. data/app/views/chat/conversations/show.js.erb +8 -5
  44. data/app/views/chat/messages/_message.haml +9 -12
  45. data/config/routes.rb +4 -2
  46. data/lib/chat.rb +5 -1
  47. data/lib/chat/engine.rb +2 -0
  48. data/lib/chat/user.rb +7 -12
  49. data/lib/chat/version.rb +3 -1
  50. data/lib/generators/chat/install/install_generator.rb +2 -0
  51. data/lib/generators/chat/install/templates/add_chat_to_users.rb +3 -1
  52. data/lib/generators/chat/install/templates/chat.rb +2 -0
  53. data/lib/generators/chat/install/templates/create_chat.rb +19 -7
  54. data/lib/tasks/chat_tasks.rake +1 -0
  55. metadata +15 -48
  56. data/app/models/chat/dot_command/leave.rb +0 -16
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Chat
2
- VERSION = "0.2.0"
4
+ VERSION = "0.9.0"
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "rails/generators/base"
2
4
  require "rails/generators/active_record"
3
5
  require "rails/generators/migration"
@@ -1,4 +1,6 @@
1
- class AddChatToUsers < ActiveRecord::Migration[5.0]
1
+ # frozen_string_literal: true
2
+
3
+ class AddChatToUsers < ActiveRecord::Migration[5.1]
2
4
  def self.up
3
5
  add_column :users, :chat_status, :string, default: "offline"
4
6
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Chat.setup do |config|
2
4
  # Clearance => :signed_in?
3
5
  # Devise => :user_signed_in?
@@ -1,29 +1,41 @@
1
- class CreateChat < ActiveRecord::Migration[5.0]
1
+ # frozen_string_literal: true
2
+
3
+ class CreateChat < ActiveRecord::Migration[5.1]
2
4
  def self.up
3
5
  create_table :chat_conversations do |t|
4
6
  t.timestamps
5
7
  end
6
8
 
9
+ create_sessions
10
+ create_messages
11
+ end
12
+
13
+ def self.down
14
+ drop_table :chat_conversations
15
+ drop_table :chat_sessions
16
+ drop_table :chat_messages
17
+ end
18
+
19
+ private
20
+
21
+ def create_sessions
7
22
  create_table :chat_sessions do |t|
8
23
  t.belongs_to :conversation
9
24
  t.belongs_to :user
10
25
 
11
26
  t.timestamps
12
27
  end
28
+ end
13
29
 
30
+ def create_messages
14
31
  create_table :chat_messages do |t|
15
32
  t.belongs_to :user
16
33
  t.text :text
17
34
  t.belongs_to :conversation
35
+ t.belongs_to :session
18
36
  t.attachment :image
19
37
 
20
38
  t.timestamps
21
39
  end
22
40
  end
23
-
24
- def self.down
25
- drop_table :chat_conversations
26
- drop_table :chat_sessions
27
- drop_table :chat_messages
28
- end
29
41
  end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
  # desc "Explaining what the task does"
2
3
  # task :chat do
3
4
  # # Task goes here
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - npezza93
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-24 00:00:00.000000000 Z
11
+ date: 2017-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: material_icons
@@ -26,20 +26,6 @@ dependencies:
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: paperclip
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 5.1.0
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 5.1.0
41
- - !ruby/object:Gem::Dependency
42
- name: composite_primary_keys
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - ">="
@@ -72,34 +58,28 @@ dependencies:
72
58
  requirements:
73
59
  - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: 5.0.0
76
- - - ">="
77
- - !ruby/object:Gem::Version
78
- version: 5.0.0.1
61
+ version: '5.1'
79
62
  type: :runtime
80
63
  prerelease: false
81
64
  version_requirements: !ruby/object:Gem::Requirement
82
65
  requirements:
83
66
  - - "~>"
84
67
  - !ruby/object:Gem::Version
85
- version: 5.0.0
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: 5.0.0.1
68
+ version: '5.1'
89
69
  - !ruby/object:Gem::Dependency
90
70
  name: coffee-rails
91
71
  requirement: !ruby/object:Gem::Requirement
92
72
  requirements:
93
- - - "~>"
73
+ - - ">="
94
74
  - !ruby/object:Gem::Version
95
- version: '4.2'
75
+ version: '0'
96
76
  type: :runtime
97
77
  prerelease: false
98
78
  version_requirements: !ruby/object:Gem::Requirement
99
79
  requirements:
100
- - - "~>"
80
+ - - ">="
101
81
  - !ruby/object:Gem::Version
102
- version: '4.2'
82
+ version: '0'
103
83
  - !ruby/object:Gem::Dependency
104
84
  name: jquery-rails
105
85
  requirement: !ruby/object:Gem::Requirement
@@ -184,20 +164,6 @@ dependencies:
184
164
  - - ">="
185
165
  - !ruby/object:Gem::Version
186
166
  version: '0'
187
- - !ruby/object:Gem::Dependency
188
- name: high_voltage
189
- requirement: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - ">="
192
- - !ruby/object:Gem::Version
193
- version: '0'
194
- type: :development
195
- prerelease: false
196
- version_requirements: !ruby/object:Gem::Requirement
197
- requirements:
198
- - - ">="
199
- - !ruby/object:Gem::Version
200
- version: '0'
201
167
  - !ruby/object:Gem::Dependency
202
168
  name: faker
203
169
  requirement: !ruby/object:Gem::Requirement
@@ -258,16 +224,16 @@ dependencies:
258
224
  name: turbolinks
259
225
  requirement: !ruby/object:Gem::Requirement
260
226
  requirements:
261
- - - "~>"
227
+ - - ">="
262
228
  - !ruby/object:Gem::Version
263
- version: '5'
229
+ version: '0'
264
230
  type: :development
265
231
  prerelease: false
266
232
  version_requirements: !ruby/object:Gem::Requirement
267
233
  requirements:
268
- - - "~>"
234
+ - - ">="
269
235
  - !ruby/object:Gem::Version
270
- version: '5'
236
+ version: '0'
271
237
  description:
272
238
  email:
273
239
  - npezza93@gmail.com
@@ -287,6 +253,7 @@ files:
287
253
  - app/assets/javascripts/chat/emojionearea.min.js
288
254
  - app/assets/javascripts/chat/messages.coffee
289
255
  - app/assets/stylesheets/chat.css
256
+ - app/assets/stylesheets/chat/avatar_grid.sass
290
257
  - app/assets/stylesheets/chat/chat.sass
291
258
  - app/assets/stylesheets/chat/checkbox.sass
292
259
  - app/assets/stylesheets/chat/emojionearea.min.css
@@ -312,12 +279,12 @@ files:
312
279
  - app/models/chat/conversation.rb
313
280
  - app/models/chat/dot_command.rb
314
281
  - app/models/chat/dot_command/gif.rb
315
- - app/models/chat/dot_command/leave.rb
316
282
  - app/models/chat/dot_command/shrug.rb
317
283
  - app/models/chat/dot_command/validator.rb
318
284
  - app/models/chat/message.rb
319
285
  - app/models/chat/session.rb
320
286
  - app/views/chat/_chat.html.haml
287
+ - app/views/chat/conversations/_conversation.html.haml
321
288
  - app/views/chat/conversations/_index.html.haml
322
289
  - app/views/chat/conversations/_new.html.haml
323
290
  - app/views/chat/conversations/_show.html.haml
@@ -355,7 +322,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
355
322
  version: '0'
356
323
  requirements: []
357
324
  rubyforge_project:
358
- rubygems_version: 2.5.1
325
+ rubygems_version: 2.6.12
359
326
  signing_key:
360
327
  specification_version: 4
361
328
  summary: A simple rails chat gem that leverages ActionCable
@@ -1,16 +0,0 @@
1
- module Chat
2
- class DotCommand
3
- class Leave
4
- attr_reader :message, :text
5
-
6
- def initialize(message, text)
7
- @message = message
8
- @text = text
9
- end
10
-
11
- def perform
12
- message.user.leave_conversation(message.conversation)
13
- end
14
- end
15
- end
16
- end