sufia-models 4.0.0.beta3 → 4.0.0.beta4
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 +4 -4
- data/app/models/concerns/sufia/generic_file.rb +0 -5
- data/app/models/concerns/sufia/generic_file/metadata.rb +9 -2
- data/app/models/concerns/sufia/generic_file/web_form.rb +2 -2
- data/app/models/datastreams/generic_file_rdf_datastream.rb +1 -1
- data/app/services/sufia/noid.rb +21 -16
- data/lib/generators/sufia/models/install_generator.rb +2 -16
- data/lib/generators/sufia/models/templates/config/sufia.rb +23 -0
- data/lib/sufia/models/version.rb +1 -1
- data/sufia-models.gemspec +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26e357f1f6b832085b27631a3f0b27a6965e5e5d
|
4
|
+
data.tar.gz: 1848e22539c05d4fc6e65c4caf95dbb5bae3853d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 46eef68b1e122d8a97d163b8af48276506129800d77713866097738d1f41930f93f1ca9d01f098ffc295bc2d964ca9c3f373edfb8983089d1507907637609b1d
|
7
|
+
data.tar.gz: 692a11e6afe0f3fe8545eb12600f50233dc72b7de3fbee2e5bde078ed200e8d03497be4beb12354aaf666e36e651fd35243c3276870476566a9bb60cb51c679d
|
@@ -9,14 +9,21 @@ module Sufia
|
|
9
9
|
has_file_datastream "content", type: FileContentDatastream
|
10
10
|
has_file_datastream "thumbnail"
|
11
11
|
|
12
|
-
|
13
12
|
has_attributes :relative_path, :depositor, :import_url, datastream: :properties, multiple: false
|
14
|
-
has_attributes :date_uploaded, :date_modified, datastream: :descMetadata, multiple: false
|
13
|
+
has_attributes :date_uploaded, :date_modified, datastream: :descMetadata, multiple: false
|
15
14
|
has_attributes :related_url, :based_near, :part_of, :creator,
|
16
15
|
:contributor, :title, :tag, :description, :rights,
|
17
16
|
:publisher, :date_created, :subject,
|
18
17
|
:resource_type, :identifier, :language, datastream: :descMetadata, multiple: true
|
19
18
|
end
|
19
|
+
|
20
|
+
# Add a schema.org itemtype
|
21
|
+
def itemtype
|
22
|
+
# Look up the first non-empty resource type value in a hash from the config
|
23
|
+
Sufia.config.resource_types_to_schema[resource_type.to_a.reject { |type| type.empty? }.first] || 'http://schema.org/CreativeWork'
|
24
|
+
rescue
|
25
|
+
'http://schema.org/CreativeWork'
|
26
|
+
end
|
20
27
|
end
|
21
28
|
end
|
22
29
|
end
|
@@ -16,7 +16,7 @@ module Sufia
|
|
16
16
|
# override this method if you need to initialize more complex RDF assertions (b-nodes)
|
17
17
|
def initialize_fields
|
18
18
|
terms_for_editing.each do |key|
|
19
|
-
# if value is empty, we create an one element array to loop over for output
|
19
|
+
# if value is empty, we create an one element array to loop over for output
|
20
20
|
self[key] = [''] if self[key].empty?
|
21
21
|
end
|
22
22
|
end
|
@@ -34,7 +34,7 @@ module Sufia
|
|
34
34
|
module ClassMethods
|
35
35
|
def terms_for_display
|
36
36
|
[:resource_type, :title, :creator, :contributor, :description, :tag, :rights, :publisher, :date_created,
|
37
|
-
:
|
37
|
+
:subject, :language, :identifier, :based_near, :related_url]
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
@@ -4,7 +4,7 @@ class GenericFileRdfDatastream < ActiveFedora::NtriplesRDFDatastream
|
|
4
4
|
index.as :stored_searchable, :facetable
|
5
5
|
end
|
6
6
|
property :title, predicate: RDF::DC.title do |index|
|
7
|
-
index.as :stored_searchable
|
7
|
+
index.as :stored_searchable, :facetable
|
8
8
|
end
|
9
9
|
property :creator, predicate: RDF::DC.creator do |index|
|
10
10
|
index.as :stored_searchable, :facetable
|
data/app/services/sufia/noid.rb
CHANGED
@@ -1,28 +1,33 @@
|
|
1
1
|
module Sufia
|
2
2
|
module Noid
|
3
|
-
def Noid.noidify(identifier)
|
4
|
-
String(identifier).split(":").last
|
5
|
-
end
|
6
|
-
|
7
|
-
def Noid.namespaceize(identifier)
|
8
|
-
if identifier.start_with?(Noid.namespace)
|
9
|
-
identifier
|
10
|
-
else
|
11
|
-
"#{Noid.namespace}:#{identifier}"
|
12
|
-
end
|
13
|
-
end
|
14
3
|
|
15
4
|
def noid
|
16
5
|
Noid.noidify(self.pid)
|
17
6
|
end
|
18
7
|
|
19
|
-
|
20
|
-
|
8
|
+
# Redefine this for more intuitive keys in Redis
|
9
|
+
def to_param
|
10
|
+
noid
|
21
11
|
end
|
22
12
|
|
23
|
-
|
24
|
-
|
25
|
-
|
13
|
+
class << self
|
14
|
+
def noidify(identifier)
|
15
|
+
String(identifier).split(":").last
|
16
|
+
end
|
17
|
+
|
18
|
+
def namespaceize(identifier)
|
19
|
+
if identifier.start_with?(namespace)
|
20
|
+
identifier
|
21
|
+
else
|
22
|
+
"#{namespace}:#{identifier}"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
protected
|
27
|
+
|
28
|
+
def namespace
|
29
|
+
Sufia.config.id_namespace
|
30
|
+
end
|
26
31
|
end
|
27
32
|
end
|
28
33
|
end
|
@@ -13,9 +13,8 @@ This generator makes the following changes to your application:
|
|
13
13
|
1. Creates several database migrations if they do not exist in /db/migrate
|
14
14
|
2. Adds user behavior to the user model
|
15
15
|
3. Creates the sufia.rb configuration file
|
16
|
-
4.
|
17
|
-
5. Generates
|
18
|
-
6. Generates usage stats config
|
16
|
+
4. Generates mailboxer
|
17
|
+
5. Generates usage stats config
|
19
18
|
"""
|
20
19
|
|
21
20
|
# Implement the required interface for Rails::Generators::Migration.
|
@@ -83,19 +82,6 @@ This generator makes the following changes to your application:
|
|
83
82
|
copy_file 'config/resque_config.rb', 'config/initializers/resque_config.rb'
|
84
83
|
end
|
85
84
|
|
86
|
-
# Add behaviors to the SolrDocument model
|
87
|
-
def inject_sufia_solr_document_behavior
|
88
|
-
file_path = "app/models/solr_document.rb"
|
89
|
-
if File.exists?(file_path)
|
90
|
-
inject_into_file file_path, after: /include Blacklight::Solr::Document.*$/ do
|
91
|
-
"\n # Adds Sufia behaviors to the SolrDocument.\n" +
|
92
|
-
" include Sufia::SolrDocumentBehavior\n"
|
93
|
-
end
|
94
|
-
else
|
95
|
-
puts " \e[31mFailure\e[0m Sufia requires a SolrDocument object. This generators assumes that the model is defined in the file #{file_path}, which does not exist."
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
85
|
def install_mailboxer
|
100
86
|
generate "mailboxer:install"
|
101
87
|
end
|
@@ -48,6 +48,29 @@ Sufia.config do |config|
|
|
48
48
|
"Other" => "Other",
|
49
49
|
}
|
50
50
|
|
51
|
+
config.resource_types_to_schema = {
|
52
|
+
"Article" => "http://schema.org/Article",
|
53
|
+
"Audio" => "http://schema.org/AudioObject",
|
54
|
+
"Book" => "http://schema.org/Book",
|
55
|
+
"Capstone Project" => "http://schema.org/CreativeWork",
|
56
|
+
"Conference Proceeding" => "http://schema.org/ScholarlyArticle",
|
57
|
+
"Dataset" => "http://schema.org/Dataset",
|
58
|
+
"Dissertation" => "http://schema.org/ScholarlyArticle",
|
59
|
+
"Image" => "http://schema.org/ImageObject",
|
60
|
+
"Journal" => "http://schema.org/CreativeWork",
|
61
|
+
"Map or Cartographic Material" => "http://schema.org/Map",
|
62
|
+
"Masters Thesis" => "http://schema.org/ScholarlyArticle",
|
63
|
+
"Part of Book" => "http://schema.org/Book",
|
64
|
+
"Poster" => "http://schema.org/CreativeWork",
|
65
|
+
"Presentation" => "http://schema.org/CreativeWork",
|
66
|
+
"Project" => "http://schema.org/CreativeWork",
|
67
|
+
"Report" => "http://schema.org/CreativeWork",
|
68
|
+
"Research Paper" => "http://schema.org/ScholarlyArticle",
|
69
|
+
"Software or Program Code" => "http://schema.org/Code",
|
70
|
+
"Video" => "http://schema.org/VideoObject",
|
71
|
+
"Other" => "http://schema.org/CreativeWork",
|
72
|
+
}
|
73
|
+
|
51
74
|
config.permission_levels = {
|
52
75
|
"Choose Access"=>"none",
|
53
76
|
"View/Download" => "read",
|
data/lib/sufia/models/version.rb
CHANGED
data/sufia-models.gemspec
CHANGED
@@ -34,7 +34,7 @@ Gem::Specification.new do |spec|
|
|
34
34
|
spec.add_dependency 'resque', '~> 1.23'
|
35
35
|
spec.add_dependency 'resque-pool', '0.3.0'
|
36
36
|
spec.add_dependency 'noid', '~> 0.6.6'
|
37
|
-
spec.add_dependency 'mailboxer', '~> 0.12.0.
|
37
|
+
spec.add_dependency 'mailboxer', '~> 0.12.0.rc2'
|
38
38
|
spec.add_dependency 'acts_as_follower', '>= 0.1.1', '< 0.3'
|
39
39
|
spec.add_dependency 'carrierwave', '~> 0.9.0'
|
40
40
|
spec.add_dependency 'hydra-derivatives', '~> 0.1'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sufia-models
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.0.
|
4
|
+
version: 4.0.0.beta4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Friesen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -148,14 +148,14 @@ dependencies:
|
|
148
148
|
requirements:
|
149
149
|
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: 0.12.0.
|
151
|
+
version: 0.12.0.rc2
|
152
152
|
type: :runtime
|
153
153
|
prerelease: false
|
154
154
|
version_requirements: !ruby/object:Gem::Requirement
|
155
155
|
requirements:
|
156
156
|
- - "~>"
|
157
157
|
- !ruby/object:Gem::Version
|
158
|
-
version: 0.12.0.
|
158
|
+
version: 0.12.0.rc2
|
159
159
|
- !ruby/object:Gem::Dependency
|
160
160
|
name: acts_as_follower
|
161
161
|
requirement: !ruby/object:Gem::Requirement
|