hydra-file_characterization 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,113 @@
1
+ # How to Contribute
2
+
3
+ We want your help to make Project Hydra great.
4
+ There are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things.
5
+
6
+ ## Hydra Project Intellectual Property Licensing and Ownership
7
+
8
+ All code contributors must have an Individual Contributor License Agreement (iCLA) on file with the Hydra Project Steering Group.
9
+ If the contributor works for an institution, the institution must have a Corporate Contributor License Agreement (cCLA) on file.
10
+
11
+ https://wiki.duraspace.org/display/hydra/Hydra+Project+Intellectual+Property+Licensing+and+Ownership
12
+
13
+ You should also add yourself to the `CONTRIBUTORS.md` file in the root of the project.
14
+
15
+ ## Contribution Tasks
16
+
17
+ * Reporting Issues
18
+ * Making Changes
19
+ * Submitting Changes
20
+ * Merging Changes
21
+
22
+ ### Reporting Issues
23
+
24
+ * Make sure you have a [GitHub account](https://github.com/signup/free)
25
+ * Submit a [Github issue](./issues) by:
26
+ * Clearly describing the issue
27
+ * Provide a descriptive summary
28
+ * Explain the expected behavior
29
+ * Explain the actual behavior
30
+ * Provide steps to reproduce the actual behavior
31
+
32
+ ### Making Changes
33
+
34
+ * Fork the repository on GitHub
35
+ * Create a topic branch from where you want to base your work.
36
+ * This is usually the master branch.
37
+ * To quickly create a topic branch based on master; `git branch fix/master/my_contribution master`
38
+ * Then checkout the new branch with `git checkout fix/master/my_contribution`.
39
+ * Please avoid working directly on the `master` branch.
40
+ * You may find the [hub suite of commands](https://github.com/defunkt/hub) helpful
41
+ * Make commits of logical units.
42
+ * Your commit should include a high level description of your work in HISTORY.textile
43
+ * Check for unnecessary whitespace with `git diff --check` before committing.
44
+ * Make sure your commit messages are [well formed](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
45
+ * If you created an issue, you can close it by including "Closes #issue" in your commit message. See [Github's blog post for more details](https://github.com/blog/1386-closing-issues-via-commit-messages)
46
+
47
+ ```
48
+ Present tense short summary (50 characters or less)
49
+
50
+ More detailed description, if necessary. It should be wrapped to 72
51
+ characters. Try to be as descriptive as you can, even if you think that
52
+ the commit content is obvious, it may not be obvious to others. You
53
+ should add such description also if it's already present in bug tracker,
54
+ it should not be necessary to visit a webpage to check the history.
55
+
56
+ Include Closes #<issue-number> when relavent.
57
+
58
+ Description can have multiple paragraphs and you can use code examples
59
+ inside, just indent it with 4 spaces:
60
+
61
+ class PostsController
62
+ def index
63
+ respond_with Post.limit(10)
64
+ end
65
+ end
66
+
67
+ You can also add bullet points:
68
+
69
+ - you can use dashes or asterisks
70
+
71
+ - also, try to indent next line of a point for readability, if it's too
72
+ long to fit in 72 characters
73
+ ```
74
+
75
+ * Make sure you have added the necessary tests for your changes.
76
+ * Run _all_ the tests to assure nothing else was accidentally broken.
77
+ * When you are ready to submit a pull request
78
+
79
+ ### Submitting Changes
80
+
81
+ [Detailed Walkthrough of One Pull Request per Commit](http://ndlib.github.io/practices/one-commit-per-pull-request/)
82
+
83
+ * Read the article ["Using Pull Requests"](https://help.github.com/articles/using-pull-requests) on GitHub.
84
+ * Make sure your branch is up to date with its parent branch (i.e. master)
85
+ * `git checkout master`
86
+ * `git pull --rebase`
87
+ * `git checkout <your-branch>`
88
+ * `git rebase master`
89
+ * It is likely a good idea to run your tests again.
90
+ * Squash the commits for your branch into one commit
91
+ * `git rebase --interactive HEAD~<number-of-commits>` ([See Github help](https://help.github.com/articles/interactive-rebase))
92
+ * To determine the number of commits on your branch: `git log master..<your-branch> --oneline | wc -l`
93
+ * Squashing your branch's changes into one commit is "good form" and helps the person merging your request to see everything that is going on.
94
+ * Push your changes to a topic branch in your fork of the repository.
95
+ * Submit a pull request from your fork to the project.
96
+
97
+ ### Merging Changes
98
+
99
+ * It is considered "poor from" to merge your own request.
100
+ * Please take the time to review the changes and get a sense of what is being changed. Things to consider:
101
+ * Does the commit message explain what is going on?
102
+ * Does the code changes have tests? _Not all changes need new tests, some changes are refactorings_
103
+ * Does the commit contain more than it should? Are two separate concerns being addressed in one commit?
104
+ * Did the Travis tests complete successfully?
105
+ * If you are uncertain, bring other contributors into the conversation by creating a comment that includes their @username.
106
+ * If you like the pull request, but want others to chime in, create a +1 comment and tag a user.
107
+
108
+ # Additional Resources
109
+
110
+ * [General GitHub documentation](http://help.github.com/)
111
+ * [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
112
+ * [Pro Git](http://git-scm.com/book) is both a free and excellent book about Git.
113
+ * [A Git Config for Contributing](http://ndlib.github.io/practices/my-typical-per-project-git-config/)
data/README.md CHANGED
@@ -10,16 +10,30 @@ To provide a wrapper for file characterization
10
10
 
11
11
  If you are using Rails add the following to an initializer (./config/initializers/hydra-file_characterization_config.rb):
12
12
 
13
- Hydra::FileCharacterization.configure do |config|
14
- config.tool_path(:fits, '/path/to/fits')
15
- end
13
+ ```ruby
14
+ Hydra::FileCharacterization.configure do |config|
15
+ config.tool_path(:fits, '/path/to/fits')
16
+ end
17
+ ```
16
18
 
17
- To use the characterizer:
19
+ You can call a single characterizer
20
+ ```ruby
21
+ xml_string = Hydra::FileCharacterization.characterize(contents_of_a_file, 'file.rb', :fits)
22
+ ```
18
23
 
19
- characterization_xml = Hydra.characterize(file.read, file.basename, :fits)
24
+ …for this particular call, you can specify custom fits path.
20
25
 
21
- # This does not work at this point
22
- fits_xml, ffprobe_xml = Hydra.characterize(file.read, file.basename, :fits, :ffprobe)
26
+ ```ruby
27
+ xml_string = Hydra::FileCharacterization.characterize(contents_of_a_file, 'file.rb', :fits) do |config|
28
+ config[:fits] = './really/custom/path/to/fits'
29
+ end
30
+ ```
31
+
32
+ You can also call multiple characterizers at the same time.
33
+
34
+ ```ruby
35
+ fits_xml, ffprobe_xml = Hydra::FileCharacterization.characterize(contents_of_a_file, 'file.rb', :fits, :ffprobe)
36
+ ```
23
37
 
24
38
  * Why `file.read`? To highlight that we want a string. In the case of ActiveFedora, we have a StringIO instead of a file.
25
39
  * Why `file.basename`? In the case of Fits, the characterization takes cues from the extension name.
@@ -27,20 +41,3 @@ To use the characterizer:
27
41
  ## Registering New Characterizers
28
42
 
29
43
  This is possible by adding a characterizer to the `Hydra::FileCharacterization::Characterizers`' namespace.
30
-
31
- ## To Consider
32
-
33
- How others are using the extract_metadata method
34
- - https://github.com/curationexperts/bawstun/blob/ff8142ac043604c11a6f57b03629284bfd3043ea/app/models/generic_file.rb#L173
35
-
36
- ## Todo Steps
37
-
38
- - ~~Given a filename, characterize the file and return a raw XML stream~~
39
- - ~~Provide method for converting a StringIO and original file name to a temp file with comparable, then running the characterizer against the tempfile~~
40
- - ~~Provide a configuration option for the fits path; This would be the default for the characterizer~~
41
- - Update existing Sufia implementation
42
- - Deprecrate Hydra::Derivatives direct method call
43
- - Instead call the characterizer with the content
44
- - Allow characterization services to be chained together
45
- - ~~This would involve renaming the Characterizer to something else (i.e. Characterizers::Fits)~~
46
- - Provide an ActiveFedora Datastream that maps the raw XML stream to a datastructure
@@ -9,28 +9,9 @@ module Hydra
9
9
 
10
10
  module_function
11
11
 
12
- #
13
- # Run all of the specified tools against the given content and filename.
14
- #
15
- # @param [String] content - The contents of the original file
16
- # @param [String] filename - The original file's filename; Some
17
- # characterization tools take hints from the file names
18
- # @param [Array] tool_names - A list of tool names available on the system
19
- #
20
- # @return [String, Array<String>] -
21
- # String - When a single tool_name is given, returns the raw XML as a
22
- # string
23
- # Array<String> - When multiple tool_names are given, returns an equal
24
- # length Array of XML strings
25
- def characterize(content, filename, *tool_names)
26
- tool_outputs = []
27
- tool_names = Array(tool_names).flatten.compact
28
- FileCharacterization::ToTempFile.open(content, filename) do |f|
29
- tool_names.each do |tool_name|
30
- tool_outputs << FileCharacterization.characterize_with(tool_name, f.path)
31
- end
32
- end
33
- tool_names.size == 1 ? tool_outputs.first : tool_outputs
12
+ # A convenience method
13
+ def characterize(*args, &block)
14
+ FileCharacterization.characterize(*args, &block)
34
15
  end
35
16
 
36
17
  module FileCharacterization
@@ -39,6 +20,49 @@ module Hydra
39
20
  attr_accessor :configuration
40
21
  end
41
22
 
23
+ #
24
+ # Run all of the specified tools against the given content and filename.
25
+ #
26
+ # @example
27
+ # xml_string = Hydra::FileCharacterization.characterize(contents_of_a_file, 'file.rb', :fits)
28
+ #
29
+ # @example
30
+ # xml_string = Hydra::FileCharacterization.characterize(contents_of_a_file, 'file.rb', :fits) do |config|
31
+ # config[:fits] = './really/custom/path/to/fits'
32
+ # end
33
+ #
34
+ # @example
35
+ # fits_xml, ffprobe_xml = Hydra::FileCharacterization.characterize(contents_of_a_file, 'file.rb', :fits, :ffprobe)
36
+ #
37
+ # @param [String] content - The contents of the original file
38
+ # @param [String] filename - The original file's filename; Some
39
+ # characterization tools take hints from the file names
40
+ # @param [Hash/Array] tool_names - A list of tool names available on the system
41
+ # if you provide a Hash
42
+ #
43
+ # @return [String, Array<String>] -
44
+ # String - When a single tool_name is given, returns the raw XML as a
45
+ # string
46
+ # Array<String> - When multiple tool_names are given, returns an equal
47
+ # length Array of XML strings
48
+ #
49
+ # @yieldparam [Hash] For any of the specified tool_names, if you add a
50
+ # key to the yieldparam with a value, that value will be used as the path
51
+ #
52
+ # @see Hydra::FileCharacterization.configure
53
+ def self.characterize(content, filename, *tool_names)
54
+ tool_outputs = []
55
+ tool_names = Array(tool_names).flatten.compact
56
+ custom_paths = {}
57
+ yield(custom_paths) if block_given?
58
+ FileCharacterization::ToTempFile.open(content, filename) do |f|
59
+ tool_names.each do |tool_name|
60
+ tool_outputs << FileCharacterization.characterize_with(tool_name, f.path, custom_paths[tool_name])
61
+ end
62
+ end
63
+ tool_names.size == 1 ? tool_outputs.first : tool_outputs
64
+ end
65
+
42
66
  def self.configure
43
67
  self.configuration ||= Configuration.new
44
68
  yield(configuration)
@@ -51,4 +75,4 @@ module Hydra
51
75
  end
52
76
 
53
77
  end
54
- end
78
+ end
@@ -9,8 +9,9 @@ module Hydra::FileCharacterization
9
9
  class_attribute :tool_path
10
10
 
11
11
  attr_reader :filename
12
- def initialize(filename)
12
+ def initialize(filename, tool_path = nil)
13
13
  @filename = filename
14
+ @tool_path = tool_path
14
15
  end
15
16
 
16
17
  def call
@@ -31,14 +32,14 @@ module Hydra::FileCharacterization
31
32
  end
32
33
  end
33
34
 
35
+ def tool_path
36
+ @tool_path || self.class.tool_path || (raise Hydra::FileCharacterization::UnspecifiedToolPathError.new(self.class))
37
+ end
38
+
34
39
  protected
35
40
 
36
41
  def command
37
42
  raise NotImplementedError, "Method #command should be overriden in child classes"
38
43
  end
39
-
40
- def tool_path
41
- self.class.tool_path || (raise Hydra::FileCharacterization::UnspecifiedToolPathError.new(self.class))
42
- end
43
44
  end
44
45
  end
@@ -16,8 +16,8 @@ module Hydra::FileCharacterization
16
16
  tool_name.to_s.gsub(/(?:^|_)([a-z])/) { $1.upcase }
17
17
  end
18
18
 
19
- def characterize_with(tool_name, file_path)
20
- tool_obj = characterizer(tool_name).new(file_path)
19
+ def characterize_with(tool_name, *args)
20
+ tool_obj = characterizer(tool_name).new(*args)
21
21
  tool_obj.call
22
22
  end
23
23
 
@@ -1,5 +1,5 @@
1
1
  module Hydra
2
2
  module FileCharacterization
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
@@ -0,0 +1,39 @@
1
+ require 'spec_helper'
2
+ require 'hydra/file_characterization/characterizer'
3
+
4
+ module Hydra::FileCharacterization
5
+ describe Characterizer do
6
+ let(:filename) { __FILE__ }
7
+ let(:instance_tool_path) { nil }
8
+ let(:class_tool_path) { nil }
9
+
10
+ subject { Hydra::FileCharacterization::Characterizer.new(filename, instance_tool_path) }
11
+ around(:each) do |example|
12
+ Hydra::FileCharacterization::Characterizer.tool_path = class_tool_path
13
+ example.run
14
+ Hydra::FileCharacterization::Characterizer.tool_path = nil
15
+ end
16
+
17
+ context 'with custom instance tool_path' do
18
+ let(:instance_tool_path) { '/arbitrary/path' }
19
+ let(:class_tool_path) { '/a_different/path' }
20
+
21
+ its(:tool_path) { should eq instance_tool_path}
22
+ end
23
+
24
+ context 'with custom class tool_path' do
25
+ let(:instance_tool_path) { nil }
26
+ let(:class_tool_path) { '/a_different/path' }
27
+
28
+ its(:tool_path) { should eq class_tool_path}
29
+ end
30
+
31
+ context 'without a specified tool_path' do
32
+ it 'should raise Hydra::FileCharacterization::UnspecifiedToolPathError' do
33
+ expect {
34
+ subject.tool_path
35
+ }.to raise_error(Hydra::FileCharacterization::UnspecifiedToolPathError)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -4,43 +4,60 @@ require 'hydra/file_characterization/characterizer'
4
4
 
5
5
  module Hydra
6
6
 
7
- describe '.characterize' do
8
- let(:content) { "class Test; end\n" }
9
- let(:filename) { 'test.rb' }
10
- subject { Hydra.characterize(content, filename, tool_names) }
7
+ describe FileCharacterization do
11
8
 
12
- describe 'for fits' do
13
- let(:tool_names) { :fits }
14
- it { should match(/#{'<identity format="Plain text" mimetype="text/plain"'}/) }
15
- end
9
+ describe '.characterize' do
10
+ let(:content) { "class Test; end\n" }
11
+ let(:filename) { 'test.rb' }
12
+ subject { Hydra::FileCharacterization.characterize(content, filename, tool_names) }
16
13
 
17
- describe 'for a bogus tool' do
18
- let(:tool_names) { :cookie_monster }
19
- it {
20
- expect {
21
- subject
22
- }.to raise_error(Hydra::FileCharacterization::ToolNotFoundError)
23
- }
24
- end
14
+ describe 'for fits' do
15
+ let(:tool_names) { [:fits] }
16
+ it { should match(/#{'<identity format="Plain text" mimetype="text/plain"'}/) }
17
+ end
25
18
 
26
- describe 'for a mix of bogus and valid tools' do
27
- let(:tool_names) { [:fits, :cookie_monster] }
28
- it {
29
- expect {
30
- subject
31
- }.to raise_error(Hydra::FileCharacterization::ToolNotFoundError)
32
- }
33
- end
19
+ describe 'with configured path' do
20
+ it {
21
+ response = Hydra::FileCharacterization.characterize(content, filename, :fits) do |config|
22
+ config[:fits] = `which fits || which fits.sh`.strip
23
+ end
24
+ expect(response).to match(/#{'<identity format="Plain text" mimetype="text/plain"'}/)
25
+ }
26
+ end
34
27
 
35
- describe 'for no tools' do
36
- let(:tool_names) { nil }
37
- it { should eq [] }
38
- end
28
+ describe 'with multiple runs' do
29
+ it {
30
+ response_1, response_2, response_3 = Hydra::FileCharacterization.characterize(content, filename, :fits, :fits)
31
+ expect(response_1).to match(/#{'<identity format="Plain text" mimetype="text/plain"'}/)
32
+ expect(response_2).to match(/#{'<identity format="Plain text" mimetype="text/plain"'}/)
33
+ expect(response_3).to be_nil
34
+ }
35
+ end
39
36
 
40
- end
37
+ describe 'for a bogus tool' do
38
+ let(:tool_names) { [:cookie_monster] }
39
+ it {
40
+ expect {
41
+ subject
42
+ }.to raise_error(Hydra::FileCharacterization::ToolNotFoundError)
43
+ }
44
+ end
41
45
 
42
- describe FileCharacterization do
46
+ describe 'for a mix of bogus and valid tools' do
47
+ let(:tool_names) { [:fits, :cookie_monster] }
48
+ it {
49
+ expect {
50
+ subject
51
+ }.to raise_error(Hydra::FileCharacterization::ToolNotFoundError)
52
+ }
53
+ end
54
+
55
+ describe 'for no tools' do
56
+ let(:tool_names) { nil }
57
+ it { should eq [] }
58
+ end
43
59
 
60
+ end
44
61
  describe '.configure' do
45
62
  let(:content) { "class Test; end\n" }
46
63
  let(:filename) { 'test.rb' }
@@ -56,10 +73,10 @@ module Hydra
56
73
  end
57
74
 
58
75
  expect {
59
- Hydra.characterize(content, filename, :fits)
76
+ Hydra::FileCharacterization.characterize(content, filename, :fits)
60
77
  }.to raise_error(Hydra::FileCharacterization::UnspecifiedToolPathError)
61
78
  end
62
79
  end
63
80
 
64
81
  end
65
- end
82
+ end
metadata CHANGED
@@ -1,7 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hydra-file_characterization
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - James Treacy
@@ -11,62 +12,70 @@ authors:
11
12
  autorequire:
12
13
  bindir: bin
13
14
  cert_chain: []
14
- date: 2013-09-19 00:00:00.000000000 Z
15
+ date: 2013-10-10 00:00:00.000000000 Z
15
16
  dependencies:
16
17
  - !ruby/object:Gem::Dependency
17
18
  name: activesupport
18
19
  requirement: !ruby/object:Gem::Requirement
20
+ none: false
19
21
  requirements:
20
- - - '>='
22
+ - - ! '>='
21
23
  - !ruby/object:Gem::Version
22
24
  version: 3.0.0
23
25
  type: :runtime
24
26
  prerelease: false
25
27
  version_requirements: !ruby/object:Gem::Requirement
28
+ none: false
26
29
  requirements:
27
- - - '>='
30
+ - - ! '>='
28
31
  - !ruby/object:Gem::Version
29
32
  version: 3.0.0
30
33
  - !ruby/object:Gem::Dependency
31
34
  name: rspec
32
35
  requirement: !ruby/object:Gem::Requirement
36
+ none: false
33
37
  requirements:
34
- - - '>='
38
+ - - ! '>='
35
39
  - !ruby/object:Gem::Version
36
40
  version: '0'
37
41
  type: :development
38
42
  prerelease: false
39
43
  version_requirements: !ruby/object:Gem::Requirement
44
+ none: false
40
45
  requirements:
41
- - - '>='
46
+ - - ! '>='
42
47
  - !ruby/object:Gem::Version
43
48
  version: '0'
44
49
  - !ruby/object:Gem::Dependency
45
50
  name: guard
46
51
  requirement: !ruby/object:Gem::Requirement
52
+ none: false
47
53
  requirements:
48
- - - '>='
54
+ - - ! '>='
49
55
  - !ruby/object:Gem::Version
50
56
  version: '0'
51
57
  type: :development
52
58
  prerelease: false
53
59
  version_requirements: !ruby/object:Gem::Requirement
60
+ none: false
54
61
  requirements:
55
- - - '>='
62
+ - - ! '>='
56
63
  - !ruby/object:Gem::Version
57
64
  version: '0'
58
65
  - !ruby/object:Gem::Dependency
59
66
  name: guard-rspec
60
67
  requirement: !ruby/object:Gem::Requirement
68
+ none: false
61
69
  requirements:
62
- - - '>='
70
+ - - ! '>='
63
71
  - !ruby/object:Gem::Version
64
72
  version: '0'
65
73
  type: :development
66
74
  prerelease: false
67
75
  version_requirements: !ruby/object:Gem::Requirement
76
+ none: false
68
77
  requirements:
69
- - - '>='
78
+ - - ! '>='
70
79
  - !ruby/object:Gem::Version
71
80
  version: '0'
72
81
  description: To provide a wrapper for file characterization
@@ -81,6 +90,7 @@ extra_rdoc_files: []
81
90
  files:
82
91
  - .gitignore
83
92
  - .rspec
93
+ - CONTRIBUTING.md
84
94
  - Gemfile
85
95
  - Guardfile
86
96
  - LICENSE
@@ -102,6 +112,7 @@ files:
102
112
  - spec/fixtures/brendan_behan.jpeg.fits.xml
103
113
  - spec/fixtures/brendan_broken.dxxd
104
114
  - spec/fixtures/brendan_broken.dxxd.fits.xml
115
+ - spec/lib/hydra/file_characterization/characterizer_spec.rb
105
116
  - spec/lib/hydra/file_characterization/characterizers/ffprobe_spec.rb
106
117
  - spec/lib/hydra/file_characterization/characterizers/fits_spec.rb
107
118
  - spec/lib/hydra/file_characterization/characterizers_spec.rb
@@ -111,26 +122,27 @@ files:
111
122
  homepage: https://github.com/projecthydra/hydra-file_characterization
112
123
  licenses:
113
124
  - APACHE2
114
- metadata: {}
115
125
  post_install_message:
116
126
  rdoc_options: []
117
127
  require_paths:
118
128
  - lib
119
129
  required_ruby_version: !ruby/object:Gem::Requirement
130
+ none: false
120
131
  requirements:
121
- - - '>='
132
+ - - ! '>='
122
133
  - !ruby/object:Gem::Version
123
134
  version: '0'
124
135
  required_rubygems_version: !ruby/object:Gem::Requirement
136
+ none: false
125
137
  requirements:
126
- - - '>='
138
+ - - ! '>='
127
139
  - !ruby/object:Gem::Version
128
140
  version: '0'
129
141
  requirements: []
130
142
  rubyforge_project:
131
- rubygems_version: 2.0.3
143
+ rubygems_version: 1.8.25
132
144
  signing_key:
133
- specification_version: 4
145
+ specification_version: 3
134
146
  summary: To provide a wrapper for file characterization
135
147
  test_files:
136
148
  - spec/fixtures/archive.zip
@@ -139,9 +151,11 @@ test_files:
139
151
  - spec/fixtures/brendan_behan.jpeg.fits.xml
140
152
  - spec/fixtures/brendan_broken.dxxd
141
153
  - spec/fixtures/brendan_broken.dxxd.fits.xml
154
+ - spec/lib/hydra/file_characterization/characterizer_spec.rb
142
155
  - spec/lib/hydra/file_characterization/characterizers/ffprobe_spec.rb
143
156
  - spec/lib/hydra/file_characterization/characterizers/fits_spec.rb
144
157
  - spec/lib/hydra/file_characterization/characterizers_spec.rb
145
158
  - spec/lib/hydra/file_characterization/to_temp_file_spec.rb
146
159
  - spec/lib/hydra/file_characterization_spec.rb
147
160
  - spec/spec_helper.rb
161
+ has_rdoc:
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 6aa0e27917882868e5356621f163eda7e6ab56a6
4
- data.tar.gz: d3114a797679bcd25bc29f19ae31f70659828016
5
- SHA512:
6
- metadata.gz: 88e44705e2cb908b5732a3f220e90a2544b909834bbe3f96b07ea82c142b31cffaebd38d068493ad84cb0887fe6eec76aeff11e9fd874c116a24fa9295729e3c
7
- data.tar.gz: 6932b2860c71bfb3171f0a952021fe0935121b880ea7fcd3aff5b4c5dd47e551143773f154be0e852f5b637f1f22e3a3a1d1949eaea392b38984793017eb7bb2