Class: JLDrill::Meaning
- Inherits:
-
Object
- Object
- JLDrill::Meaning
- Defined in:
- lib/jldrill/model/items/edict/Meaning.rb
Constant Summary collapse
- USAGE_DIVIDER_RE =
/\s?\(\d+\)\s?/
Instance Attribute Summary collapse
-
#definitions ⇒ Object
readonly
Returns the value of attribute definitions.
-
#types ⇒ Object
readonly
Returns the value of attribute types.
-
#usages ⇒ Object
Returns the value of attribute usages.
Class Method Summary collapse
Instance Method Summary collapse
- #allDefinitions ⇒ Object
- #allTypes ⇒ Object
-
#initialize ⇒ Meaning
constructor
A new instance of Meaning.
- #parse(string) ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize ⇒ Meaning
Returns a new instance of Meaning.
13 14 15 16 |
# File 'lib/jldrill/model/items/edict/Meaning.rb', line 13 def initialize() @types = [] @usages = [] end |
Instance Attribute Details
#definitions ⇒ Object (readonly)
Returns the value of attribute definitions.
10 11 12 |
# File 'lib/jldrill/model/items/edict/Meaning.rb', line 10 def definitions @definitions end |
#types ⇒ Object (readonly)
Returns the value of attribute types.
10 11 12 |
# File 'lib/jldrill/model/items/edict/Meaning.rb', line 10 def types @types end |
#usages ⇒ Object
Returns the value of attribute usages.
10 11 12 |
# File 'lib/jldrill/model/items/edict/Meaning.rb', line 10 def usages @usages end |
Class Method Details
.create(string) ⇒ Object
18 19 20 21 22 |
# File 'lib/jldrill/model/items/edict/Meaning.rb', line 18 def Meaning.create(string) meaning = Meaning.new meaning.parse(string) meaning end |
Instance Method Details
#allDefinitions ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/jldrill/model/items/edict/Meaning.rb', line 49 def allDefinitions retVal = [] printUsages = @usages.size > 1 @usages.each do |usage| defs = usage.allDefinitions if printUsages && !defs[0].nil? defs[0] = "(" + usage.index.to_s + ") " + defs[0] end retVal += defs end retVal end |
#allTypes ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'lib/jldrill/model/items/edict/Meaning.rb', line 40 def allTypes retVal = [] retVal += @types @usages.each do |usage| retVal += usage.allTypes end retVal end |
#parse(string) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/jldrill/model/items/edict/Meaning.rb', line 24 def parse(string) @usages = [] parts = string.split(USAGE_DIVIDER_RE) i = 1 parts.each do |usage| es = JLDrill::Usage.create(usage, i) if(es.allDefinitions.empty?) # Hack to get the tags at the beginning of the meaning @types += es.allTypes else @usages.push(es) i += 1 end end end |
#to_s ⇒ Object
62 63 64 65 66 67 68 69 |
# File 'lib/jldrill/model/items/edict/Meaning.rb', line 62 def to_s retVal = "" if types.size > 0 retVal += "(" + @types.join(",") + ") " end retVal += @usages.join(" ") + "\n" retVal end |