enju_message 0.3.1 → 0.3.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -0
  3. data/app/controllers/message_requests_controller.rb +2 -2
  4. data/app/models/message.rb +5 -5
  5. data/app/models/message_request.rb +3 -4
  6. data/app/models/message_request_transition.rb +3 -4
  7. data/app/models/message_template.rb +3 -3
  8. data/app/models/message_transition.rb +3 -4
  9. data/app/views/message_requests/edit.html.erb +3 -3
  10. data/app/views/message_requests/index.html.erb +2 -2
  11. data/app/views/message_requests/new.html.erb +1 -1
  12. data/app/views/message_requests/show.html.erb +2 -2
  13. data/app/views/message_templates/_form.html.erb +1 -1
  14. data/app/views/messages/index.rss.builder +2 -2
  15. data/db/migrate/149_create_message_templates.rb +3 -8
  16. data/db/migrate/154_create_messages.rb +4 -8
  17. data/db/migrate/20080819181903_create_message_requests.rb +2 -7
  18. data/db/migrate/20110913115320_add_lft_and_rgt_to_message.rb +2 -7
  19. data/db/migrate/20120125050502_add_depth_to_message.rb +1 -2
  20. data/db/migrate/20140518111006_create_message_transitions.rb +3 -8
  21. data/db/migrate/20140518135713_create_message_request_transitions.rb +3 -8
  22. data/db/migrate/20160703185015_add_most_recent_to_message_transitions.rb +1 -1
  23. data/db/migrate/20160814165332_add_most_recent_to_message_request_transitions.rb +1 -1
  24. data/db/migrate/20180107162659_add_constraints_to_most_recent_for_message_transitions.rb +1 -1
  25. data/db/migrate/20180107162711_add_constraints_to_most_recent_for_message_request_transitions.rb +1 -1
  26. data/lib/enju_message/version.rb +1 -1
  27. data/spec/controllers/messages_controller_spec.rb +7 -7
  28. data/spec/dummy/app/controllers/application_controller.rb +0 -1
  29. data/spec/dummy/app/jobs/application_job.rb +7 -0
  30. data/spec/dummy/app/models/application_record.rb +3 -0
  31. data/spec/dummy/app/models/user.rb +1 -1
  32. data/spec/dummy/bin/bundle +1 -1
  33. data/spec/dummy/bin/setup +1 -3
  34. data/spec/dummy/bin/update +4 -2
  35. data/spec/dummy/bin/yarn +3 -3
  36. data/spec/dummy/config/environments/development.rb +9 -2
  37. data/spec/dummy/config/environments/production.rb +7 -4
  38. data/spec/dummy/config/environments/test.rb +5 -1
  39. data/spec/dummy/config/storage.yml +34 -0
  40. data/spec/dummy/db/migrate/005_create_manifestations.rb +3 -3
  41. data/spec/dummy/db/migrate/20100606065209_create_user_has_roles.rb +2 -4
  42. data/spec/dummy/db/migrate/20140122054321_create_profiles.rb +4 -5
  43. data/spec/dummy/db/migrate/20150421023923_create_identities.rb +14 -0
  44. data/spec/dummy/db/migrate/20151126005552_add_provider_to_identity.rb +5 -0
  45. data/spec/dummy/db/migrate/20151213070943_add_translation_table_to_library_group.rb +0 -8
  46. data/spec/dummy/db/migrate/20160319144230_create_issn_records.rb +11 -0
  47. data/spec/dummy/db/migrate/20160506144040_create_isbn_records.rb +11 -0
  48. data/spec/dummy/db/migrate/20170114174536_add_profile_id_to_user.rb +5 -0
  49. data/spec/dummy/db/migrate/20170116134107_create_issn_record_and_manifestations.rb +11 -0
  50. data/spec/dummy/db/migrate/20170116134120_create_isbn_record_and_manifestations.rb +11 -0
  51. data/spec/dummy/db/migrate/20180107160726_add_constraints_to_most_recent_for_user_import_file_transitions.rb +1 -1
  52. data/spec/dummy/db/migrate/20180107160740_add_constraints_to_most_recent_for_user_export_file_transitions.rb +1 -1
  53. data/spec/dummy/db/migrate/20180107161311_add_constraints_to_most_recent_for_agent_import_file_transitions.rb +1 -1
  54. data/spec/dummy/db/migrate/20180107161331_add_constraints_to_most_recent_for_resource_import_file_transitions.rb +1 -1
  55. data/spec/dummy/db/migrate/20180107161347_add_constraints_to_most_recent_for_resource_export_file_transitions.rb +1 -1
  56. data/spec/dummy/db/migrate/20180107161410_add_constraints_to_most_recent_for_import_request_transitions.rb +1 -1
  57. data/spec/dummy/db/migrate/20181026064038_add_login_banner_to_library_group.rb +6 -0
  58. data/spec/dummy/db/migrate/20181030072731_add_not_null_to_position_on_carrier_type.rb +14 -0
  59. data/spec/dummy/db/migrate/20181030074920_add_not_null_to_position_on_library.rb +14 -0
  60. data/spec/dummy/db/migrate/20190208135957_create_active_storage_tables.active_storage.rb +27 -0
  61. data/spec/dummy/db/migrate/20190818075603_add_memo_to_manifestation.rb +5 -0
  62. data/spec/dummy/db/migrate/20190818075628_add_memo_to_item.rb +5 -0
  63. data/spec/dummy/db/migrate/20191219122214_create_custom_properties.rb +12 -0
  64. data/spec/dummy/db/schema.rb +125 -34
  65. data/spec/factories/message.rb +2 -2
  66. data/spec/factories/profile.rb +10 -7
  67. data/spec/factories/user.rb +22 -19
  68. data/spec/fixtures/message_request_transitions.yml +2 -2
  69. data/spec/fixtures/message_requests.yml +2 -3
  70. data/spec/fixtures/message_templates.yml +2 -2
  71. data/spec/fixtures/messages.yml +3 -3
  72. data/spec/models/message_request_spec.rb +2 -3
  73. data/spec/models/message_spec.rb +3 -3
  74. data/spec/models/message_template_spec.rb +2 -2
  75. data/spec/views/messages/index.html.erb_spec.rb +3 -9
  76. metadata +290 -218
  77. data/README.rdoc +0 -10
  78. data/spec/dummy/config/initializers/secret_token.rb +0 -7
  79. data/spec/dummy/config/initializers/session_store.rb +0 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 86af615e611c78aa7455cb247a37fbfcbe4fabbf97ea75e7e3f7299ae33e30e2
