Recently I had been wondering what the complete list of HTTP status code symbols was in Rails. Searching through Rails didn't yield any results for a symbol like :unprocessable_entity. Digging around in the Rails source code I found the file actionpack/lib/action_controller/status_codes.rb, which has the mapping of the status code to the status message. Then Rails defines the symbol to status code mapping dynamically from the status message.
The symbol used is an underscored version of the status message with no spaces. A quick Ruby script yields the following mapping:
| Status Code | Status Message | Symbol |
|---|---|---|
| 100 | Continue | :continue |
| 101 | Switching Protocols | :switching_protocols |
| 102 | Processing | :processing |
| 200 | OK | :ok |
| 201 | Created | :created |
| 202 | Accepted | :accepted |
| 203 | Non-Authoritative Information | :non_authoritative_information |
| 204 | No Content | :no_content |
| 205 | Reset Content | :reset_content |
| 206 | Partial Content | :partial_content |
| 207 | Multi-Status | :multi_status |
| 226 | IM Used | :im_used |
| 300 | Multiple Choices | :multiple_choices |
| 301 | Moved Permanently | :moved_permanently |
| 302 | Found | :found |
| 303 | See Other | :see_other |
| 304 | Not Modified | :not_modified |
| 305 | Use Proxy | :use_proxy |
| 307 | Temporary Redirect | :temporary_redirect |
| 400 | Bad Request | :bad_request |
| 401 | Unauthorized | :unauthorized |
| 402 | Payment Required | :payment_required |
| 403 | Forbidden | :forbidden |
| 404 | Not Found | :not_found |
| 405 | Method Not Allowed | :method_not_allowed |
| 406 | Not Acceptable | :not_acceptable |
| 407 | Proxy Authentication Required | :proxy_authentication_required |
| 408 | Request Timeout | :request_timeout |
| 409 | Conflict | :conflict |
| 410 | Gone | :gone |
| 411 | Length Required | :length_required |
| 412 | Precondition Failed | :precondition_failed |
| 413 | Request Entity Too Large | :request_entity_too_large |
| 414 | Request-URI Too Long | :request_uri_too_long |
| 415 | Unsupported Media Type | :unsupported_media_type |
| 416 | Requested Range Not Satisfiable | :requested_range_not_satisfiable |
| 417 | Expectation Failed | :expectation_failed |
| 422 | Unprocessable Entity | :unprocessable_entity |
| 423 | Locked | :locked |
| 424 | Failed Dependency | :failed_dependency |
| 426 | Upgrade Required | :upgrade_required |
| 500 | Internal Server Error | :internal_server_error |
| 501 | Not Implemented | :not_implemented |
| 502 | Bad Gateway | :bad_gateway |
| 503 | Service Unavailable | :service_unavailable |
| 504 | Gateway Timeout | :gateway_timeout |
| 505 | HTTP Version Not Supported | :http_version_not_supported |
| 507 | Insufficient Storage | :insufficient_storage |
| 510 | Not Extended | :not_extended |

The ActiveMerchant source repository has made the move over to GitHub. I think the social development GitHub provides will be a perfect fit for ActiveMerchant. We’ve also moved the ActiveMerchant bug tracker over to Lighthouse.
If you’re looking to get up to speed on payment processing and payment processing with ActiveMerchant then be sure to check out my PeepCode ActiveMerchant PDF which was given a very favorable review at RubyInside.
Daniel, our designer, has just finished the redesign of the Shopify brochure page and it looks fantastic. The page features a beautiful redesign, fantastic video overview of some of Shopify's features, as well as profiles and interviews with some of Shopify's highest profile clients. If you're in the market for an e-commerce store or if you're into eye candy then you'll definitely want to go and check it out.