Class: Tablets::Data::Processing::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/tablets/data/processing/base.rb

Overview

Base class for relation processings

Direct Known Subclasses

Filter, Order, Paginate

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params, columns) ⇒ Base

Initializes processor with relation and data reqired for processing



7
8
9
10
# File 'lib/tablets/data/processing/base.rb', line 7

def initialize(params, columns)
  @params = params
  @columns = columns
end

Class Method Details

.apply(params, columns, relation) ⇒ Object

Shorthand for create processing and apply it



18
19
20
# File 'lib/tablets/data/processing/base.rb', line 18

def self.apply(params, columns, relation)
  new(params, columns).apply(relation)
end

Instance Method Details

#apply(_relation) ⇒ Object

Applies processing on relation. Need to be implemented in descendants



13
14
15
# File 'lib/tablets/data/processing/base.rb', line 13

def apply(_relation)
  fail NotImplementedError, '#apply need to be overrided by processing.'
end