Sha256: a130a03a232a1ba94f7d7b9694422b96a897d8a9f7f5dd840ebe3f8a574edd02

Contents?: true

Size: 503 Bytes

Versions: 1

Compression:

Stored size: 503 Bytes

Contents

module WebClient
  module Actions
    class Post
      def call(action, parent_id, *)
        # Type, URL, Options, Params (passed into javascript event/action classes)
        [action.type, action.url,
         action.options.to_h.merge({__parent_id__: parent_id, input_tag: action.options[:input_tag]}),
         nils_to_empty_string(action.params.to_h)]
      end

      private
      def nils_to_empty_string(params)
        params.map {|k, v| [k, v.nil? ? '' : v]}.to_h
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
voom-presenters-0.2.0 views/mdc/components/actions/post.rb