Module: Sanitizer
- Included in:
- Atome
- Defined in:
- lib/atome/kernel/generators/sanitizer.rb
Overview
use to sanitize and secure user input
Class Method Summary collapse
Instance Method Summary collapse
- #add_essential_drm(params) ⇒ Object
- #add_essential_properties(atome_type, params) ⇒ Object
- #add_missing_id(atome_type, params) ⇒ Object
- #check_parent(params) ⇒ Object
- #sanitizer(params) ⇒ Object
- #validation(atome_instance_var) ⇒ Object
Class Method Details
.default_params ⇒ Object
17 18 19 |
# File 'lib/atome/kernel/generators/sanitizer.rb', line 17 def self.default_params @default_params end |
Instance Method Details
#add_essential_drm(params) ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'lib/atome/kernel/generators/sanitizer.rb', line 38 def add_essential_drm(params) essential_drm = { authorisation: { read: [Atome.current_user], write: [Atome.current_user] }, atome: { read: [:all], write: [:me] } } params[:drm] = if params[:drm] essential_drm.merge(params[:drm]) else essential_drm end end |
#add_essential_properties(atome_type, params) ⇒ Object
59 60 61 62 63 64 65 66 67 |
# File 'lib/atome/kernel/generators/sanitizer.rb', line 59 def add_essential_properties(atome_type, params) params[:id] = add_missing_id(atome_type, params) unless params[:id] # FIXME : inject this in async mode to avoid big lag! params[:drm] = add_essential_drm(params) unless params[:drm] render = Genesis.default_value[:render] params[:render] = render unless params[:render] check_parent(params) end |
#add_missing_id(atome_type, params) ⇒ Object
54 55 56 57 |
# File 'lib/atome/kernel/generators/sanitizer.rb', line 54 def add_missing_id(atome_type, params) type = params[:type] || atome_type "#{type}_#{Universe.atomes.length}" end |
#check_parent(params) ⇒ Object
48 49 50 51 52 |
# File 'lib/atome/kernel/generators/sanitizer.rb', line 48 def check_parent(params) parent = id || :eDen params[:parent] = parent unless params[:parent] params end |
#sanitizer(params) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/atome/kernel/generators/sanitizer.rb', line 26 def sanitizer(params) # TODO: write sanitizer scheme # we reorder id and place it a the beginning of the hash before render id_found = params.delete(:id) params = { id: id_found }.merge(params) # we reorder render and place it a the beginning of the hash render_found = params.delete(:render) { render: render_found }.merge(params) end |
#validation(atome_instance_var) ⇒ Object
21 22 23 24 |
# File 'lib/atome/kernel/generators/sanitizer.rb', line 21 def validation(atome_instance_var) # TODO: write validation scheme true if atome_instance_var end |