Module: Accession

Defined in:
lib/accession.rb,
lib/accession/tag.rb,
lib/accession/sample.rb,
lib/accession/service.rb,
lib/accession/tag_list.rb,
lib/accession/submission.rb,
lib/accession/accessionable.rb,
lib/accession/configuration.rb,
lib/accession/core_extensions.rb

Defined Under Namespace

Modules: Accessionable, CoreExtensions, Equality, Helpers Classes: Configuration, Error, ExternalNumberConflictError, ExternalValidationError, InternalValidationError, InvalidFieldsError, Sample, SampleAccessioning, SampleStatus, Service, Submission, Tag, TagCollectionDate, TagCountryOfOrigin, TagList

Constant Summary collapse

CENTER_NAME =
'SC'
XML_NAMESPACE =
{ 'xmlns:xsi' => 'http://www.w3.org/2001/XMLSchema-instance' }.freeze

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



96
97
98
# File 'lib/accession.rb', line 96

def self.configuration
  @configuration ||= Configuration.new
end

Class Method Details

.accession_sample(sample, event_user, perform_now: false) ⇒ Object



185
186
187
# File 'lib/accession.rb', line 185

def self.accession_sample(sample, event_user, perform_now: false)
  SampleAccessioning.new.perform(sample, event_user, perform_now)
end

.configure {|configuration| ... } ⇒ Object

Yields:



100
101
102
# File 'lib/accession.rb', line 100

def self.configure
  yield(configuration)
end

.reset!Object



104
105
106
# File 'lib/accession.rb', line 104

def self.reset!
  @configuration = Configuration.new
end

.table_name_prefixObject

See app/models/accession.rb



88
89
90
# File 'lib/accession.rb', line 88

def self.table_name_prefix
  'accession_'
end

.user_error_message(error) ⇒ Object

Returns a user-friendly error message based on the error type



109
110
111
112
113
114
115
116
117
118
# File 'lib/accession.rb', line 109

def self.user_error_message(error)
  case error
  when Accession::ExternalValidationError, Accession::InternalValidationError
    error.message
  when Faraday::Error
    'A network error occurred during accessioning and no response was received.'
  else
    'An internal error occurred during accessioning.'
  end
end