enju_subject 0.1.1 → 0.2.0.beta.1

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 (63) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +3 -3
  3. data/app/controllers/classification_types_controller.rb +13 -2
  4. data/app/controllers/classifications_controller.rb +12 -3
  5. data/app/controllers/concerns/enju_subject/controller.rb +27 -0
  6. data/app/controllers/subject_heading_types_controller.rb +13 -2
  7. data/app/controllers/subject_types_controller.rb +13 -2
  8. data/app/controllers/subjects_controller.rb +12 -4
  9. data/app/models/classification.rb +1 -1
  10. data/app/models/classification_type.rb +0 -1
  11. data/app/models/concerns/enju_subject/enju_manifestation.rb +37 -0
  12. data/app/models/subject.rb +1 -1
  13. data/app/models/subject_heading_type.rb +0 -1
  14. data/app/models/subject_type.rb +0 -1
  15. data/app/policies/classification_policy.rb +21 -0
  16. data/app/policies/classification_type_policy.rb +23 -0
  17. data/app/policies/subject_heading_type_policy.rb +23 -0
  18. data/app/policies/subject_policy.rb +21 -0
  19. data/app/policies/subject_type_policy.rb +21 -0
  20. data/app/views/classification_types/index.html.erb +4 -4
  21. data/app/views/classification_types/show.html.erb +2 -2
  22. data/app/views/classifications/index.html.erb +2 -2
  23. data/app/views/classifications/show.html.erb +2 -2
  24. data/app/views/manifestations/_classification_fields.html.erb +5 -0
  25. data/app/views/manifestations/_subject_facet.html.erb +2 -2
  26. data/app/views/manifestations/_subject_fields.html.erb +6 -0
  27. data/app/views/manifestations/_subject_form.html.erb +8 -9
  28. data/app/views/subject_heading_types/index.html.erb +4 -4
  29. data/app/views/subject_heading_types/show.html.erb +2 -2
  30. data/app/views/subject_types/index.html.erb +4 -4
  31. data/app/views/subject_types/show.html.erb +2 -2
  32. data/app/views/subjects/index.html.erb +3 -3
  33. data/app/views/subjects/index.rss.builder +2 -2
  34. data/app/views/subjects/show.html.erb +3 -3
  35. data/db/fixtures/subject_types.yml +4 -4
  36. data/lib/enju_subject/master_model.rb +3 -3
  37. data/lib/enju_subject/version.rb +1 -1
  38. data/lib/enju_subject.rb +0 -29
  39. data/lib/generators/enju_subject/setup/setup_generator.rb +6 -1
  40. data/lib/generators/enju_subject/setup/templates/db/fixtures/classification_types.yml +6 -0
  41. data/lib/generators/enju_subject/setup/templates/db/fixtures/subject_heading_types.yml +6 -6
  42. data/lib/tasks/enju_subject_tasks.rake +1 -1
  43. data/spec/controllers/classification_types_controller_spec.rb +13 -13
  44. data/spec/controllers/classifications_controller_spec.rb +9 -9
  45. data/spec/controllers/subject_heading_types_controller_spec.rb +58 -58
  46. data/spec/controllers/subject_types_controller_spec.rb +13 -13
  47. data/spec/controllers/subjects_controller_spec.rb +9 -9
  48. data/spec/dummy/app/controllers/application_controller.rb +8 -4
  49. data/spec/dummy/app/models/user.rb +1 -1
  50. data/spec/dummy/config/application.rb +5 -24
  51. data/spec/dummy/config/environments/development.rb +25 -14
  52. data/spec/dummy/config/environments/production.rb +50 -31
  53. data/spec/dummy/config/environments/test.rb +23 -18
  54. data/spec/dummy/config/initializers/enju_leaf.rb +1 -0
  55. data/spec/dummy/db/schema.rb +2 -1
  56. data/spec/lib/generators/enju_subject/setup/setup_generator_spec.rb +34 -0
  57. data/spec/support/devise.rb +2 -1
  58. metadata +95 -20
  59. data/app/models/enju_subject/ability.rb +0 -58
  60. data/lib/enju_subject/manifestation.rb +0 -44
  61. data/spec/dummy/app/models/ability.rb +0 -59
  62. data/spec/dummy/config/application.yml +0 -38
  63. data/spec/dummy/config/initializers/assets.rb +0 -12
