Socket
Socket
Sign inDemoInstall

github.com/rails/actionpack-xml_parser

Package Overview
Dependencies
0
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    github.com/rails/actionpack-xml_parser


Version published

Readme

Source

actionpack-xml_parser

A XML parameters parser for Action Pack (removed from core in Rails 4.0)

Installation

Include this gem into your Gemfile:

gem 'actionpack-xml_parser'

Parameters parsing rules

The parameters parsing is handled by ActiveSupport::XMLConverter so there may be specific features and subtle differences depending on the chosen XML backend.

Hashes

Basically, each node represents a key. With the following XML:

<person><name>David</name></person>

The resulting parameters will be:

{"person" => {"name" => "David"}}

File attachment

You can specify the type attribute of a node to attach files:

<person>
  <avatar type="file" name="me.jpg" content_type="image/jpg"><!-- File content --></avatar>
</person>

The resulting parameters will include a StringIO object with the given content, name and content type set accordingly:

{"person" => {"avatar" => #<StringIO:...>}}

Arrays

There are several ways to pass an array. You can either specify multiple nodes with the same name:

<person>
  <address city="Chicago"/>
  <address city="Ottawa"/>
</person>

The resulting parameters will be:

{"person" => {"address" => [{"city" => "Chicago"}, {"city" => "Ottawa"}]}}

You can also specify the type attribute of a node and nest child nodes inside:

<person>
  <addresses type="array">
    <address city="Melbourne"/>
    <address city="Paris"/>
  </addresses>
</person>

will result in:

{"person" => {"addresses" => [{"city" => "Melbourne"}, {"city" => "Paris"}]}}

FAQs

Last updated on 10 May 2017

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc