dpn-bagit 0.3.1 → 0.3.2

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: 50e2f21502c0eb76b9bb341bfa2ee9346c0dc857
4
- data.tar.gz: 7f29540eecce3d1fdb2a02da6f76b6528da282dc
3
+ metadata.gz: cbf91f6917b14328e6c5baaab2d77a887757cdad
4
+ data.tar.gz: 9dbcae49067a6e4c4ea6e6bc94eacad033c1de18
5
5
  SHA512:
6
- metadata.gz: 48ee85b17e2599be48678176851856311e2368334a82d675575aba90d8285928395fc54091a390c51192d5daaf0e5ca7b7ebd14ee3bc8af908fc5606503297a7
7
- data.tar.gz: 662ef16fc094c9ab8fb159aeec3070bcc6b6277bc92941c5576b4476206f4a9b04cd2a7ee9e7f92c0f70a714ff478fc2f42713ef3170a885600103d6eae42392
6
+ metadata.gz: 9e2a69e5c48e857317d2e6bf1baa7fe7d1589af7cdce99927e501d5ab695416d776f72ff62163b21ca5fa9f88680deb5b20e8406670b225eddea6122bf375bc8
7
+ data.tar.gz: f8fde7045d0ba19038fdcc6bc5cedc2a6fcb147dc134877082cce78639e4704db06ab49057e492e4cdfe15b816c12a7baa8b9ecbec89d22c4fd0d3480ff9125f
data/.travis.yml CHANGED
@@ -4,9 +4,9 @@ rvm:
4
4
  - 2.2.5
5
5
  - 2.3.1
6
6
 
7
- script: rake test
8
-
9
-
10
7
  addons:
11
8
  code_climate:
12
9
  repo_token: d20107af76061a5ccc8a26570c7eab36d3771f7e5d304ae4e6bc4a0aaa7a5cb4
10
+
11
+ after_script:
12
+ bundle exec codeclimate-test-reporter
data/Rakefile CHANGED
@@ -2,6 +2,8 @@ require "bundler/gem_tasks"
2
2
  require "rake"
3
3
  require "rake/testtask"
4
4
 
5
+ task :default => [:test]
6
+
5
7
  desc "Run all tests."
6
8
  Rake::TestTask.new(:test) do |t|
7
9
  t.libs << "lib"
@@ -9,3 +11,12 @@ Rake::TestTask.new(:test) do |t|
9
11
  t.test_files = FileList['test/**/*_test.rb']
10
12
  end
11
13
 
14
+ # app_version_tasks
15
+ spec = Gem::Specification.find_by_name 'app_version_tasks'
16
+ load "#{spec.gem_dir}/lib/tasks/app_version_tasks.rake"
17
+ require 'app_version_tasks'
18
+ AppVersionTasks.configure do |config|
19
+ config.application_name = 'DPN::Bagit'
20
+ config.version_file_path = File.join(pwd, 'lib', 'dpn', 'bagit', 'version.rb')
21
+ config.git_working_directory = pwd
22
+ end
data/dpn-bagit.gemspec CHANGED
@@ -18,11 +18,15 @@ Gem::Specification.new do |spec|
18
18
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
+ spec.add_development_dependency "app_version_tasks", "~> 0.2"
21
22
  spec.add_development_dependency "bundler", "~> 1.8"
22
23
  spec.add_development_dependency "rake", "~> 10.0"
23
24
  spec.add_development_dependency "test-unit"
24
25
  spec.add_development_dependency "yard", "~> 0.8"
25
26
  spec.add_development_dependency "simplecov"
27
+ spec.add_development_dependency "pry"
28
+ spec.add_development_dependency "pry-doc"
29
+ spec.add_development_dependency "rubocop"
26
30
 
27
31
  spec.add_runtime_dependency "configliere"
28
32
  spec.add_runtime_dependency "bagit", "~>0.3.2"
@@ -1,62 +1,61 @@
1
1
  require "dpn/bagit/bag"
2
2
 
3
-
3
+ ##
4
4
  # A wrapper for a serialized Bag-It bag on disk.
5
5
  # Once created, will not change with changes made to the underlying filesystem
6
6
  # bag; in that case, a new object should be created.