@@ -1,30 +1,41 @@
1
- Dummy::Application.configure do
2
- # Settings specified here will take precedence over those in config/application.rb
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
3
 
4
4
  # In the development environment your application's code is reloaded on
5
- # every request. This slows down response time but is perfect for development
5
+ # every request. This slows down response time but is perfect for development
6
6
  # since you don't have to restart the web server when you make code changes.
7
7
  config.cache_classes = false
8
8
 
9
- # Log error messages when you accidentally call methods on nil.
10
- config.whiny_nils = true
9
+ # Do not eager load code on boot.
10
+ config.eager_load = false
11
11
 
12
- # Show full error reports and disable caching
12
+ # Show full error reports and disable caching.
13
13
  config.consider_all_requests_local = true
14
14
  config.action_controller.perform_caching = false
15
15
 
16
- # Don't care if the mailer can't send
16
+ # Don't care if the mailer can't send.
17
17
  config.action_mailer.raise_delivery_errors = false
18
18
 
19
- # Print deprecation notices to the Rails logger
19
+ # Print deprecation notices to the Rails logger.
20
20
  config.active_support.deprecation = :log
21
21
 
22
- # Only use best-standards-support built into browsers
23
- config.action_dispatch.best_standards_support = :builtin
22
+ # Raise an error on page load if there are pending migrations.
23
+ config.active_record.migration_error = :page_load
24
24
 
25
- # Do not compress assets
26
- config.assets.compress = false
27
-
28
- # Expands the lines which load the assets
25
+ # Debug mode disables concatenation and preprocessing of assets.
26
+ # This option may cause significant delays in view rendering with a large
27
+ # number of complex assets.
29
28
  config.assets.debug = true
29
+
30
+ # Asset digests allow you to set far-future HTTP expiration dates on all assets,
31
+ # yet still be able to expire them through the digest params.
32
+ config.assets.digest = true
33
+
34
+ # Adds additional error checking when serving assets at runtime.
35
+ # Checks for improperly declared sprockets dependencies.
36
+ # Raises helpful error messages.
37
+ config.assets.raise_runtime_errors = true
38
+
39
+ # Raises error for missing translations
40
+ # config.action_view.raise_on_missing_translations = true
30
41
  end
@@ -1,60 +1,79 @@
1
- Dummy::Application.configure do
2
- # Settings specified here will take precedence over those in config/application.rb
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
3
 
4
- # Code is not reloaded between requests
4
+ # Code is not reloaded between requests.
5
5
  config.cache_classes = true
6
6
 
7
- # Full error reports are disabled and caching is turned on
7
+ # Eager load code on boot. This eager loads most of Rails and
8
+ # your application in memory, allowing both threaded web servers
9
+ # and those relying on copy on write to perform better.
10
+ # Rake tasks automatically ignore this option for performance.
11
+ config.eager_load = true
12
+
13
+ # Full error reports are disabled and caching is turned on.
8
14
  config.consider_all_requests_local = false
9
15
  config.action_controller.perform_caching = true
10
16
 
11
- # Disable Rails's static asset server (Apache or nginx will already do this)
12
- config.serve_static_assets = false
17
+ # Enable Rack::Cache to put a simple HTTP cache in front of your application
18
+ # Add `rack-cache` to your Gemfile before enabling this.
19
+ # For large-scale production use, consider using a caching reverse proxy like
20
+ # NGINX, varnish or squid.
21
+ # config.action_dispatch.rack_cache = true
22
+
23
+ # Disable serving static files from the `/public` folder by default since
24
+ # Apache or NGINX already handles this.
25
+ config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
13
26
 
