hyrax 2.0.0.beta2 → 2.0.0.beta3

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b1cd321b1dc4e68407d13358c574ce8fe0a0d5c9
4
- data.tar.gz: 92530f677f3c9cedb6d6c88446437cf9742596a1
3
+ metadata.gz: 27103abf150fd3dd2b63b38050aef6931771f425
4
+ data.tar.gz: 0c4d916191c24c29f57d8c592d347b3b1d6d1ae3
5
5
  SHA512:
6
- metadata.gz: a7aad9a39bc1ff847e9e40ddcdbe7c3eebd24a115ba5967b84cf1482e9225f87f29435a65a19ad4c10f39b4fe4401612ad92dc2d30a42ae4da5df249291c4574
7
- data.tar.gz: 740acb400efae6271442fdca1b88506f86cfccbbd6efff94c2a2e1641c78d3fad59d79841c527f2393dd1478632c8ce1098d33c0aa978167e333d94801695434
6
+ metadata.gz: b216a95f0c59c6b2c89c967766a13130836d5d2bfba53033527f16d8ae6ff7fe4e6699467a9aa5a30e294749e48d66cc760894ed6b733df37c388b6944ba56e2
7
+ data.tar.gz: 51e8e2356363bbb696144a0c84b9241cb7f8a40f8846878d80dda8385c728f191f6c42a741d31f7aa6203137322150c83d128bb8e66d9d90732771949c2788f9
@@ -148,3 +148,35 @@ RSpec/AnyInstance:
148
148
  - 'spec/services/hyrax/workflow/sipity_actions_generator_spec.rb'
149
149
  - 'spec/services/hyrax/workflow/state_machine_generator_spec.rb'
150
150
  - 'spec/services/hyrax/workflow/workflow_permissions_generator_spec.rb'
151
+
152
+ # Offense count: 51
153
+ RSpec/ExpectInHook:
154
+ Enabled: false
155
+
156
+ # Offense count: 31
157
+ RSpec/LetBeforeExamples:
158
+ Exclude:
159
+ - 'spec/forms/hyrax/forms/collection_form_spec.rb'
160
+ - 'spec/presenters/hyrax/collection_presenter_spec.rb'
161
+ - 'spec/presenters/hyrax/trophy_presenter_spec.rb'
162
+ - 'spec/services/hyrax/query_service_spec.rb'
163
+ - 'spec/services/hyrax/workflow/action_taken_service_spec.rb'
164
+ - 'spec/services/hyrax/workflow/notification_service_spec.rb'
165
+
166
+ # Offense count: 27
167
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
168
+ # SupportedStyles: and_return, block
169
+ RSpec/ReturnFromStub:
170
+ Exclude:
171
+ - 'spec/controllers/hyrax/api/items_controller_spec.rb'
172
+ - 'spec/controllers/hyrax/file_sets_controller_spec.rb'
173
+ - 'spec/lib/hyrax/arkivo/create_subscription_job_spec.rb'
174
+ - 'spec/models/file_set_spec.rb'
175
+ - 'spec/presenters/hyrax/admin_set_options_presenter_spec.rb'
176
+ - 'spec/routing/api_route_spec.rb'
177
+ - 'spec/views/_user_util_links.html.erb_spec.rb'
178
+ - 'spec/views/hyrax/base/_attributes.html.erb_spec.rb'
179
+ - 'spec/views/hyrax/base/_form.html.erb_spec.rb'
180
+ - 'spec/views/hyrax/base/file_manager.html.erb_spec.rb'
181
+ - 'spec/views/hyrax/dashboard/profiles/edit.html.erb_spec.rb'
182
+ - 'spec/views/hyrax/users/_user_info.html.erb_spec.rb'
@@ -1,5 +1,7 @@
1
1
  # Place any default configuration for solr_wrapper here
2
2
  # port: 8983
3
+ # TODO: Relax this when we're Solr 7-compliant
4
+ version: 6.6.1
3
5
  collection:
4
6
  persist: true
5
7
  dir: solr/config/
