Class: GitFit::Privacy::PolylineFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/git_fit/privacy/polyline_filter.rb

Instance Method Summary collapse

Constructor Details

#initialize(config: {}) ⇒ PolylineFilter

Returns a new instance of PolylineFilter.



6
7
8
9
10
11
# File 'lib/git_fit/privacy/polyline_filter.rb', line 6

def initialize(config: {})
  @start_end_range = (config['start_end_range'] || 200).to_f / 1000.0
  @ignore_polyline = decode_polyline(config['polyline']) if config['polyline']
  @ignore_range = (config['range'] || 0).to_f / 1000.0
  @before_saving = config['before_saving'] || false
end

Instance Method Details

#before_saving?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/git_fit/privacy/polyline_filter.rb', line 13

def before_saving?
  @before_saving
end

#filter(polyline_str) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/git_fit/privacy/polyline_filter.rb', line 17

def filter(polyline_str)
  return nil if polyline_str.nil? || polyline_str.empty?
  points = decode_polyline(polyline_str)
  return polyline_str if points.nil? || points.empty?
  points = filter_start_end(points)
  points = filter_range(points)
  return nil if points.empty?
  encode_polyline(points)
end