sufia-models 3.1.1 → 3.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1f262e81abc28d0f72840dbdc78a95e3b6d52b57
4
- data.tar.gz: 1f94f581db6d3c3bdfe2b7853ae8835a14d884e4
3
+ metadata.gz: e29c38959e535f4f8e74a7882bad04666274b672
4
+ data.tar.gz: 302f04b6b382cc2edcbd11bf80bd9ea5928f6466
5
5
  SHA512:
6
- metadata.gz: 10168f401439a85afcd7cd6e99069f803a2541ed5558002403951082991c36016de287d8cdf37dec099bb5bb203a42310a8bad75f32c5c06059113cd2e2c8b6c
7
- data.tar.gz: 55243f46216539e011da9fe4ccb69481394cc29c66459ea9b5599523526c95f1ffd14b80279f92524376c544a5eb3eae10f4eef1ece20e8a3fdf0eb69d135cdb
6
+ metadata.gz: 0f709335f5a92ad6fc59b442c4ac92255e378710fa6b071bc62eab05fa001f7a5985452c90781ea08da15346bfdc2384778de07667a45f7c4d7388e6a8b0dbe5
7
+ data.tar.gz: ce166166966b2686d676887e96f821aaadaca158c8f916748933103e889c74bba39dd4ea72374697998c39db62d47dba52c3dc41108f3d3f4d31def396fceee1
@@ -1,16 +1,3 @@
1
- # Copyright © 2012 The Pennsylvania State University
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
1
  class GenericFile < ActiveFedora::Base
15
2
  include Sufia::GenericFile
16
3
  end
@@ -20,10 +20,14 @@ This generator makes the following changes to your application:
20
20
  # Implement the required interface for Rails::Generators::Migration.
21
21
  # taken from http://github.com/rails/rails/blob/master/activerecord/lib/generators/active_record.rb
22
22
  def self.next_migration_number(path)
23
- unless @prev_migration_nr
24
- @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
25
- else
23
+ if @prev_migration_nr
26
24
  @prev_migration_nr += 1
25
+ else
26
+ if last_migration = Dir[File.join(path, '*.rb')].sort.last
27
+ @prev_migration_nr = last_migration.sub(File.join(path, '/'), '').to_i + 1
28
+ else
29
+ @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
30
+ end
27
31
  end
28
32
  @prev_migration_nr.to_s
29
33
  end
@@ -42,8 +46,8 @@ This generator makes the following changes to your application:
42
46
  "add_groups_to_users.rb",
43
47
  "create_local_authorities.rb",
44
48
  "create_trophies.rb"
45
- ].each do |f|
46
- better_migration_template f
49
+ ].each do |file|
50
+ better_migration_template file
47
51
  end
48
52
  end
49
53
 
@@ -88,12 +92,7 @@ This generator makes the following changes to your application:
88
92
  private
89
93
 
90
94
  def better_migration_template(file)
91
- begin
92
- migration_template "migrations/#{file}", "db/migrate/#{file}"
93
- sleep 1 # ensure scripts have different time stamps
94
- rescue
95
- puts " \e[1m\e[34mMigrations\e[0m " + $!.message
96
- end
95
+ migration_template "migrations/#{file}", "db/migrate/#{file}"
97
96
  end
98
97
 
99
98
  end
@@ -46,13 +46,11 @@ module Sufia
46
46
  require 'sufia/models/noid'
47
47
  require 'sufia/models/file_content'
48
48
  require 'sufia/models/file_content/versions'
49
- require 'sufia/models/generic_file/actions'
50
49
  require 'sufia/models/generic_file/audit'
51
50
  require 'sufia/models/generic_file/characterization'
52
51
  require 'sufia/models/generic_file/derivatives'
53
52
  require 'sufia/models/generic_file/export'
54
53
  require 'sufia/models/generic_file/mime_types'
55
- require 'sufia/models/generic_file/permissions'
56
54
  require 'sufia/models/generic_file/thumbnail'
57
55
  require 'sufia/models/generic_file'
58
56
  require 'sufia/models/user'
@@ -2,8 +2,9 @@ module Sufia
2
2
  module GenericFile
3
3
  extend ActiveSupport::Concern
4
4
  extend ActiveSupport::Autoload
5
- autoload :Actions
6
- autoload :Permissions
5
+ autoload :Actions, 'sufia/models/generic_file/actions'
6
+ autoload :Permissions, 'sufia/models/generic_file/permissions'
7
+ autoload :Visibility, 'sufia/models/generic_file/visibility'
7
8
  autoload :WebForm, 'sufia/models/generic_file/web_form'
8
9
  autoload :AccessibleAttributes, 'sufia/models/generic_file/accessible_attributes'
9
10
  include Sufia::ModelMethods
@@ -4,26 +4,13 @@ module Sufia
4
4
  extend ActiveSupport::Concern
5
5
  #we're overriding the permissions= method which is in RightsMetadata
6
6
  include Hydra::ModelMixins::RightsMetadata
7
+ include Sufia::GenericFile::Visibility
8
+
7
9
  included do
8
10
  has_metadata :name => "rightsMetadata", :type => ParanoidRightsDatastream
9
11
  validate :paranoid_permissions
10
12
  end
11
13
 
12
- def set_visibility(visibility)
13
- # only set explicit permissions
14
- case visibility
15
- when "open"
16
- self.datastreams["rightsMetadata"].permissions({:group=>"public"}, "read")
17
- when "psu"
18
- self.datastreams["rightsMetadata"].permissions({:group=>"registered"}, "read")
19
- self.datastreams["rightsMetadata"].permissions({:group=>"public"}, "none")
20
- when "restricted"
21
- self.datastreams["rightsMetadata"].permissions({:group=>"registered"}, "none")
22
- self.datastreams["rightsMetadata"].permissions({:group=>"public"}, "none")
23
- end
24
- end
25
-
26
-
27
14
  def paranoid_permissions
