hydra-works 0.7.0 → 0.7.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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +4 -0
- data/Rakefile +15 -19
- data/lib/hydra/works/models/concerns/work_behavior.rb +12 -0
- data/lib/hydra/works/services/add_file_to_file_set.rb +4 -4
- data/lib/hydra/works/version.rb +1 -1
- data/spec/hydra/works/models/collection_spec.rb +9 -0
- data/spec/hydra/works/models/work_spec.rb +1 -1
- data/spec/hydra/works/services/characterization_service_spec.rb +2 -2
- metadata +3 -2
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 8cefb87e089349c82c73439d52e233d4bb75a7d3
         | 
| 4 | 
            +
              data.tar.gz: db102c0181dbb73a50e18980d97567466446bd8b
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 020a75d61769ec1ec016b6a08faab106c620684f3648836cf70d2764b447a754ea1127259f4eaca6fe36dea5ac219d423caf61f4898adc39aa6bd18b7fcb03c8
         | 
| 7 | 
            +
              data.tar.gz: 10995a20095c6b0690c957b4fa31fbf3f9ce90b62f2107a90666db92fc98cbef43a97323bccb64f1eb8a1ab63632aa65cff9868b91e29da350753c8378f8a8c5
         | 
    
        data/.gitignore
    CHANGED
    
    
    
        data/.rubocop.yml
    CHANGED
    
    
    
        data/Rakefile
    CHANGED
    
    | @@ -4,30 +4,26 @@ require 'rspec/core/rake_task' | |
| 4 4 | 
             
            require 'rubocop/rake_task'
         | 
| 5 5 | 
             
            require 'solr_wrapper'
         | 
| 6 6 | 
             
            require 'fcrepo_wrapper'
         | 
| 7 | 
            +
            require 'active_fedora/rake_support'
         | 
| 7 8 |  | 
| 8 | 
            -
             | 
| 9 | 
            -
             | 
| 10 | 
            -
               | 
| 11 | 
            -
             | 
| 12 | 
            -
             | 
| 9 | 
            +
            namespace :works do
         | 
| 10 | 
            +
              desc 'Run style checker'
         | 
| 11 | 
            +
              RuboCop::RakeTask.new(:rubocop) do |task|
         | 
| 12 | 
            +
                task.requires << 'rubocop-rspec'
         | 
| 13 | 
            +
                task.fail_on_error = true
         | 
| 14 | 
            +
              end
         | 
| 13 15 |  | 
| 14 | 
            -
             | 
| 15 | 
            -
            task :spec do
         | 
| 16 | 
            -
              Rake::Task['rubocop'].invoke
         | 
| 17 | 
            -
              RSpec::Core::RakeTask.new(:spec)
         | 
| 18 | 
            -
            end
         | 
| 16 | 
            +
              RSpec::Core::RakeTask.new(:rspec)
         | 
| 19 17 |  | 
| 20 | 
            -
            desc ' | 
| 21 | 
            -
            task : | 
| 22 | 
            -
             | 
| 23 | 
            -
             | 
| 24 | 
            -
              SolrWrapper.wrap(solr_params) do |solr|
         | 
| 25 | 
            -
                solr.with_collection(name: 'hydra-test', dir: File.join(File.expand_path('.', File.dirname(__FILE__)), 'solr', 'config')) do
         | 
| 26 | 
            -
                  FcrepoWrapper.wrap(fcrepo_params) do
         | 
| 27 | 
            -
                    Rake::Task['spec'].invoke
         | 
| 28 | 
            -
                  end
         | 
| 18 | 
            +
              desc 'Start up Solr & FCRepo and run the test suite'
         | 
| 19 | 
            +
              task :spec do
         | 
| 20 | 
            +
                with_test_server do
         | 
| 21 | 
            +
                  Rake::Task['works:rspec'].invoke
         | 
| 29 22 | 
             
                end
         | 
| 30 23 | 
             
              end
         | 
| 31 24 | 
             
            end
         | 
| 32 25 |  | 
| 26 | 
            +
            desc 'Spin up Solr & Fedora and run the test suite'
         | 
| 27 | 
            +
            task ci: ['works:rubocop', 'works:spec']
         | 
| 28 | 
            +
             | 
| 33 29 | 
             
            task default: :ci
         | 
| @@ -18,6 +18,7 @@ module Hydra::Works | |
| 18 18 |  | 
| 19 19 | 
             
                included do
         | 
| 20 20 | 
             
                  type [Hydra::PCDM::Vocab::PCDMTerms.Object, Vocab::WorksTerms.Work]
         | 
| 21 | 
            +
                  before_destroy :remove_from_parents
         | 
| 21 22 | 
             
                end
         | 
| 22 23 |  | 
| 23 24 | 
             
                def works
         | 
| @@ -70,5 +71,16 @@ module Hydra::Works | |
| 70 71 | 
             
                def in_works
         | 
