Class: I18nliner::Extractors::RubyExtractor
- Inherits:
-
SexpProcessor
- Object
- SexpProcessor
- I18nliner::Extractors::RubyExtractor
show all
- Includes:
- SexpHelper
- Defined in:
- lib/i18nliner/extractors/ruby_extractor.rb
Constant Summary
collapse
- TRANSLATE_CALLS =
[:t, :translate]
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from SexpHelper
#raw, #string_concatenation?, #string_from, #stringish?
Constructor Details
#initialize(sexps, scope) ⇒ RubyExtractor
18
19
20
21
22
|
# File 'lib/i18nliner/extractors/ruby_extractor.rb', line 18
def initialize(sexps, scope)
@sexps = sexps
@scope = scope
super()
end
|
Instance Attribute Details
#current_defn ⇒ Object
Returns the value of attribute current_defn.
29
30
31
|
# File 'lib/i18nliner/extractors/ruby_extractor.rb', line 29
def current_defn
@current_defn
end
|
#current_line ⇒ Object
Returns the value of attribute current_line.
12
13
14
|
# File 'lib/i18nliner/extractors/ruby_extractor.rb', line 12
def current_line
@current_line
end
|
Class Method Details
.pattern ⇒ Object
14
15
16
|
# File 'lib/i18nliner/extractors/ruby_extractor.rb', line 14
def self.pattern
/(^|\W)(t|translate)(\W|$)/
end
|
Instance Method Details
#each_translation(&block) ⇒ Object
24
25
26
27
|
# File 'lib/i18nliner/extractors/ruby_extractor.rb', line 24
def each_translation(&block)
@block = block
process(@sexps)
end
|
#process_call(exp) ⇒ Object
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# File 'lib/i18nliner/extractors/ruby_extractor.rb', line 38
def process_call(exp)
exp.shift
receiver_exp = exp.shift
receiver = nil
if receiver_exp
receiver = receiver_exp[0] == :const ? receiver_exp.last : UnsupportedExpression
process(receiver_exp)
end
method = exp.shift
if (receiver, method)
@current_line = exp.line
args = process_arguments(exp)
process_translate_call(receiver, method, args)
else
process exp.shift until exp.empty?
end
s
end
|
#process_defn(exp) ⇒ Object
30
31
32
33
34
35
36
|
# File 'lib/i18nliner/extractors/ruby_extractor.rb', line 30
def process_defn(exp)
exp.shift
@current_defn = exp.shift
process exp.shift until exp.empty?
@current_defn = nil
s()
end
|