class AnyStyle::Feature::Position

Attributes

idx[R]
seq[R]

Public Class Methods

new(idx: :idx, seq: :seq, **opts) click to toggle source
Calls superclass method AnyStyle::Feature::new
  # File lib/anystyle/feature/position.rb
6 def initialize(idx: :idx, seq: :seq, **opts)
7   super(**opts)
8   @idx, @seq = idx, seq
9 end

Public Instance Methods

observe(token, **opts) click to toggle source
   # File lib/anystyle/feature/position.rb
11 def observe(token, **opts)
12   i = opts[idx]
13   n = opts[seq].size
14 
15   case
16   when i == 0 && i == n - 1
17     :only
18   when i == 0
19     :first
20   when i == n - 1
21     :last
22   else
23     ratio i, n
24   end
25 end