data/README.md CHANGED
@@ -63,7 +63,7 @@ The Samvera community is here to help. Please see our [support guide](./.github/
63
63
  # Getting started
64
64
 
65
65
  This document contains instructions specific to setting up an app with __Hyrax
66
- v2.0.0.beta2__. If you are looking for instructions on installing a different
66
+ v2.0.0.beta3__. If you are looking for instructions on installing a different
67
67
  version, be sure to select the appropriate branch or tag from the drop-down
68
68
  menu above.
69
69
 
@@ -160,7 +160,7 @@ NOTE: The steps need to be done in order to create a new Hyrax based app.
160
160
  Generate a new Rails application using the template.
161
161
 
162
162
  ```
163
- rails _5.0.5_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v2.0.0.beta2/template.rb
163
+ rails _5.0.5_ new my_app -m https://raw.githubusercontent.com/samvera/hyrax/v2.0.0.beta3/template.rb
164
164
  ```
165
165
 
166
166
  Generating a new Rails application using Hyrax's template above takes cares of a number of steps for you, including:
@@ -255,6 +255,8 @@ development:
255
255
  url: redis://localhost:6379
256
256
  ```
257
257
 
258
+ Note that the Hyrax Management Guide contains additional information on [how to configure ActionCable in production environments](https://github.com/samvera/hyrax/wiki/Hyrax-Management-Guide#notifications).
259
+
258
260
  # Managing a Hyrax-based app
259
261
 
260
262
  The [Hyrax Management Guide](https://github.com/samvera/hyrax/wiki/Hyrax-Management-Guide) provides tips for how to manage, customize, and enhance your Hyrax application, including guidance specific to:
@@ -88,6 +88,9 @@ Hyrax = {
88
88
 
89
89
  // ActionCable for user notifications. This is displayed in the navbar.
90
90
  notifications: function() {
91
+ // Do not create a consumer if user is not logged in
92
+ if ($("meta[name='current-user']").length === 0)
93
+ return;
91
94
  var consumer = ActionCable.createConsumer("<%= Hyrax::Engine.routes.url_helpers.notifications_endpoint_path %>");
92
95
  consumer.subscriptions.create("Hyrax::NotificationsChannel", {
93
96
  connected: function(data) {
@@ -20,6 +20,8 @@ module Hyrax
20
20
 
21
21
  def user_id
22
22
  session['warden.user.user.key'][0][0]
23
+ rescue NoMethodError
24
+ nil
23
25
  end
24
26
 
25
27
  def session
@@ -1,5 +1,7 @@
1
1
  class StreamNotificationsJob < Hyrax::ApplicationJob
2
2
  def perform(users)
3
+ # Do not use the ActionCable machinery if the feature is disabled
4
+ return unless Hyrax.config.realtime_notifications?
3
5
  Array.wrap(users).each do |user|
4
6
  mailbox = UserMailbox.new(user)
5
7
  Hyrax::NotificationsChannel.broadcast_to(user,
@@ -11,6 +11,7 @@ module Hyrax
11
11
  # you can explicitly set the URL's search field name
12
12
  # @option options [String] :label The default label for the field if no translation is found
13
13
  # @option options [TrueClass, FalseClass] :include_empty should we display a row if there are no values?
14
+ # @option options [String] :work_type name of work type class (e.g., "GenericWork")
14
15
  def attribute_to_html(field, options = {})
15
16
  unless respond_to?(field)
16
17
  Rails.logger.warn("#{self.class} attempted to render #{field}, but no method exists with that name.")
@@ -38,8 +38,10 @@ module Hyrax
38
38
  # name. Can be overridden if more complicated logic is needed.
39
39
  def label
40
40
  translate(
41
- :"blacklight.search.fields.show.#{field}",
42
- default: [:"blacklight.search.fields.#{field}", options.fetch(:label, field.to_s.humanize)]
41
+ :"blacklight.search.fields.#{work_type_label_key}.show.#{field}",
42
+ default: [:"blacklight.search.fields.show.#{field}",
43
+ :"blacklight.search.fields.#{field}",
44
+ options.fetch(:label, field.to_s.humanize)]
43
45
  )
44
46
  end
45
47
 
@@ -65,6 +67,10 @@ module Hyrax
65
67
  def li_value(value)
66
68
  auto_link(ERB::Util.h(value))
67
69
  end
70
+
71
+ def work_type_label_key
72
+ options[:work_type] ? options[:work_type].underscore : nil
73
+ end
68
74
  end
69
75
  end
70
76
  end
@@ -1,6 +1,11 @@
1
1
  <%= csrf_meta_tag %>
2
2
  <meta charset="utf-8" />
3
-
3
+ <%# Only display meta tag, which enables creation of the ActionCable
4
+ consumer, when realtime notifications are enabled and the user is
5
+ signed in %>
6
+ <% if Hyrax.config.realtime_notifications? && signed_in? %>
7
+ <%= tag :meta, name: 'current-user', data: { user_key: current_user.user_key } %>
8
+ <% end %>
4
9
  <!-- added for use on small devices like phones -->
5
10
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
6
11
  <link rel="resourcesync" href="<%= hyrax.capability_list_url %>"/>
@@ -92,9 +92,11 @@ Hyrax::Engine.routes.draw do
92
92
  delete 'delete_all'
93
93
  end
94
94
  end
95
- namespace :notifications do
96
- # WebSocket for notifications
97
- mount ActionCable.server => 'endpoint', as: :endpoint
95
+ if Hyrax.config.realtime_notifications?
96
+ namespace :notifications do
97
+ # WebSocket for notifications
98
+ mount ActionCable.server => 'endpoint', as: :endpoint
99
+ end
98
100
  end
99
101
 
100
102
  # User profile
@@ -40,8 +40,8 @@ EOF
40
40
  spec.add_dependency 'blacklight-gallery', '~> 0.7'
41
41
  spec.add_dependency 'tinymce-rails', '~> 4.1'
42
42
  spec.add_dependency 'font-awesome-rails', '~> 4.2'
43
- spec.add_dependency 'select2-rails', '~> 3.5.9'
44
- spec.add_dependency 'json-schema' # for Arkivio
43
+ spec.add_dependency 'select2-rails', '~> 3.5'
44
+ spec.add_dependency 'json-schema' # for Arkivo
45
45
  spec.add_dependency 'nest', '~> 2.0'
46
46
  spec.add_dependency 'mailboxer', '~> 0.12'
47
47
  spec.add_dependency 'carrierwave', '~> 1.0'
@@ -51,18 +51,20 @@ EOF
51
51
  spec.add_dependency 'legato', '~> 0.3'
52
52
  spec.add_dependency 'posix-spawn'
53
53
  spec.add_dependency 'jquery-ui-rails', '~> 5.0'
54
- spec.add_dependency 'redis-namespace', '~> 1.5.2'
54
+ spec.add_dependency 'redis-namespace', '~> 1.5'
55
+ # Pin more tightly because 0.x gems are potentially unstable
55
56
  spec.add_dependency 'flot-rails', '~> 0.0.6'
56
57
  spec.add_dependency 'almond-rails', '~> 0.1'
57
58
  spec.add_dependency 'qa', '~> 1.0' # questioning_authority
58
59
  spec.add_dependency 'flipflop', '~> 2.3'
59
- spec.add_dependency 'jquery-datatables-rails', '~> 3.4.0'
60
+ spec.add_dependency 'jquery-datatables-rails', '~> 3.4'
60
61
  spec.add_dependency 'rdf-rdfxml' # controlled vocabulary importer
61
62
  spec.add_dependency 'clipboard-rails', '~> 1.5'
62
63
  spec.add_dependency 'rails_autolink', '~> 1.1'
63
64
  spec.add_dependency 'active_fedora-noid', '~> 2.0', '>= 2.0.2'
64
65
  spec.add_dependency 'awesome_nested_set', '~> 3.1'
65
66
  spec.add_dependency 'breadcrumbs_on_rails', '~> 3.0'
67
+ # Pin more tightly because 0.x gems are potentially unstable
66
68
  spec.add_dependency 'kaminari_route_prefix', '~> 0.1.1'
67
69
  spec.add_dependency 'power_converter', '~> 0.1', '>= 0.1.2'
68
70
  spec.add_dependency 'dry-validation', '~> 0.9'
@@ -88,8 +90,18 @@ EOF
88
90
  spec.add_development_dependency "factory_girl_rails", '~> 4.4'
89
91
  spec.add_development_dependency "equivalent-xml", '~> 0.5'
90
92
  spec.add_development_dependency "jasmine", '~> 2.3'
93
+ # Pin rubocop and rubocop-rspec tightly. Minor-level version bumps
94
+ # in these gems cause Rubocop violations, and those violations cause
95
+ # continuous integration builds to fail, and those failures prevent
96
+ # us from merging pull requests. As a community, we have decided
97
+ # that it is not reasonable to manage style violations to be dealt
98
+ # with in a pull request *unless* said pull request's intent is to
99
+ # bring the codebase in further alignment with community style
100
+ # conventions. This allows us to take a managed approach to code
101
+ # style -- we choose to update style when we wish, not when a
102
+ # minor-level version bump in a dependency comes out.
91
103
  spec.add_development_dependency 'rubocop', '~> 0.49.1'
92
- spec.add_development_dependency 'rubocop-rspec', '~> 1.15.0'
104
+ spec.add_development_dependency 'rubocop-rspec', '~> 1.16.0'
93
105
  spec.add_development_dependency 'shoulda-matchers', '~> 3.1'
94
106
  spec.add_development_dependency 'rails-controller-testing', '~> 0'
95
107
  spec.add_development_dependency 'webmock'
@@ -89,6 +89,9 @@ Hyrax.config do |config|
89
89
  # of Zotero-managed research items.
90
90
  # config.arkivo_api = false
91
91
 
92
+ # Stream realtime notifications to users in the browser
93
+ # config.realtime_notifications = true
94
+
92
95
  # Location autocomplete uses geonames to search for named regions
93
96
  # Username for connecting to geonames
94
97
  # config.geonames_username = ''
@@ -271,6 +271,22 @@ module Hyrax
271
271
  @arkivo_api ||= false
272
272
  end
273
273
 
274
+ # rubocop:disable Metrics/LineLength
275
+ attr_writer :realtime_notifications
276
+ def realtime_notifications?
277
+ # Coerce @realtime_notifications to false if server software
278
+ # does not support WebSockets, and warn the user that we are
279
+ # overriding the value in their config unless it's already
280
+ # flipped to false
281
+ if ENV.fetch('SERVER_SOFTWARE', '').match(/Apache.*Phusion_Passenger/).present?
282
+ Rails.logger.warn('Cannot enable realtime notifications atop Passenger + Apache. Coercing `Hyrax.config.realtime_notifications` to `false`. Set this value to `false` in config/initializers/hyrax.rb to stop seeing this warning.') unless @realtime_notifications == false
283
+ @realtime_notifications = false
284
+ end
285
+ return @realtime_notifications unless @realtime_notifications.nil?
286
+ @realtime_notifications = true
287
+ end
288
+ # rubocop:enable Metrics/LineLength
289
+
274
290
  def geonames_username=(username)
275
291
  Qa::Authorities::Geonames.username = username
276
292
  end
@@ -1,3 +1,3 @@
1
1
  module Hyrax
2
- VERSION = '2.0.0.beta2'.freeze
2
+ VERSION = '2.0.0.beta3'.freeze
3
3
  end
@@ -21,6 +21,12 @@ RSpec.describe Hyrax::ApplicationCable::Connection, no_clean: true do
21
21
  end
22
22
 
23
23
  context 'when user is not found' do
24
+ # rubocop:disable RSpec/SubjectStub
25
+ before do
26
+ allow(subject).to receive(:session).and_raise(NoMethodError)
27
+ end
28
+ # rubocop:enable RSpec/SubjectStub
29
+
24
30
  let(:user_id) { nil }
25
31
 
26
32
  it 'rejects the unauthorized connection' do
@@ -17,8 +17,14 @@ RSpec.describe ImportUrlJob do
17
17
  before do
18
18
  allow(Hyrax::Actors::FileSetActor).to receive(:new).with(file_set, user).and_return(actor)
19
19
 
20
+ response_headers = { 'Content-Type' => 'image/png', 'Content-Length' => File.size(File.expand_path(file_path, __FILE__)) }
21
+
22
+ stub_request(:head, "http://example.org#{file_hash}").to_return(
23
+ body: "", status: 200, headers: response_headers
24
+ )
25
+
20
26
  stub_request(:get, "http://example.org#{file_hash}").to_return(
21
- body: File.open(File.expand_path(file_path, __FILE__)).read, status: 200, headers: { 'Content-Type' => 'image/png' }
27
+ body: File.open(File.expand_path(file_path, __FILE__)).read, status: 200, headers: response_headers
22
28
  )
23
29
  end
24
30
 
@@ -1,4 +1,10 @@
1
1
  RSpec.describe StreamNotificationsJob do
2
+ let(:realtime_notifications) { true }
3
+
4
+ before do
5
+ allow(Hyrax.config).to receive(:realtime_notifications?).and_return(realtime_notifications)
6
+ end
7
+
2
8
  describe '#perform' do
3
9
  context 'with zero users' do
4
10
  let(:users) { nil }
@@ -25,6 +31,15 @@ RSpec.describe StreamNotificationsJob do
25
31
  notifications_label: "You've got mail!")
26
32
  described_class.perform_now(users)
27
33
  end
34
+
35
+ context 'when realtime notifications feature is disabled' do
36
+ let(:realtime_notifications) { false }
37
+
38
+ it 'does not broadcast' do
39
+ expect(Hyrax::NotificationsChannel).not_to receive(:broadcast_to)
40
+ described_class.perform_now(users)
41
+ end
42
+ end
28
43
  end
29
44
  end
30
45
  end
@@ -50,6 +50,8 @@ RSpec.describe Hyrax::Configuration do
50
50
  it { is_expected.to respond_to(:permission_levels) }
51
51
  it { is_expected.to respond_to(:permission_options) }
52
52
  it { is_expected.to respond_to(:persistent_hostpath) }
53
+ it { is_expected.to respond_to(:realtime_notifications?) }
54
+ it { is_expected.to respond_to(:realtime_notifications=) }
53
55
  it { is_expected.to respond_to(:redis_namespace) }
54
56
  it { is_expected.to respond_to(:subject_prefix) }
55
57
  it { is_expected.to respond_to(:translate_id_to_uri) }
@@ -72,4 +72,28 @@ RSpec.describe Hyrax::Renderers::AttributeRenderer do
72
72
  it { expect(subject).to be_equivalent_to(expected) }
73
73
  end
74
74
  end
75
+
76
+ describe "#label" do
77
+ subject { renderer }
78
+
79
+ context 'with work type option' do
80
+ let(:work_type) { "GenericWork".underscore }
81
+ let(:renderer) { described_class.new(field, ['Bob', 'Jessica'], work_type: work_type) }
82
+
83
+ context 'no work type specific label' do
84
+ it { expect(subject.label).to eq(field.to_s.humanize) }
85
+ end
86
+ context 'work type specific label' do
87
+ let(:work_type_name_label) { "Appellation" }
88
+
89
+ before do
90
+ allow(I18n).to receive(:translate).and_call_original
91
+ allow(I18n).to receive(:translate).with(:"blacklight.search.fields.#{work_type}.show.#{field}", Hash) do
92
+ work_type_name_label
93
+ end
94
+ end
95
+ it { expect(subject.label).to eq(work_type_name_label) }
96
+ end
97
+ end
98
+ end
75
99
  end
@@ -140,7 +140,7 @@ RSpec.configure do |config|
140
140
  Hyrax.config.enable_noids = false
141
141
  end
142
142
 
143
- config.before :each do |example|
143
+ config.before do |example|
144
144
  if example.metadata[:type] == :feature && Capybara.current_driver != :rack_test
145
145
  DatabaseCleaner.strategy = :truncation
146
146
  else
@@ -11,15 +11,15 @@ RSpec.describe "Rake tasks" do
11
11
 
12
12
  it "creates a file" do
13
13
  run_task "hyrax:user:list_emails"
14
- expect(File.exist?("user_emails.txt")).to be_truthy
14
+ expect(File).to exist("user_emails.txt")
15
15
  expect(IO.read("user_emails.txt")).to include(user1.email, user2.email)
16
16
  File.delete("user_emails.txt")
17
17
  end
18
18
 
19
19
  it "creates a file I give it" do
20
20
  run_task "hyrax:user:list_emails", "abc123.txt"
21
- expect(File.exist?("user_emails.txt")).not_to be_truthy
22
- expect(File.exist?("abc123.txt")).to be_truthy
21
+ expect(File).not_to exist("user_emails.txt")
22
+ expect(File).to exist("abc123.txt")
23
23
  expect(IO.read("abc123.txt")).to include(user1.email, user2.email)
24
24
  File.delete("abc123.txt")
25
25
  end
@@ -49,6 +49,7 @@ RSpec.describe 'hyrax/base/show.html.erb', type: :view do
49
49
  allow(controller).to receive(:current_user).and_return(depositor)
50
50
  allow(User).to receive(:find_by_user_key).and_return(depositor.user_key)
51
51
  allow(view).to receive(:blacklight_config).and_return(Blacklight::Configuration.new)
52
+ allow(view).to receive(:signed_in?)
52
53
  allow(view).to receive(:on_the_dashboard?).and_return(false)
53
54
  stub_template 'hyrax/base/_metadata.html.erb' => ''
54
55
  stub_template 'hyrax/base/_relationships.html.erb' => ''
@@ -4,15 +4,59 @@ RSpec.describe "hyrax/homepage/index.html.erb", type: :view do
4
4
  let(:presenter) { instance_double(Hyrax::HomepagePresenter) }
5
5
  let(:type_presenter) { instance_double(Hyrax::SelectTypeListPresenter, many?: true) }
6
6
 
7
- describe "share your work button" do
7
+ before do
8
+ allow(view).to receive(:create_work_presenter).and_return(type_presenter)
9
+ allow(view).to receive(:signed_in?).and_return(signed_in)
10
+ allow(controller).to receive(:current_ability).and_return(ability)
11
+ assign(:presenter, presenter)
12
+ stub_template "hyrax/homepage/_marketing.html.erb" => "marketing"
13
+ stub_template "hyrax/homepage/_home_content.html.erb" => "home content"
14
+ end
15
+
16
+ describe 'meta tag with current user info' do
17
+ let(:realtime_notifications) { true }
18
+
8
19
  before do
9
- allow(view).to receive(:create_work_presenter).and_return(type_presenter)
10
- allow(view).to receive(:signed_in?).and_return(signed_in)
11
- assign(:presenter, presenter)
20
+ allow(Hyrax.config).to receive(:realtime_notifications?).and_return(realtime_notifications)
21
+ allow(view).to receive(:on_the_dashboard?).and_return(false)
22
+ allow(controller).to receive(:current_user).and_return(current_user)
12
23
  allow(controller).to receive(:current_ability).and_return(ability)
24
+ allow(presenter).to receive(:display_share_button?).and_return(true)
25
+ stub_template "_controls.html.erb" => "controls"
26
+ stub_template "_masthead.html.erb" => "masthead"
27
+ render template: 'hyrax/homepage/index', layout: 'layouts/homepage'
28
+ end
29
+
30
+ context 'when signed in' do
31
+ let(:signed_in) { true }
32
+ let(:current_user) { create(:user) }
33
+
34
+ it 'renders' do
35
+ expect(rendered).to have_selector('meta[name="current-user"]', visible: false)
36
+ end
37
+
38
+ context 'when realtime notifications are disabled' do
39
+ let(:realtime_notifications) { false }
40
+
41
+ it 'does not render' do
42
+ expect(rendered).not_to have_selector('meta[name="current-user"]', visible: false)
43
+ end
44
+ end
45
+ end
46
+
47
+ context 'when not signed in' do
48
+ let(:signed_in) { false }
49
+ let(:current_user) { nil }
50
+
51
+ it 'does not render' do
52
+ expect(rendered).not_to have_selector('meta[name="current-user"]', visible: false)
53
+ end
54
+ end
55
+ end
56
+
57
+ describe "share your work button" do
58
+ before do
13
59
  allow(presenter).to receive(:display_share_button?).and_return(display_share_button)
14
- stub_template "hyrax/homepage/_marketing.html.erb" => "marketing"
15
- stub_template "hyrax/homepage/_home_content.html.erb" => "home content"
16
60
  render
17
61
  end
18
62
 
@@ -3,6 +3,7 @@ RSpec.describe "hyrax/pages/show", type: :view do
3
3
 
4
4
  before do
5
5
  assign(:page, content_block)
6
+ allow(view).to receive(:signed_in?)
6
7
  allow(view).to receive(:displayable_content_block)
7
8
  allow(view).to receive(:can?).and_return(false)
8
9
  stub_template 'catalog/_search_form.html.erb' => ''
@@ -1,4 +1,4 @@
1
- gem 'hyrax', '2.0.0.beta2'
1
+ gem 'hyrax', '2.0.0.beta3'
2
2
  run 'bundle install'
3
3
  generate 'hyrax:install', '-f'
4
4
  rails_command 'db:migrate'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hyrax
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta2
4
+ version: 2.0.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Justin Coyne
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2017-09-14 00:00:00.000000000 Z
17
+ date: 2017-09-21 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: rails
@@ -162,14 +162,14 @@ dependencies:
162
162
  requirements:
163
163
  - - "~>"
164
164
  - !ruby/object:Gem::Version
165
- version: 3.5.9
165
+ version: '3.5'
166
166
  type: :runtime
167
167
  prerelease: false
168
168
  version_requirements: !ruby/object:Gem::Requirement
169
169
  requirements:
170
170
  - - "~>"
171
171
  - !ruby/object:Gem::Version
172
- version: 3.5.9
172
+ version: '3.5'
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: json-schema
175
175
  requirement: !ruby/object:Gem::Requirement
@@ -316,14 +316,14 @@ dependencies:
316
316
  requirements:
317
317
  - - "~>"
318
318
  - !ruby/object:Gem::Version
319
- version: 1.5.2
319
+ version: '1.5'
320
320
  type: :runtime
321
321
  prerelease: false
322
322
  version_requirements: !ruby/object:Gem::Requirement
323
323
  requirements:
324
324
  - - "~>"
325
325
  - !ruby/object:Gem::Version
326
- version: 1.5.2
326
+ version: '1.5'
327
327
  - !ruby/object:Gem::Dependency
328
328
  name: flot-rails
329
329
  requirement: !ruby/object:Gem::Requirement
@@ -386,14 +386,14 @@ dependencies:
386
386
  requirements:
387
387
  - - "~>"
388
388
  - !ruby/object:Gem::Version
389
- version: 3.4.0
389
+ version: '3.4'
390
390
  type: :runtime
391
391
  prerelease: false
392
392
  version_requirements: !ruby/object:Gem::Requirement
393
393
  requirements:
394
394
  - - "~>"
395
395
  - !ruby/object:Gem::Version
396
- version: 3.4.0
396
+ version: '3.4'
397
397
  - !ruby/object:Gem::Dependency
398
398
  name: rdf-rdfxml
399
399
  requirement: !ruby/object:Gem::Requirement
@@ -858,14 +858,14 @@ dependencies:
858
858
  requirements:
859
859
  - - "~>"
860
860
  - !ruby/object:Gem::Version
861
- version: 1.15.0
861
+ version: 1.16.0
862
862
  type: :development
863
863
  prerelease: false
864
864
  version_requirements: !ruby/object:Gem::Requirement
865
865
  requirements:
866
866
  - - "~>"
867
867
  - !ruby/object:Gem::Version
868
- version: 1.15.0
868
+ version: 1.16.0
869
869
  - !ruby/object:Gem::Dependency
870
870
  name: shoulda-matchers
871
871
  requirement: !ruby/object:Gem::Requirement
@@ -1011,7 +1011,6 @@ files:
1011
1011
  - app/assets/javascripts/hyrax/batch_select.es6
1012
1012
  - app/assets/javascripts/hyrax/batch_select_all.js
1013
1013
  - app/assets/javascripts/hyrax/browse_everything.js
1014
- - app/assets/javascripts/hyrax/channels/notifications.js
1015
1014
  - app/assets/javascripts/hyrax/collections.js
1016
1015
  - app/assets/javascripts/hyrax/collections/editor.es6
1017
1016
  - app/assets/javascripts/hyrax/config.js.erb