class ExampleFrontStencil
Attributes
number[R]
parsed_number[R]
Public Class Methods
template()
click to toggle source
# File lib/stencils/example_front_stencil.rb, line 2 def self.template @template ||= Shear::Template.build do |t| t.set 'DOCUMENT', at: [0.9, 0.3] t.set 'ID', at: [30.8, 1.2] t.set 'COUNTRY', at: [1.1, 8.1] t.set 'NUMBER', at: [0.8, 15.1] end end
Public Instance Methods
face()
click to toggle source
# File lib/stencils/example_front_stencil.rb, line 11 def face :front end
fields()
click to toggle source
# File lib/stencils/example_front_stencil.rb, line 15 def fields @fields ||= Set[ "number", "parsed_number", "has_sensible_data?" ] end
has_sensible_data?()
click to toggle source
# File lib/stencils/example_front_stencil.rb, line 23 def has_sensible_data? true end
process_match()
click to toggle source
# File lib/stencils/example_front_stencil.rb, line 29 def process_match @number = match.read([23.9, 15.0], [34.5, 16.9]).to_s @parsed_number = parse_number(@number) end
Private Instance Methods
parse_number(_number)
click to toggle source
# File lib/stencils/example_front_stencil.rb, line 36 def parse_number(_number) parts = _number.split(".") return nil if parts.length != 3 return nil if parts.any? { |part| !/\A\d+\z/.match(part) } parts.inject { |cumulate, part| cumulate + part }.to_i end