14
- # Compress JavaScripts and CSS
15
- config.assets.compress = true
27
+ # Compress JavaScripts and CSS.
28
+ config.assets.js_compressor = :uglifier
29
+ # config.assets.css_compressor = :sass
16
30
 
17
- # Don't fallback to assets pipeline if a precompiled asset is missed
31
+ # Do not fallback to assets pipeline if a precompiled asset is missed.
18
32
  config.assets.compile = false
19
33
 
20
- # Generate digests for assets URLs
34
+ # Asset digests allow you to set far-future HTTP expiration dates on all assets,
35
+ # yet still be able to expire them through the digest params.
21
36
  config.assets.digest = true
22
37
 
23
- # Defaults to Rails.root.join("public/assets")
24
- # config.assets.manifest = YOUR_PATH
38
+ # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
25
39
 
26
- # Specifies the header that your server uses for sending files
27
- # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
28
- # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
40
+ # Specifies the header that your server uses for sending files.
41
+ # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
42
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
29
43
 
30
44
  # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
31
45
  # config.force_ssl = true
32
46
 
33
- # See everything in the log (default is :info)
34
- # config.log_level = :debug
47
+ # Use the lowest log level to ensure availability of diagnostic information
48
+ # when problems arise.
49
+ config.log_level = :debug
35
50
 
36
- # Use a different logger for distributed setups
37
- # config.logger = SyslogLogger.new
51
+ # Prepend all log lines with the following tags.
52
+ # config.log_tags = [ :subdomain, :uuid ]
38
53
 
39
- # Use a different cache store in production
40
- # config.cache_store = :mem_cache_store
54
+ # Use a different logger for distributed setups.
55
+ # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new)
41
56
 
42
- # Enable serving of images, stylesheets, and JavaScripts from an asset server
43
- # config.action_controller.asset_host = "http://assets.example.com"
57
+ # Use a different cache store in production.
58
+ # config.cache_store = :mem_cache_store
44
59
 
45
- # Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
46
- # config.assets.precompile += %w( search.js )
60
+ # Enable serving of images, stylesheets, and JavaScripts from an asset server.
61
+ # config.action_controller.asset_host = 'http://assets.example.com'
47
62
 
48
- # Disable delivery errors, bad email addresses will be ignored
63
+ # Ignore bad email addresses and do not raise email delivery errors.
64
+ # Set this to true and configure the email server for immediate delivery to raise delivery errors.
49
65
  # config.action_mailer.raise_delivery_errors = false
50
66
 
51
- # Enable threaded mode
52
- # config.threadsafe!
53
-
54
67
  # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
55
- # the I18n.default_locale when a translation can not be found)
68
+ # the I18n.default_locale when a translation cannot be found).
56
69
  config.i18n.fallbacks = true
57
70
 
58
- # Send deprecation notices to registered listeners
71
+ # Send deprecation notices to registered listeners.
59
72
  config.active_support.deprecation = :notify
73
+
74
+ # Use default logging formatter so that PID and timestamp are not suppressed.
75
+ config.log_formatter = ::Logger::Formatter.new
76
+
77
+ # Do not dump schema after migrations.
78
+ config.active_record.dump_schema_after_migration = false
60
79
  end
@@ -1,39 +1,44 @@
1
- Dummy::Application.configure do
2
- # Settings specified here will take precedence over those in config/application.rb
1
+ Rails.application.configure do
2
+ # Settings specified here will take precedence over those in config/application.rb.
3
3
 
4
4
  # The test environment is used exclusively to run your application's
5
- # test suite. You never need to work with it otherwise. Remember that
5
+ # test suite. You never need to work with it otherwise. Remember that
6
6
  # your test database is "scratch space" for the test suite and is wiped
7
- # and recreated between test runs. Don't rely on the data there!
7
+ # and recreated between test runs. Don't rely on the data there!
8
8
  config.cache_classes = true
9
9
 
10
- # Configure static asset server for tests with Cache-Control for performance
11
- config.serve_static_assets = true
12
- config.static_cache_control = "public, max-age=3600"
10
+ # Do not eager load code on boot. This avoids loading your whole application
11
+ # just for the purpose of running a single test. If you are using a tool that
12
+ # preloads Rails for running tests, you may have to set it to true.
13
+ config.eager_load = false
13
14
 
