Module: Hydra::FileCharacterization

Defined in:
lib/hydra/file_characterization.rb,
lib/hydra/file_characterization/version.rb,
lib/hydra/file_characterization/exceptions.rb,
lib/hydra/file_characterization/to_temp_file.rb,
lib/hydra/file_characterization/characterizer.rb,
lib/hydra/file_characterization/characterizers.rb

Defined Under Namespace

Modules: Characterizers Classes: Characterizer, Configuration, FileNotFoundError, ToTempFile, ToolNotFoundError, UnspecifiedToolPathError

Constant Summary collapse

VERSION =
"0.2.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



39
40
41
# File 'lib/hydra/file_characterization.rb', line 39

def configuration
  @configuration
end

Class Method Details

.characterize_with(tool_name, file_path) ⇒ Object



19
20
21
22
# File 'lib/hydra/file_characterization/characterizers.rb', line 19

def characterize_with(tool_name, file_path)
  tool_obj = characterizer(tool_name).new(file_path)
  tool_obj.call
end

.characterizer(tool_name) ⇒ Object



6
7
8
9
10
11
12
13
# File 'lib/hydra/file_characterization/characterizers.rb', line 6

def characterizer(tool_name)
  characterizer_name = characterizer_name_from(tool_name)
  if Characterizers.const_defined?(characterizer_name)
    Characterizers.const_get(characterizer_name)
  else
    raise ToolNotFoundError.new(tool_name)
  end
end

.characterizer_name_from(tool_name) ⇒ Object



15
16
17
# File 'lib/hydra/file_characterization/characterizers.rb', line 15

def characterizer_name_from(tool_name)
  tool_name.to_s.gsub(/(?:^|_)([a-z])/) { $1.upcase }
end

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

Yields:



42
43
44
45
# File 'lib/hydra/file_characterization.rb', line 42

def self.configure
  self.configuration ||= Configuration.new
  yield(configuration)
end