4
- data.tar.gz: e1f6331fbe4e8fd6d3831b3f26e4682bbde914acb4303b80cc91ec7b84276202
3
+ metadata.gz: b4a01dcf1557c145aac90d759843b4a851a7df97ce2a3b114e25db6ef1024121
4
+ data.tar.gz: 7414f1af426dd3614528d1b13137484baf82f3bc5b6b313366791b1a407f487d
5
5
  SHA512:
6
- metadata.gz: 808920419efade6ae75412f1a4aa8472c87dab8682ad9265bd7da02bf9f47623b7ddcde775a511031b599cae3359340148b5e372f878b1dcb87ef5606f7e5cc0
7
- data.tar.gz: c5ba1032e2438e86ee5eedce8bd934c0de010cb75b9ff603541238f43c2edce5169ffd781bd605c6bc883cbb6e997faff97a5420087fcb005516513411a9d594
6
+ metadata.gz: 136bd3d4ad842a1e1077163b74fa09d818d231eab0a1c74672f60b8c6b2b7ef641f19328500ceac21a25fc1a77b69581be2f7956ff53fb33290418da9f3e9420
7
+ data.tar.gz: '018a510d87fe5218f0354e7486428ddc2c8c259cae83444bc0feb992550b2106621b3a8aef64721c6fac68fef9a68191d89ac4dc18f601132dec42728a464778'
data/README.md ADDED
@@ -0,0 +1,10 @@
1
+ # EnjuMessage
2
+ [![Travis CI](https://travis-ci.com/next-l/enju_message.svg?branch=1.3)](https://travis-ci.com/next-l/enju_message)
3
+ [![Coverage Status](https://coveralls.io/repos/github/next-l/enju_message/badge.svg?branch=1.3)](https://coveralls.io/github/next-l/enju_message?branch=1.3)
4
+ [![security](https://hakiri.io/github/next-l/enju_message/1.3.svg)](https://hakiri.io/github/next-l/enju_message/1.3)
5
+
6
+ This project rocks and uses MIT-LICENSE.
7
+
8
+ ## 製作者・貢献者 (Authors and contributors)
9
+ * [TANABE, Kosuke](https://github.com/nabeta) ([@nabeta](https://twitter.com/nabeta))
10
+ * [Project Next-L](https://www.next-l.jp) ([@ProjectNextL](https://twitter.com/ProjectNextL))
@@ -31,7 +31,7 @@ class MessageRequestsController < ApplicationController
31
31
 
32
32
  # GET /message_requests/1/edit
33
33
  def edit
34
- @message_requests = MessageTemplate.order(:position)
34
+ @message_templates = MessageTemplate.order(:position)
35
35
  end
36
36
 
37
37
  # PUT /message_requests/1
@@ -43,7 +43,7 @@ class MessageRequestsController < ApplicationController
43
43
  format.html { redirect_to(@message_request) }
44
44
  format.json { head :no_content }
45
45
  else
46
- @message_requests = MessageTemplate.order(:position)
46
+ @message_templates = MessageTemplate.order(:position)
47
47
  format.html { render action: "edit" }
48
48
  format.json { render json: @message_request.errors, status: :unprocessable_entity }
49
49
  end
@@ -1,4 +1,4 @@
1
- class Message < ActiveRecord::Base
1
+ class Message < ApplicationRecord
2
2
  include Statesman::Adapters::ActiveRecordQueries
3
3
  scope :unread, -> {in_state('unread')}
4
4
  belongs_to :message_request, optional: true
@@ -42,7 +42,7 @@ class Message < ActiveRecord::Base
42
42
 
43
43
  def set_receiver
44
44
  if recipient
45
- self.receiver = User.where(username: recipient).first
45
+ self.receiver = User.find_by(username: recipient)
46
46
  end
47
47
  end
48
48
 
@@ -80,14 +80,14 @@ end
80
80
  #
81
81
  # id :integer not null, primary key
82
82
  # read_at :datetime
83
- # receiver_id :integer
84
83
  # sender_id :integer
84
+ # receiver_id :integer
85
85
  # subject :string not null
86
86
  # body :text
87
87
  # message_request_id :integer
88
88
  # parent_id :integer
89
- # created_at :datetime
90
- # updated_at :datetime
89
+ # created_at :datetime not null
90
+ # updated_at :datetime not null
91
91
  # lft :integer
92
92
  # rgt :integer
93
93
  # depth :integer
@@ -1,4 +1,4 @@
1
- class MessageRequest < ActiveRecord::Base
1
+ class MessageRequest < ApplicationRecord
2
2
  include Statesman::Adapters::ActiveRecordQueries
3
3
  scope :not_sent, -> {in_state(:pending).where('sent_at IS NULL')}
4
4
  scope :sent, -> {in_state(:sent)}
@@ -83,8 +83,7 @@ end
83
83
  # receiver_id :integer
84
84
  # message_template_id :integer
85
85
  # sent_at :datetime
86
- # deleted_at :datetime
87
86
  # body :text
88
- # created_at :datetime
89
- # updated_at :datetime
87
+ # created_at :datetime not null
88
+ # updated_at :datetime not null
90
89
  #
@@ -1,6 +1,5 @@
1
- class MessageRequestTransition < ActiveRecord::Base
1
+ class MessageRequestTransition < ApplicationRecord
2
2
  include Statesman::Adapters::ActiveRecordTransition
3
-
4
3
 
5
4
  belongs_to :message_request, inverse_of: :message_request_transitions
6
5
  # attr_accessible :to_state, :sort_key, :metadata
@@ -15,7 +14,7 @@ end
15
14
  # metadata :text default({})
16
15
  # sort_key :integer
17
16
  # message_request_id :integer
18
- # created_at :datetime
19
- # updated_at :datetime
17
+ # created_at :datetime not null
18
+ # updated_at :datetime not null
20
19
  # most_recent :boolean not null
21
20
  #
@@ -1,4 +1,4 @@
1
- class MessageTemplate < ActiveRecord::Base
1
+ class MessageTemplate < ApplicationRecord
2
2
  has_many :message_requests
3
3
 
4
4
  validates :status, uniqueness: true
@@ -31,6 +31,6 @@ end
31
31
  # body :text not null
32
32
  # position :integer
33
33
  # locale :string default("en")
34
- # created_at :datetime
35
- # updated_at :datetime
34
+ # created_at :datetime not null
35
+ # updated_at :datetime not null
36
36
  #
@@ -1,6 +1,5 @@
1
- class MessageTransition < ActiveRecord::Base
1
+ class MessageTransition < ApplicationRecord
2
2
  include Statesman::Adapters::ActiveRecordTransition
3
-
4
3
 
5
4
  belongs_to :message, inverse_of: :message_transitions
6
5
  # attr_accessible :to_state, :sort_key, :metadata
@@ -15,7 +14,7 @@ end
15
14
  # metadata :text default({})
16
15
  # sort_key :integer
17
16
  # message_id :integer
18
- # created_at :datetime
19
- # updated_at :datetime
17
+ # created_at :datetime not null
18
+ # updated_at :datetime not null
20
19
  # most_recent :boolean not null
21
20
  #
@@ -7,11 +7,11 @@
7
7
 
8
8
  <div class="field">
9
9
  <%= f.label t('message.sender') -%><br />
10
- <%= link_to @message_request.sender.username, @message_request.sender -%>
10
+ <%= link_to @message_request.sender.username, @message_request.sender.profile -%>
11
11
  </div>
12
12
  <div class="field">
13
13
  <%= f.label t('message.receiver') -%><br />
14
- <%= link_to @message_request.receiver.username, @message_request.receiver -%>
14
+ <%= link_to @message_request.receiver.username, @message_request.receiver.profile -%>
15
15
  </div>
16
16
  <div class="field">
17
17
  <%= f.label t('activerecord.models.message_template') -%><br />
@@ -23,7 +23,7 @@
23
23
  </div>
24
24
  <div class="field">
25
25
  <%= f.label t('activerecord.attributes.message.body') -%><br />
26
- <%= textilize(@message_request.body) -%>
26
+ <%= @message_request.body -%>
27
27
  </div>
28
28
  <div class="actions">
29
29
  <%= f.submit %>
@@ -20,10 +20,10 @@
20
20
  <%- @message_requests.each do |message_request| -%>
21
21
  <tr class="line<%= cycle("0", "1") -%>">
22
22
  <td>
23
- <%= link_to message_request.sender.username, message_request.sender -%>
23
+ <%= link_to message_request.sender.username, message_request.sender.profile -%>
24
24
  <br />
25
25
  -&gt;
26
- <%= link_to message_request.receiver.username, message_request.receiver -%>
26
+ <%= link_to message_request.receiver.username, message_request.receiver.profile -%>
27
27
  </td>
28
28
  <td><%= link_to message_request.message_template.status, message_template_path(message_request.message_template) -%></td>
29
29
  <td><%= message_request.subject -%></td>
@@ -24,7 +24,7 @@
24
24
  </div>
25
25
  <div class="field">
26
26
  <%= f.label t('activerecord.attributes.message.body') -%><br />
27
- <%= textilize(@message_request.body) -%>
27
+ <%= @message_request.body -%>
28
28
  </div>
29
29
  <div class="actions">
30
30
  <%= f.submit %>
@@ -5,12 +5,12 @@
5
5
 
6
6
  <p>
7
7
  <strong><%= t('message.sender') -%>:</strong>
8
- <%= link_to @message_request.sender.username, @message_request.sender -%>
8
+ <%= link_to @message_request.sender.username, @message_request.sender.profile -%>
9
9
  </p>
10
10
 
11
11
  <p>
12
12
  <strong><%= t('message.receiver') -%>:</strong>
13
- <%= link_to @message_request.receiver.username, @message_request.receiver -%>
13
+ <%= link_to @message_request.receiver.username, @message_request.receiver.profile -%>
14
14
  </p>
15
15
 
16
16
  <p>
@@ -8,7 +8,7 @@
8
8
 
9
9
  <div class="field">
10
10
  <%= f.label :locale %><br />
11
- <%= f.select(:locale, @available_languages.collect{|language| [language.display_name.localize, language.iso_639_1]}) %>
11
+ <%= f.select(:locale, @available_languages.collect{|language| [language.display_name, language.iso_639_1]}) %>
12
12
  </div>
13
13
 
14
14
  <div class="field">
@@ -7,7 +7,7 @@ xml.rss('version' => "2.0",
7
7
  xml.title t('message.user_message', login_name: @user.username)
8
8
  xml.link messages_url(@user, format: :rss)
9
9
  else
10
- xml.title t('message.library_group_message', library_group_name: @library_group.display_name.localize)
10
+ xml.title t('message.library_group_message', library_group_name: @library_group.display_name)
11
11
  xml.link messages_url(format: :rss)
12
12
  end
13
13
  xml.description "Next-L Enju, an open source integrated library system developed by Project Next-L"
@@ -16,7 +16,7 @@ xml.rss('version' => "2.0",
16
16
  xml.tag! "atom:link", rel: 'self', href: messages_url(format: :rss)
17
17
  xml.tag! "atom:link", rel: 'alternate', href: messages_url
18
18
  # xml.tag! "atom:link", rel: 'search', type: 'application/opensearchdescription+xml', href: "http://#{request.host_with_port}/page/opensearch"
19
- unless params[:query].blank?
19
+ if params[:query].present?
20
20
  xml.tag! "opensearch:totalResults", @messages.total_entries
21
21
  xml.tag! "opensearch:startIndex", @messages.offset + 1
22
22
  xml.tag! "opensearch:itemsPerPage", @messages.per_page
@@ -1,7 +1,7 @@
1
- class CreateMessageTemplates < ActiveRecord::Migration[4.2]
2
- def self.up
1
+ class CreateMessageTemplates < ActiveRecord::Migration[5.2]
2
+ def change
3
3
  create_table :message_templates do |t|
4
- t.string :status, null: false
4
+ t.string :status, null: false, index: {unique: true}
5
5
  t.text :title, null: false
6
6
  t.text :body, null: false
7
7
  t.integer :position
@@ -9,10 +9,5 @@ class CreateMessageTemplates < ActiveRecord::Migration[4.2]
9
9
 
10
10
  t.timestamps
11
11
  end
12
- add_index :message_templates, :status, unique: true
13
- end
14
-
15
- def self.down
16
- drop_table :message_templates
17
12
  end
18
13
  end
@@ -1,19 +1,15 @@
1
- class CreateMessages < ActiveRecord::Migration[4.2]
2
- def self.up
3
- create_table :messages, force: true do |t|
1
+ class CreateMessages < ActiveRecord::Migration[5.2]
2
+ def change
3
+ create_table :messages do |t|
4
4
  t.datetime :read_at
5
5
  t.references :sender, index: true
6
6
  t.references :receiver, index: true
7
7
  t.string :subject, null: false
8
8
  t.text :body
9
9
  t.references :message_request, index: true
10
- t.references :parent, index: true
10
+ t.references :parent, foreign_key: {to_table: :messages}
11
11
 
12
12
  t.timestamps
13
13
  end
14
14
  end
15
-
16
- def self.down
17
- drop_table :messages
18
- end
19
15
  end
@@ -1,18 +1,13 @@
1
- class CreateMessageRequests < ActiveRecord::Migration[4.2]
2
- def self.up
1
+ class CreateMessageRequests < ActiveRecord::Migration[5.2]
2
+ def change
3
3
  create_table :message_requests do |t|
4
4
  t.references :sender
5
5
  t.references :receiver
6
6
  t.references :message_template
7
7
  t.datetime :sent_at
8
- t.datetime :deleted_at
9
8
  t.text :body
10
9
 
11
10
  t.timestamps
12
11
  end
13
12
  end
14
-
15
- def self.down
16
- drop_table :message_requests
17
- end
18
13
  end
@@ -1,11 +1,6 @@
1
- class AddLftAndRgtToMessage < ActiveRecord::Migration[4.2]
2
- def self.up
1
+ class AddLftAndRgtToMessage < ActiveRecord::Migration[5.2]
2
+ def change
3
3
  add_column :messages, :lft, :integer
4
4
  add_column :messages, :rgt, :integer
5
5
  end
6
-
7
- def self.down
8
- remove_column :messages, :rgt
9
- remove_column :messages, :lft
10
- end
11
6
  end
@@ -1,6 +1,5 @@
1
- class AddDepthToMessage < ActiveRecord::Migration[4.2]
1
+ class AddDepthToMessage < ActiveRecord::Migration[5.2]
2
2
  def change
3
3
  add_column :messages, :depth, :integer
4
-
5
4
  end
6
5
  end
@@ -1,18 +1,13 @@
1
- class CreateMessageTransitions < ActiveRecord::Migration[4.2]
1
+ class CreateMessageTransitions < ActiveRecord::Migration[5.2]
2
2
  def change
3
3
  create_table :message_transitions do |t|
4
4
  t.string :to_state
5
- if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
6
- t.text :metadata
7
- else
8
- t.text :metadata, default: "{}"
9
- end
5
+ t.text :metadata, default: '{}'
10
6
  t.integer :sort_key
11
- t.integer :message_id
7
+ t.references :message
12
8
  t.timestamps
13
9
  end
14
10
 
15
- add_index :message_transitions, :message_id
16
11
  add_index :message_transitions, [:sort_key, :message_id], unique: true
17
12
  end
18
13
  end
@@ -1,18 +1,13 @@
1
- class CreateMessageRequestTransitions < ActiveRecord::Migration[4.2]
1
+ class CreateMessageRequestTransitions < ActiveRecord::Migration[5.2]
2
2
  def change
3
3
  create_table :message_request_transitions do |t|
4
4
  t.string :to_state
5
- if ActiveRecord::Base.configurations[Rails.env]["adapter"].try(:match, /mysql/)
6
- t.text :metadata
7
- else
8
- t.text :metadata, default: "{}"
9
- end
5
+ t.text :metadata, default: '{}'
10
6
  t.integer :sort_key
11
- t.integer :message_request_id
7
+ t.references :message_request
12
8
  t.timestamps
13
9
  end
14
10
 
15
- add_index :message_request_transitions, :message_request_id
16
11
  add_index :message_request_transitions, [:sort_key, :message_request_id], unique: true, name: "index_message_request_transitions_on_sort_key_and_request_id"
17
12
  end
18
13
  end
@@ -1,4 +1,4 @@
1
- class AddMostRecentToMessageTransitions < ActiveRecord::Migration[4.2]
1
+ class AddMostRecentToMessageTransitions < ActiveRecord::Migration[5.2]
2
2
  def up
3
3
  add_column :message_transitions, :most_recent, :boolean, null: true
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddMostRecentToMessageRequestTransitions < ActiveRecord::Migration[4.2]
1
+ class AddMostRecentToMessageRequestTransitions < ActiveRecord::Migration[5.2]
2
2
  def up
3
3
  add_column :message_request_transitions, :most_recent, :boolean, null: true
4
4
  end
@@ -1,4 +1,4 @@
1
- class AddConstraintsToMostRecentForMessageTransitions < ActiveRecord::Migration[4.2]
1
+ class AddConstraintsToMostRecentForMessageTransitions < ActiveRecord::Migration[5.2]
2
2
  disable_ddl_transaction!
3
3
 
4
4
  def up
@@ -1,4 +1,4 @@
1
- class AddConstraintsToMostRecentForMessageRequestTransitions < ActiveRecord::Migration[4.2]
1
+ class AddConstraintsToMostRecentForMessageRequestTransitions < ActiveRecord::Migration[5.2]
2
2
  disable_ddl_transaction!
3
3
 
4
4
  def up
@@ -1,3 +1,3 @@
1
1
  module EnjuMessage
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.4".freeze
3
3
  end
@@ -448,13 +448,13 @@ describe MessagesController do
448
448
  end
449
449
 
450
450
  it 'should not update my message' do
451
- put :update, params: { id: 2, message: {} }
451
+ put :update, params: { id: messages(:user2_to_user1_1), message: {} }
452
452
  response.should be_forbidden
453
453
  end
454
454
 
455
455
  it "should not update other user's message" do
456
456
  lambda do
457
- put :update, params: { id: 1, message: {} }
457
+ put :update, params: { id: messages(:user1_to_user2_1), message: {} }
458
458
  end.should raise_error(ActiveRecord::RecordNotFound)
459
459
  response.should be_successful
460
460
  end
@@ -462,7 +462,7 @@ describe MessagesController do
462
462
 
463
463
  describe 'When not logged in' do
464
464
  it 'assigns the requested message as @message' do
465
- put :update, params: { id: 2, message: {} }
465
+ put :update, params: { id: messages(:user2_to_user1_1), message: {} }
466
466
  response.should redirect_to new_user_session_url
467
467
  end
468
468
  end
@@ -482,14 +482,14 @@ describe MessagesController do
482
482
  login_fixture_user
483
483
 
484
484
  it 'should destroy own message' do
485
- delete :destroy, params: { id: 2 }
485
+ delete :destroy, params: { id: messages(:user2_to_user1_1) }
486
486
  response.should redirect_to messages_url
487
487
  response.should_not be_forbidden
488
488
  end
489
489
 
490
490
  it "should not destroy other user's message" do
491
491
  lambda do
492
- delete :destroy, params: { id: 1 }
492
+ delete :destroy, params: { id: messages(:user1_to_user2_1) }
493
493
  end.should raise_error(ActiveRecord::RecordNotFound)
494
494
  response.should be_successful
495
495
  end
@@ -497,12 +497,12 @@ describe MessagesController do
497
497
 
498
498
  describe 'When not logged in' do
499
499
  it 'destroys the requested message' do
500
- delete :destroy, params: { id: 1 }
500
+ delete :destroy, params: { id: messages(:user1_to_user2_1) }
501
501
  response.should redirect_to(new_user_session_url)
502
502
  end
503
503
 
504
504
  it 'should be redirected to new_user_session_url' do
505
- delete :destroy, params: { id: 1 }
505
+ delete :destroy, params: { id: messages(:user1_to_user2_1) }
506
506
  response.should redirect_to(new_user_session_url)
507
507
  end
508
508
  end
@@ -2,7 +2,6 @@ class ApplicationController < ActionController::Base
2
2
  protect_from_forgery
3
3
 
4
4
  include EnjuLibrary::Controller
5
- before_action :set_paper_trail_whodunnit
6
5
  after_action :verify_authorized
7
6
 
8
7
  include Pundit
@@ -0,0 +1,7 @@
1
+ class ApplicationJob < ActiveJob::Base
2
+ # Automatically retry jobs that encountered a deadlock
3
+ # retry_on ActiveRecord::Deadlocked
4
+
5
+ # Most jobs are safe to ignore if the underlying records are no longer available
6
+ # discard_on ActiveJob::DeserializationError
7
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
@@ -1,4 +1,4 @@
1
- class User < ActiveRecord::Base
1
+ class User < ApplicationRecord
2
2
  # Include default devise modules. Others available are:
3
3
  # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
4
4
  devise :database_authenticatable, #:registerable,
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env ruby
2
- ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
2
+ ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
3
3
  load Gem.bin_path('bundler', 'bundle')
data/spec/dummy/bin/setup CHANGED
@@ -1,10 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
- require 'pathname'
3
2
  require 'fileutils'
4
3
  include FileUtils
5
4
 
6
5
  # path to your application root.
7
- APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6
+ APP_ROOT = File.expand_path('..', __dir__)
8
7
 
9
8
  def system!(*args)
10
9
  system(*args) || abort("\n== Command #{args} failed ==")
@@ -21,7 +20,6 @@ chdir APP_ROOT do
21
20
  # Install JavaScript dependencies if using Yarn
22
21
  # system('bin/yarn')
23
22
 
24
-
25
23
  # puts "\n== Copying sample files =="
26
24
  # unless File.exist?('config/database.yml')
27
25
  # cp 'config/database.yml.sample', 'config/database.yml'
@@ -1,10 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
- require 'pathname'
3
2
  require 'fileutils'
4
3
  include FileUtils
5
4
 
6
5
  # path to your application root.
7
- APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6
+ APP_ROOT = File.expand_path('..', __dir__)
8
7
 
9
8
  def system!(*args)
10
9
  system(*args) || abort("\n== Command #{args} failed ==")
@@ -18,6 +17,9 @@ chdir APP_ROOT do
18
17
  system! 'gem install bundler --conservative'
19
18
  system('bundle check') || system!('bundle install')
20
19
 
20
+ # Install JavaScript dependencies if using Yarn
21
+ # system('bin/yarn')
22
+
21
23
  puts "\n== Updating database =="
22
24
  system! 'bin/rails db:migrate'
23
25
 
data/spec/dummy/bin/yarn CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
- VENDOR_PATH = File.expand_path('..', __dir__)
3
- Dir.chdir(VENDOR_PATH) do
2
+ APP_ROOT = File.expand_path('..', __dir__)
3
+ Dir.chdir(APP_ROOT) do
4
4
  begin
5
- exec "yarnpkg #{ARGV.join(" ")}"
5
+ exec "yarnpkg", *ARGV
6
6
  rescue Errno::ENOENT
7
7
  $stderr.puts "Yarn executable was not detected in the system."
8
8
  $stderr.puts "Download Yarn at https://yarnpkg.com/en/docs/install"
@@ -13,12 +13,13 @@ Rails.application.configure do
13
13
  config.consider_all_requests_local = true
14
14
 
15
15
  # Enable/disable caching. By default caching is disabled.
16
- if Rails.root.join('tmp/caching-dev.txt').exist?
16
+ # Run rails dev:cache to toggle caching.
17
+ if Rails.root.join('tmp', 'caching-dev.txt').exist?
17
18
  config.action_controller.perform_caching = true
18
19
 
19
20
  config.cache_store = :memory_store
20
21
  config.public_file_server.headers = {
21
- 'Cache-Control' => "public, max-age=#{2.days.seconds.to_i}"
22
+ 'Cache-Control' => "public, max-age=#{2.days.to_i}"
22
23
  }
23
24
  else
24
25
  config.action_controller.perform_caching = false
@@ -26,6 +27,9 @@ Rails.application.configure do
26
27
  config.cache_store = :null_store
27
28
  end
28
29
 
30
+ # Store uploaded files on the local file system (see config/storage.yml for options)
31
+ config.active_storage.service = :local
32
+
29
33
  # Don't care if the mailer can't send.
30
34
  config.action_mailer.raise_delivery_errors = false
31
35
 
@@ -37,6 +41,9 @@ Rails.application.configure do
37
41
  # Raise an error on page load if there are pending migrations.
38
42
  config.active_record.migration_error = :page_load
39
43
 
44
+ # Highlight code that triggered database queries in logs.
45
+ config.active_record.verbose_query_logs = true
46
+
40
47
  # Debug mode disables concatenation and preprocessing of assets.
41
48
  # This option may cause significant delays in view rendering with a large
42
49
  # number of complex assets.
@@ -14,10 +14,9 @@ Rails.application.configure do
14
14
  config.consider_all_requests_local = false
15
15
  config.action_controller.perform_caching = true
16
16
 
17
- # Attempt to read encrypted secrets from `config/secrets.yml.enc`.
18
- # Requires an encryption key in `ENV["RAILS_MASTER_KEY"]` or
19
- # `config/secrets.yml.key`.
20
- config.read_encrypted_secrets = true
17
+ # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]
18
+ # or in config/master.key. This key is used to decrypt credentials (and other encrypted files).
19
+ # config.require_master_key = true
21
20
 
22
21
  # Disable serving static files from the `/public` folder by default since
23
22
  # Apache or NGINX already handles this.
@@ -39,6 +38,9 @@ Rails.application.configure do
39
38
  # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
40
39
  # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
41
40
 
41
+ # Store uploaded files on the local file system (see config/storage.yml for options)
42
+ config.active_storage.service = :local
43
+
42
44
  # Mount Action Cable outside main process or domain
43
45
  # config.action_cable.mount_path = nil
44
46
  # config.action_cable.url = 'wss://example.com/cable'
@@ -60,6 +62,7 @@ Rails.application.configure do
60
62
  # Use a real queuing backend for Active Job (and separate queues per environment)
61
63
  # config.active_job.queue_adapter = :resque
62
64
  # config.active_job.queue_name_prefix = "dummy_#{Rails.env}"
65
+
63
66
  config.action_mailer.perform_caching = false
64
67
 
65
68
  # Ignore bad email addresses and do not raise email delivery errors.