7
+ # @!attribute [r] location
8
+ # @return [String] The location, which can be relative or absolute.
7
9
  class DPN::Bagit::SerializedBag
8
10
 
9
- # Create a SerializedBag
10
- # @param _location [String] Path to the file.
11
- def initialize(_location)
12
- if File.exists?(_location) == false
13
- raise ArgumentError, "File does not exist!"
14
- end
11
+ attr_reader :location
15
12
 
16
- @location = _location
17
- @cachedFixity = nil
13
+ # Create a SerializedBag
14
+ # @param path [String] Path to the file.
15
+ def initialize(path)
16
+ raise ArgumentError, "File does not exist!" unless File.exist?(path)
17
+ @location = path
18
18
  end
19
19
 
20
-
21
- # Returns the size of the serialized bag.
22
- # @return [Fixnum] Apparent size of the bag in bytes.
23
- def size()
24
- return File.size(@location)
20
+ # Returns the file name for the serialized bag, without it's extension.
21
+ # @return [String] name
22
+ def name
23
+ @name ||= File.basename(location, File.extname(location))
25
24
  end
26
25
 
27
-
28
- # Returns the local file location of the Bag.
29
- # @return [String] The location, which can be relative or absolute.
30
- def location()
31
- return @location
26
+ # Returns the directory path to the serialized bag.
27
+ # @return [String] path
28
+ def path
29
+ @path ||= File.dirname(location)
32
30
  end
33
31
 
32
+ # Returns the size of the serialized bag (in bytes).
33
+ # @return [Fixnum] size
34
+ def size
35
+ File.size(location)
36
+ end
34
37
 
35
38
  # Returns the fixity of the serialized version of the bag.
36
39
  # @param algorithm [Symbol] The algorithm to use for calculation.
37
- # @return [String] The fixity of the file.
40
+ # @return [String] fixity
38
41
  def fixity(algorithm)
39
- if @cachedFixity == nil
42
+ @cachedFixity ||= begin
40
43
  case algorithm
41
44
  when :sha256
42
45
  digest = Digest::SHA256
43
46
  else
44
47
  raise ArgumentError, "Unknown algorithm."
45
48
  end
46
-
47
- @cachedFixity = digest.file(@location).hexdigest
49
+ digest.file(location).hexdigest
48
50
  end
49
- return @cachedFixity
50
51
  end
51
52
 
52
-
53
53
  # Unserialize the bag into the local filesystem. This object
54
54
  # is unchanged. Requires sufficient permissions and disk space.
55
- # @return [Bag] A bag made from the unserialized object.
56
- def unserialize!()
57
- `/bin/tar -xf #{@location} -C #{File.dirname(@location)}`
58
- raise RuntimeError, "cannot untar #{file}" unless $?.success?
59
- name = File.basename(@location).to_s.sub(/\..*/,'') # remove the file extension
60
- return DPN::Bagit::Bag.new(File.join(File.dirname(@location), name))
55
+ # @return [DPN::Bagit::Bag] A bag made from the unserialized object.
56
+ def unserialize!
57
+ `/bin/tar -xf #{location} -C #{path} 2> /dev/null`
58
+ raise RuntimeError, "cannot untar #{location}" unless $?.success?
59
+ DPN::Bagit::Bag.new(File.join(path, name))
61
60
  end
62
61
  end
@@ -1,5 +1,5 @@
1
1
  module DPN
2
2
  module Bagit
3
- VERSION = "0.3.1"
3
+ VERSION = "0.3.2"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dpn-bagit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bryan Hockey
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-08-17 00:00:00.000000000 Z
11
+ date: 2017-01-09 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: app_version_tasks
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.2'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.2'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +94,48 @@ dependencies:
80
94
  - - ">="
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry-doc
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rubocop
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
83
139
  - !ruby/object:Gem::Dependency
84
140
  name: configliere
85
141
  requirement: !ruby/object:Gem::Requirement
@@ -157,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
213
  version: '0'
158
214
  requirements: []
159
215
  rubyforge_project:
160
- rubygems_version: 2.4.5.1
216
+ rubygems_version: 2.5.2
161
217
  signing_key:
162
218
  specification_version: 4
163
219
  summary: An implementation of the DPN Bagit spec.