14
- # Log error messages when you accidentally call methods on nil
15
- config.whiny_nils = true
15
+ # Configure static file server for tests with Cache-Control for performance.
16
+ config.serve_static_files = true
17
+ config.static_cache_control = 'public, max-age=3600'
16
18
 
17
- # Show full error reports and disable caching
19
+ # Show full error reports and disable caching.
18
20
  config.consider_all_requests_local = true
19
21
  config.action_controller.perform_caching = false
20
22
 
21
- # Raise exceptions instead of rendering exception templates
23
+ # Raise exceptions instead of rendering exception templates.
22
24
  config.action_dispatch.show_exceptions = false
23
25
 
24
- # Disable request forgery protection in test environment
25
- config.action_controller.allow_forgery_protection = false
26
+ # Disable request forgery protection in test environment.
27
+ config.action_controller.allow_forgery_protection = false
26
28
 
27
29
  # Tell Action Mailer not to deliver emails to the real world.
28
30
  # The :test delivery method accumulates sent emails in the
29
31
  # ActionMailer::Base.deliveries array.
30
32
  config.action_mailer.delivery_method = :test
31
33
 
32
- # Use SQL instead of Active Record's schema dumper when creating the test database.
33
- # This is necessary if your schema can't be completely dumped by the schema dumper,
34
- # like if you have constraints or database-specific column types
35
- # config.active_record.schema_format = :sql
34
+ # Randomize the order test cases are executed.
35
+ config.active_support.test_order = :random
36
36
 
37
- # Print deprecation notices to the stderr
37
+ # Print deprecation notices to the stderr.
38
38
  config.active_support.deprecation = :stderr
39
+
40
+ # Raises error for missing translations
41
+ # config.action_view.raise_on_missing_translations = true
42
+
43
+ config.action_mailer.default_url_options = {:host => 'localhost:3000'}
39
44
  end
@@ -0,0 +1 @@
1
+ Manifestation.include(EnjuSubject::EnjuManifestation)
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20150923173139) do
14
+ ActiveRecord::Schema.define(version: 20150925092505) do
15
15
 
16
16
  create_table "accepts", force: :cascade do |t|
17
17
  t.integer "basket_id"
@@ -228,6 +228,7 @@ ActiveRecord::Schema.define(version: 20150923173139) do
228
228
  t.integer "rgt"
229
229
  t.integer "manifestation_id"
230
230
  t.string "url"
231
+ t.string "label"
231
232
  end
232
233
 
233
234
  add_index "classifications", ["category"], name: "index_classifications_on_category"
@@ -0,0 +1,34 @@
1
+ require "spec_helper.rb"
2
+ require "generator_spec"
3
+ require 'generator_spec/test_case'
4
+ require 'generators/enju_subject/setup/setup_generator'
5
+
6
+ describe EnjuSubject::SetupGenerator, type: :generator do
7
+ destination File.expand_path("tmp", Rails.root)
8
+ before(:each) do
9
+ prepare_destination
10
+ %w( app/controllers/application_controller.rb config/initializers/enju_leaf.rb ).each do |f|
11
+ dist_file = "#{Rails.root}/tmp/#{f}"
12
+ dist_dir = File.dirname(dist_file)
13
+ mkdir_p dist_dir
14
+ touch dist_file
15
+ end
16
+ run_generator
17
+ end
18
+ it "does work" do
19
+ expect(destination_root).to have_structure do
20
+ directory "config" do
21
+ directory "initializers" do
22
+ file "enju_leaf.rb" do
23
+ contains "Manifestation.include(EnjuSubject::EnjuManifestation)"
24
+ end
25
+ end
26
+ end
27
+ directory "app" do
28
+ directory "controllers" do
29
+ file "application_controller.rb"
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -1,3 +1,4 @@
1
1
  RSpec.configure do |config|
