Module: Refine::Stabilize

Included in:
Filter
Defined in:
app/models/refine/stabilize.rb

Instance Method Summary collapse

Instance Method Details

#automatic_stable_id_generator ⇒ Object



8
9
10
# File 'app/models/refine/stabilize.rb', line 8

def automatic_stable_id_generator
  self.class.default_stabilizer
end

#automatically_stabilize? ⇒ Boolean

Returns:

  • (Boolean)


4
5
6
# File 'app/models/refine/stabilize.rb', line 4

def automatically_stabilize?
  false
end

#create_stable_id(stabilizer = nil) ⇒ Object



16
17
18
# File 'app/models/refine/stabilize.rb', line 16

def create_stable_id(stabilizer=nil)
  make_stable_id_generator(stabilizer).new.to_stable_id(filter: self)
end

#make_stable_id_generator(stabilizer = nil) ⇒ Object



20
21
22
23
24
25
26
# File 'app/models/refine/stabilize.rb', line 20

def make_stable_id_generator(stabilizer = nil)
  generator = stabilizer || automatic_stable_id_generator
  if generator.blank?
    raise ArgumentError.new('No stable id class set. Set using the default_stable_id_generator method')
  end
  generator
end

#to_optional_stable_id(stabilizer = nil) ⇒ Object



12
13
14
# File 'app/models/refine/stabilize.rb', line 12

def to_optional_stable_id(stabilizer=nil)
  create_stable_id(stabilizer) if automatically_stabilize?
end