Class: Rika::Parser

Inherits:
Object
  • Object
show all
Defined in:
lib/rika.rb

Instance Method Summary collapse

Constructor Details

#initialize(file_location, max_content_length = -1,, detector = DefaultDetector.new) ⇒ Parser

Returns a new instance of Parser.



42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/rika.rb', line 42

def initialize(file_location, max_content_length = -1, detector = DefaultDetector.new)
  @uri = file_location
  $rika_tika = @tika = if $rika_tika.nil?
                          puts "creating a new Tika"
                          Tika.new(detector)
                       else
                          $rika_tika
                       end
  @tika.set_max_string_length(max_content_length)
   = .new
   = nil
  @input_type = get_input_type
end

Instance Method Details

#available_metadataObject



81
82
83
# File 'lib/rika.rb', line 81

def 
  .keys
end

#contentObject



56
57
58
59
# File 'lib/rika.rb', line 56

def content
  self.parse
  @content
end

#file?Boolean

Returns:

  • (Boolean)


89
90
91
# File 'lib/rika.rb', line 89

def file?
  @input_type == :file
end

#languageObject



93
94
95
96
97
# File 'lib/rika.rb', line 93

def language
  @lang ||= LanguageIdentifier.new(content)

  @lang.language
end

#language_is_reasonably_certain?Boolean

Returns:

  • (Boolean)


99
100
101
102
103
# File 'lib/rika.rb', line 99

def language_is_reasonably_certain?
  @lang ||= LanguageIdentifier.new(content)

  @lang.is_reasonably_certain
end

#media_typeObject



73
74
75
76
77
78
79
# File 'lib/rika.rb', line 73

def media_type
  if file?
    @media_type ||= @tika.detect(java.io.File.new(@uri))
  else
    @media_type ||= @tika.detect(input_stream)
  end
end

#metadataObject



61
62
63
64
65
66
67
68
69
70
71
# File 'lib/rika.rb', line 61

def 
  unless 
    self.parse
     = {}

    .names.each do |name|
      [name] = .get(name)
    end
  end
  
end

#metadata_exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


85
86
87
# File 'lib/rika.rb', line 85

def (name)
  [name] != nil
end