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.



56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/rika.rb', line 56

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)
  @metadata_java = Metadata.new
  @metadata_ruby = nil
  @input_type = get_input_type
end

Instance Method Details

#available_metadataObject



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

def 
  .keys
end

#contentObject



70
71
72
73
# File 'lib/rika.rb', line 70

def content
  self.parse!
  @content
end

#file?Boolean

Returns:

  • (Boolean)


108
109
110
# File 'lib/rika.rb', line 108

def file?
  @input_type == :file
end

#languageObject



112
113
114
115
116
# File 'lib/rika.rb', line 112

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

  @lang.language
end

#language_is_reasonably_certain?Boolean

Returns:

  • (Boolean)


118
119
120
121
122
# File 'lib/rika.rb', line 118

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

  @lang.is_reasonably_certain
end

#main_contentObject



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

def main_content
  self.parse_main_content!
  @main_content
end

#media_typeObject



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

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

#metadataObject



80
81
82
83
84
85
86
87
88
89
90
# File 'lib/rika.rb', line 80

def 
  unless @metadata_ruby
    self.parse!
    @metadata_ruby = {}

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

#metadata_exists?(name) ⇒ Boolean

Returns:

  • (Boolean)


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

def (name)
  [name] != nil
end