| 71 72 | 
             
                  ordered_by.select { |parent| parent.class.included_modules.include?(Hydra::Works::WorkBehavior) }.to_a
         | 
| 72 73 | 
             
                end
         | 
| 74 | 
            +
             | 
| 75 | 
            +
                private
         | 
| 76 | 
            +
             | 
| 77 | 
            +
                  # Remove this object from parent works or collections
         | 
| 78 | 
            +
                  def remove_from_parents
         | 
| 79 | 
            +
                    ordered_by.each do |parent|
         | 
| 80 | 
            +
                      parent.ordered_members.delete(self) # Delete the list node
         | 
| 81 | 
            +
                      parent.members.delete(self) # Delete the indirect container Proxy
         | 
| 82 | 
            +
                      parent.save! # record the changes to the ordered members
         | 
| 83 | 
            +
                    end
         | 
| 84 | 
            +
                  end
         | 
| 73 85 | 
             
              end
         | 
| 74 86 | 
             
            end
         | 
| @@ -57,13 +57,13 @@ module Hydra::Works | |
| 57 57 | 
             
                    # @param object for mimetype to be determined. Attempts to use methods: :mime_type, :content_type, and :path.
         | 
| 58 58 | 
             
                    def determine_mime_type(file)
         | 
| 59 59 | 
             
                      if file.respond_to? :mime_type
         | 
| 60 | 
            -
                         | 
| 60 | 
            +
                        file.mime_type
         | 
| 61 61 | 
             
                      elsif file.respond_to? :content_type
         | 
| 62 | 
            -
                         | 
| 62 | 
            +
                        file.content_type
         | 
| 63 63 | 
             
                      elsif file.respond_to? :path
         | 
| 64 | 
            -
                         | 
| 64 | 
            +
                        Hydra::PCDM::GetMimeTypeForFile.call(file.path)
         | 
| 65 65 | 
             
                      else
         | 
| 66 | 
            -
                         | 
| 66 | 
            +
                        'application/octet-stream'
         | 
| 67 67 | 
             
                      end
         | 
| 68 68 | 
             
                    end
         | 
| 69 69 |  | 
    
        data/lib/hydra/works/version.rb
    CHANGED
    
    
| @@ -69,6 +69,15 @@ describe Hydra::Works::Collection do | |
| 69 69 | 
             
                  it 'returns only works' do
         | 
| 70 70 | 
             
                    expect(subject).to eq [work1, work2]
         | 
| 71 71 | 
             
                  end
         | 
| 72 | 
            +
             | 
| 73 | 
            +
                  context "after deleting a member" do
         | 
| 74 | 
            +
                    before do
         | 
| 75 | 
            +
                      collection.save
         | 
| 76 | 
            +
                      work1.destroy
         | 
| 77 | 
            +
                      collection.reload
         | 
| 78 | 
            +
                    end
         | 
| 79 | 
            +
                    it { is_expected.to eq [work2] }
         | 
| 80 | 
            +
                  end
         | 
| 72 81 | 
             
                end
         | 
| 73 82 | 
             
              end
         | 
| 74 83 |  | 
| @@ -207,7 +207,7 @@ describe Hydra::Works::Work do | |
| 207 207 | 
             
                end
         | 
| 208 208 | 
             
              end
         | 
| 209 209 |  | 
| 210 | 
            -
              describe ' | 
| 210 | 
            +
              describe 'parent work and collection accessors' do
         | 
| 211 211 | 
             
                let(:collection1) { Hydra::Works::Collection.new }
         | 
| 212 212 | 
             
                before do
         | 
| 213 213 | 
             
                  collection1.ordered_members << work2
         | 
| @@ -93,8 +93,8 @@ describe Hydra::Works::CharacterizationService do | |
| 93 93 | 
             
                  allow(characterization).to receive(:characterize).and_return(fits_response)
         | 
| 94 94 | 
             
                end
         | 
| 95 95 |  | 
| 96 | 
            -
                it 'does not explode with an error | 
| 97 | 
            -
                  expect { described_class.run(file_set) }. | 
| 96 | 
            +
                it 'does not explode with an error' do
         | 
| 97 | 
            +
                  expect { described_class.run(file_set) }.not_to raise_error
         | 
| 98 98 | 
             
                end
         | 
| 99 99 | 
             
              end
         | 
| 100 100 |  | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: hydra-works
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.7. | 
| 4 | 
            +
              version: 0.7.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Justin Coyne
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2016-02- | 
| 11 | 
            +
            date: 2016-02-24 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: hydra-pcdm
         | 
| @@ -340,3 +340,4 @@ test_files: | |
| 340 340 | 
             
            - spec/hydra/works_spec.rb
         | 
| 341 341 | 
             
            - spec/spec_helper.rb
         | 
| 342 342 | 
             
            - spec/support/file_set_helper.rb
         | 
| 343 | 
            +
            has_rdoc: 
         |