Class: Refine::Stabilizers::UrlEncodedStabilizer
- Inherits:
-
Object
- Object
- Refine::Stabilizers::UrlEncodedStabilizer
- Defined in:
- app/models/refine/stabilizers/url_encoded_stabilizer.rb
Instance Method Summary collapse
Instance Method Details
#from_stable_id(id:, initial_query: nil) ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'app/models/refine/stabilizers/url_encoded_stabilizer.rb', line 11 def from_stable_id(id:, initial_query: nil) raise Refine::Stabilizers::Errors::UrlStabilizerError if id.blank? url_decoded = CGI.unescape(id) base_64_decoded = Base64.decode64(url_decoded) uncompress = ActiveSupport::Gzip.decompress(base_64_decoded) state = ActiveSupport::JSON.decode(uncompress).deep_symbolize_keys Refine::Filter.from_state(state, initial_query) end |
#to_stable_id(filter:) ⇒ Object
5 6 7 8 9 |
# File 'app/models/refine/stabilizers/url_encoded_stabilizer.rb', line 5 def to_stable_id(filter:) compressed_state = ActiveSupport::Gzip.compress(filter.state) encoded_state = Base64.encode64(compressed_state) CGI.escape(encoded_state) end |