Class: Rika::Parser
- Inherits:
-
Object
- Object
- Rika::Parser
- Defined in:
- lib/rika.rb
Instance Method Summary collapse
- #available_metadata ⇒ Object
- #content ⇒ Object
- #file? ⇒ Boolean
-
#initialize(file_location, max_content_length = -1,, detector = DefaultDetector.new) ⇒ Parser
constructor
A new instance of Parser.
- #language ⇒ Object
- #language_is_reasonably_certain? ⇒ Boolean
- #main_content ⇒ Object
- #media_type ⇒ Object
- #metadata ⇒ Object
- #metadata_exists?(name) ⇒ Boolean
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_metadata ⇒ Object
100 101 102 |
# File 'lib/rika.rb', line 100 def .keys end |
#content ⇒ Object
70 71 72 73 |
# File 'lib/rika.rb', line 70 def content self.parse! @content end |
#file? ⇒ Boolean
108 109 110 |
# File 'lib/rika.rb', line 108 def file? @input_type == :file end |
#language ⇒ Object
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
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_content ⇒ Object
75 76 77 78 |
# File 'lib/rika.rb', line 75 def main_content self.parse_main_content! @main_content end |
#media_type ⇒ Object
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 |
#metadata ⇒ Object
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
104 105 106 |
# File 'lib/rika.rb', line 104 def (name) [name] != nil end |