message_train 0.1.7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (144) hide show
  1. checksums.yaml +4 -4
  2. data/.simplecov +8 -0
  3. data/.travis.yml +7 -2
  4. data/Gemfile +3 -0
  5. data/README.rdoc +37 -1
  6. data/Rakefile +5 -6
  7. data/VERSION +1 -1
  8. data/app/assets/javascripts/message_train.js +33 -0
  9. data/app/assets/stylesheets/message_train.scss +26 -0
  10. data/app/controllers/concerns/message_train_support.rb +127 -0
  11. data/app/controllers/message_train/application_controller.rb +1 -60
  12. data/app/controllers/message_train/boxes_controller.rb +0 -4
  13. data/app/controllers/message_train/messages_controller.rb +12 -6
  14. data/app/controllers/message_train/participants_controller.rb +1 -1
  15. data/app/controllers/message_train/unsubscribes_controller.rb +59 -0
  16. data/app/helpers/message_train/application_helper.rb +26 -0
  17. data/app/helpers/message_train/attachments_helper.rb +19 -0
  18. data/app/helpers/message_train/boxes_helper.rb +16 -11
  19. data/app/helpers/message_train/collectives_helper.rb +48 -0
  20. data/app/helpers/message_train/conversations_helper.rb +24 -16
  21. data/app/helpers/message_train/messages_helper.rb +14 -12
  22. data/app/mailers/message_train/application_mailer.rb +8 -0
  23. data/app/mailers/message_train/previews/receipt_mailer_preview.rb +10 -0
  24. data/app/mailers/message_train/receipt_mailer.rb +17 -0
  25. data/app/models/message_train/attachment.rb +28 -10
  26. data/app/models/message_train/box.rb +114 -83
  27. data/app/models/message_train/conversation.rb +48 -39
  28. data/app/models/message_train/ignore.rb +2 -6
  29. data/app/models/message_train/message.rb +40 -24
  30. data/app/models/message_train/receipt.rb +20 -10
  31. data/app/models/message_train/unsubscribe.rb +7 -0
  32. data/app/views/layouts/mailer.html.haml +6 -0
  33. data/app/views/message_train/application/_attachment_fields.html.haml +7 -0
  34. data/app/views/message_train/application/_attachment_link.html.haml +4 -0
  35. data/app/views/message_train/application/_widget.html.haml +6 -0
  36. data/app/views/message_train/boxes/_dropdown_list.html.haml +1 -2
  37. data/app/views/message_train/boxes/_list_item.html.haml +2 -2
  38. data/app/views/message_train/boxes/_widget.html.haml +4 -1
  39. data/app/views/message_train/boxes/show.html.haml +12 -4
  40. data/app/views/message_train/collectives/_dropdown_list.html.haml +6 -0
  41. data/app/views/message_train/collectives/_list_item.html.haml +5 -0
  42. data/app/views/message_train/collectives/_widget.html.haml +7 -0
  43. data/app/views/message_train/conversations/_conversation.html.haml +22 -7
  44. data/app/views/message_train/conversations/_deleted_toggle.html.haml +1 -1
  45. data/app/views/message_train/conversations/_ignored_toggle.html.haml +3 -3
  46. data/app/views/message_train/conversations/_read_toggle.html.haml +3 -3
  47. data/app/views/message_train/conversations/_toggle.html.haml +4 -1
  48. data/app/views/message_train/conversations/_trashed_toggle.html.haml +3 -3
  49. data/app/views/message_train/conversations/show.html.haml +4 -3
  50. data/app/views/message_train/messages/_deleted_toggle.html.haml +1 -1
  51. data/app/views/message_train/messages/_form.html.haml +22 -7
  52. data/app/views/message_train/messages/_message.html.haml +14 -4
  53. data/app/views/message_train/messages/_read_toggle.html.haml +1 -1
  54. data/app/views/message_train/messages/_trashed_toggle.html.haml +1 -1
  55. data/app/views/message_train/messages/edit.html.haml +1 -1
  56. data/app/views/message_train/messages/new.html.haml +4 -1
  57. data/app/views/message_train/participants/_field.html.haml +1 -1
  58. data/app/views/message_train/participants/_prefilled_field.html.haml +4 -0
  59. data/app/views/message_train/receipt_mailer/notification_email.html.haml +13 -0
  60. data/app/views/message_train/unsubscribes/index.html.haml +10 -0
  61. data/config/environment.rb +1 -0
  62. data/config/locales/en.yml +49 -7
  63. data/config/routes.rb +10 -2
  64. data/db/migrate/20150901183458_add_received_through_to_message_train_receipts.rb +6 -0
  65. data/db/migrate/20151004184347_add_unique_index_to_receipts.rb +5 -0
  66. data/db/migrate/20151124000820_create_message_train_unsubscribes.rb +14 -0
  67. data/lib/generators/message_train/install/install_generator.rb +8 -2
  68. data/lib/generators/message_train/install/templates/initializer.rb +5 -1
  69. data/lib/message_train/configuration.rb +11 -1
  70. data/lib/message_train/engine.rb +1 -0
  71. data/lib/message_train/mixin.rb +206 -21
  72. data/message_train.gemspec +66 -13
  73. data/spec/controllers/message_train/boxes_controller_spec.rb +10 -3
  74. data/spec/controllers/message_train/concerns_spec.rb +40 -0
  75. data/spec/controllers/message_train/conversations_controller_spec.rb +3 -3
  76. data/spec/controllers/message_train/messages_controller_spec.rb +60 -27
  77. data/spec/controllers/message_train/participants_controller_spec.rb +41 -6
  78. data/spec/controllers/message_train/unsubscribes_controller_spec.rb +56 -0
  79. data/spec/dummy/app/assets/files/message_train/attachments/{1917-Boys_Race_Above-Wiki.jpg → image-sample.jpg} +0 -0
  80. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  81. data/spec/dummy/app/models/group.rb +16 -1
  82. data/spec/dummy/app/models/role.rb +22 -0
  83. data/spec/dummy/app/models/user.rb +1 -1
  84. data/spec/dummy/app/views/layouts/_top_navigation.html.haml +4 -2
  85. data/spec/dummy/app/views/layouts/application.html.haml +2 -3
  86. data/spec/dummy/app/views/pages/index.html.haml +4 -0
  87. data/spec/dummy/config/application.rb +6 -0
  88. data/spec/dummy/config/environments/development.rb +1 -0
  89. data/spec/dummy/config/environments/test.rb +1 -0
  90. data/spec/dummy/config/initializers/high_voltage.rb +3 -0
  91. data/spec/dummy/config/initializers/message_train.rb +6 -1
  92. data/spec/dummy/config/initializers/paperclip.rb +2 -2
  93. data/spec/dummy/config/routes.rb +2 -2
  94. data/spec/dummy/config/settings.yml +9 -0
  95. data/spec/dummy/db/migrate/{20150724142846_create_message_train_conversations.night_train.rb → 20150901183629_create_message_train_conversations.message_train.rb} +0 -0
  96. data/spec/dummy/db/migrate/{20150724142847_create_message_train_messages.night_train.rb → 20150901183630_create_message_train_messages.message_train.rb} +0 -0
  97. data/spec/dummy/db/migrate/{20150724142848_create_message_train_attachments.night_train.rb → 20150901183631_create_message_train_attachments.message_train.rb} +0 -0
  98. data/spec/dummy/db/migrate/{20150724142849_create_message_train_receipts.night_train.rb → 20150901183632_create_message_train_receipts.message_train.rb} +0 -0
  99. data/spec/dummy/db/migrate/{20150724142850_create_message_train_ignores.night_train.rb → 20150901183633_create_message_train_ignores.message_train.rb} +0 -0
  100. data/spec/dummy/db/migrate/20150901183634_add_received_through_to_message_train_receipts.message_train.rb +7 -0
  101. data/spec/dummy/db/migrate/20151004184519_add_unique_index_to_receipts.message_train.rb +6 -0
  102. data/spec/dummy/db/migrate/20151124001417_create_message_train_unsubscribes.message_train.rb +15 -0
  103. data/spec/dummy/db/schema.rb +24 -7
  104. data/spec/dummy/db/seeds/conversations.seeds.rb +92 -3
  105. data/spec/dummy/db/seeds/groups.seeds.rb +27 -0
  106. data/spec/dummy/db/seeds/test/attachments.seeds.rb +4 -0
  107. data/spec/dummy/db/seeds/unsubscribes.seeds.rb +12 -0
  108. data/spec/dummy/db/seeds/users.seeds.rb +27 -0
  109. data/spec/dummy/db/test.sqlite3 +0 -0
  110. data/spec/factories/group.rb +4 -4
  111. data/spec/factories/message.rb +10 -3
  112. data/spec/features/boxes_spec.rb +160 -33
  113. data/spec/features/conversations_spec.rb +11 -4
  114. data/spec/features/messages_spec.rb +20 -6
  115. data/spec/features/unsubscribes_spec.rb +38 -0
  116. data/spec/helpers/message_train/application_helper_spec.rb +60 -0
  117. data/spec/helpers/message_train/attachment_helper_spec.rb +35 -0
  118. data/spec/helpers/message_train/boxes_helper_spec.rb +11 -5
  119. data/spec/helpers/message_train/collectives_helper_spec.rb +76 -0
  120. data/spec/helpers/message_train/conversations_helper_spec.rb +295 -0
  121. data/spec/helpers/message_train/messages_helper_spec.rb +217 -0
  122. data/spec/models/group_spec.rb +112 -2
  123. data/spec/models/message_train/attachment_spec.rb +44 -1
  124. data/spec/models/message_train/box_spec.rb +306 -51
  125. data/spec/models/message_train/conversation_spec.rb +84 -6
  126. data/spec/models/message_train/ignore_spec.rb +0 -4
  127. data/spec/models/message_train/message_spec.rb +49 -12
  128. data/spec/models/message_train/receipt_spec.rb +44 -8
  129. data/spec/models/message_train/unsubscribe_spec.rb +16 -0
  130. data/spec/models/role_spec.rb +125 -0
  131. data/spec/models/user_spec.rb +155 -26
  132. data/spec/rails_helper.rb +8 -1
  133. data/spec/support/attachments.rb +4 -0
  134. data/spec/support/controller_behaviors.rb +28 -0
  135. data/spec/support/conversations.rb +13 -0
  136. data/spec/support/groups.rb +3 -0
  137. data/spec/support/loaded_site.rb +3 -0
  138. data/spec/support/messages.rb +23 -0
  139. data/spec/support/roles.rb +4 -0
  140. data/spec/support/users.rb +6 -0
  141. data/spec/support/wysihtml5_helper.rb +8 -0
  142. metadata +99 -12
  143. data/spec/dummy/app/assets/files/message_train/attachments/Haie_rci.svg +0 -1714
  144. data/spec/dummy/public/capybara.html +0 -193