2
- config.include Devise::TestHelpers, :type => :controller
2
+ config.include Devise::Test::ControllerHelpers, type: :controller
3
+ config.include Devise::Test::ControllerHelpers, type: :view
3
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enju_subject
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kosuke Tanabe
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-25 00:00:00.000000000 Z
11
+ date: 2016-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dynamic_form
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: cocoon
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: sqlite3
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -42,16 +56,16 @@ dependencies:
42
56
  name: mysql2
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - "~>"
59
+ - - ">="
46
60
  - !ruby/object:Gem::Version
47
- version: 0.3.20
61
+ version: '0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - "~>"
66
+ - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: 0.3.20
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: pg
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -114,14 +128,56 @@ dependencies:
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: 1.1.2
131
+ version: 1.2.0.beta.1
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: 1.1.2
138
+ version: 1.2.0.beta.1
139
+ - !ruby/object:Gem::Dependency
140
+ name: enju_library
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.2.0.beta.1
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.2.0.beta.1
153
+ - !ruby/object:Gem::Dependency
154
+ name: enju_biblio
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: 0.2.0.beta.1
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - "~>"
165
+ - !ruby/object:Gem::Version
166
+ version: 0.2.0.beta.1
167
+ - !ruby/object:Gem::Dependency
168
+ name: enju_manifestation_viewer
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 0.2.0.beta.1
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 0.2.0.beta.1
125
181
  - !ruby/object:Gem::Dependency
126
182
  name: sunspot_solr
127
183
  requirement: !ruby/object:Gem::Requirement
@@ -165,7 +221,21 @@ dependencies:
165
221
  - !ruby/object:Gem::Version
166
222
  version: '0'
167
223
  - !ruby/object:Gem::Dependency
168
- name: appraisal
224
+ name: coveralls
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - ">="
228
+ - !ruby/object:Gem::Version
229
+ version: '0'
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - ">="
235
+ - !ruby/object:Gem::Version
236
+ version: '0'
237
+ - !ruby/object:Gem::Dependency
238
+ name: generator_spec
169
239
  requirement: !ruby/object:Gem::Requirement
170
240
  requirements:
171
241
  - - ">="
@@ -190,15 +260,21 @@ files:
190
260
  - Rakefile
191
261
  - app/controllers/classification_types_controller.rb
192
262
  - app/controllers/classifications_controller.rb
263
+ - app/controllers/concerns/enju_subject/controller.rb
193
264
  - app/controllers/subject_heading_types_controller.rb
194
265
  - app/controllers/subject_types_controller.rb
195
266
  - app/controllers/subjects_controller.rb
196
267
  - app/models/classification.rb
197
268
  - app/models/classification_type.rb
198
- - app/models/enju_subject/ability.rb
269
+ - app/models/concerns/enju_subject/enju_manifestation.rb
199
270
  - app/models/subject.rb
200
271
  - app/models/subject_heading_type.rb
201
272
  - app/models/subject_type.rb
273
+ - app/policies/classification_policy.rb
274
+ - app/policies/classification_type_policy.rb
275
+ - app/policies/subject_heading_type_policy.rb
276
+ - app/policies/subject_policy.rb
277
+ - app/policies/subject_type_policy.rb
202
278
  - app/views/classification_types/_form.html.erb
203
279
  - app/views/classification_types/edit.html.erb
204
280
  - app/views/classification_types/index.html.erb
@@ -210,8 +286,10 @@ files:
210
286
  - app/views/classifications/new.html.erb
211
287
  - app/views/classifications/show.html.erb
212
288
  - app/views/manifestations/_classification_detail.html.erb
289
+ - app/views/manifestations/_classification_fields.html.erb
213
290
  - app/views/manifestations/_subject_detail.html.erb
214
291
  - app/views/manifestations/_subject_facet.html.erb
292
+ - app/views/manifestations/_subject_fields.html.erb
215
293
  - app/views/manifestations/_subject_form.html.erb
216
294
  - app/views/subject_heading_types/_form.html.erb
217
295
  - app/views/subject_heading_types/edit.html.erb
