class WWWJDic::Splitter

This class is a simple API to interact with WWWJDic Backboor Entry/API.

Author

Marco Bresciani

Copyright

© 2014-2021 Marco Bresciani

License

GNU General Public License version 3

Public Class Methods

new(translation) click to toggle source

Creates a Splitter object.

Usage

new_splitter = Splitter.new translation_content

Returns

a Splitter object.

   # File lib/wwwjdic/utils/splitter.rb
44 def initialize(translation)
45   @translation = translation.force_encoding('UTF-8')
46 end

Public Instance Methods

content() click to toggle source

@return [Array] the arrays of elements containing the answer

   # File lib/wwwjdic/utils/splitter.rb
72 def content
73   result = []
74   lines.each do |a_line|
75     inner = {}
76     fill_inner_data(a_line, inner)
77     inner[:meanings] = inner[:text].split('/') if inner[:text].include? '/'
78     result.push inner unless inner.empty?
79   end
80
81   result unless result.empty?
82 end
lines() click to toggle source
   # File lib/wwwjdic/utils/splitter.rb
62 def lines
63   result = []
64   translation.each_line do |a_line|
65     stripped_line = a_line.strip
66     result.push stripped_line unless stripped_line.empty?
67   end
68   result unless result.empty?
69 end
message() click to toggle source
   # File lib/wwwjdic/utils/splitter.rb
56 def message
57   return Regexp.last_match(1).strip unless @translation.nil? || !/<p>(.*)<p>/m.match(@translation)
58
59   Regexp.last_match(1) if @translation.nil? && /<p>(.*)<pre>/m.match(@translation)
60 end
title() click to toggle source
   # File lib/wwwjdic/utils/splitter.rb
48 def title
49   Regexp.last_match(1) if %r{<TITLE>(.*)</TITLE>}.match @translation
50 end
translation() click to toggle source
   # File lib/wwwjdic/utils/splitter.rb
52 def translation
53   Regexp.last_match(1).strip if %r{<pre>(.*)</pre>}m.match @translation
54 end