@@ -1,193 +0,0 @@
1
- <html xmlns="http://www.w3.org/1999/xhtml"><head>
2
- <title>New Message: Message Train</title>
3
- <meta content="rails-4, private-messaging, messaging, engines" name="keywords" />
4
- <meta content="rails-4, private-messaging, messaging, engines" name="description" />
5
- <meta content="width=device-width, initial-scale=1.0" name="viewport" />
6
- <link href="/assets/application.css" media="screen" rel="stylesheet" />
7
-
8
-
9
- <script src="/assets/application.js"></script>
10
-
11
- </head>
12
- <body>
13
- <nav class="navbar navbar-default navbar-static-top">
14
- <div class="container">
15
- <div class="navbar-header">
16
- <button type="button" data-toggle="collapse" data-target="#navbar-to-collapse" class="navbar-toggle collapsed">
17
- <span class="sr-only">
18
- Toggle navigation
19
- </span>
20
- <span class="icon-bar"></span>
21
- <span class="icon-bar"></span>
22
- <span class="icon-bar"></span>
23
- </button>
24
- <a href="/" class="navbar-brand"><img alt="Logo" src="/assets/logo.svg" class="logo" />
25
- Message Train
26
- </a>
27
- </div>
28
- <div id="navbar-to-collapse" class="collapse navbar-collapse">
29
- <ul class="nav navbar-nav navbar-right">
30
- <li class="dropdown ">
31
- <a role="button" id="1440524439.1923783" href="#" data-toggle="dropdown" class="dropdown-toggle">
32
- Inbox <span class="badge ">
33
- 14
34
- </span>
35
-
36
- <b class="caret"></b>
37
- </a>
38
- <ul role="menu" class="dropdown-menu" aria-labelledby="1440524439.1923783">
39
- <li class="">
40
- <a href="/box/in">Inbox <span class="badge badge-info pull-right">
41
- 14
42
- </span>
43
- </a>
44
- </li>
45
-
46
- <li class="">
47
- <a href="/box/sent">Sent Messages <span class="badge badge-info pull-right">
48
- 13
49
- </span>
50
- </a>
51
- </li>
52
-
53
- <li class="">
54
- <a href="/box/all">All Messages <span class="badge badge-info pull-right">
55
- 22
56
- </span>
57
- </a>
58
- </li>
59
-
60
- <li class="">
61
- <a href="/box/drafts">Drafts <span class="badge badge-info pull-right">
62
- 1
63
- </span>
64
- </a>
65
- </li>
66
-
67
- <li class="">
68
- <a href="/box/trash">Trash <span class="badge badge-info pull-right">
69
- 1
70
- </span>
71
- </a>
72
- </li>
73
-
74
- <li class="">
75
- <a href="/box/ignored">Ignored Conversations <span class="badge badge-info pull-right">
76
- 3
77
- </span>
78
- </a>
79
- </li>
80
-
81
-
82
- </ul>
83
- </li>
84
- <li class="active">
85
- <a href="/box/in/messages/new">Compose</a>
86
- </li>
87
-
88
-
89
- <li class="">
90
- <a href="/users/sign_out" data-method="delete" rel="nofollow">Sign Out</a>
91
- </li>
92
-
93
-
94
- </ul>
95
-
96
- </div>
97
- </div>
98
- </nav>
99
-
100
- <div class="container">
101
-
102
- <div class="column col-md-3">
103
- <div class="well ">
104
- <h3>Messages</h3>
105
- <div class="text-center"><a href="/box/in/messages/new" class="btn btn-lg btn-primary btn-compose">Compose</a></div>
106
- <ul class="list-group">
107
- <li class="list-group-item">
108
- <a href="/box/in">Inbox</a>
109
- <span class="badge ">
110
- 14
111
- </span>
112
-
113
- </li>
114
-
115
- <li class="list-group-item">
116
- <a href="/box/sent">Sent Messages</a>
117
- <span class="badge ">
118
- 13
119
- </span>
120
-
121
- </li>
122
-
123
- <li class="list-group-item">
124
- <a href="/box/all">All Messages</a>
125
- <span class="badge ">
126
- 22
127
- </span>
128
-
129
- </li>
130
-
131
- <li class="list-group-item">
132
- <a href="/box/drafts">Drafts</a>
133
- <span class="badge ">
134
- 1
135
- </span>
136
-
137
- </li>
138
-
139
- <li class="list-group-item">
140
- <a href="/box/trash">Trash</a>
141
- <span class="badge ">
142
- 1
143
- </span>
144
-
145
- </li>
146
-
147
- <li class="list-group-item">
148
- <a href="/box/ignored">Ignored Conversations</a>
149
- <span class="badge ">
150
- 3
151
- </span>
152
-
153
- </li>
154
-
155
- </ul>
156
-
157
-
158
- </div>
159
- </div>
160
-
161
- <div class="col-md-9">
162
- <h1>New Message</h1>
163
- <div id="alert_area">
164
-
165
- </div>
166
- <form method="post" accept-charset="UTF-8" action="/box/in/messages" id="new_message" class="new_message" role="form"><input type="hidden" value="✓" name="utf8" /><div class="form-group">
167
- <label class="control-label">Group Recipients</label>
168
- <div id="message_recipients_to_save_groups" data-model="groups" data-field-name="message[recipients_to_save][groups]" class="recipient-input tag-list bootstrap-tags bootstrap-3" style="padding-bottom: 2.6px;">
169
- <div class="tag-data"></div>
170
- <div class="tags"></div><input type="text" class="form-control tags-input input-lg" placeholder="Comma separated list" style="padding-left: 12px; padding-top: 0px; width: 663px;" /><ul class="tags-suggestion-list dropdown-menu"></ul></div>
171
- </div>
172
-
173
- <div class="form-group">
174
- <label class="control-label">User Recipients</label>
175
- <div id="message_recipients_to_save_users" data-model="users" data-field-name="message[recipients_to_save][users]" class="recipient-input tag-list bootstrap-tags bootstrap-3" style="padding-bottom: 2.6px;">
176
- <div class="tag-data"></div>
177
- <div class="tags"></div><input type="text" class="form-control tags-input input-lg" placeholder="Comma separated list" style="padding-left: 12px; padding-top: 0px; width: 663px;" /><ul class="tags-suggestion-list dropdown-menu"></ul></div>
178
- </div>
179
-
180
- <div class="form-group"><label for="message_subject" class="control-label required">Subject</label><input type="text" id="message_subject" name="message[subject]" class="form-control" /></div>
181
- <div class="form-group"><label for="message_body" class="control-label">Body</label><textarea id="message_body" name="message[body]" class="form-control"></textarea></div>
182
- <div class="checkbox"><label for="message_draft"><input type="hidden" value="0" name="message[draft]" /><input type="checkbox" id="message_draft" name="message[draft]" value="1" /> Draft</label></div>
183
- <input type="submit" class="btn btn-default" value="Send" name="commit" />
184
- </form>
185
-
186
-
187
- </div>
188
- </div>
189
- <footer></footer>
190
-
191
-
192
-
193
- </body></html>