@@ -250,7 +328,6 @@ files:
250
328
  - lib/enju_subject.rb
251
329
  - lib/enju_subject/engine.rb
252
330
  - lib/enju_subject/expire_editable_fragment.rb
253
- - lib/enju_subject/manifestation.rb
254
331
  - lib/enju_subject/master_model.rb
255
332
  - lib/enju_subject/page_sweeper.rb
256
333
  - lib/enju_subject/version.rb
@@ -272,7 +349,6 @@ files:
272
349
  - spec/dummy/app/assets/stylesheets/application.css
273
350
  - spec/dummy/app/controllers/application_controller.rb
274
351
  - spec/dummy/app/helpers/application_helper.rb
275
- - spec/dummy/app/models/ability.rb
276
352
  - spec/dummy/app/models/user.rb
277
353
  - spec/dummy/app/views/layouts/application.html.erb
278
354
  - spec/dummy/bin/bundle
@@ -281,16 +357,15 @@ files:
281
357
  - spec/dummy/bin/setup
282
358
  - spec/dummy/config.ru
283
359
  - spec/dummy/config/application.rb
284
- - spec/dummy/config/application.yml
285
360
  - spec/dummy/config/boot.rb
286
361
  - spec/dummy/config/database.yml
287
362
  - spec/dummy/config/environment.rb
288
363
  - spec/dummy/config/environments/development.rb
289
364
  - spec/dummy/config/environments/production.rb
290
365
  - spec/dummy/config/environments/test.rb
291
- - spec/dummy/config/initializers/assets.rb
292
366
  - spec/dummy/config/initializers/backtrace_silencers.rb
293
367
  - spec/dummy/config/initializers/devise.rb
368
+ - spec/dummy/config/initializers/enju_leaf.rb
294
369
  - spec/dummy/config/initializers/inflections.rb
295
370
  - spec/dummy/config/initializers/mime_types.rb
296
371
  - spec/dummy/config/initializers/secret_token.rb
@@ -462,6 +537,7 @@ files:
462
537
  - spec/fixtures/user_groups.yml
463
538
  - spec/fixtures/user_has_roles.yml
464
539
  - spec/fixtures/users.yml
540
+ - spec/lib/generators/enju_subject/setup/setup_generator_spec.rb
465
541
  - spec/models/classification_spec.rb
466
542
  - spec/models/classification_type_spec.rb
467
543
  - spec/models/subject_heading_type_spec.rb
@@ -488,12 +564,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
488
564
  version: '0'
489
565
  required_rubygems_version: !ruby/object:Gem::Requirement
490
566
  requirements:
491
- - - ">="
567
+ - - ">"
492
568
  - !ruby/object:Gem::Version
493
- version: '0'
569
+ version: 1.3.1
494
570
  requirements: []
495
571
  rubyforge_project:
496
- rubygems_version: 2.5.0
572
+ rubygems_version: 2.5.1
497
573
  signing_key:
498
574
  specification_version: 4
499
575
  summary: enju_subject plugin
@@ -507,7 +583,6 @@ test_files:
507
583
  - spec/dummy/app/assets/stylesheets/application.css
508
584
  - spec/dummy/app/controllers/application_controller.rb
509
585
  - spec/dummy/app/helpers/application_helper.rb
510
- - spec/dummy/app/models/ability.rb
511
586
  - spec/dummy/app/models/user.rb
512
587
  - spec/dummy/app/views/layouts/application.html.erb
513
588
  - spec/dummy/bin/bundle
@@ -515,16 +590,15 @@ test_files:
515
590
  - spec/dummy/bin/rake
516
591
  - spec/dummy/bin/setup
517
592
  - spec/dummy/config/application.rb
518
- - spec/dummy/config/application.yml
519
593
  - spec/dummy/config/boot.rb
520
594
  - spec/dummy/config/database.yml
521
595
  - spec/dummy/config/environment.rb
522
596
  - spec/dummy/config/environments/development.rb
523
597
  - spec/dummy/config/environments/production.rb
