<commit_before>= upnp

* {Homepage}[http://rubygems.org/gems/upnp]
* {Documentation}[http://rubydoc.info/gems/upnp/frames]
* {UPnP Device Architecture Documentation}[http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.0.pdf]

== Description

Ruby's UPnP RubyGem was outdated in Ruby 1.9 when support for Soap4r was dropped.  This gem intends to
fill that void for Ruby 1.9 and allow for SSDP search, discovery, advertisement, the ability to act as
a UPnP control point, as well as UPnP devices and services.

== Features

* SSDP search and discovery.

== Examples

  require 'upnp/ssdp'
  all_devices = SSDP.search                         # search for all devices
  root_devices = SSDP.search 'upnp:rootdevices'     # search for root devices
  my_devices = SSDP.search 'uuid:3c202906-992d-3f0f-b94c-90e1902a136d'      # search for specific device by UUID
  my_media_server = SSDP.search 'urn:schemas-upnp-org:device:MediaServer:1' # search for all MediaServer:1s

== Requirements<commit_msg>Added instructions for getting the latest EventMachine.<commit_after>= upnp

* {Homepage}[http://rubygems.org/gems/upnp]
* {Documentation}[http://rubydoc.info/gems/upnp/frames]
* {UPnP Device Architecture Documentation}[http://upnp.org/specs/arch/UPnP-arch-DeviceArchitecture-v1.0.pdf]

== Description

Ruby's UPnP RubyGem was outdated in Ruby 1.9 when support for Soap4r was dropped.  This gem intends to
fill that void for Ruby 1.9 and allow for SSDP search, discovery, advertisement, the ability to act as
a UPnP control point, as well as UPnP devices and services.

=== Getting Started

As of this writing, the SSDP functionality depends on an unreleased version of {EventMachine}[http://github.com/eventmachine/eventmachine]
in order to do multicast UDP.  Before using this library, make sure you:

* <code>gem install bundler</code>
* <code>bundle install</code>

Once EventMachine 1.0.0 is released, I'll remove the dep on the git version of EM.

== Features

* SSDP search and discovery.

== Examples

  require 'upnp/ssdp'
  all_devices = SSDP.search                         # search for all devices
  root_devices = SSDP.search 'upnp:rootdevices'     # search for root devices
  my_devices = SSDP.search 'uuid:3c202906-992d-3f0f-b94c-90e1902a136d'      # search for specific device by UUID
  my_media_server = SSDP.search 'urn:schemas-upnp-org:device:MediaServer:1' # search for all MediaServer:1s

== Requirements
{'fraction_non_alphanumeric': 0.09454995871180842, 'fraction_numerical': 0.027663088356729974, 'mean_word_length': 4.1118143459915615, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5161355', 'n_tokens_mistral': 840, 'n_tokens_neox': 766, 'n_words': 242}