Class: Engine2::BlobStoreAction
- Defined in:
- lib/engine2/action/infra.rb
Instance Attribute Summary collapse
-
#field ⇒ Object
Returns the value of attribute field.
-
#model ⇒ Object
Returns the value of attribute model.
Attributes inherited from Action
#assets, #invokable, #meta, #node, #static
Instance Method Summary collapse
Methods inherited from Action
action_type, #action_type, #arguments, #check_anonymous_action_class, #check_static_action, #define_invoke, #define_method, #dynamic?, #execute, #freeze_action, #http_method, http_method, inherit, inherited, #initialize, #invoke!, #join_keys, #lookup, #merge, #node_defined, #post_process, #post_run, #pre_run, #repeat, #request, #request_action_proc_params, #split_keys
Constructor Details
This class inherits a constructor from Engine2::Action
Instance Attribute Details
#field ⇒ Object
Returns the value of attribute field.
124 125 126 |
# File 'lib/engine2/action/infra.rb', line 124 def field @field end |
#model ⇒ Object
Returns the value of attribute model.
124 125 126 |
# File 'lib/engine2/action/infra.rb', line 124 def model @model end |
Instance Method Details
#invoke(handler) ⇒ Object
126 127 128 129 130 131 132 |
# File 'lib/engine2/action/infra.rb', line 126 def invoke handler handler.permit id = handler.params[:owner] inf = model.type_info[field] result = model.naked.select(inf[:name_field], Sequel.char_length(inf[:bytes_field]).as(:length)).where(model.primary_keys_hash(split_keys(id))).first handler.permit result {file_name: result[inf[:name_field]], blob_length: result[:length]} end |