28
15
  # let the rightsMetadata ds make this determination
29
16
  # - the object instance is passed in for easier access to the props ds
@@ -57,8 +44,6 @@ module Sufia
57
44
  end
58
45
  {'person'=>user_perms, 'group'=>group_perms}
59
46
  end
60
-
61
-
62
47
  end
63
48
  end
64
49
  end
@@ -0,0 +1,59 @@
1
+ module Sufia
2
+ module GenericFile
3
+ module Visibility
4
+ extend ActiveSupport::Concern
5
+ extend Deprecation
6
+ include ActiveModel::Dirty
7
+
8
+ included do
9
+ define_attribute_methods :visibility
10
+ end
11
+
12
+ def visibility= (value)
13
+ # only set explicit permissions
14
+ case value
15
+ when "open"
16
+ public_visibility!
17
+ when "psu"
18
+ registered_visibility!
19
+ when "restricted"
20
+ private_visibility!
21
+ end
22
+ end
23
+
24
+ def public_visibility!
25
+ visibility_will_change! unless visibility == 'public'
26
+ self.datastreams["rightsMetadata"].permissions({:group=>"public"}, "read")
27
+ end
28
+
29
+ def registered_visibility!
30
+ visibility_will_change! unless visibility == 'registered'
31
+ self.datastreams["rightsMetadata"].permissions({:group=>"registered"}, "read")
32
+ self.datastreams["rightsMetadata"].permissions({:group=>"public"}, "none")
33
+ end
34
+
35
+ def private_visibility!
36
+ visibility_will_change! unless visibility == 'private'
37
+ self.datastreams["rightsMetadata"].permissions({:group=>"registered"}, "none")
38
+ self.datastreams["rightsMetadata"].permissions({:group=>"public"}, "none")
39
+ end
40
+
41
+ def visibility
42
+ if read_groups.include? 'public'
43
+ 'public'
44
+ elsif read_groups.include? 'registered'
45
+ 'registered'
46
+ else
47
+ 'private'
48
+ end
49
+ end
50
+
51
+ def set_visibility(visibility)
52
+ Deprecation.warn Permissions, "set_visibility is deprecated, use visibility= instead. set_visibility will be removed in sufia 3.0", caller
53
+ self.visibility= visibility
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+
@@ -1,17 +1,3 @@
1
- # Copyright © 2012 The Pennsylvania State University
2
- #
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at
6
- #
7
- # http://www.apache.org/licenses/LICENSE-2.0
8
- #
9
- # Unless required by applicable law or agreed to in writing, software
10
- # distributed under the License is distributed on an "AS IS" BASIS,
11
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- # See the License for the specific language governing permissions and
13
- # limitations under the License.
14
-
15
1
  class BatchUpdateJob
16
2
  include Hydra::PermissionsQuery
17
3
  include Rails.application.routes.url_helpers
@@ -60,7 +46,7 @@ class BatchUpdateJob
60
46
  end
61
47
  gf.title = title[gf.pid] if title[gf.pid] rescue gf.label
62
48
  gf.attributes=file_attributes
63
- gf.set_visibility(visibility)
49
+ gf.visibility= visibility
64
50
 
65
51
  save_tries = 0
66
52
  begin
@@ -1,5 +1,5 @@
1
1
  module Sufia
2
2
  module Models
3
- VERSION = "3.1.1"
3
+ VERSION = "3.1.2"
4
4
  end
5
5
  end
data/sufia-models.gemspec CHANGED
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.add_dependency 'resque', '~> 1.23.0'#, :require => 'resque/server'
37
37
  spec.add_dependency 'resque-pool', '0.3.0'
38
38
  spec.add_dependency 'noid', '~> 0.6.6'
39
- spec.add_dependency 'curationexperts-mailboxer', '0.10.3'
39
+ spec.add_dependency 'mailboxer', '~> 0.11.0'
40
40
  spec.add_dependency 'acts_as_follower', '0.1.1'
41
41
  spec.add_dependency 'paperclip', '~> 3.4.0'
42
42
  spec.add_dependency 'zipruby', '0.3.6'
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: 3.1.1
4
+ version: 3.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Friesen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-20 00:00:00.000000000 Z
11
+ date: 2013-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -157,19 +157,19 @@ dependencies:
157
157
  - !ruby/object:Gem::Version
158
158
  version: 0.6.6
159
159
  - !ruby/object:Gem::Dependency
160
- name: curationexperts-mailboxer
160
+ name: mailboxer
161
161
  requirement: !ruby/object:Gem::Requirement
162
162
  requirements:
163
- - - '='
163
+ - - ~>
164
164
  - !ruby/object:Gem::Version
165
- version: 0.10.3
165
+ version: 0.11.0
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: 0.10.3
172
+ version: 0.11.0
173
173
  - !ruby/object:Gem::Dependency
174
174
  name: acts_as_follower
175
175
  requirement: !ruby/object:Gem::Requirement
@@ -294,6 +294,7 @@ files:
294
294
  - lib/sufia/models/generic_file/mime_types.rb
295
295
  - lib/sufia/models/generic_file/permissions.rb
296
296
  - lib/sufia/models/generic_file/thumbnail.rb
297
+ - lib/sufia/models/generic_file/visibility.rb
297
298
  - lib/sufia/models/generic_file/web_form.rb
298
299
  - lib/sufia/models/id_service.rb
299
300
  - lib/sufia/models/jobs/active_fedora_pid_based_job.rb