Module: BestType

Defined in:
lib/best_type/config.rb,
lib/best_type.rb,
lib/best_type/version.rb,
lib/best_type/dc_type_lookup.rb,
lib/best_type/mime_type_lookup.rb,
lib/best_type/pcdm_type_lookup.rb

Overview

rubocop:disable Metrics/AbcSize rubocop:disable Metrics/CyclomaticComplexity rubocop:disable Metrics/MethodLength

Defined Under Namespace

Classes: Config, DcTypeLookup, MimeTypeLookup, PcdmTypeLookup

Constant Summary collapse

VERSION =
'1.0.1'

Class Method Summary collapse

Class Method Details

.config(reload: false, user_config_options: {}) ⇒ Object



25
26
27
28
29
30
31
32
33
34
# File 'lib/best_type.rb', line 25

def self.config(reload: false, user_config_options: {})
  if @config.nil? || reload
    @semaphore.synchronize do
      @config = BestType::Config.new(user_config_options)
      @mime_type = nil
      @dc_type = nil
    end
  end
  @config
end

.configure(opts = {}) ⇒ Object



36
37
38
# File 'lib/best_type.rb', line 36

def self.configure(opts = {})
  config(reload: true, user_config_options: opts)
end

.dc_typeObject



17
18
19
# File 'lib/best_type.rb', line 17

def self.dc_type
  @dc_type ||= BestType::DcTypeLookup.new(mime_type)
end

.mime_typeObject



13
14
15
# File 'lib/best_type.rb', line 13

def self.mime_type
  @mime_type ||= BestType::MimeTypeLookup.new(config)
end

.pcdm_typeObject



21
22
23
# File 'lib/best_type.rb', line 21

def self.pcdm_type
  @pcdm_type ||= BestType::PcdmTypeLookup.new(mime_type)
end

.versionObject



6
7
8
# File 'lib/best_type/version.rb', line 6

def self.version
  VERSION
end