524
598
  - spec/dummy/config/environments/test.rb
525
- - spec/dummy/config/initializers/assets.rb
526
599
  - spec/dummy/config/initializers/backtrace_silencers.rb
527
600
  - spec/dummy/config/initializers/devise.rb
601
+ - spec/dummy/config/initializers/enju_leaf.rb
528
602
  - spec/dummy/config/initializers/inflections.rb
529
603
  - spec/dummy/config/initializers/mime_types.rb
530
604
  - spec/dummy/config/initializers/secret_token.rb
@@ -698,6 +772,7 @@ test_files:
698
772
  - spec/fixtures/user_groups.yml
699
773
  - spec/fixtures/user_has_roles.yml
700
774
  - spec/fixtures/users.yml
775
+ - spec/lib/generators/enju_subject/setup/setup_generator_spec.rb
701
776
  - spec/models/classification_spec.rb
702
777
  - spec/models/classification_type_spec.rb
703
778
  - spec/models/subject_heading_type_spec.rb
@@ -1,58 +0,0 @@
1
- module EnjuSubject
2
- class Ability
3
- include CanCan::Ability
4
-
5
- def initialize(user, ip_address = nil)
6
- case user.try(:role).try(:name)
7
- when 'Administrator'
8
- can :manage, [
9
- Classification,
10
- Subject
11
- ]
12
- if LibraryGroup.site_config.network_access_allowed?(ip_address)
13
- can [:read, :create, :update], ClassificationType
14
- can [:destroy, :delete], ClassificationType do |classification_type|
15
- classification_type.classifications.empty?
16
- end
17
- can [:read, :create, :update], SubjectHeadingType
18
- can [:destroy, :delete], SubjectHeadingType do |subject_heading_type|
19
- subject_heading_type.subjects.empty?
20
- end
21
- can :manage, [
22
- Classification,
23
- Subject,
24
- SubjectType
25
- ]
26
- else
27
- can :read, [
28
- ClassificationType,
29
- SubjectHeadingType,
30
- SubjectType
31
- ]
32
- end
33
- when 'Librarian'
34
- can :read, [
35
- Classification,
36
- ClassificationType,
37
- Subject,
38
- SubjectType,
39
- SubjectHeadingType
40
- ]
41
- when 'User'
42
- can :read, [
43
- Classification,
44
- ClassificationType,
45
- Subject,
46
- SubjectHeadingType
47
- ]
48
- else
49
- can :read, [
50
- Classification,
51
- ClassificationType,
52
- Subject,
53
- SubjectHeadingType
54
- ]
55
- end
56
- end
57
- end
58
- end
@@ -1,44 +0,0 @@
1
- module EnjuSubject
2
- module EnjuManifestation
3
- def self.included(base)
4
- base.extend ClassMethods
5
- end
6
-
7
- module ClassMethods
8
- def enju_subject_manifestation_model
9
- include InstanceMethods
10
- has_many :subjects
11
- has_many :classifications
12
- accepts_nested_attributes_for :subjects, :allow_destroy => true, :reject_if => :all_blank
13
- accepts_nested_attributes_for :classifications, :allow_destroy => true, :reject_if => :all_blank
14
- after_save do
15
- subject_index!
16
- end
17
- after_destroy do
18
- subject_index!
19
- end
20
-
21
- searchable do
22
- text :subject do
23
- subjects.map{|s| [s.term, s.term_transcription]}.flatten.compact
24
- end
25
- string :subject, :multiple => true do
26
- subjects.map{|s| [s.term, s.term_transcription]}.flatten.compact
27
- end
28
- string :classification, :multiple => true do
29
- classifications.map{|c| "#{c.classification_type.name}_#{c.category}"}
30
- end
31
- integer :subject_ids, :multiple => true
32
- end
33
- end
34
-
35
- module InstanceMethods
36
- def subject_index!
37
- subjects.map{|subject| subject.index}
38
- classifications.map{|classification| classification.index}
39
- Sunspot.commit
40
- end
41
- end
42
- end
43
- end
44
- end