chat 0.2.0 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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