Sha256: fd0a3ee72ca173dce7c5ae33e6082611e09bdc7669c312ead89411c6715655fb

Contents?: true

Size: 800 Bytes

Versions: 11

Compression:

Stored size: 800 Bytes

Contents

module GeoConcerns
  module MetadataExtractionHelper
    # Extracts properties from the constitutent external metadata file
    # @return [Hash]
    def extract_metadata(id)
      return {} if metadata_files.blank?
      metadata_file = metadata_files.find { |f| f.id == id }
      metadata_file.extract_metadata if metadata_file
    end

    # Sets properties from the constitutent external metadata file
    def populate_metadata(id)
      extract_metadata(id).each do |k, v|
        send("#{k}=".to_sym, v) # set each property
      end
    end

    attr_accessor :should_populate_metadata

    def should_populate_metadata=(args)
      @should_populate_metadata = args.present? && args != ''
      return unless should_populate_metadata
      populate_metadata(args)
      save
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
geo_concerns-0.3.4 app/models/concerns/geo_concerns/metadata_extraction_helper.rb
geo_concerns-0.3.3 app/models/concerns/geo_concerns/metadata_extraction_helper.rb
geo_concerns-0.3.2 app/models/concerns/geo_concerns/metadata_extraction_helper.rb
geo_concerns-0.3.1 app/models/concerns/geo_concerns/metadata_extraction_helper.rb
geo_concerns-0.3.0 app/models/concerns/geo_concerns/metadata_extraction_helper.rb
geo_concerns-0.2.0 app/models/concerns/geo_concerns/metadata_extraction_helper.rb
geo_concerns-0.1.1 app/models/concerns/geo_concerns/metadata_extraction_helper.rb
geo_concerns-0.1.0 app/models/concerns/geo_concerns/metadata_extraction_helper.rb
geo_concerns-0.0.10 app/models/concerns/geo_concerns/metadata_extraction_helper.rb
geo_concerns-0.0.9 app/models/concerns/geo_concerns/metadata_extraction_helper.rb
geo_concerns-0.0.8 app/models/concerns/geo_concerns/metadata_extraction_helper.rb