Your IP : 216.73.217.174


Current Path : /proc/thread-self/root/tmp/
Upload Files:
Current File: //proc/thread-self/root/tmp/phpuOE3BI

#ifndef ONIGURUMA_H
#define ONIGURUMA_H
#include "onigmo.h"
#define ONIGURUMA
#define ONIGURUMA_VERSION_MAJOR ONIGMO_VERSION_MAJOR
#define ONIGURUMA_VERSION_MINOR ONIGMO_VERSION_MINOR
#define ONIGURUMA_VERSION_TEENY ONIGMO_VERSION_TEENY
#endif /* ONIGURUMA_H */
/**********************************************************************

  regex.h -

  $Author: nobu $

  Copyright (C) 1993-2007 Yukihiro Matsumoto

**********************************************************************/

#ifndef ONIGURUMA_REGEX_H
#define ONIGURUMA_REGEX_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

#ifdef RUBY
#include "ruby/oniguruma.h"
#else
#include "oniguruma.h"
#endif

RUBY_SYMBOL_EXPORT_BEGIN

#ifndef ONIG_RUBY_M17N

ONIG_EXTERN OnigEncoding    OnigEncDefaultCharEncoding;

#define mbclen(p,e,enc)  rb_enc_mbclen((p),(e),(enc))

#endif /* ifndef ONIG_RUBY_M17N */

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* ONIGURUMA_REGEX_H */
/**********************************************************************

  util.h -

  $Author: nobu $
  created at: Thu Mar  9 11:55:53 JST 1995

  Copyright (C) 1993-2007 Yukihiro Matsumoto

**********************************************************************/

#ifndef RUBY_UTIL_H
#define RUBY_UTIL_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

#include "ruby/defines.h"
#ifdef RUBY_EXTCONF_H
#include RUBY_EXTCONF_H
#endif

#ifndef _
#ifdef __cplusplus
# ifndef  HAVE_PROTOTYPES
#  define HAVE_PROTOTYPES 1
# endif
# ifndef  HAVE_STDARG_PROTOTYPES
#  define HAVE_STDARG_PROTOTYPES 1
# endif
#endif
#ifdef HAVE_PROTOTYPES
# define _(args) args
#else
# define _(args) ()
#endif
#ifdef HAVE_STDARG_PROTOTYPES
# define __(args) args
#else
# define __(args) ()
#endif
#endif

RUBY_SYMBOL_EXPORT_BEGIN

#define DECIMAL_SIZE_OF_BITS(n) (((n) * 3010 + 9998) / 9999)
/* an approximation of ceil(n * log10(2)), up to 65536 at least */

#define scan_oct(s,l,e) ((int)ruby_scan_oct((s),(l),(e)))
unsigned long ruby_scan_oct(const char *, size_t, size_t *);
#define scan_hex(s,l,e) ((int)ruby_scan_hex((s),(l),(e)))
unsigned long ruby_scan_hex(const char *, size_t, size_t *);

#ifdef HAVE_GNU_QSORT_R
# define ruby_qsort qsort_r
#else
void ruby_qsort(void *, const size_t, const size_t,
		int (*)(const void *, const void *, void *), void *);
#endif

void ruby_setenv(const char *, const char *);
void ruby_unsetenv(const char *);

char *ruby_strdup(const char *);
#undef strdup
#define strdup(s) ruby_strdup(s)

char *ruby_getcwd(void);

double ruby_strtod(const char *, char **);
#undef strtod
#define strtod(s,e) ruby_strtod((s),(e))

void ruby_each_words(const char *, void (*)(const char*, int, void*), void *);

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* RUBY_UTIL_H */
#ifndef ONIGMO_H
#define ONIGMO_H
/**********************************************************************
  onigmo.h - Onigmo (Oniguruma-mod) (regular expression library)
**********************************************************************/
/*-
 * Copyright (c) 2002-2009  K.Kosako  <sndgk393 AT ybb DOT ne DOT jp>
 * Copyright (c) 2011-2017  K.Takata  <kentkt AT csc DOT jp>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

#ifdef __cplusplus
extern "C" {
# if 0
} /* satisfy cc-mode */
# endif
#endif

#define ONIGMO_VERSION_MAJOR   6
#define ONIGMO_VERSION_MINOR   1
#define ONIGMO_VERSION_TEENY   3

#ifndef ONIG_EXTERN
# ifdef RUBY_EXTERN
#  define ONIG_EXTERN   RUBY_EXTERN
# else
#  if defined(_WIN32) && !defined(__GNUC__)
#   if defined(EXPORT) || defined(RUBY_EXPORT)
#    define ONIG_EXTERN   extern __declspec(dllexport)
#   else
#    define ONIG_EXTERN   extern __declspec(dllimport)
#   endif
#  endif
# endif
#endif

#ifndef ONIG_EXTERN
# define ONIG_EXTERN   extern
#endif

#ifndef RUBY
# ifndef RUBY_SYMBOL_EXPORT_BEGIN
#  define RUBY_SYMBOL_EXPORT_BEGIN
#  define RUBY_SYMBOL_EXPORT_END
# endif
#endif

RUBY_SYMBOL_EXPORT_BEGIN

#include <stddef.h>		/* for size_t */

/* PART: character encoding */

#ifndef ONIG_ESCAPE_UCHAR_COLLISION
# define UChar OnigUChar
#endif

typedef unsigned char  OnigUChar;
typedef unsigned int   OnigCodePoint;
typedef unsigned int   OnigCtype;
typedef size_t         OnigDistance;
typedef ptrdiff_t      OnigPosition;

#define ONIG_INFINITE_DISTANCE  ~((OnigDistance )0)

/*
 * Onig casefold/case mapping flags and related definitions
 *
 * Subfields (starting with 0 at LSB):
 *   0-2: Code point count in casefold.h
 *   3-12: Index into SpecialCaseMapping array in casefold.h
 *   13-22: Case folding/mapping flags
 */
typedef unsigned int OnigCaseFoldType; /* case fold flag */

ONIG_EXTERN OnigCaseFoldType OnigDefaultCaseFoldFlag;

/* bits for actual code point count; 3 bits is more than enough, currently only 2 used */
#define OnigCodePointMaskWidth    3
#define OnigCodePointMask     ((1<<OnigCodePointMaskWidth)-1)
#define OnigCodePointCount(n) ((n)&OnigCodePointMask)
#define OnigCaseFoldFlags(n) ((n)&~OnigCodePointMask)

/* #define ONIGENC_CASE_FOLD_HIRAGANA_KATAKANA  (1<<1) */ /* no longer usable with these values! */
/* #define ONIGENC_CASE_FOLD_KATAKANA_WIDTH     (1<<2) */ /* no longer usable with these values! */

/* bits for index into table with separate titlecase mappings */
/* 10 bits provide 1024 values */
#define OnigSpecialIndexShift 3
#define OnigSpecialIndexWidth 10

#define ONIGENC_CASE_UPCASE                     (1<<13) /* has/needs uppercase mapping */
#define ONIGENC_CASE_DOWNCASE                   (1<<14) /* has/needs lowercase mapping */
#define ONIGENC_CASE_TITLECASE                  (1<<15) /* has/needs (special) titlecase mapping */
#define ONIGENC_CASE_SPECIAL_OFFSET             3       /* offset in bits from ONIGENC_CASE to ONIGENC_CASE_SPECIAL */
#define ONIGENC_CASE_UP_SPECIAL                 (1<<16) /* has special upcase mapping */
#define ONIGENC_CASE_DOWN_SPECIAL               (1<<17) /* has special downcase mapping */
#define ONIGENC_CASE_MODIFIED                   (1<<18) /* data has been modified */
#define ONIGENC_CASE_FOLD                       (1<<19) /* has/needs case folding */

#define ONIGENC_CASE_FOLD_TURKISH_AZERI         (1<<20) /* needs mapping specific to Turkic languages; better not change original value! */

#define ONIGENC_CASE_FOLD_LITHUANIAN            (1<<21) /* needs Lithuanian-specific mapping */
#define ONIGENC_CASE_ASCII_ONLY                 (1<<22) /* only modify ASCII range */
#define ONIGENC_CASE_IS_TITLECASE               (1<<23) /* character itself is already titlecase */

#define INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR   (1<<30) /* better not change original value! */

#define ONIGENC_CASE_FOLD_MIN      INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR
#define ONIGENC_CASE_FOLD_DEFAULT  OnigDefaultCaseFoldFlag


#define ONIGENC_MAX_COMP_CASE_FOLD_CODE_LEN       3
#define ONIGENC_GET_CASE_FOLD_CODES_MAX_NUM      13
/* 13 => Unicode:0x1ffc */

/* code range */
#define ONIGENC_CODE_RANGE_NUM(range)     ((int )range[0])
#define ONIGENC_CODE_RANGE_FROM(range,i)  range[((i)*2) + 1]
#define ONIGENC_CODE_RANGE_TO(range,i)    range[((i)*2) + 2]

typedef struct {
  int byte_len;  /* argument(original) character(s) byte length */
  int code_len;  /* number of code */
  OnigCodePoint code[ONIGENC_MAX_COMP_CASE_FOLD_CODE_LEN];
} OnigCaseFoldCodeItem;

typedef struct {
  OnigCodePoint esc;
  OnigCodePoint anychar;
  OnigCodePoint anytime;
  OnigCodePoint zero_or_one_time;
  OnigCodePoint one_or_more_time;
  OnigCodePoint anychar_anytime;
} OnigMetaCharTableType;

typedef int (*OnigApplyAllCaseFoldFunc)(OnigCodePoint from, OnigCodePoint* to, int to_len, void* arg);

typedef struct OnigEncodingTypeST {
  int    (*precise_mbc_enc_len)(const OnigUChar* p,const OnigUChar* e, const struct OnigEncodingTypeST* enc);
  const char*   name;
  int           max_enc_len;
  int           min_enc_len;
  int    (*is_mbc_newline)(const OnigUChar* p, const OnigUChar* end, const struct OnigEncodingTypeST* enc);
  OnigCodePoint (*mbc_to_code)(const OnigUChar* p, const OnigUChar* end, const struct OnigEncodingTypeST* enc);
  int    (*code_to_mbclen)(OnigCodePoint code, const struct OnigEncodingTypeST* enc);
  int    (*code_to_mbc)(OnigCodePoint code, OnigUChar *buf, const struct OnigEncodingTypeST* enc);
  int    (*mbc_case_fold)(OnigCaseFoldType flag, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, const struct OnigEncodingTypeST* enc);
  int    (*apply_all_case_fold)(OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg, const struct OnigEncodingTypeST* enc);
  int    (*get_case_fold_codes_by_str)(OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem acs[], const struct OnigEncodingTypeST* enc);
  int    (*property_name_to_ctype)(const struct OnigEncodingTypeST* enc, const OnigUChar* p, const OnigUChar* end);
  int    (*is_code_ctype)(OnigCodePoint code, OnigCtype ctype, const struct OnigEncodingTypeST* enc);
  int    (*get_ctype_code_range)(OnigCtype ctype, OnigCodePoint* sb_out, const OnigCodePoint* ranges[], const struct OnigEncodingTypeST* enc);
  OnigUChar* (*left_adjust_char_head)(const OnigUChar* start, const OnigUChar* p, const OnigUChar* end, const struct OnigEncodingTypeST* enc);
  int    (*is_allowed_reverse_match)(const OnigUChar* p, const OnigUChar* end, const struct OnigEncodingTypeST* enc);
  int    (*case_map)(OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc);
  int ruby_encoding_index;
  unsigned int  flags;
} OnigEncodingType;

typedef const OnigEncodingType* OnigEncoding;

ONIG_EXTERN const OnigEncodingType OnigEncodingASCII;
#ifndef RUBY
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_1;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_2;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_3;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_4;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_5;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_6;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_7;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_8;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_9;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_10;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_11;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_13;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_14;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_15;
ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_16;
ONIG_EXTERN const OnigEncodingType OnigEncodingUTF_8;
ONIG_EXTERN const OnigEncodingType OnigEncodingUTF_16BE;
ONIG_EXTERN const OnigEncodingType OnigEncodingUTF_16LE;
ONIG_EXTERN const OnigEncodingType OnigEncodingUTF_32BE;
ONIG_EXTERN const OnigEncodingType OnigEncodingUTF_32LE;
ONIG_EXTERN const OnigEncodingType OnigEncodingEUC_JP;
ONIG_EXTERN const OnigEncodingType OnigEncodingEUC_TW;
ONIG_EXTERN const OnigEncodingType OnigEncodingEUC_KR;
ONIG_EXTERN const OnigEncodingType OnigEncodingEUC_CN;
ONIG_EXTERN const OnigEncodingType OnigEncodingShift_JIS;
ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_31J;
/* ONIG_EXTERN const OnigEncodingType OnigEncodingKOI8; */
ONIG_EXTERN const OnigEncodingType OnigEncodingKOI8_R;
ONIG_EXTERN const OnigEncodingType OnigEncodingKOI8_U;
ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1250;
ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1251;
ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1252;
ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1253;
ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1254;
ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1257;
ONIG_EXTERN const OnigEncodingType OnigEncodingBIG5;
ONIG_EXTERN const OnigEncodingType OnigEncodingGB18030;
#endif /* RUBY */

#define ONIG_ENCODING_ASCII        (&OnigEncodingASCII)
#ifndef RUBY
# define ONIG_ENCODING_ISO_8859_1   (&OnigEncodingISO_8859_1)
# define ONIG_ENCODING_ISO_8859_2   (&OnigEncodingISO_8859_2)
# define ONIG_ENCODING_ISO_8859_3   (&OnigEncodingISO_8859_3)
# define ONIG_ENCODING_ISO_8859_4   (&OnigEncodingISO_8859_4)
# define ONIG_ENCODING_ISO_8859_5   (&OnigEncodingISO_8859_5)
# define ONIG_ENCODING_ISO_8859_6   (&OnigEncodingISO_8859_6)
# define ONIG_ENCODING_ISO_8859_7   (&OnigEncodingISO_8859_7)
# define ONIG_ENCODING_ISO_8859_8   (&OnigEncodingISO_8859_8)
# define ONIG_ENCODING_ISO_8859_9   (&OnigEncodingISO_8859_9)
# define ONIG_ENCODING_ISO_8859_10  (&OnigEncodingISO_8859_10)
# define ONIG_ENCODING_ISO_8859_11  (&OnigEncodingISO_8859_11)
# define ONIG_ENCODING_ISO_8859_13  (&OnigEncodingISO_8859_13)
# define ONIG_ENCODING_ISO_8859_14  (&OnigEncodingISO_8859_14)
# define ONIG_ENCODING_ISO_8859_15  (&OnigEncodingISO_8859_15)
# define ONIG_ENCODING_ISO_8859_16  (&OnigEncodingISO_8859_16)
# define ONIG_ENCODING_UTF_8        (&OnigEncodingUTF_8)
# define ONIG_ENCODING_UTF_16BE     (&OnigEncodingUTF_16BE)
# define ONIG_ENCODING_UTF_16LE     (&OnigEncodingUTF_16LE)
# define ONIG_ENCODING_UTF_32BE     (&OnigEncodingUTF_32BE)
# define ONIG_ENCODING_UTF_32LE     (&OnigEncodingUTF_32LE)
# define ONIG_ENCODING_EUC_JP       (&OnigEncodingEUC_JP)
# define ONIG_ENCODING_EUC_TW       (&OnigEncodingEUC_TW)
# define ONIG_ENCODING_EUC_KR       (&OnigEncodingEUC_KR)
# define ONIG_ENCODING_EUC_CN       (&OnigEncodingEUC_CN)
# define ONIG_ENCODING_SHIFT_JIS    (&OnigEncodingShift_JIS)
# define ONIG_ENCODING_WINDOWS_31J  (&OnigEncodingWindows_31J)
/* # define ONIG_ENCODING_KOI8         (&OnigEncodingKOI8) */
# define ONIG_ENCODING_KOI8_R       (&OnigEncodingKOI8_R)
# define ONIG_ENCODING_KOI8_U       (&OnigEncodingKOI8_U)
# define ONIG_ENCODING_WINDOWS_1250 (&OnigEncodingWindows_1250)
# define ONIG_ENCODING_WINDOWS_1251 (&OnigEncodingWindows_1251)
# define ONIG_ENCODING_WINDOWS_1252 (&OnigEncodingWindows_1252)
# define ONIG_ENCODING_WINDOWS_1253 (&OnigEncodingWindows_1253)
# define ONIG_ENCODING_WINDOWS_1254 (&OnigEncodingWindows_1254)
# define ONIG_ENCODING_WINDOWS_1257 (&OnigEncodingWindows_1257)
# define ONIG_ENCODING_BIG5         (&OnigEncodingBIG5)
# define ONIG_ENCODING_GB18030      (&OnigEncodingGB18030)

/* old names */
# define ONIG_ENCODING_SJIS         ONIG_ENCODING_SHIFT_JIS
# define ONIG_ENCODING_CP932        ONIG_ENCODING_WINDOWS_31J
# define ONIG_ENCODING_CP1250       ONIG_ENCODING_WINDOWS_1250
# define ONIG_ENCODING_CP1251       ONIG_ENCODING_WINDOWS_1251
# define ONIG_ENCODING_CP1252       ONIG_ENCODING_WINDOWS_1252
# define ONIG_ENCODING_CP1253       ONIG_ENCODING_WINDOWS_1253
# define ONIG_ENCODING_CP1254       ONIG_ENCODING_WINDOWS_1254
# define ONIG_ENCODING_CP1257       ONIG_ENCODING_WINDOWS_1257
# define ONIG_ENCODING_UTF8         ONIG_ENCODING_UTF_8
# define ONIG_ENCODING_UTF16_BE     ONIG_ENCODING_UTF_16BE
# define ONIG_ENCODING_UTF16_LE     ONIG_ENCODING_UTF_16LE
# define ONIG_ENCODING_UTF32_BE     ONIG_ENCODING_UTF_32BE
# define ONIG_ENCODING_UTF32_LE     ONIG_ENCODING_UTF_32LE
#endif /* RUBY */

#define ONIG_ENCODING_UNDEF    ((OnigEncoding )0)

/* this declaration needs to be here because it is used in string.c in Ruby */
ONIG_EXTERN
int onigenc_ascii_only_case_map(OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc);


/* work size */
#define ONIGENC_CODE_TO_MBC_MAXLEN       7
#define ONIGENC_MBC_CASE_FOLD_MAXLEN    18
/* 18: 6(max-byte) * 3(case-fold chars) */

/* character types */
#define ONIGENC_CTYPE_NEWLINE   0
#define ONIGENC_CTYPE_ALPHA     1
#define ONIGENC_CTYPE_BLANK     2
#define ONIGENC_CTYPE_CNTRL     3
#define ONIGENC_CTYPE_DIGIT     4
#define ONIGENC_CTYPE_GRAPH     5
#define ONIGENC_CTYPE_LOWER     6
#define ONIGENC_CTYPE_PRINT     7
#define ONIGENC_CTYPE_PUNCT     8
#define ONIGENC_CTYPE_SPACE     9
#define ONIGENC_CTYPE_UPPER    10
#define ONIGENC_CTYPE_XDIGIT   11
#define ONIGENC_CTYPE_WORD     12
#define ONIGENC_CTYPE_ALNUM    13  /* alpha || digit */
#define ONIGENC_CTYPE_ASCII    14
#define ONIGENC_MAX_STD_CTYPE  ONIGENC_CTYPE_ASCII

/* flags */
#define ONIGENC_FLAG_NONE       0U
#define ONIGENC_FLAG_UNICODE    1U

#define onig_enc_len(enc,p,e)          ONIGENC_MBC_ENC_LEN(enc, p, e)

#define ONIGENC_IS_UNDEF(enc)          ((enc) == ONIG_ENCODING_UNDEF)
#define ONIGENC_IS_SINGLEBYTE(enc)     (ONIGENC_MBC_MAXLEN(enc) == 1)
#define ONIGENC_IS_MBC_HEAD(enc,p,e)   (ONIGENC_MBC_ENC_LEN(enc,p,e) != 1)
#define ONIGENC_IS_MBC_ASCII(p)           (*(p)   < 128)
#define ONIGENC_IS_CODE_ASCII(code)       ((code) < 128)
#define ONIGENC_IS_MBC_WORD(enc,s,end) \
   ONIGENC_IS_CODE_WORD(enc,ONIGENC_MBC_TO_CODE(enc,s,end))
#define ONIGENC_IS_MBC_ASCII_WORD(enc,s,end) \
   onigenc_ascii_is_code_ctype( \
	ONIGENC_MBC_TO_CODE(enc,s,end),ONIGENC_CTYPE_WORD,enc)
#define ONIGENC_IS_UNICODE(enc)        ((enc)->flags & ONIGENC_FLAG_UNICODE)


#define ONIGENC_NAME(enc)                      ((enc)->name)

#define ONIGENC_MBC_CASE_FOLD(enc,flag,pp,end,buf) \
  (enc)->mbc_case_fold(flag,(const OnigUChar** )pp,end,buf,enc)
#define ONIGENC_IS_ALLOWED_REVERSE_MATCH(enc,s,end) \
        (enc)->is_allowed_reverse_match(s,end,enc)
#define ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc,start,s,end) \
        (enc)->left_adjust_char_head(start, s, end, enc)
#define ONIGENC_APPLY_ALL_CASE_FOLD(enc,case_fold_flag,f,arg) \
        (enc)->apply_all_case_fold(case_fold_flag,f,arg,enc)
#define ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc,case_fold_flag,p,end,acs) \
       (enc)->get_case_fold_codes_by_str(case_fold_flag,p,end,acs,enc)
#define ONIGENC_STEP_BACK(enc,start,s,end,n) \
        onigenc_step_back((enc),(start),(s),(end),(n))

#define ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND(n)   (n)
#define ONIGENC_MBCLEN_CHARFOUND_P(r)           (0 < (r))
#define ONIGENC_MBCLEN_CHARFOUND_LEN(r)         (r)

#define ONIGENC_CONSTRUCT_MBCLEN_INVALID()      (-1)
#define ONIGENC_MBCLEN_INVALID_P(r)             ((r) == -1)

#define ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE(n)    (-1-(n))
#define ONIGENC_MBCLEN_NEEDMORE_P(r)            ((r) < -1)
#define ONIGENC_MBCLEN_NEEDMORE_LEN(r)          (-1-(r))

#define ONIGENC_PRECISE_MBC_ENC_LEN(enc,p,e)   (enc)->precise_mbc_enc_len(p,e,enc)

ONIG_EXTERN
int onigenc_mbclen_approximate(const OnigUChar* p,const OnigUChar* e, const struct OnigEncodingTypeST* enc);

#define ONIGENC_MBC_ENC_LEN(enc,p,e)           onigenc_mbclen_approximate(p,e,enc)
#define ONIGENC_MBC_MAXLEN(enc)               ((enc)->max_enc_len)
#define ONIGENC_MBC_MAXLEN_DIST(enc)           ONIGENC_MBC_MAXLEN(enc)
#define ONIGENC_MBC_MINLEN(enc)               ((enc)->min_enc_len)
#define ONIGENC_IS_MBC_NEWLINE(enc,p,end)      (enc)->is_mbc_newline((p),(end),enc)
#define ONIGENC_MBC_TO_CODE(enc,p,end)         (enc)->mbc_to_code((p),(end),enc)
#define ONIGENC_CODE_TO_MBCLEN(enc,code)       (enc)->code_to_mbclen(code,enc)
#define ONIGENC_CODE_TO_MBC(enc,code,buf)      (enc)->code_to_mbc(code,buf,enc)
#define ONIGENC_PROPERTY_NAME_TO_CTYPE(enc,p,end) \
  (enc)->property_name_to_ctype(enc,p,end)

#define ONIGENC_IS_CODE_CTYPE(enc,code,ctype)  (enc)->is_code_ctype(code,ctype,enc)

#define ONIGENC_IS_CODE_NEWLINE(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_NEWLINE)
#define ONIGENC_IS_CODE_GRAPH(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_GRAPH)
#define ONIGENC_IS_CODE_PRINT(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_PRINT)
#define ONIGENC_IS_CODE_ALNUM(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_ALNUM)
#define ONIGENC_IS_CODE_ALPHA(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_ALPHA)
#define ONIGENC_IS_CODE_LOWER(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_LOWER)
#define ONIGENC_IS_CODE_UPPER(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_UPPER)
#define ONIGENC_IS_CODE_CNTRL(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_CNTRL)
#define ONIGENC_IS_CODE_PUNCT(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_PUNCT)
#define ONIGENC_IS_CODE_SPACE(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_SPACE)
#define ONIGENC_IS_CODE_BLANK(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_BLANK)
#define ONIGENC_IS_CODE_DIGIT(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_DIGIT)
#define ONIGENC_IS_CODE_XDIGIT(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_XDIGIT)
#define ONIGENC_IS_CODE_WORD(enc,code) \
        ONIGENC_IS_CODE_CTYPE(enc,code,ONIGENC_CTYPE_WORD)

#define ONIGENC_GET_CTYPE_CODE_RANGE(enc,ctype,sbout,ranges) \
        (enc)->get_ctype_code_range(ctype,sbout,ranges,enc)

ONIG_EXTERN
OnigUChar* onigenc_step_back(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end, int n);


/* encoding API */
ONIG_EXTERN
int onigenc_init(void);
ONIG_EXTERN
int onigenc_set_default_encoding(OnigEncoding enc);
ONIG_EXTERN
OnigEncoding onigenc_get_default_encoding(void);
ONIG_EXTERN
OnigUChar* onigenc_get_right_adjust_char_head_with_prev(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end, const OnigUChar** prev);
ONIG_EXTERN
OnigUChar* onigenc_get_prev_char_head(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end);
ONIG_EXTERN
OnigUChar* onigenc_get_left_adjust_char_head(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end);
ONIG_EXTERN
OnigUChar* onigenc_get_right_adjust_char_head(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end);
ONIG_EXTERN
int onigenc_strlen(OnigEncoding enc, const OnigUChar* p, const OnigUChar* end);
ONIG_EXTERN
int onigenc_strlen_null(OnigEncoding enc, const OnigUChar* p);
ONIG_EXTERN
int onigenc_str_bytelen_null(OnigEncoding enc, const OnigUChar* p);



/* PART: regular expression */

/* config parameters */
#define ONIG_NREGION                          10
#define ONIG_MAX_CAPTURE_GROUP_NUM         32767
#define ONIG_MAX_BACKREF_NUM                1000
#define ONIG_MAX_REPEAT_NUM               100000
#define ONIG_MAX_MULTI_BYTE_RANGES_NUM     10000
/* constants */
#define ONIG_MAX_ERROR_MESSAGE_LEN            90

typedef unsigned int        OnigOptionType;

#define ONIG_OPTION_DEFAULT            ONIG_OPTION_NONE

/* options */
#define ONIG_OPTION_NONE                 0U
#define ONIG_OPTION_IGNORECASE           1U
#define ONIG_OPTION_EXTEND               (ONIG_OPTION_IGNORECASE         << 1)
#define ONIG_OPTION_MULTILINE            (ONIG_OPTION_EXTEND             << 1)
#define ONIG_OPTION_DOTALL                ONIG_OPTION_MULTILINE
#define ONIG_OPTION_SINGLELINE           (ONIG_OPTION_MULTILINE          << 1)
#define ONIG_OPTION_FIND_LONGEST         (ONIG_OPTION_SINGLELINE         << 1)
#define ONIG_OPTION_FIND_NOT_EMPTY       (ONIG_OPTION_FIND_LONGEST       << 1)
#define ONIG_OPTION_NEGATE_SINGLELINE    (ONIG_OPTION_FIND_NOT_EMPTY     << 1)
#define ONIG_OPTION_DONT_CAPTURE_GROUP   (ONIG_OPTION_NEGATE_SINGLELINE  << 1)
#define ONIG_OPTION_CAPTURE_GROUP        (ONIG_OPTION_DONT_CAPTURE_GROUP << 1)
/* options (search time) */
#define ONIG_OPTION_NOTBOL               (ONIG_OPTION_CAPTURE_GROUP << 1)
#define ONIG_OPTION_NOTEOL               (ONIG_OPTION_NOTBOL << 1)
#define ONIG_OPTION_NOTBOS               (ONIG_OPTION_NOTEOL << 1)
#define ONIG_OPTION_NOTEOS               (ONIG_OPTION_NOTBOS << 1)
/* options (ctype range) */
#define ONIG_OPTION_ASCII_RANGE          (ONIG_OPTION_NOTEOS << 1)
#define ONIG_OPTION_POSIX_BRACKET_ALL_RANGE (ONIG_OPTION_ASCII_RANGE << 1)
#define ONIG_OPTION_WORD_BOUND_ALL_RANGE    (ONIG_OPTION_POSIX_BRACKET_ALL_RANGE << 1)
/* options (newline) */
#define ONIG_OPTION_NEWLINE_CRLF         (ONIG_OPTION_WORD_BOUND_ALL_RANGE << 1)
#define ONIG_OPTION_MAXBIT               ONIG_OPTION_NEWLINE_CRLF  /* limit */

#define ONIG_OPTION_ON(options,regopt)      ((options) |= (regopt))
#define ONIG_OPTION_OFF(options,regopt)     ((options) &= ~(regopt))
#define ONIG_IS_OPTION_ON(options,option)   ((options) & (option))

/* syntax */
typedef struct {
  unsigned int   op;
  unsigned int   op2;
  unsigned int   behavior;
  OnigOptionType options;   /* default option */
  OnigMetaCharTableType meta_char_table;
} OnigSyntaxType;

ONIG_EXTERN const OnigSyntaxType OnigSyntaxASIS;
ONIG_EXTERN const OnigSyntaxType OnigSyntaxPosixBasic;
ONIG_EXTERN const OnigSyntaxType OnigSyntaxPosixExtended;
ONIG_EXTERN const OnigSyntaxType OnigSyntaxEmacs;
ONIG_EXTERN const OnigSyntaxType OnigSyntaxGrep;
ONIG_EXTERN const OnigSyntaxType OnigSyntaxGnuRegex;
ONIG_EXTERN const OnigSyntaxType OnigSyntaxJava;
ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl58;
ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl58_NG;
ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl;
ONIG_EXTERN const OnigSyntaxType OnigSyntaxRuby;
ONIG_EXTERN const OnigSyntaxType OnigSyntaxPython;

/* predefined syntaxes (see regsyntax.c) */
#define ONIG_SYNTAX_ASIS               (&OnigSyntaxASIS)
#define ONIG_SYNTAX_POSIX_BASIC        (&OnigSyntaxPosixBasic)
#define ONIG_SYNTAX_POSIX_EXTENDED     (&OnigSyntaxPosixExtended)
#define ONIG_SYNTAX_EMACS              (&OnigSyntaxEmacs)
#define ONIG_SYNTAX_GREP               (&OnigSyntaxGrep)
#define ONIG_SYNTAX_GNU_REGEX          (&OnigSyntaxGnuRegex)
#define ONIG_SYNTAX_JAVA               (&OnigSyntaxJava)
#define ONIG_SYNTAX_PERL58             (&OnigSyntaxPerl58)
#define ONIG_SYNTAX_PERL58_NG          (&OnigSyntaxPerl58_NG)
#define ONIG_SYNTAX_PERL               (&OnigSyntaxPerl)
#define ONIG_SYNTAX_RUBY               (&OnigSyntaxRuby)
#define ONIG_SYNTAX_PYTHON             (&OnigSyntaxPython)

/* default syntax */
ONIG_EXTERN const OnigSyntaxType*   OnigDefaultSyntax;
#define ONIG_SYNTAX_DEFAULT   OnigDefaultSyntax

/* syntax (operators) */
#define ONIG_SYN_OP_VARIABLE_META_CHARACTERS    (1U<<0)
#define ONIG_SYN_OP_DOT_ANYCHAR                 (1U<<1)   /* . */
#define ONIG_SYN_OP_ASTERISK_ZERO_INF           (1U<<2)   /* * */
#define ONIG_SYN_OP_ESC_ASTERISK_ZERO_INF       (1U<<3)
#define ONIG_SYN_OP_PLUS_ONE_INF                (1U<<4)   /* + */
#define ONIG_SYN_OP_ESC_PLUS_ONE_INF            (1U<<5)
#define ONIG_SYN_OP_QMARK_ZERO_ONE              (1U<<6)   /* ? */
#define ONIG_SYN_OP_ESC_QMARK_ZERO_ONE          (1U<<7)
#define ONIG_SYN_OP_BRACE_INTERVAL              (1U<<8)   /* {lower,upper} */
#define ONIG_SYN_OP_ESC_BRACE_INTERVAL          (1U<<9)   /* \{lower,upper\} */
#define ONIG_SYN_OP_VBAR_ALT                    (1U<<10)   /* | */
#define ONIG_SYN_OP_ESC_VBAR_ALT                (1U<<11)  /* \| */
#define ONIG_SYN_OP_LPAREN_SUBEXP               (1U<<12)  /* (...)   */
#define ONIG_SYN_OP_ESC_LPAREN_SUBEXP           (1U<<13)  /* \(...\) */
#define ONIG_SYN_OP_ESC_AZ_BUF_ANCHOR           (1U<<14)  /* \A, \Z, \z */
#define ONIG_SYN_OP_ESC_CAPITAL_G_BEGIN_ANCHOR  (1U<<15)  /* \G     */
#define ONIG_SYN_OP_DECIMAL_BACKREF             (1U<<16)  /* \num   */
#define ONIG_SYN_OP_BRACKET_CC                  (1U<<17)  /* [...]  */
#define ONIG_SYN_OP_ESC_W_WORD                  (1U<<18)  /* \w, \W */
#define ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END     (1U<<19)  /* \<. \> */
#define ONIG_SYN_OP_ESC_B_WORD_BOUND            (1U<<20)  /* \b, \B */
#define ONIG_SYN_OP_ESC_S_WHITE_SPACE           (1U<<21)  /* \s, \S */
#define ONIG_SYN_OP_ESC_D_DIGIT                 (1U<<22)  /* \d, \D */
#define ONIG_SYN_OP_LINE_ANCHOR                 (1U<<23)  /* ^, $   */
#define ONIG_SYN_OP_POSIX_BRACKET               (1U<<24)  /* [:xxxx:] */
#define ONIG_SYN_OP_QMARK_NON_GREEDY            (1U<<25)  /* ??,*?,+?,{n,m}? */
#define ONIG_SYN_OP_ESC_CONTROL_CHARS           (1U<<26)  /* \n,\r,\t,\a ... */
#define ONIG_SYN_OP_ESC_C_CONTROL               (1U<<27)  /* \cx  */
#define ONIG_SYN_OP_ESC_OCTAL3                  (1U<<28)  /* \OOO */
#define ONIG_SYN_OP_ESC_X_HEX2                  (1U<<29)  /* \xHH */
#define ONIG_SYN_OP_ESC_X_BRACE_HEX8            (1U<<30)  /* \x{7HHHHHHH} */
#define ONIG_SYN_OP_ESC_O_BRACE_OCTAL           (1U<<31)  /* \o{OOO} */

#define ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE        (1U<<0)  /* \Q...\E */
#define ONIG_SYN_OP2_QMARK_GROUP_EFFECT         (1U<<1)  /* (?...) */
#define ONIG_SYN_OP2_OPTION_PERL                (1U<<2)  /* (?imsxadlu), (?-imsx), (?^imsxalu) */
#define ONIG_SYN_OP2_OPTION_RUBY                (1U<<3)  /* (?imxadu), (?-imx)  */
#define ONIG_SYN_OP2_PLUS_POSSESSIVE_REPEAT     (1U<<4)  /* ?+,*+,++ */
#define ONIG_SYN_OP2_PLUS_POSSESSIVE_INTERVAL   (1U<<5)  /* {n,m}+   */
#define ONIG_SYN_OP2_CCLASS_SET_OP              (1U<<6)  /* [...&&..[..]..] */
#define ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP       (1U<<7)  /* (?<name>...) */
#define ONIG_SYN_OP2_ESC_K_NAMED_BACKREF        (1U<<8)  /* \k<name> */
#define ONIG_SYN_OP2_ESC_G_SUBEXP_CALL          (1U<<9)  /* \g<name>, \g<n> */
#define ONIG_SYN_OP2_ATMARK_CAPTURE_HISTORY     (1U<<10) /* (?@..),(?@<x>..) */
#define ONIG_SYN_OP2_ESC_CAPITAL_C_BAR_CONTROL  (1U<<11) /* \C-x */
#define ONIG_SYN_OP2_ESC_CAPITAL_M_BAR_META     (1U<<12) /* \M-x */
#define ONIG_SYN_OP2_ESC_V_VTAB                 (1U<<13) /* \v as VTAB */
#define ONIG_SYN_OP2_ESC_U_HEX4                 (1U<<14) /* \uHHHH */
#define ONIG_SYN_OP2_ESC_GNU_BUF_ANCHOR         (1U<<15) /* \`, \' */
#define ONIG_SYN_OP2_ESC_P_BRACE_CHAR_PROPERTY  (1U<<16) /* \p{...}, \P{...} */
#define ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT (1U<<17) /* \p{^..}, \P{^..} */
/* #define ONIG_SYN_OP2_CHAR_PROPERTY_PREFIX_IS (1U<<18) */
#define ONIG_SYN_OP2_ESC_H_XDIGIT               (1U<<19) /* \h, \H */
#define ONIG_SYN_OP2_INEFFECTIVE_ESCAPE         (1U<<20) /* \ */
#define ONIG_SYN_OP2_ESC_CAPITAL_R_LINEBREAK    (1U<<21) /* \R as (?>\x0D\x0A|[\x0A-\x0D\x{85}\x{2028}\x{2029}]) */
#define ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER (1U<<22) /* \X */
#define ONIG_SYN_OP2_ESC_V_VERTICAL_WHITESPACE   (1U<<23) /* \v, \V -- Perl */ /* NOTIMPL */
#define ONIG_SYN_OP2_ESC_H_HORIZONTAL_WHITESPACE (1U<<24) /* \h, \H -- Perl */ /* NOTIMPL */
#define ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP         (1U<<25) /* \K */
#define ONIG_SYN_OP2_ESC_G_BRACE_BACKREF        (1U<<26) /* \g{name}, \g{n} */
#define ONIG_SYN_OP2_QMARK_SUBEXP_CALL          (1U<<27) /* (?&name), (?n), (?R), (?0) */
#define ONIG_SYN_OP2_QMARK_VBAR_BRANCH_RESET    (1U<<28) /* (?|...) */         /* NOTIMPL */
#define ONIG_SYN_OP2_QMARK_LPAREN_CONDITION     (1U<<29) /* (?(cond)yes...|no...) */
#define ONIG_SYN_OP2_QMARK_CAPITAL_P_NAMED_GROUP (1U<<30) /* (?P<name>...), (?P=name), (?P>name) -- Python/PCRE */
#define ONIG_SYN_OP2_QMARK_TILDE_ABSENT         (1U<<31) /* (?~...) */
/* #define ONIG_SYN_OP2_OPTION_JAVA                (1U<<xx) */ /* (?idmsux), (?-idmsux) */ /* NOTIMPL */

/* syntax (behavior) */
#define ONIG_SYN_CONTEXT_INDEP_ANCHORS           (1U<<31) /* not implemented */
#define ONIG_SYN_CONTEXT_INDEP_REPEAT_OPS        (1U<<0)  /* ?, *, +, {n,m} */
#define ONIG_SYN_CONTEXT_INVALID_REPEAT_OPS      (1U<<1)  /* error or ignore */
#define ONIG_SYN_ALLOW_UNMATCHED_CLOSE_SUBEXP    (1U<<2)  /* ...)... */
#define ONIG_SYN_ALLOW_INVALID_INTERVAL          (1U<<3)  /* {??? */
#define ONIG_SYN_ALLOW_INTERVAL_LOW_ABBREV       (1U<<4)  /* {,n} => {0,n} */
#define ONIG_SYN_STRICT_CHECK_BACKREF            (1U<<5)  /* /(\1)/,/\1()/ ..*/
#define ONIG_SYN_DIFFERENT_LEN_ALT_LOOK_BEHIND   (1U<<6)  /* (?<=a|bc) */
#define ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP        (1U<<7)  /* see doc/RE */
#define ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME (1U<<8)  /* (?<x>)(?<x>) */
#define ONIG_SYN_FIXED_INTERVAL_IS_GREEDY_ONLY   (1U<<9)  /* a{n}?=(?:a{n})? */
#define ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME_CALL (1U<<10)  /* (?<x>)(?<x>)(?&x) */
#define ONIG_SYN_USE_LEFT_MOST_NAMED_GROUP       (1U<<11) /* (?<x>)(?<x>)\k<x> */

/* syntax (behavior) in char class [...] */
#define ONIG_SYN_NOT_NEWLINE_IN_NEGATIVE_CC      (1U<<20) /* [^...] */
#define ONIG_SYN_BACKSLASH_ESCAPE_IN_CC          (1U<<21) /* [..\w..] etc.. */
#define ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC         (1U<<22)
#define ONIG_SYN_ALLOW_DOUBLE_RANGE_OP_IN_CC     (1U<<23) /* [0-9-a]=[0-9\-a] */
/* syntax (behavior) warning */
#define ONIG_SYN_WARN_CC_OP_NOT_ESCAPED          (1U<<24) /* [,-,] */
#define ONIG_SYN_WARN_REDUNDANT_NESTED_REPEAT    (1U<<25) /* (?:a*)+ */
#define ONIG_SYN_WARN_CC_DUP                     (1U<<26) /* [aa] */

/* meta character specifiers (onig_set_meta_char()) */
#define ONIG_META_CHAR_ESCAPE               0
#define ONIG_META_CHAR_ANYCHAR              1
#define ONIG_META_CHAR_ANYTIME              2
#define ONIG_META_CHAR_ZERO_OR_ONE_TIME     3
#define ONIG_META_CHAR_ONE_OR_MORE_TIME     4
#define ONIG_META_CHAR_ANYCHAR_ANYTIME      5

#define ONIG_INEFFECTIVE_META_CHAR          0

/* error codes */
#define ONIG_IS_PATTERN_ERROR(ecode)   ((ecode) <= -100 && (ecode) > -1000)
/* normal return */
#define ONIG_NORMAL                                            0
#define ONIG_MISMATCH                                         -1
#define ONIG_NO_SUPPORT_CONFIG                                -2

/* internal error */
#define ONIGERR_MEMORY                                         -5
#define ONIGERR_TYPE_BUG                                       -6
#define ONIGERR_PARSER_BUG                                    -11
#define ONIGERR_STACK_BUG                                     -12
#define ONIGERR_UNDEFINED_BYTECODE                            -13
#define ONIGERR_UNEXPECTED_BYTECODE                           -14
#define ONIGERR_MATCH_STACK_LIMIT_OVER                        -15
#define ONIGERR_PARSE_DEPTH_LIMIT_OVER                        -16
#define ONIGERR_DEFAULT_ENCODING_IS_NOT_SET                   -21
#define ONIGERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR  -22
/* general error */
#define ONIGERR_INVALID_ARGUMENT                              -30
/* syntax error */
#define ONIGERR_END_PATTERN_AT_LEFT_BRACE                    -100
#define ONIGERR_END_PATTERN_AT_LEFT_BRACKET                  -101
#define ONIGERR_EMPTY_CHAR_CLASS                             -102
#define ONIGERR_PREMATURE_END_OF_CHAR_CLASS                  -103
#define ONIGERR_END_PATTERN_AT_ESCAPE                        -104
#define ONIGERR_END_PATTERN_AT_META                          -105
#define ONIGERR_END_PATTERN_AT_CONTROL                       -106
#define ONIGERR_META_CODE_SYNTAX                             -108
#define ONIGERR_CONTROL_CODE_SYNTAX                          -109
#define ONIGERR_CHAR_CLASS_VALUE_AT_END_OF_RANGE             -110
#define ONIGERR_CHAR_CLASS_VALUE_AT_START_OF_RANGE           -111
#define ONIGERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS      -112
#define ONIGERR_TARGET_OF_REPEAT_OPERATOR_NOT_SPECIFIED      -113
#define ONIGERR_TARGET_OF_REPEAT_OPERATOR_INVALID            -114
#define ONIGERR_NESTED_REPEAT_OPERATOR                       -115
#define ONIGERR_UNMATCHED_CLOSE_PARENTHESIS                  -116
#define ONIGERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS       -117
#define ONIGERR_END_PATTERN_IN_GROUP                         -118
#define ONIGERR_UNDEFINED_GROUP_OPTION                       -119
#define ONIGERR_INVALID_POSIX_BRACKET_TYPE                   -121
#define ONIGERR_INVALID_LOOK_BEHIND_PATTERN                  -122
#define ONIGERR_INVALID_REPEAT_RANGE_PATTERN                 -123
#define ONIGERR_INVALID_CONDITION_PATTERN                    -124
/* values error (syntax error) */
#define ONIGERR_TOO_BIG_NUMBER                               -200
#define ONIGERR_TOO_BIG_NUMBER_FOR_REPEAT_RANGE              -201
#define ONIGERR_UPPER_SMALLER_THAN_LOWER_IN_REPEAT_RANGE     -202
#define ONIGERR_EMPTY_RANGE_IN_CHAR_CLASS                    -203
#define ONIGERR_MISMATCH_CODE_LENGTH_IN_CLASS_RANGE          -204
#define ONIGERR_TOO_MANY_MULTI_BYTE_RANGES                   -205
#define ONIGERR_TOO_SHORT_MULTI_BYTE_STRING                  -206
#define ONIGERR_TOO_BIG_BACKREF_NUMBER                       -207
#define ONIGERR_INVALID_BACKREF                              -208
#define ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED         -209
#define ONIGERR_TOO_MANY_CAPTURE_GROUPS                      -210
#define ONIGERR_TOO_SHORT_DIGITS                             -211
#define ONIGERR_TOO_LONG_WIDE_CHAR_VALUE                     -212
#define ONIGERR_EMPTY_GROUP_NAME                             -214
#define ONIGERR_INVALID_GROUP_NAME                           -215
#define ONIGERR_INVALID_CHAR_IN_GROUP_NAME                   -216
#define ONIGERR_UNDEFINED_NAME_REFERENCE                     -217
#define ONIGERR_UNDEFINED_GROUP_REFERENCE                    -218
#define ONIGERR_MULTIPLEX_DEFINED_NAME                       -219
#define ONIGERR_MULTIPLEX_DEFINITION_NAME_CALL               -220
#define ONIGERR_NEVER_ENDING_RECURSION                       -221
#define ONIGERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY        -222
#define ONIGERR_INVALID_CHAR_PROPERTY_NAME                   -223
#define ONIGERR_INVALID_CODE_POINT_VALUE                     -400
#define ONIGERR_INVALID_WIDE_CHAR_VALUE                      -400
#define ONIGERR_TOO_BIG_WIDE_CHAR_VALUE                      -401
#define ONIGERR_NOT_SUPPORTED_ENCODING_COMBINATION           -402
#define ONIGERR_INVALID_COMBINATION_OF_OPTIONS               -403

/* errors related to thread */
/* #define ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT                -1001 */


/* must be smaller than BIT_STATUS_BITS_NUM (unsigned int * 8) */
#define ONIG_MAX_CAPTURE_HISTORY_GROUP   31
#define ONIG_IS_CAPTURE_HISTORY_GROUP(r, i) \
  ((i) <= ONIG_MAX_CAPTURE_HISTORY_GROUP && (r)->list && (r)->list[i])

typedef struct OnigCaptureTreeNodeStruct {
  int group;   /* group number */
  OnigPosition beg;
  OnigPosition end;
  int allocated;
  int num_childs;
  struct OnigCaptureTreeNodeStruct** childs;
} OnigCaptureTreeNode;

/* match result region type */
struct re_registers {
  int  allocated;
  int  num_regs;
  OnigPosition* beg;
  OnigPosition* end;
  /* extended */
  OnigCaptureTreeNode* history_root;  /* capture history tree root */
};

/* capture tree traverse */
#define ONIG_TRAVERSE_CALLBACK_AT_FIRST   1
#define ONIG_TRAVERSE_CALLBACK_AT_LAST    2
#define ONIG_TRAVERSE_CALLBACK_AT_BOTH \
  ( ONIG_TRAVERSE_CALLBACK_AT_FIRST | ONIG_TRAVERSE_CALLBACK_AT_LAST )


#define ONIG_REGION_NOTPOS            -1

typedef struct re_registers   OnigRegion;

typedef struct {
  OnigEncoding enc;
  OnigUChar* par;
  OnigUChar* par_end;
} OnigErrorInfo;

typedef struct {
  int lower;
  int upper;
} OnigRepeatRange;

typedef void (*OnigWarnFunc)(const char* s);
extern void onig_null_warn(const char* s);
#define ONIG_NULL_WARN       onig_null_warn

#define ONIG_CHAR_TABLE_SIZE   256

typedef struct re_pattern_buffer {
  /* common members of BBuf(bytes-buffer) */
  unsigned char* p;         /* compiled pattern */
  unsigned int used;        /* used space for p */
  unsigned int alloc;       /* allocated space for p */

  int num_mem;                   /* used memory(...) num counted from 1 */
  int num_repeat;                /* OP_REPEAT/OP_REPEAT_NG id-counter */
  int num_null_check;            /* OP_NULL_CHECK_START/END id counter */
  int num_comb_exp_check;        /* combination explosion check */
  int num_call;                  /* number of subexp call */
  unsigned int capture_history;  /* (?@...) flag (1-31) */
  unsigned int bt_mem_start;     /* need backtrack flag */
  unsigned int bt_mem_end;       /* need backtrack flag */
  int stack_pop_level;
  int repeat_range_alloc;

  OnigOptionType    options;

  OnigRepeatRange* repeat_range;

  OnigEncoding      enc;
  const OnigSyntaxType* syntax;
  void*             name_table;
  OnigCaseFoldType  case_fold_flag;

  /* optimization info (string search, char-map and anchors) */
  int            optimize;          /* optimize flag */
  int            threshold_len;     /* search str-length for apply optimize */
  int            anchor;            /* BEGIN_BUF, BEGIN_POS, (SEMI_)END_BUF */
  OnigDistance   anchor_dmin;       /* (SEMI_)END_BUF anchor distance */
  OnigDistance   anchor_dmax;       /* (SEMI_)END_BUF anchor distance */
  int            sub_anchor;        /* start-anchor for exact or map */
  unsigned char *exact;
  unsigned char *exact_end;
  unsigned char  map[ONIG_CHAR_TABLE_SIZE]; /* used as BM skip or char-map */
  int           *int_map;                   /* BM skip for exact_len > 255 */
  int           *int_map_backward;          /* BM skip for backward search */
  OnigDistance   dmin;                      /* min-distance of exact or map */
  OnigDistance   dmax;                      /* max-distance of exact or map */

  /* regex_t link chain */
  struct re_pattern_buffer* chain;  /* escape compile-conflict */
} OnigRegexType;

typedef OnigRegexType*  OnigRegex;

#ifndef ONIG_ESCAPE_REGEX_T_COLLISION
typedef OnigRegexType  regex_t;
#endif


typedef struct {
  int             num_of_elements;
  OnigEncoding    pattern_enc;
  OnigEncoding    target_enc;
  const OnigSyntaxType* syntax;
  OnigOptionType  option;
  OnigCaseFoldType   case_fold_flag;
} OnigCompileInfo;

/* Oniguruma Native API */
ONIG_EXTERN
int onig_initialize(OnigEncoding encodings[], int n);
ONIG_EXTERN
int onig_init(void);
ONIG_EXTERN
int onig_error_code_to_str(OnigUChar* s, OnigPosition err_code, ...);
ONIG_EXTERN
void onig_set_warn_func(OnigWarnFunc f);
ONIG_EXTERN
void onig_set_verb_warn_func(OnigWarnFunc f);
ONIG_EXTERN
int onig_new(OnigRegex*, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, const OnigSyntaxType* syntax, OnigErrorInfo* einfo);
ONIG_EXTERN
int onig_reg_init(OnigRegex reg, OnigOptionType option, OnigCaseFoldType case_fold_flag, OnigEncoding enc, const OnigSyntaxType* syntax);
ONIG_EXTERN
int onig_new_without_alloc(OnigRegex, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, const OnigSyntaxType* syntax, OnigErrorInfo* einfo);
ONIG_EXTERN
int onig_new_deluxe(OnigRegex* reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo);
ONIG_EXTERN
void onig_free(OnigRegex);
ONIG_EXTERN
void onig_free_body(OnigRegex);
ONIG_EXTERN
OnigPosition onig_scan(OnigRegex reg, const OnigUChar* str, const OnigUChar* end, OnigRegion* region, OnigOptionType option, int (*scan_callback)(OnigPosition, OnigPosition, OnigRegion*, void*), void* callback_arg);
ONIG_EXTERN
OnigPosition onig_search(OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option);
ONIG_EXTERN
OnigPosition onig_search_gpos(OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* global_pos, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option);
ONIG_EXTERN
OnigPosition onig_match(OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* at, OnigRegion* region, OnigOptionType option);
ONIG_EXTERN
OnigRegion* onig_region_new(void);
ONIG_EXTERN
void onig_region_init(OnigRegion* region);
ONIG_EXTERN
void onig_region_free(OnigRegion* region, int free_self);
ONIG_EXTERN
void onig_region_copy(OnigRegion* to, const OnigRegion* from);
ONIG_EXTERN
void onig_region_clear(OnigRegion* region);
ONIG_EXTERN
int onig_region_resize(OnigRegion* region, int n);
ONIG_EXTERN
int onig_region_set(OnigRegion* region, int at, int beg, int end);
ONIG_EXTERN
int onig_name_to_group_numbers(OnigRegex reg, const OnigUChar* name, const OnigUChar* name_end, int** nums);
ONIG_EXTERN
int onig_name_to_backref_number(OnigRegex reg, const OnigUChar* name, const OnigUChar* name_end, const OnigRegion *region);
ONIG_EXTERN
int onig_foreach_name(OnigRegex reg, int (*func)(const OnigUChar*, const OnigUChar*,int,int*,OnigRegex,void*), void* arg);
ONIG_EXTERN
int onig_number_of_names(const OnigRegexType *reg);
ONIG_EXTERN
int onig_number_of_captures(const OnigRegexType *reg);
ONIG_EXTERN
int onig_number_of_capture_histories(const OnigRegexType *reg);
ONIG_EXTERN
OnigCaptureTreeNode* onig_get_capture_tree(OnigRegion* region);
ONIG_EXTERN
int onig_capture_tree_traverse(OnigRegion* region, int at, int(*callback_func)(int,OnigPosition,OnigPosition,int,int,void*), void* arg);
ONIG_EXTERN
int onig_noname_group_capture_is_active(const OnigRegexType *reg);
ONIG_EXTERN
OnigEncoding onig_get_encoding(const OnigRegexType *reg);
ONIG_EXTERN
OnigOptionType onig_get_options(const OnigRegexType *reg);
ONIG_EXTERN
OnigCaseFoldType onig_get_case_fold_flag(const OnigRegexType *reg);
ONIG_EXTERN
const OnigSyntaxType* onig_get_syntax(const OnigRegexType *reg);
ONIG_EXTERN
int onig_set_default_syntax(const OnigSyntaxType* syntax);
ONIG_EXTERN
void onig_copy_syntax(OnigSyntaxType* to, const OnigSyntaxType* from);
ONIG_EXTERN
unsigned int onig_get_syntax_op(const OnigSyntaxType* syntax);
ONIG_EXTERN
unsigned int onig_get_syntax_op2(const OnigSyntaxType* syntax);
ONIG_EXTERN
unsigned int onig_get_syntax_behavior(const OnigSyntaxType* syntax);
ONIG_EXTERN
OnigOptionType onig_get_syntax_options(const OnigSyntaxType* syntax);
ONIG_EXTERN
void onig_set_syntax_op(OnigSyntaxType* syntax, unsigned int op);
ONIG_EXTERN
void onig_set_syntax_op2(OnigSyntaxType* syntax, unsigned int op2);
ONIG_EXTERN
void onig_set_syntax_behavior(OnigSyntaxType* syntax, unsigned int behavior);
ONIG_EXTERN
void onig_set_syntax_options(OnigSyntaxType* syntax, OnigOptionType options);
ONIG_EXTERN
int onig_set_meta_char(OnigSyntaxType* syntax, unsigned int what, OnigCodePoint code);
ONIG_EXTERN
void onig_copy_encoding(OnigEncodingType *to, OnigEncoding from);
ONIG_EXTERN
OnigCaseFoldType onig_get_default_case_fold_flag(void);
ONIG_EXTERN
int onig_set_default_case_fold_flag(OnigCaseFoldType case_fold_flag);
ONIG_EXTERN
unsigned int onig_get_match_stack_limit_size(void);
ONIG_EXTERN
int onig_set_match_stack_limit_size(unsigned int size);
ONIG_EXTERN
unsigned int onig_get_parse_depth_limit(void);
ONIG_EXTERN
int onig_set_parse_depth_limit(unsigned int depth);
ONIG_EXTERN
int onig_end(void);
ONIG_EXTERN
const char* onig_version(void);
ONIG_EXTERN
const char* onig_copyright(void);

RUBY_SYMBOL_EXPORT_END

#ifdef __cplusplus
# if 0
{ /* satisfy cc-mode */
# endif
}
#endif

#endif /* ONIGMO_H */
/**********************************************************************

  encoding.h -

  $Author: matz $
  created at: Thu May 24 11:49:41 JST 2007

  Copyright (C) 2007 Yukihiro Matsumoto

**********************************************************************/

#ifndef RUBY_ENCODING_H
#define RUBY_ENCODING_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

#include <stdarg.h>
#include "ruby/ruby.h"
#include "ruby/oniguruma.h"

RUBY_SYMBOL_EXPORT_BEGIN

enum ruby_encoding_consts {
    RUBY_ENCODING_INLINE_MAX = 127,
    RUBY_ENCODING_SHIFT = (RUBY_FL_USHIFT+10),
    RUBY_ENCODING_MASK = (RUBY_ENCODING_INLINE_MAX<<RUBY_ENCODING_SHIFT
			  /* RUBY_FL_USER10..RUBY_FL_USER16 */),
    RUBY_ENCODING_MAXNAMELEN = 42
};

#define ENCODING_INLINE_MAX RUBY_ENCODING_INLINE_MAX
#define ENCODING_SHIFT RUBY_ENCODING_SHIFT
#define ENCODING_MASK RUBY_ENCODING_MASK

#define RB_ENCODING_SET_INLINED(obj,i) do {\
    RBASIC(obj)->flags &= ~RUBY_ENCODING_MASK;\
    RBASIC(obj)->flags |= (VALUE)(i) << RUBY_ENCODING_SHIFT;\
} while (0)
#define RB_ENCODING_SET(obj,i) rb_enc_set_index((obj), (i))

#define RB_ENCODING_GET_INLINED(obj) \
    (int)((RBASIC(obj)->flags & RUBY_ENCODING_MASK)>>RUBY_ENCODING_SHIFT)
#define RB_ENCODING_GET(obj) \
    (RB_ENCODING_GET_INLINED(obj) != RUBY_ENCODING_INLINE_MAX ? \
     RB_ENCODING_GET_INLINED(obj) : \
     rb_enc_get_index(obj))

#define RB_ENCODING_IS_ASCII8BIT(obj) (RB_ENCODING_GET_INLINED(obj) == 0)

#define ENCODING_SET_INLINED(obj,i) RB_ENCODING_SET_INLINED(obj,i)
#define ENCODING_SET(obj,i) RB_ENCODING_SET(obj,i)
#define ENCODING_GET_INLINED(obj) RB_ENCODING_GET_INLINED(obj)
#define ENCODING_GET(obj) RB_ENCODING_GET(obj)
#define ENCODING_IS_ASCII8BIT(obj) RB_ENCODING_IS_ASCII8BIT(obj)
#define ENCODING_MAXNAMELEN RUBY_ENCODING_MAXNAMELEN

enum ruby_coderange_type {
    RUBY_ENC_CODERANGE_UNKNOWN	= 0,
    RUBY_ENC_CODERANGE_7BIT	= ((int)RUBY_FL_USER8),
    RUBY_ENC_CODERANGE_VALID	= ((int)RUBY_FL_USER9),
    RUBY_ENC_CODERANGE_BROKEN	= ((int)(RUBY_FL_USER8|RUBY_FL_USER9)),
    RUBY_ENC_CODERANGE_MASK	= (RUBY_ENC_CODERANGE_7BIT|
				   RUBY_ENC_CODERANGE_VALID|
				   RUBY_ENC_CODERANGE_BROKEN)
};

static inline int
rb_enc_coderange_clean_p(int cr)
{
    return (cr ^ (cr >> 1)) & RUBY_ENC_CODERANGE_7BIT;
}
#define RB_ENC_CODERANGE_CLEAN_P(cr) rb_enc_coderange_clean_p(cr)
#define RB_ENC_CODERANGE(obj) ((int)RBASIC(obj)->flags & RUBY_ENC_CODERANGE_MASK)
#define RB_ENC_CODERANGE_ASCIIONLY(obj) (RB_ENC_CODERANGE(obj) == RUBY_ENC_CODERANGE_7BIT)
#define RB_ENC_CODERANGE_SET(obj,cr) (\
	RBASIC(obj)->flags = \
	(RBASIC(obj)->flags & ~RUBY_ENC_CODERANGE_MASK) | (cr))
#define RB_ENC_CODERANGE_CLEAR(obj) RB_ENC_CODERANGE_SET((obj),0)

/* assumed ASCII compatibility */
#define RB_ENC_CODERANGE_AND(a, b) \
    ((a) == RUBY_ENC_CODERANGE_7BIT ? (b) : \
     (a) != RUBY_ENC_CODERANGE_VALID ? RUBY_ENC_CODERANGE_UNKNOWN : \
     (b) == RUBY_ENC_CODERANGE_7BIT ? RUBY_ENC_CODERANGE_VALID : (b))

#define RB_ENCODING_CODERANGE_SET(obj, encindex, cr) \
    do { \
        VALUE rb_encoding_coderange_obj = (obj); \
        RB_ENCODING_SET(rb_encoding_coderange_obj, (encindex)); \
        RB_ENC_CODERANGE_SET(rb_encoding_coderange_obj, (cr)); \
    } while (0)

#define ENC_CODERANGE_MASK	RUBY_ENC_CODERANGE_MASK
#define ENC_CODERANGE_UNKNOWN	RUBY_ENC_CODERANGE_UNKNOWN
#define ENC_CODERANGE_7BIT	RUBY_ENC_CODERANGE_7BIT
#define ENC_CODERANGE_VALID	RUBY_ENC_CODERANGE_VALID
#define ENC_CODERANGE_BROKEN	RUBY_ENC_CODERANGE_BROKEN
#define ENC_CODERANGE_CLEAN_P(cr)    RB_ENC_CODERANGE_CLEAN_P(cr)
#define ENC_CODERANGE(obj)           RB_ENC_CODERANGE(obj)
#define ENC_CODERANGE_ASCIIONLY(obj) RB_ENC_CODERANGE_ASCIIONLY(obj)
#define ENC_CODERANGE_SET(obj,cr)    RB_ENC_CODERANGE_SET(obj,cr)
#define ENC_CODERANGE_CLEAR(obj)     RB_ENC_CODERANGE_CLEAR(obj)
#define ENC_CODERANGE_AND(a, b)      RB_ENC_CODERANGE_AND(a, b)
#define ENCODING_CODERANGE_SET(obj, encindex, cr) RB_ENCODING_CODERANGE_SET(obj, encindex, cr)

typedef const OnigEncodingType rb_encoding;

int rb_char_to_option_kcode(int c, int *option, int *kcode);

int rb_enc_replicate(const char *, rb_encoding *);
int rb_define_dummy_encoding(const char *);
PUREFUNC(int rb_enc_dummy_p(rb_encoding *enc));
PUREFUNC(int rb_enc_to_index(rb_encoding *enc));
int rb_enc_get_index(VALUE obj);
void rb_enc_set_index(VALUE obj, int encindex);
int rb_enc_find_index(const char *name);
int rb_to_encoding_index(VALUE);
rb_encoding *rb_to_encoding(VALUE);
rb_encoding *rb_find_encoding(VALUE);
rb_encoding *rb_enc_get(VALUE);
rb_encoding *rb_enc_compatible(VALUE,VALUE);
rb_encoding *rb_enc_check(VALUE,VALUE);
VALUE rb_enc_associate_index(VALUE, int);
VALUE rb_enc_associate(VALUE, rb_encoding*);
void rb_enc_copy(VALUE dst, VALUE src);

VALUE rb_enc_str_new(const char*, long, rb_encoding*);
VALUE rb_enc_str_new_cstr(const char*, rb_encoding*);
VALUE rb_enc_str_new_static(const char*, long, rb_encoding*);
VALUE rb_enc_reg_new(const char*, long, rb_encoding*, int);
PRINTF_ARGS(VALUE rb_enc_sprintf(rb_encoding *, const char*, ...), 2, 3);
VALUE rb_enc_vsprintf(rb_encoding *, const char*, va_list);
long rb_enc_strlen(const char*, const char*, rb_encoding*);
char* rb_enc_nth(const char*, const char*, long, rb_encoding*);
VALUE rb_obj_encoding(VALUE);
VALUE rb_enc_str_buf_cat(VALUE str, const char *ptr, long len, rb_encoding *enc);
VALUE rb_enc_uint_chr(unsigned int code, rb_encoding *enc);

VALUE rb_external_str_new_with_enc(const char *ptr, long len, rb_encoding *);
VALUE rb_str_export_to_enc(VALUE, rb_encoding *);
VALUE rb_str_conv_enc(VALUE str, rb_encoding *from, rb_encoding *to);
VALUE rb_str_conv_enc_opts(VALUE str, rb_encoding *from, rb_encoding *to, int ecflags, VALUE ecopts);

#ifdef HAVE_BUILTIN___BUILTIN_CONSTANT_P
#define rb_enc_str_new(str, len, enc) RB_GNUC_EXTENSION_BLOCK( \
    (__builtin_constant_p(str) && __builtin_constant_p(len)) ? \
	rb_enc_str_new_static((str), (len), (enc)) : \
	rb_enc_str_new((str), (len), (enc)) \
)
#define rb_enc_str_new_cstr(str, enc) RB_GNUC_EXTENSION_BLOCK(	\
    (__builtin_constant_p(str)) ?	       \
	rb_enc_str_new_static((str), (long)strlen(str), (enc)) : \
	rb_enc_str_new_cstr((str), (enc)) \
)
#endif

PRINTF_ARGS(NORETURN(void rb_enc_raise(rb_encoding *, VALUE, const char*, ...)), 3, 4);

/* index -> rb_encoding */
rb_encoding *rb_enc_from_index(int idx);

/* name -> rb_encoding */
rb_encoding *rb_enc_find(const char *name);

/* rb_encoding * -> name */
#define rb_enc_name(enc) (enc)->name

/* rb_encoding * -> minlen/maxlen */
#define rb_enc_mbminlen(enc) (enc)->min_enc_len
#define rb_enc_mbmaxlen(enc) (enc)->max_enc_len

/* -> mbclen (no error notification: 0 < ret <= e-p, no exception) */
int rb_enc_mbclen(const char *p, const char *e, rb_encoding *enc);

/* -> mbclen (only for valid encoding) */
int rb_enc_fast_mbclen(const char *p, const char *e, rb_encoding *enc);

/* -> chlen, invalid or needmore */
int rb_enc_precise_mbclen(const char *p, const char *e, rb_encoding *enc);
#define MBCLEN_CHARFOUND_P(ret)     ONIGENC_MBCLEN_CHARFOUND_P(ret)
#define MBCLEN_CHARFOUND_LEN(ret)     ONIGENC_MBCLEN_CHARFOUND_LEN(ret)
#define MBCLEN_INVALID_P(ret)       ONIGENC_MBCLEN_INVALID_P(ret)
#define MBCLEN_NEEDMORE_P(ret)      ONIGENC_MBCLEN_NEEDMORE_P(ret)
#define MBCLEN_NEEDMORE_LEN(ret)      ONIGENC_MBCLEN_NEEDMORE_LEN(ret)

/* -> 0x00..0x7f, -1 */
int rb_enc_ascget(const char *p, const char *e, int *len, rb_encoding *enc);


/* -> code (and len) or raise exception */
unsigned int rb_enc_codepoint_len(const char *p, const char *e, int *len, rb_encoding *enc);

/* prototype for obsolete function */
unsigned int rb_enc_codepoint(const char *p, const char *e, rb_encoding *enc);
/* overriding macro */
#define rb_enc_codepoint(p,e,enc) rb_enc_codepoint_len((p),(e),0,(enc))
#define rb_enc_mbc_to_codepoint(p, e, enc) ONIGENC_MBC_TO_CODE((enc),(UChar*)(p),(UChar*)(e))

/* -> codelen>0 or raise exception */
int rb_enc_codelen(int code, rb_encoding *enc);
/* -> 0 for invalid codepoint */
int rb_enc_code_to_mbclen(int code, rb_encoding *enc);
#define rb_enc_code_to_mbclen(c, enc) ONIGENC_CODE_TO_MBCLEN((enc), (c));

/* code,ptr,encoding -> write buf */
#define rb_enc_mbcput(c,buf,enc) ONIGENC_CODE_TO_MBC((enc),(c),(UChar*)(buf))

/* start, ptr, end, encoding -> prev_char */
#define rb_enc_prev_char(s,p,e,enc) ((char *)onigenc_get_prev_char_head((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e)))
/* start, ptr, end, encoding -> next_char */
#define rb_enc_left_char_head(s,p,e,enc) ((char *)onigenc_get_left_adjust_char_head((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e)))
#define rb_enc_right_char_head(s,p,e,enc) ((char *)onigenc_get_right_adjust_char_head((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e)))
#define rb_enc_step_back(s,p,e,n,enc) ((char *)onigenc_step_back((enc),(UChar*)(s),(UChar*)(p),(UChar*)(e),(int)(n)))

/* ptr, ptr, encoding -> newline_or_not */
#define rb_enc_is_newline(p,end,enc)  ONIGENC_IS_MBC_NEWLINE((enc),(UChar*)(p),(UChar*)(end))

#define rb_enc_isctype(c,t,enc) ONIGENC_IS_CODE_CTYPE((enc),(c),(t))
#define rb_enc_isascii(c,enc) ONIGENC_IS_CODE_ASCII(c)
#define rb_enc_isalpha(c,enc) ONIGENC_IS_CODE_ALPHA((enc),(c))
#define rb_enc_islower(c,enc) ONIGENC_IS_CODE_LOWER((enc),(c))
#define rb_enc_isupper(c,enc) ONIGENC_IS_CODE_UPPER((enc),(c))
#define rb_enc_ispunct(c,enc) ONIGENC_IS_CODE_PUNCT((enc),(c))
#define rb_enc_isalnum(c,enc) ONIGENC_IS_CODE_ALNUM((enc),(c))
#define rb_enc_isprint(c,enc) ONIGENC_IS_CODE_PRINT((enc),(c))
#define rb_enc_isspace(c,enc) ONIGENC_IS_CODE_SPACE((enc),(c))
#define rb_enc_isdigit(c,enc) ONIGENC_IS_CODE_DIGIT((enc),(c))

static inline int
rb_enc_asciicompat_inline(rb_encoding *enc)
{
    return rb_enc_mbminlen(enc)==1 && !rb_enc_dummy_p(enc);
}
#define rb_enc_asciicompat(enc) rb_enc_asciicompat_inline(enc)

int rb_enc_casefold(char *to, const char *p, const char *e, rb_encoding *enc);
CONSTFUNC(int rb_enc_toupper(int c, rb_encoding *enc));
CONSTFUNC(int rb_enc_tolower(int c, rb_encoding *enc));
ID rb_intern3(const char*, long, rb_encoding*);
ID rb_interned_id_p(const char *, long, rb_encoding *);
int rb_enc_symname_p(const char*, rb_encoding*);
int rb_enc_symname2_p(const char*, long, rb_encoding*);
int rb_enc_str_coderange(VALUE);
long rb_str_coderange_scan_restartable(const char*, const char*, rb_encoding*, int*);
int rb_enc_str_asciionly_p(VALUE);
#define rb_enc_str_asciicompat_p(str) rb_enc_asciicompat(rb_enc_get(str))
VALUE rb_enc_from_encoding(rb_encoding *enc);
PUREFUNC(int rb_enc_unicode_p(rb_encoding *enc));
rb_encoding *rb_ascii8bit_encoding(void);
rb_encoding *rb_utf8_encoding(void);
rb_encoding *rb_usascii_encoding(void);
rb_encoding *rb_locale_encoding(void);
rb_encoding *rb_filesystem_encoding(void);
rb_encoding *rb_default_external_encoding(void);
rb_encoding *rb_default_internal_encoding(void);
#ifndef rb_ascii8bit_encindex
CONSTFUNC(int rb_ascii8bit_encindex(void));
#endif
#ifndef rb_utf8_encindex
CONSTFUNC(int rb_utf8_encindex(void));
#endif
#ifndef rb_usascii_encindex
CONSTFUNC(int rb_usascii_encindex(void));
#endif
int rb_locale_encindex(void);
int rb_filesystem_encindex(void);
VALUE rb_enc_default_external(void);
VALUE rb_enc_default_internal(void);
void rb_enc_set_default_external(VALUE encoding);
void rb_enc_set_default_internal(VALUE encoding);
VALUE rb_locale_charmap(VALUE klass);
long rb_memsearch(const void*,long,const void*,long,rb_encoding*);
char *rb_enc_path_next(const char *,const char *,rb_encoding*);
char *rb_enc_path_skip_prefix(const char *,const char *,rb_encoding*);
char *rb_enc_path_last_separator(const char *,const char *,rb_encoding*);
char *rb_enc_path_end(const char *,const char *,rb_encoding*);
const char *ruby_enc_find_basename(const char *name, long *baselen, long *alllen, rb_encoding *enc);
const char *ruby_enc_find_extname(const char *name, long *len, rb_encoding *enc);
ID rb_check_id_cstr(const char *ptr, long len, rb_encoding *enc);
VALUE rb_check_symbol_cstr(const char *ptr, long len, rb_encoding *enc);

RUBY_EXTERN VALUE rb_cEncoding;

/* econv stuff */

typedef enum {
    econv_invalid_byte_sequence,
    econv_undefined_conversion,
    econv_destination_buffer_full,
    econv_source_buffer_empty,
    econv_finished,
    econv_after_output,
    econv_incomplete_input
} rb_econv_result_t;

typedef struct rb_econv_t rb_econv_t;

VALUE rb_str_encode(VALUE str, VALUE to, int ecflags, VALUE ecopts);
int rb_econv_has_convpath_p(const char* from_encoding, const char* to_encoding);

int rb_econv_prepare_options(VALUE opthash, VALUE *ecopts, int ecflags);
int rb_econv_prepare_opts(VALUE opthash, VALUE *ecopts);

rb_econv_t *rb_econv_open(const char *source_encoding, const char *destination_encoding, int ecflags);
rb_econv_t *rb_econv_open_opts(const char *source_encoding, const char *destination_encoding, int ecflags, VALUE ecopts);

rb_econv_result_t rb_econv_convert(rb_econv_t *ec,
    const unsigned char **source_buffer_ptr, const unsigned char *source_buffer_end,
    unsigned char **destination_buffer_ptr, unsigned char *destination_buffer_end,
    int flags);
void rb_econv_close(rb_econv_t *ec);

/* result: 0:success -1:failure */
int rb_econv_set_replacement(rb_econv_t *ec, const unsigned char *str, size_t len, const char *encname);

/* result: 0:success -1:failure */
int rb_econv_decorate_at_first(rb_econv_t *ec, const char *decorator_name);
int rb_econv_decorate_at_last(rb_econv_t *ec, const char *decorator_name);

VALUE rb_econv_open_exc(const char *senc, const char *denc, int ecflags);

/* result: 0:success -1:failure */
int rb_econv_insert_output(rb_econv_t *ec,
    const unsigned char *str, size_t len, const char *str_encoding);

/* encoding that rb_econv_insert_output doesn't need conversion */
const char *rb_econv_encoding_to_insert_output(rb_econv_t *ec);

/* raise an error if the last rb_econv_convert is error */
void rb_econv_check_error(rb_econv_t *ec);

/* returns an exception object or nil */
VALUE rb_econv_make_exception(rb_econv_t *ec);

int rb_econv_putbackable(rb_econv_t *ec);
void rb_econv_putback(rb_econv_t *ec, unsigned char *p, int n);

/* returns the corresponding ASCII compatible encoding for encname,
 * or NULL if encname is not ASCII incompatible encoding. */
const char *rb_econv_asciicompat_encoding(const char *encname);

VALUE rb_econv_str_convert(rb_econv_t *ec, VALUE src, int flags);
VALUE rb_econv_substr_convert(rb_econv_t *ec, VALUE src, long byteoff, long bytesize, int flags);
VALUE rb_econv_str_append(rb_econv_t *ec, VALUE src, VALUE dst, int flags);
VALUE rb_econv_substr_append(rb_econv_t *ec, VALUE src, long byteoff, long bytesize, VALUE dst, int flags);
VALUE rb_econv_append(rb_econv_t *ec, const char *bytesrc, long bytesize, VALUE dst, int flags);

void rb_econv_binmode(rb_econv_t *ec);

enum ruby_econv_flag_type {
/* flags for rb_econv_open */
    RUBY_ECONV_ERROR_HANDLER_MASK               = 0x000000ff,

    RUBY_ECONV_INVALID_MASK                     = 0x0000000f,
    RUBY_ECONV_INVALID_REPLACE                  = 0x00000002,

    RUBY_ECONV_UNDEF_MASK                       = 0x000000f0,
    RUBY_ECONV_UNDEF_REPLACE                    = 0x00000020,
    RUBY_ECONV_UNDEF_HEX_CHARREF                = 0x00000030,

    RUBY_ECONV_DECORATOR_MASK                   = 0x0000ff00,
    RUBY_ECONV_NEWLINE_DECORATOR_MASK           = 0x00003f00,
    RUBY_ECONV_NEWLINE_DECORATOR_READ_MASK      = 0x00000f00,
    RUBY_ECONV_NEWLINE_DECORATOR_WRITE_MASK     = 0x00003000,

    RUBY_ECONV_UNIVERSAL_NEWLINE_DECORATOR      = 0x00000100,
    RUBY_ECONV_CRLF_NEWLINE_DECORATOR           = 0x00001000,
    RUBY_ECONV_CR_NEWLINE_DECORATOR             = 0x00002000,
    RUBY_ECONV_XML_TEXT_DECORATOR               = 0x00004000,
    RUBY_ECONV_XML_ATTR_CONTENT_DECORATOR       = 0x00008000,

    RUBY_ECONV_STATEFUL_DECORATOR_MASK          = 0x00f00000,
    RUBY_ECONV_XML_ATTR_QUOTE_DECORATOR         = 0x00100000,

    RUBY_ECONV_DEFAULT_NEWLINE_DECORATOR        =
#if defined(RUBY_TEST_CRLF_ENVIRONMENT) || defined(_WIN32)
	RUBY_ECONV_CRLF_NEWLINE_DECORATOR,
#else
	0,
#endif
#define ECONV_ERROR_HANDLER_MASK                RUBY_ECONV_ERROR_HANDLER_MASK
#define ECONV_INVALID_MASK                      RUBY_ECONV_INVALID_MASK
#define ECONV_INVALID_REPLACE                   RUBY_ECONV_INVALID_REPLACE
#define ECONV_UNDEF_MASK                        RUBY_ECONV_UNDEF_MASK
#define ECONV_UNDEF_REPLACE                     RUBY_ECONV_UNDEF_REPLACE
#define ECONV_UNDEF_HEX_CHARREF                 RUBY_ECONV_UNDEF_HEX_CHARREF
#define ECONV_DECORATOR_MASK                    RUBY_ECONV_DECORATOR_MASK
#define ECONV_NEWLINE_DECORATOR_MASK            RUBY_ECONV_NEWLINE_DECORATOR_MASK
#define ECONV_NEWLINE_DECORATOR_READ_MASK       RUBY_ECONV_NEWLINE_DECORATOR_READ_MASK
#define ECONV_NEWLINE_DECORATOR_WRITE_MASK      RUBY_ECONV_NEWLINE_DECORATOR_WRITE_MASK
#define ECONV_UNIVERSAL_NEWLINE_DECORATOR       RUBY_ECONV_UNIVERSAL_NEWLINE_DECORATOR
#define ECONV_CRLF_NEWLINE_DECORATOR            RUBY_ECONV_CRLF_NEWLINE_DECORATOR
#define ECONV_CR_NEWLINE_DECORATOR              RUBY_ECONV_CR_NEWLINE_DECORATOR
#define ECONV_XML_TEXT_DECORATOR                RUBY_ECONV_XML_TEXT_DECORATOR
#define ECONV_XML_ATTR_CONTENT_DECORATOR        RUBY_ECONV_XML_ATTR_CONTENT_DECORATOR
#define ECONV_STATEFUL_DECORATOR_MASK           RUBY_ECONV_STATEFUL_DECORATOR_MASK
#define ECONV_XML_ATTR_QUOTE_DECORATOR          RUBY_ECONV_XML_ATTR_QUOTE_DECORATOR
#define ECONV_DEFAULT_NEWLINE_DECORATOR         RUBY_ECONV_DEFAULT_NEWLINE_DECORATOR
/* end of flags for rb_econv_open */

/* flags for rb_econv_convert */
    RUBY_ECONV_PARTIAL_INPUT                    = 0x00010000,
    RUBY_ECONV_AFTER_OUTPUT                     = 0x00020000,
#define ECONV_PARTIAL_INPUT                     RUBY_ECONV_PARTIAL_INPUT
#define ECONV_AFTER_OUTPUT                      RUBY_ECONV_AFTER_OUTPUT
/* end of flags for rb_econv_convert */
RUBY_ECONV_FLAGS_PLACEHOLDER};

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* RUBY_ENCODING_H */
/**********************************************************************

  re.h -

  $Author: nobu $
  created at: Thu Sep 30 14:18:32 JST 1993

  Copyright (C) 1993-2007 Yukihiro Matsumoto

**********************************************************************/

#ifndef RUBY_RE_H
#define RUBY_RE_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

#include <sys/types.h>
#include <stdio.h>

#include "ruby/regex.h"

RUBY_SYMBOL_EXPORT_BEGIN

typedef struct re_pattern_buffer Regexp;

struct rmatch_offset {
    long beg;
    long end;
};

struct rmatch {
    struct re_registers regs;

    int char_offset_updated;
    int char_offset_num_allocated;
    struct rmatch_offset *char_offset;
};

struct RMatch {
    struct RBasic basic;
    VALUE str;
    struct rmatch *rmatch;
    VALUE regexp;  /* RRegexp */
};

#define RMATCH(obj)  (R_CAST(RMatch)(obj))
#define RMATCH_REGS(obj)  (&(R_CAST(RMatch)(obj))->rmatch->regs)

VALUE rb_reg_regcomp(VALUE);
long rb_reg_search(VALUE, VALUE, long, int);
VALUE rb_reg_regsub(VALUE, VALUE, struct re_registers *, VALUE);
long rb_reg_adjust_startpos(VALUE, VALUE, long, int);
void rb_match_busy(VALUE);
VALUE rb_reg_quote(VALUE);
regex_t *rb_reg_prepare_re(VALUE re, VALUE str);
int rb_reg_region_copy(struct re_registers *, const struct re_registers *);

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* RUBY_RE_H */
/**********************************************************************

  ruby/version.h -

  $Author: matz $
  created at: Wed May 13 12:56:56 JST 2009

  Copyright (C) 1993-2009 Yukihiro Matsumoto
  Copyright (C) 2000  Network Applied Communication Laboratory, Inc.
  Copyright (C) 2000  Information-technology Promotion Agency, Japan

**********************************************************************/

/*
 * This file contains only
 * - never-changeable information, and
 * - interfaces accessible from extension libraries.
 *
 * Never try to check RUBY_VERSION_CODE etc in extension libraries,
 * check the features with mkmf.rb instead.
 */

#ifndef RUBY_VERSION_H
#define RUBY_VERSION_H 1

/* The origin. */
#define RUBY_AUTHOR "Yukihiro Matsumoto"
#define RUBY_BIRTH_YEAR 1993
#define RUBY_BIRTH_MONTH 2
#define RUBY_BIRTH_DAY 24

/* API version */
#define RUBY_API_VERSION_MAJOR 2
#define RUBY_API_VERSION_MINOR 5
#define RUBY_API_VERSION_TEENY 0
#define RUBY_API_VERSION_CODE (RUBY_API_VERSION_MAJOR*10000+RUBY_API_VERSION_MINOR*100+RUBY_API_VERSION_TEENY)

#ifdef RUBY_EXTERN
#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

RUBY_SYMBOL_EXPORT_BEGIN

/*
 * Interfaces from extension libraries.
 *
 * Before using these infos, think thrice whether they are really
 * necessary or not, and if the answer was yes, think twice a week
 * later again.
 */
RUBY_EXTERN const int ruby_api_version[3];
RUBY_EXTERN const char ruby_version[];
RUBY_EXTERN const char ruby_release_date[];
RUBY_EXTERN const char ruby_platform[];
RUBY_EXTERN const int  ruby_patchlevel;
RUBY_EXTERN const char ruby_description[];
RUBY_EXTERN const char ruby_copyright[];
RUBY_EXTERN const char ruby_engine[];

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif
#endif

#endif
#ifndef RUBY_SUBST_H
#define RUBY_SUBST_H 1

#undef snprintf
#undef vsnprintf
#define snprintf ruby_snprintf
#define vsnprintf ruby_vsnprintf

#ifdef BROKEN_CLOSE
#undef getpeername
#define getpeername ruby_getpeername
#undef getsockname
#define getsockname ruby_getsockname
#undef shutdown
#define shutdown ruby_shutdown
#undef close
#define close ruby_close
#endif
#endif
/************************************************

  missing.h - prototype for *.c in ./missing, and
  	      for missing timeval struct

  $Author: nagachika $
  created at: Sat May 11 23:46:03 JST 2002

************************************************/

#ifndef RUBY_MISSING_H
#define RUBY_MISSING_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

#include "ruby/config.h"
#include <stddef.h>
#include <math.h> /* for INFINITY and NAN */
#ifdef RUBY_ALTERNATIVE_MALLOC_HEADER
# include RUBY_ALTERNATIVE_MALLOC_HEADER
#endif
#ifdef RUBY_EXTCONF_H
#include RUBY_EXTCONF_H
#endif

#if !defined(HAVE_STRUCT_TIMEVAL) || !defined(HAVE_STRUCT_TIMESPEC)
#if defined(HAVE_TIME_H)
# include <time.h>
#endif
#if defined(HAVE_SYS_TIME_H)
# include <sys/time.h>
#endif
#endif

#ifndef M_PI
# define M_PI 3.14159265358979323846
#endif
#ifndef M_PI_2
# define M_PI_2 (M_PI/2)
#endif

#ifndef RUBY_SYMBOL_EXPORT_BEGIN
# define RUBY_SYMBOL_EXPORT_BEGIN /* begin */
# define RUBY_SYMBOL_EXPORT_END   /* end */
#endif

#if !defined(HAVE_STRUCT_TIMEVAL)
struct timeval {
    time_t tv_sec;	/* seconds */
    long tv_usec;	/* microseconds */
};
#endif /* HAVE_STRUCT_TIMEVAL */

#if !defined(HAVE_STRUCT_TIMESPEC)
struct timespec {
    time_t tv_sec;	/* seconds */
    long tv_nsec;	/* nanoseconds */
};
#endif

#if !defined(HAVE_STRUCT_TIMEZONE)
struct timezone {
    int tz_minuteswest;
    int tz_dsttime;
};
#endif

#ifdef RUBY_EXPORT
#undef RUBY_EXTERN
#endif
#ifndef RUBY_EXTERN
#define RUBY_EXTERN extern
#endif

RUBY_SYMBOL_EXPORT_BEGIN

#ifndef HAVE_ACOSH
RUBY_EXTERN double acosh(double);
RUBY_EXTERN double asinh(double);
RUBY_EXTERN double atanh(double);
#endif

#ifndef HAVE_CRYPT
RUBY_EXTERN char *crypt(const char *, const char *);
#endif

#ifndef HAVE_DUP2
RUBY_EXTERN int dup2(int, int);
#endif

#ifndef HAVE_EACCESS
RUBY_EXTERN int eaccess(const char*, int);
#endif

#ifndef HAVE_ROUND
RUBY_EXTERN double round(double);	/* numeric.c */
#endif

#ifndef HAVE_FINITE
RUBY_EXTERN int finite(double);
#endif

#ifndef HAVE_FLOCK
RUBY_EXTERN int flock(int, int);
#endif

/*
#ifndef HAVE_FREXP
RUBY_EXTERN double frexp(double, int *);
#endif
*/

#ifndef HAVE_HYPOT
RUBY_EXTERN double hypot(double, double);
#endif

#ifndef HAVE_ERF
RUBY_EXTERN double erf(double);
RUBY_EXTERN double erfc(double);
#endif

#ifndef HAVE_TGAMMA
RUBY_EXTERN double tgamma(double);
#endif

#ifndef HAVE_LGAMMA_R
RUBY_EXTERN double lgamma_r(double, int *);
#endif

#ifndef HAVE_CBRT
RUBY_EXTERN double cbrt(double);
#endif

#if !defined(HAVE_INFINITY) || !defined(HAVE_NAN)
union bytesequence4_or_float {
  unsigned char bytesequence[4];
  float float_value;
};
#endif

#ifndef INFINITY
/** @internal */
RUBY_EXTERN const union bytesequence4_or_float rb_infinity;
# define INFINITY (rb_infinity.float_value)
#endif

#ifndef NAN
/** @internal */
RUBY_EXTERN const union bytesequence4_or_float rb_nan;
# define NAN (rb_nan.float_value)
#endif

#ifndef isinf
# ifndef HAVE_ISINF
#  if defined(HAVE_FINITE) && defined(HAVE_ISNAN)
#    ifdef HAVE_IEEEFP_H
#    include <ieeefp.h>
#    endif
#  define isinf(x) (!finite(x) && !isnan(x))
#  elif defined(__cplusplus) && __cplusplus >= 201103L
#    include <cmath> // it must include constexpr bool isinf(double);
#  else
RUBY_EXTERN int isinf(double);
#  endif
# endif
#endif

#ifndef isnan
# ifndef HAVE_ISNAN
#  if defined(__cplusplus) && __cplusplus >= 201103L
#    include <cmath> // it must include constexpr bool isnan(double);
#  else
RUBY_EXTERN int isnan(double);
#  endif
# endif
#endif

#ifndef isfinite
# ifndef HAVE_ISFINITE
#   define HAVE_ISFINITE 1
#   define isfinite(x) finite(x)
# endif
#endif

#ifndef HAVE_NEXTAFTER
RUBY_EXTERN double nextafter(double x, double y);
#endif

/*
#ifndef HAVE_MEMCMP
RUBY_EXTERN int memcmp(const void *, const void *, size_t);
#endif
*/

#ifndef HAVE_MEMMOVE
RUBY_EXTERN void *memmove(void *, const void *, size_t);
#endif

/*
#ifndef HAVE_MODF
RUBY_EXTERN double modf(double, double *);
#endif
*/

#ifndef HAVE_STRCHR
RUBY_EXTERN char *strchr(const char *, int);
RUBY_EXTERN char *strrchr(const char *, int);
#endif

#ifndef HAVE_STRERROR
RUBY_EXTERN char *strerror(int);
#endif

#ifndef HAVE_STRSTR
RUBY_EXTERN char *strstr(const char *, const char *);
#endif

#ifndef HAVE_STRLCPY
RUBY_EXTERN size_t strlcpy(char *, const char*, size_t);
#endif

#ifndef HAVE_STRLCAT
RUBY_EXTERN size_t strlcat(char *, const char*, size_t);
#endif

#ifndef HAVE_SIGNBIT
RUBY_EXTERN int signbit(double x);
#endif

#ifndef HAVE_FFS
RUBY_EXTERN int ffs(int);
#endif

#ifdef BROKEN_CLOSE
#include <sys/types.h>
#include <sys/socket.h>
RUBY_EXTERN int ruby_getpeername(int, struct sockaddr *, socklen_t *);
RUBY_EXTERN int ruby_getsockname(int, struct sockaddr *, socklen_t *);
RUBY_EXTERN int ruby_shutdown(int, int);
RUBY_EXTERN int ruby_close(int);
#endif

#ifndef HAVE_SETPROCTITLE
RUBY_EXTERN void setproctitle(const char *fmt, ...);
#endif

#ifndef HAVE_EXPLICIT_BZERO
RUBY_EXTERN void explicit_bzero(void *b, size_t len);
# if defined SecureZeroMemory
#   define explicit_bzero(b, len) SecureZeroMemory(b, len)
# endif
#endif

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* RUBY_MISSING_H */
/**********************************************************************

  thread.h -

  $Author: matz $
  created at: Tue Jul 10 17:35:43 JST 2012

  Copyright (C) 2007 Yukihiro Matsumoto

**********************************************************************/

#ifndef RUBY_THREAD_H
#define RUBY_THREAD_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

#include "ruby/intern.h"

RUBY_SYMBOL_EXPORT_BEGIN

void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1);

void *rb_thread_call_without_gvl(void *(*func)(void *), void *data1,
				 rb_unblock_function_t *ubf, void *data2);
void *rb_thread_call_without_gvl2(void *(*func)(void *), void *data1,
				  rb_unblock_function_t *ubf, void *data2);

#define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_AFTER 0x01
#define RUBY_CALL_WO_GVL_FLAG_SKIP_CHECK_INTS_

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* RUBY_THREAD_H */
/**********************************************************************

  ruby/ruby.h -

  $Author: naruse $
  created at: Thu Jun 10 14:26:32 JST 1993

  Copyright (C) 1993-2008 Yukihiro Matsumoto
  Copyright (C) 2000  Network Applied Communication Laboratory, Inc.
  Copyright (C) 2000  Information-technology Promotion Agency, Japan

**********************************************************************/

#ifndef RUBY_RUBY_H
#define RUBY_RUBY_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

#include "ruby/config.h"
#ifdef RUBY_EXTCONF_H
#include RUBY_EXTCONF_H
#endif

#include "defines.h"

#if defined(__cplusplus)
/* __builtin_choose_expr and __builtin_types_compatible aren't available
 * on C++.  See https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html */
# undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
# undef HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P
#elif GCC_VERSION_BEFORE(4,8,6) /* Bug #14221 */
# undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P
#endif

#ifndef ASSUME
# ifdef UNREACHABLE
#   define ASSUME(x) (RB_LIKELY(!!(x)) ? (void)0 : UNREACHABLE)
# else
#   define ASSUME(x) ((void)(x))
# endif
#endif
#ifndef UNREACHABLE
# define UNREACHABLE ((void)0)	/* unreachable */
#endif

#define RUBY_MACRO_SELECT(base, n) TOKEN_PASTE(base, n)

#ifdef HAVE_INTRINSICS_H
# include <intrinsics.h>
#endif

#include <stdarg.h>

RUBY_SYMBOL_EXPORT_BEGIN

/* Make alloca work the best possible way.  */
#ifdef __GNUC__
# ifndef alloca
#  define alloca __builtin_alloca
# endif
#else
# ifdef HAVE_ALLOCA_H
#  include <alloca.h>
# else
#  ifdef _AIX
#pragma alloca
#  else
#   ifndef alloca		/* predefined by HP cc +Olibcalls */
void *alloca();
#   endif
#  endif /* AIX */
# endif	/* HAVE_ALLOCA_H */
#endif /* __GNUC__ */

#if defined HAVE_UINTPTR_T && 0
typedef uintptr_t VALUE;
typedef uintptr_t ID;
# define SIGNED_VALUE intptr_t
# define SIZEOF_VALUE SIZEOF_UINTPTR_T
# undef PRI_VALUE_PREFIX
#elif SIZEOF_LONG == SIZEOF_VOIDP
typedef unsigned long VALUE;
typedef unsigned long ID;
# define SIGNED_VALUE long
# define SIZEOF_VALUE SIZEOF_LONG
# define PRI_VALUE_PREFIX "l"
#elif SIZEOF_LONG_LONG == SIZEOF_VOIDP
typedef unsigned LONG_LONG VALUE;
typedef unsigned LONG_LONG ID;
# define SIGNED_VALUE LONG_LONG
# define LONG_LONG_VALUE 1
# define SIZEOF_VALUE SIZEOF_LONG_LONG
# define PRI_VALUE_PREFIX PRI_LL_PREFIX
#else
# error ---->> ruby requires sizeof(void*) == sizeof(long) or sizeof(LONG_LONG) to be compiled. <<----
#endif

typedef char ruby_check_sizeof_int[SIZEOF_INT == sizeof(int) ? 1 : -1];
typedef char ruby_check_sizeof_long[SIZEOF_LONG == sizeof(long) ? 1 : -1];
#ifdef HAVE_LONG_LONG
typedef char ruby_check_sizeof_long_long[SIZEOF_LONG_LONG == sizeof(LONG_LONG) ? 1 : -1];
#endif
typedef char ruby_check_sizeof_voidp[SIZEOF_VOIDP == sizeof(void*) ? 1 : -1];

#ifndef PRI_INT_PREFIX
#define PRI_INT_PREFIX ""
#endif
#ifndef PRI_LONG_PREFIX
#define PRI_LONG_PREFIX "l"
#endif

#if SIZEOF_LONG == 8
#define PRI_64_PREFIX PRI_LONG_PREFIX
#elif SIZEOF_LONG_LONG == 8
#define PRI_64_PREFIX PRI_LL_PREFIX
#endif

#define RUBY_PRI_VALUE_MARK "\v"
#if defined PRIdPTR && !defined PRI_VALUE_PREFIX
#define PRIdVALUE PRIdPTR
#define PRIoVALUE PRIoPTR
#define PRIuVALUE PRIuPTR
#define PRIxVALUE PRIxPTR
#define PRIXVALUE PRIXPTR
#define PRIsVALUE PRIiPTR"" RUBY_PRI_VALUE_MARK
#else
#define PRIdVALUE PRI_VALUE_PREFIX"d"
#define PRIoVALUE PRI_VALUE_PREFIX"o"
#define PRIuVALUE PRI_VALUE_PREFIX"u"
#define PRIxVALUE PRI_VALUE_PREFIX"x"
#define PRIXVALUE PRI_VALUE_PREFIX"X"
#define PRIsVALUE PRI_VALUE_PREFIX"i" RUBY_PRI_VALUE_MARK
#endif
#ifndef PRI_VALUE_PREFIX
# define PRI_VALUE_PREFIX ""
#endif

#ifndef PRI_TIMET_PREFIX
# if SIZEOF_TIME_T == SIZEOF_INT
#  define PRI_TIMET_PREFIX
# elif SIZEOF_TIME_T == SIZEOF_LONG
#  define PRI_TIMET_PREFIX "l"
# elif SIZEOF_TIME_T == SIZEOF_LONG_LONG
#  define PRI_TIMET_PREFIX PRI_LL_PREFIX
# endif
#endif

#if defined PRI_PTRDIFF_PREFIX
#elif SIZEOF_PTRDIFF_T == SIZEOF_INT
# define PRI_PTRDIFF_PREFIX ""
#elif SIZEOF_PTRDIFF_T == SIZEOF_LONG
# define PRI_PTRDIFF_PREFIX "l"
#elif SIZEOF_PTRDIFF_T == SIZEOF_LONG_LONG
# define PRI_PTRDIFF_PREFIX PRI_LL_PREFIX
#endif
#define PRIdPTRDIFF PRI_PTRDIFF_PREFIX"d"
#define PRIiPTRDIFF PRI_PTRDIFF_PREFIX"i"
#define PRIoPTRDIFF PRI_PTRDIFF_PREFIX"o"
#define PRIuPTRDIFF PRI_PTRDIFF_PREFIX"u"
#define PRIxPTRDIFF PRI_PTRDIFF_PREFIX"x"
#define PRIXPTRDIFF PRI_PTRDIFF_PREFIX"X"

#if defined PRI_SIZE_PREFIX
#elif SIZEOF_SIZE_T == SIZEOF_INT
# define PRI_SIZE_PREFIX ""
#elif SIZEOF_SIZE_T == SIZEOF_LONG
# define PRI_SIZE_PREFIX "l"
#elif SIZEOF_SIZE_T == SIZEOF_LONG_LONG
# define PRI_SIZE_PREFIX PRI_LL_PREFIX
#endif
#define PRIdSIZE PRI_SIZE_PREFIX"d"
#define PRIiSIZE PRI_SIZE_PREFIX"i"
#define PRIoSIZE PRI_SIZE_PREFIX"o"
#define PRIuSIZE PRI_SIZE_PREFIX"u"
#define PRIxSIZE PRI_SIZE_PREFIX"x"
#define PRIXSIZE PRI_SIZE_PREFIX"X"

#ifdef __STDC__
# include <limits.h>
#else
# ifndef LONG_MAX
#  ifdef HAVE_LIMITS_H
#   include <limits.h>
#  else
    /* assuming 32bit(2's complement) long */
#   define LONG_MAX 2147483647
#  endif
# endif
# ifndef LONG_MIN
#  define LONG_MIN (-LONG_MAX-1)
# endif
# ifndef CHAR_BIT
#  define CHAR_BIT 8
# endif
#endif

#ifdef HAVE_LONG_LONG
# ifndef LLONG_MAX
#  ifdef LONG_LONG_MAX
#   define LLONG_MAX  LONG_LONG_MAX
#  else
#   ifdef _I64_MAX
#    define LLONG_MAX _I64_MAX
#   else
    /* assuming 64bit(2's complement) long long */
#    define LLONG_MAX 9223372036854775807LL
#   endif
#  endif
# endif
# ifndef LLONG_MIN
#  ifdef LONG_LONG_MIN
#   define LLONG_MIN  LONG_LONG_MIN
#  else
#   ifdef _I64_MIN
#    define LLONG_MIN _I64_MIN
#   else
#    define LLONG_MIN (-LLONG_MAX-1)
#   endif
#  endif
# endif
#endif

#define RUBY_FIXNUM_MAX (LONG_MAX>>1)
#define RUBY_FIXNUM_MIN RSHIFT((long)LONG_MIN,1)
#define FIXNUM_MAX RUBY_FIXNUM_MAX
#define FIXNUM_MIN RUBY_FIXNUM_MIN

#define RB_INT2FIX(i) (((VALUE)(i))<<1 | RUBY_FIXNUM_FLAG)
#define INT2FIX(i) RB_INT2FIX(i)
#define RB_LONG2FIX(i) RB_INT2FIX(i)
#define LONG2FIX(i) RB_INT2FIX(i)
#define rb_fix_new(v) RB_INT2FIX(v)
VALUE rb_int2inum(SIGNED_VALUE);

#define rb_int_new(v) rb_int2inum(v)
VALUE rb_uint2inum(VALUE);

#define rb_uint_new(v) rb_uint2inum(v)

#ifdef HAVE_LONG_LONG
VALUE rb_ll2inum(LONG_LONG);
#define LL2NUM(v) rb_ll2inum(v)
VALUE rb_ull2inum(unsigned LONG_LONG);
#define ULL2NUM(v) rb_ull2inum(v)
#endif

#ifndef OFFT2NUM
#if SIZEOF_OFF_T > SIZEOF_LONG && defined(HAVE_LONG_LONG)
# define OFFT2NUM(v) LL2NUM(v)
#elif SIZEOF_OFF_T == SIZEOF_LONG
# define OFFT2NUM(v) LONG2NUM(v)
#else
# define OFFT2NUM(v) INT2NUM(v)
#endif
#endif

#if SIZEOF_SIZE_T > SIZEOF_LONG && defined(HAVE_LONG_LONG)
# define SIZET2NUM(v) ULL2NUM(v)
# define SSIZET2NUM(v) LL2NUM(v)
#elif SIZEOF_SIZE_T == SIZEOF_LONG
# define SIZET2NUM(v) ULONG2NUM(v)
# define SSIZET2NUM(v) LONG2NUM(v)
#else
# define SIZET2NUM(v) UINT2NUM(v)
# define SSIZET2NUM(v) INT2NUM(v)
#endif

#ifndef SIZE_MAX
# if SIZEOF_SIZE_T > SIZEOF_LONG && defined(HAVE_LONG_LONG)
#   define SIZE_MAX ULLONG_MAX
#   define SIZE_MIN ULLONG_MIN
# elif SIZEOF_SIZE_T == SIZEOF_LONG
#   define SIZE_MAX ULONG_MAX
#   define SIZE_MIN ULONG_MIN
# elif SIZEOF_SIZE_T == SIZEOF_INT
#   define SIZE_MAX UINT_MAX
#   define SIZE_MIN UINT_MIN
# else
#   define SIZE_MAX USHRT_MAX
#   define SIZE_MIN USHRT_MIN
# endif
#endif

#ifndef SSIZE_MAX
# if SIZEOF_SIZE_T > SIZEOF_LONG && defined(HAVE_LONG_LONG)
#   define SSIZE_MAX LLONG_MAX
#   define SSIZE_MIN LLONG_MIN
# elif SIZEOF_SIZE_T == SIZEOF_LONG
#   define SSIZE_MAX LONG_MAX
#   define SSIZE_MIN LONG_MIN
# elif SIZEOF_SIZE_T == SIZEOF_INT
#   define SSIZE_MAX INT_MAX
#   define SSIZE_MIN INT_MIN
# else
#   define SSIZE_MAX SHRT_MAX
#   define SSIZE_MIN SHRT_MIN
# endif
#endif

#if SIZEOF_INT < SIZEOF_VALUE
NORETURN(void rb_out_of_int(SIGNED_VALUE num));
#endif

#if SIZEOF_INT < SIZEOF_LONG
static inline int
rb_long2int_inline(long n)
{
    int i = (int)n;
    if ((long)i != n)
	rb_out_of_int(n);

    return i;
}
#define rb_long2int(n) rb_long2int_inline(n)
#else
#define rb_long2int(n) ((int)(n))
#endif

#ifndef PIDT2NUM
#define PIDT2NUM(v) LONG2NUM(v)
#endif
#ifndef NUM2PIDT
#define NUM2PIDT(v) NUM2LONG(v)
#endif
#ifndef UIDT2NUM
#define UIDT2NUM(v) LONG2NUM(v)
#endif
#ifndef NUM2UIDT
#define NUM2UIDT(v) NUM2LONG(v)
#endif
#ifndef GIDT2NUM
#define GIDT2NUM(v) LONG2NUM(v)
#endif
#ifndef NUM2GIDT
#define NUM2GIDT(v) NUM2LONG(v)
#endif
#ifndef NUM2MODET
#define NUM2MODET(v) NUM2INT(v)
#endif
#ifndef MODET2NUM
#define MODET2NUM(v) INT2NUM(v)
#endif

#define RB_FIX2LONG(x) ((long)RSHIFT((SIGNED_VALUE)(x),1))
static inline long
rb_fix2long(VALUE x)
{
    return RB_FIX2LONG(x);
}
#define RB_FIX2ULONG(x) ((unsigned long)RB_FIX2LONG(x))
static inline unsigned long
rb_fix2ulong(VALUE x)
{
    return RB_FIX2ULONG(x);
}
#define RB_FIXNUM_P(f) (((int)(SIGNED_VALUE)(f))&RUBY_FIXNUM_FLAG)
#define RB_POSFIXABLE(f) ((f) < RUBY_FIXNUM_MAX+1)
#define RB_NEGFIXABLE(f) ((f) >= RUBY_FIXNUM_MIN)
#define RB_FIXABLE(f) (RB_POSFIXABLE(f) && RB_NEGFIXABLE(f))
#define FIX2LONG(x) RB_FIX2LONG(x)
#define FIX2ULONG(x) RB_FIX2ULONG(x)
#define FIXNUM_P(f) RB_FIXNUM_P(f)
#define POSFIXABLE(f) RB_POSFIXABLE(f)
#define NEGFIXABLE(f) RB_NEGFIXABLE(f)
#define FIXABLE(f) RB_FIXABLE(f)

#define RB_IMMEDIATE_P(x) ((VALUE)(x) & RUBY_IMMEDIATE_MASK)
#define IMMEDIATE_P(x) RB_IMMEDIATE_P(x)

ID rb_sym2id(VALUE);
VALUE rb_id2sym(ID);
#define RB_STATIC_SYM_P(x) (((VALUE)(x)&~((~(VALUE)0)<<RUBY_SPECIAL_SHIFT)) == RUBY_SYMBOL_FLAG)
#define RB_DYNAMIC_SYM_P(x) (!RB_SPECIAL_CONST_P(x) && RB_BUILTIN_TYPE(x) == (RUBY_T_SYMBOL))
#define RB_SYMBOL_P(x) (RB_STATIC_SYM_P(x)||RB_DYNAMIC_SYM_P(x))
#define RB_ID2SYM(x) (rb_id2sym(x))
#define RB_SYM2ID(x) (rb_sym2id(x))
#define STATIC_SYM_P(x) RB_STATIC_SYM_P(x)
#define DYNAMIC_SYM_P(x) RB_DYNAMIC_SYM_P(x)
#define SYMBOL_P(x) RB_SYMBOL_P(x)
#define ID2SYM(x) RB_ID2SYM(x)
#define SYM2ID(x) RB_SYM2ID(x)

#ifndef USE_FLONUM
#if SIZEOF_VALUE >= SIZEOF_DOUBLE
#define USE_FLONUM 1
#else
#define USE_FLONUM 0
#endif
#endif

#if USE_FLONUM
#define RB_FLONUM_P(x) ((((int)(SIGNED_VALUE)(x))&RUBY_FLONUM_MASK) == RUBY_FLONUM_FLAG)
#else
#define RB_FLONUM_P(x) 0
#endif
#define FLONUM_P(x) RB_FLONUM_P(x)

/* Module#methods, #singleton_methods and so on return Symbols */
#define USE_SYMBOL_AS_METHOD_NAME 1

/* special constants - i.e. non-zero and non-fixnum constants */
enum ruby_special_consts {
#if USE_FLONUM
    RUBY_Qfalse = 0x00,		/* ...0000 0000 */
    RUBY_Qtrue  = 0x14,		/* ...0001 0100 */
    RUBY_Qnil   = 0x08,		/* ...0000 1000 */
    RUBY_Qundef = 0x34,		/* ...0011 0100 */

    RUBY_IMMEDIATE_MASK = 0x07,
    RUBY_FIXNUM_FLAG    = 0x01,	/* ...xxxx xxx1 */
    RUBY_FLONUM_MASK    = 0x03,
    RUBY_FLONUM_FLAG    = 0x02,	/* ...xxxx xx10 */
    RUBY_SYMBOL_FLAG    = 0x0c,	/* ...0000 1100 */
#else
    RUBY_Qfalse = 0,		/* ...0000 0000 */
    RUBY_Qtrue  = 2,		/* ...0000 0010 */
    RUBY_Qnil   = 4,		/* ...0000 0100 */
    RUBY_Qundef = 6,		/* ...0000 0110 */

    RUBY_IMMEDIATE_MASK = 0x03,
    RUBY_FIXNUM_FLAG    = 0x01,	/* ...xxxx xxx1 */
    RUBY_FLONUM_MASK    = 0x00,	/* any values ANDed with FLONUM_MASK cannot be FLONUM_FLAG */
    RUBY_FLONUM_FLAG    = 0x02,
    RUBY_SYMBOL_FLAG    = 0x0e,	/* ...0000 1110 */
#endif
    RUBY_SPECIAL_SHIFT  = 8
};

#define RUBY_Qfalse ((VALUE)RUBY_Qfalse)
#define RUBY_Qtrue  ((VALUE)RUBY_Qtrue)
#define RUBY_Qnil   ((VALUE)RUBY_Qnil)
#define RUBY_Qundef ((VALUE)RUBY_Qundef)	/* undefined value for placeholder */
#define Qfalse RUBY_Qfalse
#define Qtrue  RUBY_Qtrue
#define Qnil   RUBY_Qnil
#define Qundef RUBY_Qundef
#define IMMEDIATE_MASK RUBY_IMMEDIATE_MASK
#define FIXNUM_FLAG RUBY_FIXNUM_FLAG
#if USE_FLONUM
#define FLONUM_MASK RUBY_FLONUM_MASK
#define FLONUM_FLAG RUBY_FLONUM_FLAG
#endif
#define SYMBOL_FLAG RUBY_SYMBOL_FLAG

#define RB_TEST(v) !(((VALUE)(v) & (VALUE)~RUBY_Qnil) == 0)
#define RB_NIL_P(v) !((VALUE)(v) != RUBY_Qnil)
#define RTEST(v) RB_TEST(v)
#define NIL_P(v) RB_NIL_P(v)

#define CLASS_OF(v) rb_class_of((VALUE)(v))

enum ruby_value_type {
    RUBY_T_NONE   = 0x00,

    RUBY_T_OBJECT = 0x01,
    RUBY_T_CLASS  = 0x02,
    RUBY_T_MODULE = 0x03,
    RUBY_T_FLOAT  = 0x04,
    RUBY_T_STRING = 0x05,
    RUBY_T_REGEXP = 0x06,
    RUBY_T_ARRAY  = 0x07,
    RUBY_T_HASH   = 0x08,
    RUBY_T_STRUCT = 0x09,
    RUBY_T_BIGNUM = 0x0a,
    RUBY_T_FILE   = 0x0b,
    RUBY_T_DATA   = 0x0c,
    RUBY_T_MATCH  = 0x0d,
    RUBY_T_COMPLEX  = 0x0e,
    RUBY_T_RATIONAL = 0x0f,

    RUBY_T_NIL    = 0x11,
    RUBY_T_TRUE   = 0x12,
    RUBY_T_FALSE  = 0x13,
    RUBY_T_SYMBOL = 0x14,
    RUBY_T_FIXNUM = 0x15,
    RUBY_T_UNDEF  = 0x16,

    RUBY_T_IMEMO  = 0x1a, /*!< @see imemo_type */
    RUBY_T_NODE   = 0x1b,
    RUBY_T_ICLASS = 0x1c,
    RUBY_T_ZOMBIE = 0x1d,

    RUBY_T_MASK   = 0x1f
};

#define T_NONE   RUBY_T_NONE
#define T_NIL    RUBY_T_NIL
#define T_OBJECT RUBY_T_OBJECT
#define T_CLASS  RUBY_T_CLASS
#define T_ICLASS RUBY_T_ICLASS
#define T_MODULE RUBY_T_MODULE
#define T_FLOAT  RUBY_T_FLOAT
#define T_STRING RUBY_T_STRING
#define T_REGEXP RUBY_T_REGEXP
#define T_ARRAY  RUBY_T_ARRAY
#define T_HASH   RUBY_T_HASH
#define T_STRUCT RUBY_T_STRUCT
#define T_BIGNUM RUBY_T_BIGNUM
#define T_FILE   RUBY_T_FILE
#define T_FIXNUM RUBY_T_FIXNUM
#define T_TRUE   RUBY_T_TRUE
#define T_FALSE  RUBY_T_FALSE
#define T_DATA   RUBY_T_DATA
#define T_MATCH  RUBY_T_MATCH
#define T_SYMBOL RUBY_T_SYMBOL
#define T_RATIONAL RUBY_T_RATIONAL
#define T_COMPLEX RUBY_T_COMPLEX
#define T_IMEMO  RUBY_T_IMEMO
#define T_UNDEF  RUBY_T_UNDEF
#define T_NODE   RUBY_T_NODE
#define T_ZOMBIE RUBY_T_ZOMBIE
#define T_MASK   RUBY_T_MASK

#define RB_BUILTIN_TYPE(x) (int)(((struct RBasic*)(x))->flags & RUBY_T_MASK)
#define BUILTIN_TYPE(x) RB_BUILTIN_TYPE(x)

static inline int rb_type(VALUE obj);
#define TYPE(x) rb_type((VALUE)(x))

#define RB_FLOAT_TYPE_P(obj) (\
	RB_FLONUM_P(obj) || \
	(!RB_SPECIAL_CONST_P(obj) && RB_BUILTIN_TYPE(obj) == RUBY_T_FLOAT))

#define RB_TYPE_P(obj, type) ( \
	((type) == RUBY_T_FIXNUM) ? RB_FIXNUM_P(obj) : \
	((type) == RUBY_T_TRUE) ? ((obj) == RUBY_Qtrue) : \
	((type) == RUBY_T_FALSE) ? ((obj) == RUBY_Qfalse) : \
	((type) == RUBY_T_NIL) ? ((obj) == RUBY_Qnil) : \
	((type) == RUBY_T_UNDEF) ? ((obj) == RUBY_Qundef) : \
	((type) == RUBY_T_SYMBOL) ? RB_SYMBOL_P(obj) : \
	((type) == RUBY_T_FLOAT) ? RB_FLOAT_TYPE_P(obj) : \
	(!RB_SPECIAL_CONST_P(obj) && RB_BUILTIN_TYPE(obj) == (type)))

#ifdef __GNUC__
#define RB_GC_GUARD(v) \
    (*__extension__ ({ \
	volatile VALUE *rb_gc_guarded_ptr = &(v); \
	__asm__("" : : "m"(rb_gc_guarded_ptr)); \
	rb_gc_guarded_ptr; \
    }))
#elif defined _MSC_VER
#pragma optimize("", off)
static inline volatile VALUE *rb_gc_guarded_ptr(volatile VALUE *ptr) {return ptr;}
#pragma optimize("", on)
#define RB_GC_GUARD(v) (*rb_gc_guarded_ptr(&(v)))
#else
volatile VALUE *rb_gc_guarded_ptr_val(volatile VALUE *ptr, VALUE val);
#define HAVE_RB_GC_GUARDED_PTR_VAL 1
#define RB_GC_GUARD(v) (*rb_gc_guarded_ptr_val(&(v),(v)))
#endif

#ifdef __GNUC__
#define RB_UNUSED_VAR(x) x __attribute__ ((unused))
#else
#define RB_UNUSED_VAR(x) x
#endif

void rb_check_type(VALUE,int);
#define Check_Type(v,t) rb_check_type((VALUE)(v),(t))

VALUE rb_str_to_str(VALUE);
VALUE rb_string_value(volatile VALUE*);
char *rb_string_value_ptr(volatile VALUE*);
char *rb_string_value_cstr(volatile VALUE*);

#define StringValue(v) rb_string_value(&(v))
#define StringValuePtr(v) rb_string_value_ptr(&(v))
#define StringValueCStr(v) rb_string_value_cstr(&(v))

void rb_check_safe_obj(VALUE);
#define SafeStringValue(v) do {\
    StringValue(v);\
    rb_check_safe_obj(v);\
} while (0)
#if GCC_VERSION_SINCE(4,4,0)
void rb_check_safe_str(VALUE) __attribute__((error("rb_check_safe_str() and Check_SafeStr() are obsolete; use SafeStringValue() instead")));
# define Check_SafeStr(v) rb_check_safe_str((VALUE)(v))
#else
# define rb_check_safe_str(x) [<"rb_check_safe_str() is obsolete; use SafeStringValue() instead">]
# define Check_SafeStr(v) [<"Check_SafeStr() is obsolete; use SafeStringValue() instead">]
#endif

VALUE rb_str_export(VALUE);
#define ExportStringValue(v) do {\
    SafeStringValue(v);\
   (v) = rb_str_export(v);\
} while (0)
VALUE rb_str_export_locale(VALUE);

VALUE rb_get_path(VALUE);
#define FilePathValue(v) (RB_GC_GUARD(v) = rb_get_path(v))

VALUE rb_get_path_no_checksafe(VALUE);
#define FilePathStringValue(v) ((v) = rb_get_path_no_checksafe(v))

#define RUBY_SAFE_LEVEL_MAX 1
void rb_secure(int);
int rb_safe_level(void);
void rb_set_safe_level(int);
#if GCC_VERSION_SINCE(4,4,0)
int ruby_safe_level_2_error(void) __attribute__((error("$SAFE=2 to 4 are obsolete")));
int ruby_safe_level_2_warning(void) __attribute__((const,warning("$SAFE=2 to 4 are obsolete")));
# ifdef RUBY_EXPORT
#   define ruby_safe_level_2_warning() ruby_safe_level_2_error()
# endif
# if defined(HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P)
#  define RUBY_SAFE_LEVEL_INVALID_P(level) \
    __extension__(\
	__builtin_choose_expr(\
	    __builtin_constant_p(level), \
	    ((level) < 0 || RUBY_SAFE_LEVEL_MAX < (level)), 0))
#  define RUBY_SAFE_LEVEL_CHECK(level, type) \
    __extension__(__builtin_choose_expr(RUBY_SAFE_LEVEL_INVALID_P(level), ruby_safe_level_2_##type(), (level)))
# else
/* in gcc 4.8 or earlier, __builtin_choose_expr() does not consider
 * __builtin_constant_p(variable) a constant expression.
 */
#  define RUBY_SAFE_LEVEL_INVALID_P(level) \
    __extension__(__builtin_constant_p(level) && \
		  ((level) < 0 || RUBY_SAFE_LEVEL_MAX < (level)))
#  define RUBY_SAFE_LEVEL_CHECK(level, type) \
    (RUBY_SAFE_LEVEL_INVALID_P(level) ? ruby_safe_level_2_##type() : (level))
# endif
# define rb_secure(level) rb_secure(RUBY_SAFE_LEVEL_CHECK(level, warning))
# define rb_set_safe_level(level) rb_set_safe_level(RUBY_SAFE_LEVEL_CHECK(level, error))
#endif
void rb_set_safe_level_force(int);
void rb_secure_update(VALUE);
NORETURN(void rb_insecure_operation(void));

VALUE rb_errinfo(void);
void rb_set_errinfo(VALUE);

long rb_num2long(VALUE);
unsigned long rb_num2ulong(VALUE);
static inline long
rb_num2long_inline(VALUE x)
{
    if (RB_FIXNUM_P(x))
	return RB_FIX2LONG(x);
    else
	return rb_num2long(x);
}
#define RB_NUM2LONG(x) rb_num2long_inline(x)
#define NUM2LONG(x) RB_NUM2LONG(x)
static inline unsigned long
rb_num2ulong_inline(VALUE x)
{
    if (RB_FIXNUM_P(x))
	return RB_FIX2ULONG(x);
    else
	return rb_num2ulong(x);
}
#define RB_NUM2ULONG(x) rb_num2ulong_inline(x)
#define NUM2ULONG(x) RB_NUM2ULONG(x)
#if SIZEOF_INT < SIZEOF_LONG
long rb_num2int(VALUE);
long rb_fix2int(VALUE);
#define RB_FIX2INT(x) ((int)rb_fix2int((VALUE)(x)))

static inline int
rb_num2int_inline(VALUE x)
{
    if (RB_FIXNUM_P(x))
	return (int)rb_fix2int(x);
    else
	return (int)rb_num2int(x);
}
#define RB_NUM2INT(x) rb_num2int_inline(x)

unsigned long rb_num2uint(VALUE);
#define RB_NUM2UINT(x) ((unsigned int)rb_num2uint(x))
unsigned long rb_fix2uint(VALUE);
#define RB_FIX2UINT(x) ((unsigned int)rb_fix2uint(x))
#else /* SIZEOF_INT < SIZEOF_LONG */
#define RB_NUM2INT(x) ((int)RB_NUM2LONG(x))
#define RB_NUM2UINT(x) ((unsigned int)RB_NUM2ULONG(x))
#define RB_FIX2INT(x) ((int)RB_FIX2LONG(x))
#define RB_FIX2UINT(x) ((unsigned int)RB_FIX2ULONG(x))
#endif /* SIZEOF_INT < SIZEOF_LONG */
#define NUM2INT(x)  RB_NUM2INT(x)
#define NUM2UINT(x) RB_NUM2UINT(x)
#define FIX2INT(x)  RB_FIX2INT(x)
#define FIX2UINT(x) RB_FIX2UINT(x)

short rb_num2short(VALUE);
unsigned short rb_num2ushort(VALUE);
short rb_fix2short(VALUE);
unsigned short rb_fix2ushort(VALUE);
#define RB_FIX2SHORT(x) (rb_fix2short((VALUE)(x)))
#define FIX2SHORT(x) RB_FIX2SHORT(x)
static inline short
rb_num2short_inline(VALUE x)
{
    if (RB_FIXNUM_P(x))
	return rb_fix2short(x);
    else
	return rb_num2short(x);
}

#define RB_NUM2SHORT(x) rb_num2short_inline(x)
#define RB_NUM2USHORT(x) rb_num2ushort(x)
#define NUM2SHORT(x) RB_NUM2SHORT(x)
#define NUM2USHORT(x) RB_NUM2USHORT(x)

#ifdef HAVE_LONG_LONG
LONG_LONG rb_num2ll(VALUE);
unsigned LONG_LONG rb_num2ull(VALUE);
static inline LONG_LONG
rb_num2ll_inline(VALUE x)
{
    if (RB_FIXNUM_P(x))
	return RB_FIX2LONG(x);
    else
	return rb_num2ll(x);
}
# define RB_NUM2LL(x) rb_num2ll_inline(x)
# define RB_NUM2ULL(x) rb_num2ull(x)
# define NUM2LL(x) RB_NUM2LL(x)
# define NUM2ULL(x) RB_NUM2ULL(x)
#endif

#if !defined(NUM2OFFT)
# if defined(HAVE_LONG_LONG) && SIZEOF_OFF_T > SIZEOF_LONG
#  define NUM2OFFT(x) ((off_t)NUM2LL(x))
# else
#  define NUM2OFFT(x) NUM2LONG(x)
# endif
#endif

#if defined(HAVE_LONG_LONG) && SIZEOF_SIZE_T > SIZEOF_LONG
# define NUM2SIZET(x) ((size_t)NUM2ULL(x))
# define NUM2SSIZET(x) ((ssize_t)NUM2LL(x))
#else
# define NUM2SIZET(x) NUM2ULONG(x)
# define NUM2SSIZET(x) NUM2LONG(x)
#endif

double rb_num2dbl(VALUE);
#define NUM2DBL(x) rb_num2dbl((VALUE)(x))

VALUE rb_uint2big(VALUE);
VALUE rb_int2big(SIGNED_VALUE);

VALUE rb_newobj(void);
VALUE rb_newobj_of(VALUE, VALUE);
VALUE rb_obj_setup(VALUE obj, VALUE klass, VALUE type);
#define RB_NEWOBJ(obj,type) type *(obj) = (type*)rb_newobj()
#define RB_NEWOBJ_OF(obj,type,klass,flags) type *(obj) = (type*)rb_newobj_of(klass, flags)
#define NEWOBJ(obj,type) RB_NEWOBJ(obj,type)
#define NEWOBJ_OF(obj,type,klass,flags) RB_NEWOBJ_OF(obj,type,klass,flags) /* core has special NEWOBJ_OF() in internal.h */
#define OBJSETUP(obj,c,t) rb_obj_setup(obj, c, t) /* use NEWOBJ_OF instead of NEWOBJ()+OBJSETUP() */
#define CLONESETUP(clone,obj) rb_clone_setup(clone,obj)
#define DUPSETUP(dup,obj) rb_dup_setup(dup,obj)

#ifndef USE_RGENGC
#define USE_RGENGC 1
#ifndef USE_RINCGC
#define USE_RINCGC 1
#endif
#endif

#if USE_RGENGC == 0
#define USE_RINCGC 0
#endif

#ifndef RGENGC_WB_PROTECTED_ARRAY
#define RGENGC_WB_PROTECTED_ARRAY 1
#endif
#ifndef RGENGC_WB_PROTECTED_HASH
#define RGENGC_WB_PROTECTED_HASH 1
#endif
#ifndef RGENGC_WB_PROTECTED_STRUCT
#define RGENGC_WB_PROTECTED_STRUCT 1
#endif
#ifndef RGENGC_WB_PROTECTED_STRING
#define RGENGC_WB_PROTECTED_STRING 1
#endif
#ifndef RGENGC_WB_PROTECTED_OBJECT
#define RGENGC_WB_PROTECTED_OBJECT 1
#endif
#ifndef RGENGC_WB_PROTECTED_REGEXP
#define RGENGC_WB_PROTECTED_REGEXP 1
#endif
#ifndef RGENGC_WB_PROTECTED_CLASS
#define RGENGC_WB_PROTECTED_CLASS 1
#endif
#ifndef RGENGC_WB_PROTECTED_FLOAT
#define RGENGC_WB_PROTECTED_FLOAT 1
#endif
#ifndef RGENGC_WB_PROTECTED_COMPLEX
#define RGENGC_WB_PROTECTED_COMPLEX 1
#endif
#ifndef RGENGC_WB_PROTECTED_RATIONAL
#define RGENGC_WB_PROTECTED_RATIONAL 1
#endif
#ifndef RGENGC_WB_PROTECTED_BIGNUM
#define RGENGC_WB_PROTECTED_BIGNUM 1
#endif
#ifndef RGENGC_WB_PROTECTED_NODE_CREF
#define RGENGC_WB_PROTECTED_NODE_CREF 1
#endif

#ifdef __GNUC__
__extension__
#endif
enum ruby_fl_type {
    RUBY_FL_WB_PROTECTED = (1<<5),
    RUBY_FL_PROMOTED0 = (1<<5),
    RUBY_FL_PROMOTED1 = (1<<6),
    RUBY_FL_PROMOTED  = RUBY_FL_PROMOTED0|RUBY_FL_PROMOTED1,
    RUBY_FL_FINALIZE  = (1<<7),
    RUBY_FL_TAINT     = (1<<8),
    RUBY_FL_UNTRUSTED = RUBY_FL_TAINT,
    RUBY_FL_EXIVAR    = (1<<10),
    RUBY_FL_FREEZE    = (1<<11),

    RUBY_FL_USHIFT    = 12,

#define RUBY_FL_USER_N(n) RUBY_FL_USER##n = (1<<(RUBY_FL_USHIFT+n))
    RUBY_FL_USER_N(0),
    RUBY_FL_USER_N(1),
    RUBY_FL_USER_N(2),
    RUBY_FL_USER_N(3),
    RUBY_FL_USER_N(4),
    RUBY_FL_USER_N(5),
    RUBY_FL_USER_N(6),
    RUBY_FL_USER_N(7),
    RUBY_FL_USER_N(8),
    RUBY_FL_USER_N(9),
    RUBY_FL_USER_N(10),
    RUBY_FL_USER_N(11),
    RUBY_FL_USER_N(12),
    RUBY_FL_USER_N(13),
    RUBY_FL_USER_N(14),
    RUBY_FL_USER_N(15),
    RUBY_FL_USER_N(16),
    RUBY_FL_USER_N(17),
    RUBY_FL_USER_N(18),
#if defined ENUM_OVER_INT || SIZEOF_INT*CHAR_BIT>12+19+1
    RUBY_FL_USER_N(19),
#else
#define RUBY_FL_USER19 (((VALUE)1)<<(RUBY_FL_USHIFT+19))
#endif

    RUBY_ELTS_SHARED = RUBY_FL_USER2,
    RUBY_FL_DUPPED = (RUBY_T_MASK|RUBY_FL_EXIVAR|RUBY_FL_TAINT),
    RUBY_FL_SINGLETON = RUBY_FL_USER0
};

struct RBasic {
    VALUE flags;
    const VALUE klass;
}
#ifdef __GNUC__
    __attribute__((aligned(sizeof(VALUE))))
#endif
;

VALUE rb_obj_hide(VALUE obj);
VALUE rb_obj_reveal(VALUE obj, VALUE klass); /* do not use this API to change klass information */

#if defined(HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P)
# define RB_OBJ_WB_UNPROTECT_FOR(type, obj) \
    __extension__( \
	__builtin_choose_expr( \
	    RGENGC_WB_PROTECTED_##type, \
	    OBJ_WB_UNPROTECT((VALUE)(obj)), ((VALUE)(obj))))
#else
# define RB_OBJ_WB_UNPROTECT_FOR(type, obj) \
    (RGENGC_WB_PROTECTED_##type ? \
     OBJ_WB_UNPROTECT((VALUE)(obj)) : ((VALUE)(obj)))
#endif

#define RBASIC_CLASS(obj) (RBASIC(obj)->klass)

#define ROBJECT_EMBED_LEN_MAX ROBJECT_EMBED_LEN_MAX
#define ROBJECT_EMBED ROBJECT_EMBED
enum ruby_robject_flags {
    ROBJECT_EMBED_LEN_MAX = 3,
    ROBJECT_EMBED = RUBY_FL_USER1,

    ROBJECT_ENUM_END
};

struct RObject {
    struct RBasic basic;
    union {
	struct {
	    uint32_t numiv;
	    VALUE *ivptr;
            void *iv_index_tbl; /* shortcut for RCLASS_IV_INDEX_TBL(rb_obj_class(obj)) */
	} heap;
	VALUE ary[ROBJECT_EMBED_LEN_MAX];
    } as;
};
#define ROBJECT_NUMIV(o) \
    ((RBASIC(o)->flags & ROBJECT_EMBED) ? \
     ROBJECT_EMBED_LEN_MAX : \
     ROBJECT(o)->as.heap.numiv)
#define ROBJECT_IVPTR(o) \
    ((RBASIC(o)->flags & ROBJECT_EMBED) ? \
     ROBJECT(o)->as.ary : \
     ROBJECT(o)->as.heap.ivptr)
#define ROBJECT_IV_INDEX_TBL(o) \
    ((RBASIC(o)->flags & ROBJECT_EMBED) ? \
     RCLASS_IV_INDEX_TBL(rb_obj_class(o)) : \
     ROBJECT(o)->as.heap.iv_index_tbl)

#define RCLASS_SUPER(c) rb_class_get_superclass(c)
#define RMODULE_IV_TBL(m) RCLASS_IV_TBL(m)
#define RMODULE_CONST_TBL(m) RCLASS_CONST_TBL(m)
#define RMODULE_M_TBL(m) RCLASS_M_TBL(m)
#define RMODULE_SUPER(m) RCLASS_SUPER(m)
#define RMODULE_IS_OVERLAID RMODULE_IS_OVERLAID
#define RMODULE_IS_REFINEMENT RMODULE_IS_REFINEMENT
#define RMODULE_INCLUDED_INTO_REFINEMENT RMODULE_INCLUDED_INTO_REFINEMENT
enum ruby_rmodule_flags {
    RMODULE_IS_OVERLAID = RUBY_FL_USER2,
    RMODULE_IS_REFINEMENT = RUBY_FL_USER3,
    RMODULE_INCLUDED_INTO_REFINEMENT = RUBY_FL_USER4,

    RMODULE_ENUM_END
};

PUREFUNC(double rb_float_value(VALUE));
VALUE rb_float_new(double);
VALUE rb_float_new_in_heap(double);

#define RFLOAT_VALUE(v) rb_float_value(v)
#define DBL2NUM(dbl)  rb_float_new(dbl)

#define RUBY_ELTS_SHARED RUBY_ELTS_SHARED
#define ELTS_SHARED RUBY_ELTS_SHARED

#define RSTRING_NOEMBED RSTRING_NOEMBED
#define RSTRING_EMBED_LEN_MASK RSTRING_EMBED_LEN_MASK
#define RSTRING_EMBED_LEN_SHIFT RSTRING_EMBED_LEN_SHIFT
#define RSTRING_EMBED_LEN_MAX RSTRING_EMBED_LEN_MAX
#define RSTRING_FSTR RSTRING_FSTR
enum ruby_rstring_flags {
    RSTRING_NOEMBED = RUBY_FL_USER1,
    RSTRING_EMBED_LEN_MASK = (RUBY_FL_USER2|RUBY_FL_USER3|RUBY_FL_USER4|
			      RUBY_FL_USER5|RUBY_FL_USER6),
    RSTRING_EMBED_LEN_SHIFT = (RUBY_FL_USHIFT+2),
    RSTRING_EMBED_LEN_MAX = (int)((sizeof(VALUE)*3)/sizeof(char)-1),
    RSTRING_FSTR = RUBY_FL_USER17,

    RSTRING_ENUM_END
};
struct RString {
    struct RBasic basic;
    union {
	struct {
	    long len;
	    char *ptr;
	    union {
		long capa;
		VALUE shared;
	    } aux;
	} heap;
	char ary[RSTRING_EMBED_LEN_MAX + 1];
    } as;
};
#define RSTRING_EMBED_LEN(str) \
     (long)((RBASIC(str)->flags >> RSTRING_EMBED_LEN_SHIFT) & \
            (RSTRING_EMBED_LEN_MASK >> RSTRING_EMBED_LEN_SHIFT))
#define RSTRING_LEN(str) \
    (!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
     RSTRING_EMBED_LEN(str) : \
     RSTRING(str)->as.heap.len)
#define RSTRING_PTR(str) \
    (!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
     RSTRING(str)->as.ary : \
     RSTRING(str)->as.heap.ptr)
#define RSTRING_END(str) \
    (!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
     (RSTRING(str)->as.ary + RSTRING_EMBED_LEN(str)) : \
     (RSTRING(str)->as.heap.ptr + RSTRING(str)->as.heap.len))
#define RSTRING_LENINT(str) rb_long2int(RSTRING_LEN(str))
#define RSTRING_GETMEM(str, ptrvar, lenvar) \
    (!(RBASIC(str)->flags & RSTRING_NOEMBED) ? \
     ((ptrvar) = RSTRING(str)->as.ary, (lenvar) = RSTRING_EMBED_LEN(str)) : \
     ((ptrvar) = RSTRING(str)->as.heap.ptr, (lenvar) = RSTRING(str)->as.heap.len))

enum ruby_rarray_flags {
    RARRAY_EMBED_LEN_MAX = 3,
    RARRAY_EMBED_FLAG = RUBY_FL_USER1,
    /* RUBY_FL_USER2 is for ELTS_SHARED */
    RARRAY_EMBED_LEN_MASK = (RUBY_FL_USER4|RUBY_FL_USER3),
    RARRAY_EMBED_LEN_SHIFT = (RUBY_FL_USHIFT+3),

    RARRAY_ENUM_END
};
#define RARRAY_EMBED_FLAG (VALUE)RARRAY_EMBED_FLAG
#define RARRAY_EMBED_LEN_MASK (VALUE)RARRAY_EMBED_LEN_MASK
#define RARRAY_EMBED_LEN_MAX RARRAY_EMBED_LEN_MAX
#define RARRAY_EMBED_LEN_SHIFT RARRAY_EMBED_LEN_SHIFT
struct RArray {
    struct RBasic basic;
    union {
	struct {
	    long len;
	    union {
		long capa;
		VALUE shared;
	    } aux;
	    const VALUE *ptr;
	} heap;
	const VALUE ary[RARRAY_EMBED_LEN_MAX];
    } as;
};
#define RARRAY_EMBED_LEN(a) \
    (long)((RBASIC(a)->flags >> RARRAY_EMBED_LEN_SHIFT) & \
	   (RARRAY_EMBED_LEN_MASK >> RARRAY_EMBED_LEN_SHIFT))
#define RARRAY_LEN(a) rb_array_len(a)
#define RARRAY_LENINT(ary) rb_long2int(RARRAY_LEN(ary))
#define RARRAY_CONST_PTR(a) rb_array_const_ptr(a)

#define RARRAY_PTR_USE_START(a) ((VALUE *)RARRAY_CONST_PTR(a))
#define RARRAY_PTR_USE_END(a) /* */

#define RARRAY_PTR_USE(ary, ptr_name, expr) do { \
    const VALUE _ary = (ary); \
    VALUE *ptr_name = (VALUE *)RARRAY_PTR_USE_START(_ary); \
    expr; \
    RARRAY_PTR_USE_END(_ary); \
} while (0)

#define RARRAY_AREF(a, i)    (RARRAY_CONST_PTR(a)[i])
#define RARRAY_ASET(a, i, v) do { \
    const VALUE _ary = (a); \
    VALUE *ptr = (VALUE *)RARRAY_PTR_USE_START(_ary); \
    RB_OBJ_WRITE(_ary, &ptr[i], (v)); \
    RARRAY_PTR_USE_END(_ary); \
} while (0)

#define RARRAY_PTR(a) ((VALUE *)RARRAY_CONST_PTR(RB_OBJ_WB_UNPROTECT_FOR(ARRAY, a)))

struct RRegexp {
    struct RBasic basic;
    struct re_pattern_buffer *ptr;
    const VALUE src;
    unsigned long usecnt;
};
#define RREGEXP_PTR(r) (RREGEXP(r)->ptr)
#define RREGEXP_SRC(r) (RREGEXP(r)->src)
#define RREGEXP_SRC_PTR(r) RSTRING_PTR(RREGEXP(r)->src)
#define RREGEXP_SRC_LEN(r) RSTRING_LEN(RREGEXP(r)->src)
#define RREGEXP_SRC_END(r) RSTRING_END(RREGEXP(r)->src)

/* RHASH_TBL allocates st_table if not available. */
#define RHASH_TBL(h) rb_hash_tbl(h)
#define RHASH_ITER_LEV(h) rb_hash_iter_lev(h)
#define RHASH_IFNONE(h) rb_hash_ifnone(h)
#define RHASH_SIZE(h) NUM2SIZET(rb_hash_size(h))
#define RHASH_EMPTY_P(h) (RHASH_SIZE(h) == 0)
#define RHASH_SET_IFNONE(h, ifnone) rb_hash_set_ifnone((VALUE)h, ifnone)

struct RFile {
    struct RBasic basic;
    struct rb_io_t *fptr;
};

#define RCOMPLEX_SET_REAL(cmp, r) RB_OBJ_WRITE((cmp), &((struct RComplex *)(cmp))->real,(r))
#define RCOMPLEX_SET_IMAG(cmp, i) RB_OBJ_WRITE((cmp), &((struct RComplex *)(cmp))->imag,(i))

struct RData {
    struct RBasic basic;
    void (*dmark)(void*);
    void (*dfree)(void*);
    void *data;
};

typedef struct rb_data_type_struct rb_data_type_t;

struct rb_data_type_struct {
    const char *wrap_struct_name;
    struct {
	void (*dmark)(void*);
	void (*dfree)(void*);
	size_t (*dsize)(const void *);
	void *reserved[2]; /* For future extension.
			      This array *must* be filled with ZERO. */
    } function;
    const rb_data_type_t *parent;
    void *data;        /* This area can be used for any purpose
                          by a programmer who define the type. */
    VALUE flags;       /* RUBY_FL_WB_PROTECTED */
};

#define HAVE_TYPE_RB_DATA_TYPE_T 1
#define HAVE_RB_DATA_TYPE_T_FUNCTION 1
#define HAVE_RB_DATA_TYPE_T_PARENT 1

struct RTypedData {
    struct RBasic basic;
    const rb_data_type_t *type;
    VALUE typed_flag; /* 1 or not */
    void *data;
};

#define DATA_PTR(dta) (RDATA(dta)->data)

#define RTYPEDDATA_P(v)    (RTYPEDDATA(v)->typed_flag == 1)
#define RTYPEDDATA_TYPE(v) (RTYPEDDATA(v)->type)
#define RTYPEDDATA_DATA(v) (RTYPEDDATA(v)->data)

/*
#define RUBY_DATA_FUNC(func) ((void (*)(void*))(func))
*/
typedef void (*RUBY_DATA_FUNC)(void*);

#ifndef RUBY_UNTYPED_DATA_WARNING
# if defined RUBY_EXPORT
#   define RUBY_UNTYPED_DATA_WARNING 1
# else
#   define RUBY_UNTYPED_DATA_WARNING 0
# endif
#endif
VALUE rb_data_object_wrap(VALUE,void*,RUBY_DATA_FUNC,RUBY_DATA_FUNC);
VALUE rb_data_object_zalloc(VALUE,size_t,RUBY_DATA_FUNC,RUBY_DATA_FUNC);
VALUE rb_data_typed_object_wrap(VALUE klass, void *datap, const rb_data_type_t *);
VALUE rb_data_typed_object_zalloc(VALUE klass, size_t size, const rb_data_type_t *type);
int rb_typeddata_inherited_p(const rb_data_type_t *child, const rb_data_type_t *parent);
int rb_typeddata_is_kind_of(VALUE, const rb_data_type_t *);
void *rb_check_typeddata(VALUE, const rb_data_type_t *);
#define Check_TypedStruct(v,t) rb_check_typeddata((VALUE)(v),(t))
#define RUBY_DEFAULT_FREE ((RUBY_DATA_FUNC)-1)
#define RUBY_NEVER_FREE   ((RUBY_DATA_FUNC)0)
#define RUBY_TYPED_DEFAULT_FREE RUBY_DEFAULT_FREE
#define RUBY_TYPED_NEVER_FREE   RUBY_NEVER_FREE

/* bits for rb_data_type_struct::flags */
#define RUBY_TYPED_FREE_IMMEDIATELY  1 /* TYPE field */
#define RUBY_TYPED_WB_PROTECTED      RUBY_FL_WB_PROTECTED /* THIS FLAG DEPENDS ON Ruby version */
#define RUBY_TYPED_PROMOTED1         RUBY_FL_PROMOTED1    /* THIS FLAG DEPENDS ON Ruby version */

#define Data_Wrap_Struct(klass,mark,free,sval)\
    rb_data_object_wrap((klass),(sval),(RUBY_DATA_FUNC)(mark),(RUBY_DATA_FUNC)(free))

#define Data_Make_Struct0(result, klass, type, size, mark, free, sval) \
    VALUE result = rb_data_object_zalloc((klass), (size), \
					 (RUBY_DATA_FUNC)(mark), \
					 (RUBY_DATA_FUNC)(free)); \
    (void)((sval) = (type *)DATA_PTR(result));

#ifdef __GNUC__
#define Data_Make_Struct(klass,type,mark,free,sval) ({\
    Data_Make_Struct0(data_struct_obj, klass, type, sizeof(type), mark, free, sval); \
    data_struct_obj; \
})
#else
#define Data_Make_Struct(klass,type,mark,free,sval) (\
    rb_data_object_make((klass),(RUBY_DATA_FUNC)(mark),(RUBY_DATA_FUNC)(free),(void **)&(sval),sizeof(type)) \
)
#endif

#define TypedData_Wrap_Struct(klass,data_type,sval)\
  rb_data_typed_object_wrap((klass),(sval),(data_type))

#define TypedData_Make_Struct0(result, klass, type, size, data_type, sval) \
    VALUE result = rb_data_typed_object_zalloc(klass, size, data_type); \
    (void)((sval) = (type *)DATA_PTR(result));

#ifdef __GNUC__
#define TypedData_Make_Struct(klass, type, data_type, sval) ({\
    TypedData_Make_Struct0(data_struct_obj, klass, type, sizeof(type), data_type, sval); \
    data_struct_obj; \
})
#else
#define TypedData_Make_Struct(klass, type, data_type, sval) (\
    rb_data_typed_object_make((klass),(data_type),(void **)&(sval),sizeof(type)) \
)
#endif

#define Data_Get_Struct(obj,type,sval) \
    ((sval) = (type*)rb_data_object_get(obj))

#define TypedData_Get_Struct(obj,type,data_type,sval) \
    ((sval) = (type*)rb_check_typeddata((obj), (data_type)))

#define RSTRUCT_LEN(st)         NUM2LONG(rb_struct_size(st))
#define RSTRUCT_PTR(st)         rb_struct_ptr(st)
#define RSTRUCT_SET(st, idx, v) rb_struct_aset(st, INT2NUM(idx), (v))
#define RSTRUCT_GET(st, idx)    rb_struct_aref(st, INT2NUM(idx))

int rb_big_sign(VALUE);
#define RBIGNUM_SIGN(b) (rb_big_sign(b))
#define RBIGNUM_POSITIVE_P(b) (RBIGNUM_SIGN(b)!=0)
#define RBIGNUM_NEGATIVE_P(b) (RBIGNUM_SIGN(b)==0)

#define R_CAST(st)   (struct st*)
#define RBASIC(obj)  (R_CAST(RBasic)(obj))
#define ROBJECT(obj) (R_CAST(RObject)(obj))
#define RCLASS(obj)  (R_CAST(RClass)(obj))
#define RMODULE(obj) RCLASS(obj)
#define RSTRING(obj) (R_CAST(RString)(obj))
#define RREGEXP(obj) (R_CAST(RRegexp)(obj))
#define RARRAY(obj)  (R_CAST(RArray)(obj))
#define RDATA(obj)   (R_CAST(RData)(obj))
#define RTYPEDDATA(obj)   (R_CAST(RTypedData)(obj))
#define RFILE(obj)   (R_CAST(RFile)(obj))

#define FL_SINGLETON    ((VALUE)RUBY_FL_SINGLETON)
#define FL_WB_PROTECTED ((VALUE)RUBY_FL_WB_PROTECTED)
#define FL_PROMOTED0    ((VALUE)RUBY_FL_PROMOTED0)
#define FL_PROMOTED1    ((VALUE)RUBY_FL_PROMOTED1)
#define FL_FINALIZE     ((VALUE)RUBY_FL_FINALIZE)
#define FL_TAINT        ((VALUE)RUBY_FL_TAINT)
#define FL_UNTRUSTED    ((VALUE)RUBY_FL_UNTRUSTED)
#define FL_EXIVAR       ((VALUE)RUBY_FL_EXIVAR)
#define FL_FREEZE       ((VALUE)RUBY_FL_FREEZE)

#define FL_USHIFT       ((VALUE)RUBY_FL_USHIFT)

#define FL_USER0  	((VALUE)RUBY_FL_USER0)
#define FL_USER1  	((VALUE)RUBY_FL_USER1)
#define FL_USER2  	((VALUE)RUBY_FL_USER2)
#define FL_USER3  	((VALUE)RUBY_FL_USER3)
#define FL_USER4  	((VALUE)RUBY_FL_USER4)
#define FL_USER5  	((VALUE)RUBY_FL_USER5)
#define FL_USER6  	((VALUE)RUBY_FL_USER6)
#define FL_USER7  	((VALUE)RUBY_FL_USER7)
#define FL_USER8  	((VALUE)RUBY_FL_USER8)
#define FL_USER9  	((VALUE)RUBY_FL_USER9)
#define FL_USER10 	((VALUE)RUBY_FL_USER10)
#define FL_USER11 	((VALUE)RUBY_FL_USER11)
#define FL_USER12 	((VALUE)RUBY_FL_USER12)
#define FL_USER13 	((VALUE)RUBY_FL_USER13)
#define FL_USER14 	((VALUE)RUBY_FL_USER14)
#define FL_USER15 	((VALUE)RUBY_FL_USER15)
#define FL_USER16 	((VALUE)RUBY_FL_USER16)
#define FL_USER17 	((VALUE)RUBY_FL_USER17)
#define FL_USER18 	((VALUE)RUBY_FL_USER18)
#define FL_USER19 	((VALUE)RUBY_FL_USER19)

#define RB_SPECIAL_CONST_P(x) (RB_IMMEDIATE_P(x) || !RB_TEST(x))
#define SPECIAL_CONST_P(x) RB_SPECIAL_CONST_P(x)

#define RB_FL_ABLE(x) (!RB_SPECIAL_CONST_P(x) && RB_BUILTIN_TYPE(x) != RUBY_T_NODE)
#define RB_FL_TEST_RAW(x,f) (RBASIC(x)->flags&(f))
#define RB_FL_TEST(x,f) (RB_FL_ABLE(x)?RB_FL_TEST_RAW((x),(f)):0)
#define RB_FL_ANY_RAW(x,f) RB_FL_TEST_RAW((x),(f))
#define RB_FL_ANY(x,f) RB_FL_TEST((x),(f))
#define RB_FL_ALL_RAW(x,f) (RB_FL_TEST_RAW((x),(f)) == (f))
#define RB_FL_ALL(x,f) (RB_FL_TEST((x),(f)) == (f))
#define RB_FL_SET_RAW(x,f) (void)(RBASIC(x)->flags |= (f))
#define RB_FL_SET(x,f) (RB_FL_ABLE(x) ? RB_FL_SET_RAW(x, f) : (void)0)
#define RB_FL_UNSET_RAW(x,f) (void)(RBASIC(x)->flags &= ~(VALUE)(f))
#define RB_FL_UNSET(x,f) (RB_FL_ABLE(x) ? RB_FL_UNSET_RAW(x, f) : (void)0)
#define RB_FL_REVERSE_RAW(x,f) (void)(RBASIC(x)->flags ^= (f))
#define RB_FL_REVERSE(x,f) (RB_FL_ABLE(x) ? RB_FL_REVERSE_RAW(x, f) : (void)0)

#define RB_OBJ_TAINTABLE(x) (RB_FL_ABLE(x) && RB_BUILTIN_TYPE(x) != RUBY_T_BIGNUM && RB_BUILTIN_TYPE(x) != RUBY_T_FLOAT)
#define RB_OBJ_TAINTED_RAW(x) RB_FL_TEST_RAW(x, RUBY_FL_TAINT)
#define RB_OBJ_TAINTED(x) (!!RB_FL_TEST((x), RUBY_FL_TAINT))
#define RB_OBJ_TAINT_RAW(x) RB_FL_SET_RAW(x, RUBY_FL_TAINT)
#define RB_OBJ_TAINT(x) (RB_OBJ_TAINTABLE(x) ? RB_OBJ_TAINT_RAW(x) : (void)0)
#define RB_OBJ_UNTRUSTED(x) RB_OBJ_TAINTED(x)
#define RB_OBJ_UNTRUST(x) RB_OBJ_TAINT(x)
#define RB_OBJ_INFECT_RAW(x,s) RB_FL_SET_RAW(x, RB_OBJ_TAINTED_RAW(s))
#define RB_OBJ_INFECT(x,s) ( \
    (RB_OBJ_TAINTABLE(x) && RB_FL_ABLE(s)) ? \
    RB_OBJ_INFECT_RAW(x, s) : (void)0)

#define RB_OBJ_FROZEN_RAW(x) (RBASIC(x)->flags&RUBY_FL_FREEZE)
#define RB_OBJ_FROZEN(x) (!RB_FL_ABLE(x) || RB_OBJ_FROZEN_RAW(x))
#define RB_OBJ_FREEZE_RAW(x) (void)(RBASIC(x)->flags |= RUBY_FL_FREEZE)
#define RB_OBJ_FREEZE(x) rb_obj_freeze_inline((VALUE)x)

/*!
 * \defgroup deprecated_macros deprecated macro APIs
 * \{
 * \par These macros are deprecated. Prefer their `RB_`-prefixed versions.
 */
#define FL_ABLE(x) RB_FL_ABLE(x)
#define FL_TEST_RAW(x,f) RB_FL_TEST_RAW(x,f)
#define FL_TEST(x,f) RB_FL_TEST(x,f)
#define FL_ANY_RAW(x,f) RB_FL_ANY_RAW(x,f)
#define FL_ANY(x,f) RB_FL_ANY(x,f)
#define FL_ALL_RAW(x,f) RB_FL_ALL_RAW(x,f)
#define FL_ALL(x,f) RB_FL_ALL(x,f)
#define FL_SET_RAW(x,f) RB_FL_SET_RAW(x,f)
#define FL_SET(x,f) RB_FL_SET(x,f)
#define FL_UNSET_RAW(x,f) RB_FL_UNSET_RAW(x,f)
#define FL_UNSET(x,f) RB_FL_UNSET(x,f)
#define FL_REVERSE_RAW(x,f) RB_FL_REVERSE_RAW(x,f)
#define FL_REVERSE(x,f) RB_FL_REVERSE(x,f)

#define OBJ_TAINTABLE(x) RB_OBJ_TAINTABLE(x)
#define OBJ_TAINTED_RAW(x) RB_OBJ_TAINTED_RAW(x)
#define OBJ_TAINTED(x) RB_OBJ_TAINTED(x)
#define OBJ_TAINT_RAW(x) RB_OBJ_TAINT_RAW(x)
#define OBJ_TAINT(x) RB_OBJ_TAINT(x)
#define OBJ_UNTRUSTED(x) RB_OBJ_UNTRUSTED(x)
#define OBJ_UNTRUST(x) RB_OBJ_UNTRUST(x)
#define OBJ_INFECT_RAW(x,s) RB_OBJ_INFECT_RAW(x,s)
#define OBJ_INFECT(x,s) RB_OBJ_INFECT(x,s)
#define OBJ_FROZEN_RAW(x) RB_OBJ_FROZEN_RAW(x)
#define OBJ_FROZEN(x) RB_OBJ_FROZEN(x)
#define OBJ_FREEZE_RAW(x) RB_OBJ_FREEZE_RAW(x)
#define OBJ_FREEZE(x) RB_OBJ_FREEZE(x)

/* \} */

void rb_freeze_singleton_class(VALUE klass);

static inline void
rb_obj_freeze_inline(VALUE x)
{
    if (RB_FL_ABLE(x)) {
	RB_OBJ_FREEZE_RAW(x);
	if (RBASIC_CLASS(x) && !(RBASIC(x)->flags & RUBY_FL_SINGLETON)) {
	    rb_freeze_singleton_class(x);
	}
    }
}

#if GCC_VERSION_SINCE(4,4,0)
# define RUBY_UNTYPED_DATA_FUNC(func) func __attribute__((warning("untyped Data is unsafe; use TypedData instead")))
#else
# define RUBY_UNTYPED_DATA_FUNC(func) DEPRECATED(func)
#endif

#if defined(__GNUC__) && !defined(__NO_INLINE__)
#if defined(HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P)
RUBY_UNTYPED_DATA_FUNC(static inline VALUE rb_data_object_wrap_warning(VALUE,void*,RUBY_DATA_FUNC,RUBY_DATA_FUNC));
#endif
RUBY_UNTYPED_DATA_FUNC(static inline void *rb_data_object_get_warning(VALUE));

static inline VALUE
rb_data_object_wrap_warning(VALUE klass, void *ptr, RUBY_DATA_FUNC mark, RUBY_DATA_FUNC free)
{
    return rb_data_object_wrap(klass, ptr, mark, free);
}

#if defined(HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P)
#define rb_data_object_wrap_warning(klass, ptr, mark, free) \
    __extension__( \
	__builtin_choose_expr( \
	    __builtin_constant_p(klass) && !(klass), \
	    rb_data_object_wrap(klass, ptr, mark, free), \
	    rb_data_object_wrap_warning(klass, ptr, mark, free)))
#endif
#endif

static inline void *
rb_data_object_get(VALUE obj)
{
    Check_Type(obj, RUBY_T_DATA);
    return ((struct RData *)obj)->data;
}

#if defined(__GNUC__) && !defined(__NO_INLINE__)
static inline void *
rb_data_object_get_warning(VALUE obj)
{
    return rb_data_object_get(obj);
}
#endif

static inline VALUE
rb_data_object_make(VALUE klass, RUBY_DATA_FUNC mark_func, RUBY_DATA_FUNC free_func, void **datap, size_t size)
{
    Data_Make_Struct0(result, klass, void, size, mark_func, free_func, *datap);
    return result;
}

static inline VALUE
rb_data_typed_object_make(VALUE klass, const rb_data_type_t *type, void **datap, size_t size)
{
    TypedData_Make_Struct0(result, klass, void, size, type, *datap);
    return result;
}

#ifndef rb_data_object_alloc
DEPRECATED_BY(rb_data_object_wrap, static inline VALUE rb_data_object_alloc(VALUE,void*,RUBY_DATA_FUNC,RUBY_DATA_FUNC));
static inline VALUE
rb_data_object_alloc(VALUE klass, void *data, RUBY_DATA_FUNC dmark, RUBY_DATA_FUNC dfree)
{
    return rb_data_object_wrap(klass, data, dmark, dfree);
}
#endif

#ifndef rb_data_typed_object_alloc
DEPRECATED_BY(rb_data_typed_object_wrap, static inline VALUE rb_data_typed_object_alloc(VALUE,void*,const rb_data_type_t*));
static inline VALUE
rb_data_typed_object_alloc(VALUE klass, void *datap, const rb_data_type_t *type)
{
    return rb_data_typed_object_wrap(klass, datap, type);
}
#endif

#if defined(__GNUC__) && !defined(__NO_INLINE__)
#define rb_data_object_wrap_0 rb_data_object_wrap
#define rb_data_object_wrap_1 rb_data_object_wrap_warning
#define rb_data_object_wrap  RUBY_MACRO_SELECT(rb_data_object_wrap_, RUBY_UNTYPED_DATA_WARNING)
#define rb_data_object_get_0 rb_data_object_get
#define rb_data_object_get_1 rb_data_object_get_warning
#define rb_data_object_get  RUBY_MACRO_SELECT(rb_data_object_get_, RUBY_UNTYPED_DATA_WARNING)
#define rb_data_object_make_0 rb_data_object_make
#define rb_data_object_make_1 rb_data_object_make_warning
#define rb_data_object_make   RUBY_MACRO_SELECT(rb_data_object_make_, RUBY_UNTYPED_DATA_WARNING)
#endif

#if USE_RGENGC
#define RB_OBJ_PROMOTED_RAW(x)      RB_FL_ALL_RAW(x, RUBY_FL_PROMOTED)
#define RB_OBJ_PROMOTED(x)          (RB_SPECIAL_CONST_P(x) ? 0 : RB_OBJ_PROMOTED_RAW(x))
#define RB_OBJ_WB_UNPROTECT(x)      rb_obj_wb_unprotect(x, __FILE__, __LINE__)

void rb_gc_writebarrier(VALUE a, VALUE b);
void rb_gc_writebarrier_unprotect(VALUE obj);

#else /* USE_RGENGC */
#define RB_OBJ_PROMOTED(x)          0
#define RB_OBJ_WB_UNPROTECT(x)      rb_obj_wb_unprotect(x, __FILE__, __LINE__)
#endif
#define OBJ_PROMOTED_RAW(x)         RB_OBJ_PROMOTED_RAW(x)
#define OBJ_PROMOTED(x)             RB_OBJ_PROMOTED(x)
#define OBJ_WB_UNPROTECT(x)         RB_OBJ_WB_UNPROTECT(x)

/* Write barrier (WB) interfaces:
 * - RB_OBJ_WRITE(a, slot, b): WB for new reference from `a' to `b'.
 *     Write `b' into `*slot'. `slot' is a pointer in `a'.
 * - RB_OBJ_WRITTEN(a, oldv, b): WB for new reference from `a' to `b'.
 *     This doesn't write any values, but only a WB declaration.
 *     `oldv' is replaced value with `b' (not used in current Ruby).
 *
 * NOTE: The following core interfaces can be changed in the future.
 *       Please catch up if you want to insert WB into C-extensions
 *       correctly.
 */
#define RB_OBJ_WRITE(a, slot, b)       rb_obj_write((VALUE)(a), (VALUE *)(slot), (VALUE)(b), __FILE__, __LINE__)
#define RB_OBJ_WRITTEN(a, oldv, b)     rb_obj_written((VALUE)(a), (VALUE)(oldv), (VALUE)(b), __FILE__, __LINE__)

#ifndef USE_RGENGC_LOGGING_WB_UNPROTECT
#define USE_RGENGC_LOGGING_WB_UNPROTECT 0
#endif

#if USE_RGENGC_LOGGING_WB_UNPROTECT
void rb_gc_unprotect_logging(void *objptr, const char *filename, int line);
#define RGENGC_LOGGING_WB_UNPROTECT rb_gc_unprotect_logging
#endif

static inline VALUE
rb_obj_wb_unprotect(VALUE x, RB_UNUSED_VAR(const char *filename), RB_UNUSED_VAR(int line))
{
#ifdef RGENGC_LOGGING_WB_UNPROTECT
    RGENGC_LOGGING_WB_UNPROTECT((void *)x, filename, line);
#endif
#if USE_RGENGC
    rb_gc_writebarrier_unprotect(x);
#endif
    return x;
}

static inline VALUE
rb_obj_written(VALUE a, RB_UNUSED_VAR(VALUE oldv), VALUE b, RB_UNUSED_VAR(const char *filename), RB_UNUSED_VAR(int line))
{
#ifdef RGENGC_LOGGING_OBJ_WRITTEN
    RGENGC_LOGGING_OBJ_WRITTEN(a, oldv, b, filename, line);
#endif

#if USE_RGENGC
    if (!RB_SPECIAL_CONST_P(b)) {
	rb_gc_writebarrier(a, b);
    }
#endif

    return a;
}

static inline VALUE
rb_obj_write(VALUE a, VALUE *slot, VALUE b, RB_UNUSED_VAR(const char *filename), RB_UNUSED_VAR(int line))
{
#ifdef RGENGC_LOGGING_WRITE
    RGENGC_LOGGING_WRITE(a, slot, b, filename, line);
#endif

    *slot = b;

#if USE_RGENGC
    rb_obj_written(a, RUBY_Qundef /* ignore `oldv' now */, b, filename, line);
#endif
    return a;
}

#define RUBY_INTEGER_UNIFICATION 1
#define RB_INTEGER_TYPE_P(obj) rb_integer_type_p(obj)
#if defined __GNUC__ && !GCC_VERSION_SINCE(4, 3, 0)
/* clang 3.x (4.2 compatible) can't eliminate CSE of RB_BUILTIN_TYPE
 * in inline function and caller function */
#define rb_integer_type_p(obj) \
    __extension__ ({ \
	const VALUE integer_type_obj = (obj); \
	(RB_FIXNUM_P(integer_type_obj) || \
	 (!RB_SPECIAL_CONST_P(integer_type_obj) && \
	  RB_BUILTIN_TYPE(integer_type_obj) == RUBY_T_BIGNUM)); \
    })
#else
static inline int
rb_integer_type_p(VALUE obj)
{
    return (RB_FIXNUM_P(obj) ||
	    (!RB_SPECIAL_CONST_P(obj) &&
	     RB_BUILTIN_TYPE(obj) == RUBY_T_BIGNUM));
}
#endif

#if SIZEOF_INT < SIZEOF_LONG
# define RB_INT2NUM(v) RB_INT2FIX((int)(v))
# define RB_UINT2NUM(v) RB_LONG2FIX((unsigned int)(v))
#else
static inline VALUE
rb_int2num_inline(int v)
{
    if (RB_FIXABLE(v))
	return RB_INT2FIX(v);
    else
	return rb_int2big(v);
}
#define RB_INT2NUM(x) rb_int2num_inline(x)

static inline VALUE
rb_uint2num_inline(unsigned int v)
{
    if (RB_POSFIXABLE(v))
	return RB_LONG2FIX(v);
    else
	return rb_uint2big(v);
}
#define RB_UINT2NUM(x) rb_uint2num_inline(x)
#endif
#define INT2NUM(x) RB_INT2NUM(x)
#define UINT2NUM(x) RB_UINT2NUM(x)

static inline VALUE
rb_long2num_inline(long v)
{
    if (RB_FIXABLE(v))
	return RB_LONG2FIX(v);
    else
	return rb_int2big(v);
}
#define RB_LONG2NUM(x) rb_long2num_inline(x)

static inline VALUE
rb_ulong2num_inline(unsigned long v)
{
    if (RB_POSFIXABLE(v))
	return RB_LONG2FIX(v);
    else
	return rb_uint2big(v);
}
#define RB_ULONG2NUM(x) rb_ulong2num_inline(x)

static inline char
rb_num2char_inline(VALUE x)
{
    if (RB_TYPE_P(x, RUBY_T_STRING) && (RSTRING_LEN(x)>=1))
	return RSTRING_PTR(x)[0];
    else
	return (char)(NUM2INT(x) & 0xff);
}
#define RB_NUM2CHR(x) rb_num2char_inline(x)

#define RB_CHR2FIX(x) RB_INT2FIX((long)((x)&0xff))

#define LONG2NUM(x) RB_LONG2NUM(x)
#define ULONG2NUM(x) RB_ULONG2NUM(x)
#define NUM2CHR(x) RB_NUM2CHR(x)
#define CHR2FIX(x) RB_CHR2FIX(x)

#if SIZEOF_LONG < SIZEOF_VALUE
#define RB_ST2FIX(h) RB_LONG2FIX((long)((h) > 0 ? (h) & (unsigned long)-1 >> 2 : (h) | ~((unsigned long)-1 >> 2)))
#else
#define RB_ST2FIX(h) RB_LONG2FIX((long)(h))
#endif
#define ST2FIX(h) RB_ST2FIX(h)

#define RB_ALLOC_N(type,n) ((type*)ruby_xmalloc2((size_t)(n),sizeof(type)))
#define RB_ALLOC(type) ((type*)ruby_xmalloc(sizeof(type)))
#define RB_ZALLOC_N(type,n) ((type*)ruby_xcalloc((size_t)(n),sizeof(type)))
#define RB_ZALLOC(type) (RB_ZALLOC_N(type,1))
#define RB_REALLOC_N(var,type,n) ((var)=(type*)ruby_xrealloc2((char*)(var),(size_t)(n),sizeof(type)))

#define ALLOC_N(type,n) RB_ALLOC_N(type,n)
#define ALLOC(type) RB_ALLOC(type)
#define ZALLOC_N(type,n) RB_ZALLOC_N(type,n)
#define ZALLOC(type) RB_ZALLOC(type)
#define REALLOC_N(var,type,n) RB_REALLOC_N(var,type,n)

#define ALLOCA_N(type,n) ((type*)alloca(sizeof(type)*(n)))

void *rb_alloc_tmp_buffer(volatile VALUE *store, long len) RUBY_ATTR_ALLOC_SIZE((2));
void *rb_alloc_tmp_buffer_with_count(volatile VALUE *store, size_t len,size_t count) RUBY_ATTR_ALLOC_SIZE((2,3));
void rb_free_tmp_buffer(volatile VALUE *store);
NORETURN(void ruby_malloc_size_overflow(size_t, size_t));
#if HAVE_LONG_LONG && SIZEOF_SIZE_T * 2 <= SIZEOF_LONG_LONG
# define DSIZE_T unsigned LONG_LONG
#elif defined(HAVE_INT128_T)
# define DSIZE_T uint128_t
#endif
static inline int
rb_mul_size_overflow(size_t a, size_t b, size_t max, size_t *c)
{
#ifdef DSIZE_T
# ifdef __GNUC__
    __extension__
# endif
    DSIZE_T c2 = (DSIZE_T)a * (DSIZE_T)b;
    if (c2 > max) return 1;
    *c = (size_t)c2;
#else
    if (b != 0 && a > max / b) return 1;
    *c = a * b;
#endif
    return 0;
}
static inline void *
rb_alloc_tmp_buffer2(volatile VALUE *store, long count, size_t elsize)
{
    size_t cnt = (size_t)count;
    if (elsize == sizeof(VALUE)) {
	if (RB_UNLIKELY(cnt > LONG_MAX / sizeof(VALUE))) {
	    ruby_malloc_size_overflow(cnt, elsize);
	}
    }
    else {
	size_t size, max = LONG_MAX - sizeof(VALUE) + 1;
	if (RB_UNLIKELY(rb_mul_size_overflow(cnt, elsize, max, &size))) {
	    ruby_malloc_size_overflow(cnt, elsize);
	}
	cnt = (size + sizeof(VALUE) - 1) / sizeof(VALUE);
    }
    return rb_alloc_tmp_buffer_with_count(store, cnt * sizeof(VALUE), cnt);
}
/* allocates _n_ bytes temporary buffer and stores VALUE including it
 * in _v_.  _n_ may be evaluated twice. */
#ifdef C_ALLOCA
# define RB_ALLOCV(v, n) rb_alloc_tmp_buffer(&(v), (n))
# define RB_ALLOCV_N(type, v, n) \
     rb_alloc_tmp_buffer2(&(v), (n), sizeof(type))
#else
# define RUBY_ALLOCV_LIMIT 1024
# define RB_ALLOCV(v, n) ((n) < RUBY_ALLOCV_LIMIT ? \
		       (RB_GC_GUARD(v) = 0, alloca(n)) : \
		       rb_alloc_tmp_buffer(&(v), (n)))
# define RB_ALLOCV_N(type, v, n) \
    ((type*)(((size_t)(n) < RUBY_ALLOCV_LIMIT / sizeof(type)) ? \
	     (RB_GC_GUARD(v) = 0, alloca((size_t)(n) * sizeof(type))) : \
	     rb_alloc_tmp_buffer2(&(v), (long)(n), sizeof(type))))
#endif
#define RB_ALLOCV_END(v) rb_free_tmp_buffer(&(v))

#define ALLOCV(v, n) RB_ALLOCV(v, n)
#define ALLOCV_N(type, v, n) RB_ALLOCV_N(type, v, n)
#define ALLOCV_END(v) RB_ALLOCV_END(v)

#define MEMZERO(p,type,n) memset((p), 0, sizeof(type)*(size_t)(n))
#define MEMCPY(p1,p2,type,n) memcpy((p1), (p2), sizeof(type)*(size_t)(n))
#define MEMMOVE(p1,p2,type,n) memmove((p1), (p2), sizeof(type)*(size_t)(n))
#define MEMCMP(p1,p2,type,n) memcmp((p1), (p2), sizeof(type)*(size_t)(n))

void rb_obj_infect(VALUE victim, VALUE carrier);

typedef int ruby_glob_func(const char*,VALUE, void*);
void rb_glob(const char*,void(*)(const char*,VALUE,void*),VALUE);
int ruby_glob(const char*,int,ruby_glob_func*,VALUE);
int ruby_brace_glob(const char*,int,ruby_glob_func*,VALUE);

VALUE rb_define_class(const char*,VALUE);
VALUE rb_define_module(const char*);
VALUE rb_define_class_under(VALUE, const char*, VALUE);
VALUE rb_define_module_under(VALUE, const char*);

void rb_include_module(VALUE,VALUE);
void rb_extend_object(VALUE,VALUE);
void rb_prepend_module(VALUE,VALUE);

struct rb_global_variable;

typedef VALUE rb_gvar_getter_t(ID id, void *data, struct rb_global_variable *gvar);
typedef void  rb_gvar_setter_t(VALUE val, ID id, void *data, struct rb_global_variable *gvar);
typedef void  rb_gvar_marker_t(VALUE *var);

VALUE rb_gvar_undef_getter(ID id, void *data, struct rb_global_variable *gvar);
void  rb_gvar_undef_setter(VALUE val, ID id, void *data, struct rb_global_variable *gvar);
void  rb_gvar_undef_marker(VALUE *var);

VALUE rb_gvar_val_getter(ID id, void *data, struct rb_global_variable *gvar);
void  rb_gvar_val_setter(VALUE val, ID id, void *data, struct rb_global_variable *gvar);
void  rb_gvar_val_marker(VALUE *var);

VALUE rb_gvar_var_getter(ID id, void *data, struct rb_global_variable *gvar);
void  rb_gvar_var_setter(VALUE val, ID id, void *data, struct rb_global_variable *gvar);
void  rb_gvar_var_marker(VALUE *var);

NORETURN(void  rb_gvar_readonly_setter(VALUE val, ID id, void *data, struct rb_global_variable *gvar));

void rb_define_variable(const char*,VALUE*);
void rb_define_virtual_variable(const char*,VALUE(*)(ANYARGS),void(*)(ANYARGS));
void rb_define_hooked_variable(const char*,VALUE*,VALUE(*)(ANYARGS),void(*)(ANYARGS));
void rb_define_readonly_variable(const char*,const VALUE*);
void rb_define_const(VALUE,const char*,VALUE);
void rb_define_global_const(const char*,VALUE);

#define RUBY_METHOD_FUNC(func) ((VALUE (*)(ANYARGS))(func))
void rb_define_method(VALUE,const char*,VALUE(*)(ANYARGS),int);
void rb_define_module_function(VALUE,const char*,VALUE(*)(ANYARGS),int);
void rb_define_global_function(const char*,VALUE(*)(ANYARGS),int);

void rb_undef_method(VALUE,const char*);
void rb_define_alias(VALUE,const char*,const char*);
void rb_define_attr(VALUE,const char*,int,int);

void rb_global_variable(VALUE*);
void rb_gc_register_mark_object(VALUE);
void rb_gc_register_address(VALUE*);
void rb_gc_unregister_address(VALUE*);

ID rb_intern(const char*);
ID rb_intern2(const char*, long);
ID rb_intern_str(VALUE str);
const char *rb_id2name(ID);
ID rb_check_id(volatile VALUE *);
ID rb_to_id(VALUE);
VALUE rb_id2str(ID);
VALUE rb_sym2str(VALUE);
VALUE rb_to_symbol(VALUE name);
VALUE rb_check_symbol(volatile VALUE *namep);

#define RUBY_CONST_ID_CACHE(result, str)		\
    {							\
	static ID rb_intern_id_cache;			\
	if (!rb_intern_id_cache)			\
	    rb_intern_id_cache = rb_intern2((str), (long)strlen(str)); \
	result rb_intern_id_cache;			\
    }
#define RUBY_CONST_ID(var, str) \
    do RUBY_CONST_ID_CACHE((var) =, (str)) while (0)
#define CONST_ID_CACHE(result, str) RUBY_CONST_ID_CACHE(result, str)
#define CONST_ID(var, str) RUBY_CONST_ID(var, str)
#ifdef __GNUC__
/* __builtin_constant_p and statement expression is available
 * since gcc-2.7.2.3 at least. */
#define rb_intern(str) \
    (__builtin_constant_p(str) ? \
        __extension__ (RUBY_CONST_ID_CACHE((ID), (str))) : \
        rb_intern(str))
#define rb_intern_const(str) \
    (__builtin_constant_p(str) ? \
     __extension__ (rb_intern2((str), (long)strlen(str))) : \
     (rb_intern)(str))

# define rb_varargs_argc_check_runtime(argc, vargc) \
    (((argc) <= (vargc)) ? (argc) : \
     (rb_fatal("argc(%d) exceeds actual arguments(%d)", \
	       argc, vargc), 0))
# define rb_varargs_argc_valid_p(argc, vargc) \
    ((argc) == 0 ? (vargc) <= 1 : /* [ruby-core:85266] [Bug #14425] */ \
     (argc) == (vargc))
# if defined(HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P)
#   if HAVE_ATTRIBUTE_ERRORFUNC
ERRORFUNC((" argument length doesn't match"), int rb_varargs_bad_length(int,int));
#   else
#     define rb_varargs_bad_length(argc, vargc) \
	((argc)/rb_varargs_argc_valid_p(argc, vargc))
#   endif
#   define rb_varargs_argc_check(argc, vargc) \
    __builtin_choose_expr(__builtin_constant_p(argc), \
	(rb_varargs_argc_valid_p(argc, vargc) ? (argc) : \
	 rb_varargs_bad_length(argc, vargc)), \
	rb_varargs_argc_check_runtime(argc, vargc))
# else
#   define rb_varargs_argc_check(argc, vargc) \
	rb_varargs_argc_check_runtime(argc, vargc)
# endif

#else
#define rb_intern_const(str) rb_intern2((str), (long)strlen(str))
#endif

const char *rb_class2name(VALUE);
const char *rb_obj_classname(VALUE);

void rb_p(VALUE);

VALUE rb_eval_string(const char*);
VALUE rb_eval_string_protect(const char*, int*);
VALUE rb_eval_string_wrap(const char*, int*);
VALUE rb_funcall(VALUE, ID, int, ...);
VALUE rb_funcallv(VALUE, ID, int, const VALUE*);
VALUE rb_funcallv_public(VALUE, ID, int, const VALUE*);
#define rb_funcall2 rb_funcallv
#define rb_funcall3 rb_funcallv_public
VALUE rb_funcall_passing_block(VALUE, ID, int, const VALUE*);
VALUE rb_funcall_with_block(VALUE, ID, int, const VALUE*, VALUE);
int rb_scan_args(int, const VALUE*, const char*, ...);
VALUE rb_call_super(int, const VALUE*);
VALUE rb_current_receiver(void);
int rb_get_kwargs(VALUE keyword_hash, const ID *table, int required, int optional, VALUE *);
VALUE rb_extract_keywords(VALUE *orighash);

/* rb_scan_args() format allows ':' for optional hash */
#define HAVE_RB_SCAN_ARGS_OPTIONAL_HASH 1

VALUE rb_gv_set(const char*, VALUE);
VALUE rb_gv_get(const char*);
VALUE rb_iv_get(VALUE, const char*);
VALUE rb_iv_set(VALUE, const char*, VALUE);

VALUE rb_equal(VALUE,VALUE);

VALUE *rb_ruby_verbose_ptr(void);
VALUE *rb_ruby_debug_ptr(void);
#define ruby_verbose (*rb_ruby_verbose_ptr())
#define ruby_debug   (*rb_ruby_debug_ptr())

/* for rb_readwrite_sys_fail first argument */
enum rb_io_wait_readwrite {RB_IO_WAIT_READABLE, RB_IO_WAIT_WRITABLE};
#define RB_IO_WAIT_READABLE RB_IO_WAIT_READABLE
#define RB_IO_WAIT_WRITABLE RB_IO_WAIT_WRITABLE

PRINTF_ARGS(NORETURN(void rb_raise(VALUE, const char*, ...)), 2, 3);
PRINTF_ARGS(NORETURN(void rb_fatal(const char*, ...)), 1, 2);
PRINTF_ARGS(NORETURN(void rb_bug(const char*, ...)), 1, 2);
NORETURN(void rb_bug_errno(const char*, int));
NORETURN(void rb_sys_fail(const char*));
NORETURN(void rb_sys_fail_str(VALUE));
NORETURN(void rb_mod_sys_fail(VALUE, const char*));
NORETURN(void rb_mod_sys_fail_str(VALUE, VALUE));
NORETURN(void rb_readwrite_sys_fail(enum rb_io_wait_readwrite, const char*));
NORETURN(void rb_iter_break(void));
NORETURN(void rb_iter_break_value(VALUE));
NORETURN(void rb_exit(int));
NORETURN(void rb_notimplement(void));
VALUE rb_syserr_new(int, const char *);
VALUE rb_syserr_new_str(int n, VALUE arg);
NORETURN(void rb_syserr_fail(int, const char*));
NORETURN(void rb_syserr_fail_str(int, VALUE));
NORETURN(void rb_mod_syserr_fail(VALUE, int, const char*));
NORETURN(void rb_mod_syserr_fail_str(VALUE, int, VALUE));
NORETURN(void rb_readwrite_syserr_fail(enum rb_io_wait_readwrite, int, const char*));

/* reports if `-W' specified */
PRINTF_ARGS(void rb_warning(const char*, ...), 1, 2);
PRINTF_ARGS(void rb_compile_warning(const char *, int, const char*, ...), 3, 4);
PRINTF_ARGS(void rb_sys_warning(const char*, ...), 1, 2);
/* reports always */
PRINTF_ARGS(void rb_warn(const char*, ...), 1, 2);
PRINTF_ARGS(void rb_compile_warn(const char *, int, const char*, ...), 3, 4);

#define RUBY_BLOCK_CALL_FUNC_TAKES_BLOCKARG 1
#define RB_BLOCK_CALL_FUNC_ARGLIST(yielded_arg, callback_arg) \
    VALUE yielded_arg, VALUE callback_arg, int argc, const VALUE *argv, VALUE blockarg
typedef VALUE rb_block_call_func(RB_BLOCK_CALL_FUNC_ARGLIST(yielded_arg, callback_arg));

#if defined RB_BLOCK_CALL_FUNC_STRICT && RB_BLOCK_CALL_FUNC_STRICT
typedef rb_block_call_func *rb_block_call_func_t;
#else
typedef VALUE (*rb_block_call_func_t)(ANYARGS);
#endif

VALUE rb_each(VALUE);
VALUE rb_yield(VALUE);
VALUE rb_yield_values(int n, ...);
VALUE rb_yield_values2(int n, const VALUE *argv);
VALUE rb_yield_splat(VALUE);
VALUE rb_yield_block(VALUE, VALUE, int, const VALUE *, VALUE); /* rb_block_call_func */
int rb_block_given_p(void);
void rb_need_block(void);
VALUE rb_iterate(VALUE(*)(VALUE),VALUE,VALUE(*)(ANYARGS),VALUE);
VALUE rb_block_call(VALUE,ID,int,const VALUE*,rb_block_call_func_t,VALUE);
VALUE rb_rescue(VALUE(*)(ANYARGS),VALUE,VALUE(*)(ANYARGS),VALUE);
VALUE rb_rescue2(VALUE(*)(ANYARGS),VALUE,VALUE(*)(ANYARGS),VALUE,...);
VALUE rb_ensure(VALUE(*)(ANYARGS),VALUE,VALUE(*)(ANYARGS),VALUE);
VALUE rb_catch(const char*,VALUE(*)(ANYARGS),VALUE);
VALUE rb_catch_obj(VALUE,VALUE(*)(ANYARGS),VALUE);
NORETURN(void rb_throw(const char*,VALUE));
NORETURN(void rb_throw_obj(VALUE,VALUE));

VALUE rb_require(const char*);

RUBY_EXTERN VALUE rb_mKernel;
RUBY_EXTERN VALUE rb_mComparable;
RUBY_EXTERN VALUE rb_mEnumerable;
RUBY_EXTERN VALUE rb_mErrno;
RUBY_EXTERN VALUE rb_mFileTest;
RUBY_EXTERN VALUE rb_mGC;
RUBY_EXTERN VALUE rb_mMath;
RUBY_EXTERN VALUE rb_mProcess;
RUBY_EXTERN VALUE rb_mWaitReadable;
RUBY_EXTERN VALUE rb_mWaitWritable;

RUBY_EXTERN VALUE rb_cBasicObject;
RUBY_EXTERN VALUE rb_cObject;
RUBY_EXTERN VALUE rb_cArray;
#ifndef RUBY_INTEGER_UNIFICATION
RUBY_EXTERN VALUE rb_cBignum;
#endif
RUBY_EXTERN VALUE rb_cBinding;
RUBY_EXTERN VALUE rb_cClass;
RUBY_EXTERN VALUE rb_cCont;
RUBY_EXTERN VALUE rb_cDir;
RUBY_EXTERN VALUE rb_cData;
RUBY_EXTERN VALUE rb_cFalseClass;
RUBY_EXTERN VALUE rb_cEncoding;
RUBY_EXTERN VALUE rb_cEnumerator;
RUBY_EXTERN VALUE rb_cFile;
#ifndef RUBY_INTEGER_UNIFICATION
RUBY_EXTERN VALUE rb_cFixnum;
#endif
RUBY_EXTERN VALUE rb_cFloat;
RUBY_EXTERN VALUE rb_cHash;
RUBY_EXTERN VALUE rb_cInteger;
RUBY_EXTERN VALUE rb_cIO;
RUBY_EXTERN VALUE rb_cMatch;
RUBY_EXTERN VALUE rb_cMethod;
RUBY_EXTERN VALUE rb_cModule;
RUBY_EXTERN VALUE rb_cNameErrorMesg;
RUBY_EXTERN VALUE rb_cNilClass;
RUBY_EXTERN VALUE rb_cNumeric;
RUBY_EXTERN VALUE rb_cProc;
RUBY_EXTERN VALUE rb_cRandom;
RUBY_EXTERN VALUE rb_cRange;
RUBY_EXTERN VALUE rb_cRational;
RUBY_EXTERN VALUE rb_cComplex;
RUBY_EXTERN VALUE rb_cRegexp;
RUBY_EXTERN VALUE rb_cStat;
RUBY_EXTERN VALUE rb_cString;
RUBY_EXTERN VALUE rb_cStruct;
RUBY_EXTERN VALUE rb_cSymbol;
RUBY_EXTERN VALUE rb_cThread;
RUBY_EXTERN VALUE rb_cTime;
RUBY_EXTERN VALUE rb_cTrueClass;
RUBY_EXTERN VALUE rb_cUnboundMethod;

RUBY_EXTERN VALUE rb_eException;
RUBY_EXTERN VALUE rb_eStandardError;
RUBY_EXTERN VALUE rb_eSystemExit;
RUBY_EXTERN VALUE rb_eInterrupt;
RUBY_EXTERN VALUE rb_eSignal;
RUBY_EXTERN VALUE rb_eFatal;
RUBY_EXTERN VALUE rb_eArgError;
RUBY_EXTERN VALUE rb_eEOFError;
RUBY_EXTERN VALUE rb_eIndexError;
RUBY_EXTERN VALUE rb_eStopIteration;
RUBY_EXTERN VALUE rb_eKeyError;
RUBY_EXTERN VALUE rb_eRangeError;
RUBY_EXTERN VALUE rb_eIOError;
RUBY_EXTERN VALUE rb_eRuntimeError;
RUBY_EXTERN VALUE rb_eFrozenError;
RUBY_EXTERN VALUE rb_eSecurityError;
RUBY_EXTERN VALUE rb_eSystemCallError;
RUBY_EXTERN VALUE rb_eThreadError;
RUBY_EXTERN VALUE rb_eTypeError;
RUBY_EXTERN VALUE rb_eZeroDivError;
RUBY_EXTERN VALUE rb_eNotImpError;
RUBY_EXTERN VALUE rb_eNoMemError;
RUBY_EXTERN VALUE rb_eNoMethodError;
RUBY_EXTERN VALUE rb_eFloatDomainError;
RUBY_EXTERN VALUE rb_eLocalJumpError;
RUBY_EXTERN VALUE rb_eSysStackError;
RUBY_EXTERN VALUE rb_eRegexpError;
RUBY_EXTERN VALUE rb_eEncodingError;
RUBY_EXTERN VALUE rb_eEncCompatError;

RUBY_EXTERN VALUE rb_eScriptError;
RUBY_EXTERN VALUE rb_eNameError;
RUBY_EXTERN VALUE rb_eSyntaxError;
RUBY_EXTERN VALUE rb_eLoadError;

RUBY_EXTERN VALUE rb_eMathDomainError;

RUBY_EXTERN VALUE rb_stdin, rb_stdout, rb_stderr;

static inline VALUE
rb_class_of(VALUE obj)
{
    if (RB_IMMEDIATE_P(obj)) {
	if (RB_FIXNUM_P(obj)) return rb_cInteger;
	if (RB_FLONUM_P(obj)) return rb_cFloat;
	if (obj == RUBY_Qtrue)  return rb_cTrueClass;
	if (RB_STATIC_SYM_P(obj)) return rb_cSymbol;
    }
    else if (!RB_TEST(obj)) {
	if (obj == RUBY_Qnil)   return rb_cNilClass;
	if (obj == RUBY_Qfalse) return rb_cFalseClass;
    }
    return RBASIC(obj)->klass;
}

static inline int
rb_type(VALUE obj)
{
    if (RB_IMMEDIATE_P(obj)) {
	if (RB_FIXNUM_P(obj)) return RUBY_T_FIXNUM;
        if (RB_FLONUM_P(obj)) return RUBY_T_FLOAT;
        if (obj == RUBY_Qtrue)  return RUBY_T_TRUE;
	if (RB_STATIC_SYM_P(obj)) return RUBY_T_SYMBOL;
	if (obj == RUBY_Qundef) return RUBY_T_UNDEF;
    }
    else if (!RB_TEST(obj)) {
	if (obj == RUBY_Qnil)   return RUBY_T_NIL;
	if (obj == RUBY_Qfalse) return RUBY_T_FALSE;
    }
    return RB_BUILTIN_TYPE(obj);
}

#ifdef __GNUC__
#define rb_type_p(obj, type) \
    __extension__ (__builtin_constant_p(type) ? RB_TYPE_P((obj), (type)) : \
		   rb_type(obj) == (type))
#else
#define rb_type_p(obj, type) (rb_type(obj) == (type))
#endif

#ifdef __GNUC__
#define rb_special_const_p(obj) \
    __extension__ ({ \
	VALUE special_const_obj = (obj); \
	(int)(RB_SPECIAL_CONST_P(special_const_obj) ? RUBY_Qtrue : RUBY_Qfalse); \
    })
#else
static inline int
rb_special_const_p(VALUE obj)
{
    if (RB_SPECIAL_CONST_P(obj)) return (int)RUBY_Qtrue;
    return (int)RUBY_Qfalse;
}
#endif

#include "ruby/intern.h"

static inline void
rb_clone_setup(VALUE clone, VALUE obj)
{
    rb_obj_setup(clone, rb_singleton_class_clone(obj),
                 RBASIC(obj)->flags & ~(FL_PROMOTED0|FL_PROMOTED1|FL_FINALIZE));
    rb_singleton_class_attached(RBASIC_CLASS(clone), clone);
    if (RB_FL_TEST(obj, RUBY_FL_EXIVAR)) rb_copy_generic_ivar(clone, obj);
}

static inline void
rb_dup_setup(VALUE dup, VALUE obj)
{
    rb_obj_setup(dup, rb_obj_class(obj), RB_FL_TEST_RAW(obj, RUBY_FL_DUPPED));
    if (RB_FL_TEST(obj, RUBY_FL_EXIVAR)) rb_copy_generic_ivar(dup, obj);
}

static inline long
rb_array_len(VALUE a)
{
    return (RBASIC(a)->flags & RARRAY_EMBED_FLAG) ?
	RARRAY_EMBED_LEN(a) : RARRAY(a)->as.heap.len;
}

#if defined(__fcc__) || defined(__fcc_version) || \
    defined(__FCC__) || defined(__FCC_VERSION)
/* workaround for old version of Fujitsu C Compiler (fcc) */
# define FIX_CONST_VALUE_PTR(x) ((const VALUE *)(x))
#else
# define FIX_CONST_VALUE_PTR(x) (x)
#endif

static inline const VALUE *
rb_array_const_ptr(VALUE a)
{
    return FIX_CONST_VALUE_PTR((RBASIC(a)->flags & RARRAY_EMBED_FLAG) ?
	RARRAY(a)->as.ary : RARRAY(a)->as.heap.ptr);
}

#if defined(EXTLIB) && defined(USE_DLN_A_OUT)
/* hook for external modules */
static char *dln_libs_to_be_linked[] = { EXTLIB, 0 };
#endif

#define RUBY_VM 1 /* YARV */
#define HAVE_NATIVETHREAD
int ruby_native_thread_p(void);

/* traditional set_trace_func events */
#define RUBY_EVENT_NONE      0x0000
#define RUBY_EVENT_LINE      0x0001
#define RUBY_EVENT_CLASS     0x0002
#define RUBY_EVENT_END       0x0004
#define RUBY_EVENT_CALL      0x0008
#define RUBY_EVENT_RETURN    0x0010
#define RUBY_EVENT_C_CALL    0x0020
#define RUBY_EVENT_C_RETURN  0x0040
#define RUBY_EVENT_RAISE     0x0080
#define RUBY_EVENT_ALL       0x00ff

/* for TracePoint extended events */
#define RUBY_EVENT_B_CALL            0x0100
#define RUBY_EVENT_B_RETURN          0x0200
#define RUBY_EVENT_THREAD_BEGIN      0x0400
#define RUBY_EVENT_THREAD_END        0x0800
#define RUBY_EVENT_FIBER_SWITCH      0x1000
#define RUBY_EVENT_TRACEPOINT_ALL    0xffff

/* special events */
#define RUBY_EVENT_RESERVED_FOR_INTERNAL_USE 0x030000

/* internal events */
#define RUBY_INTERNAL_EVENT_SWITCH          0x040000
#define RUBY_EVENT_SWITCH                   0x040000 /* obsolete name. this macro is for compatibility */
                                         /* 0x080000 */
#define RUBY_INTERNAL_EVENT_NEWOBJ          0x100000
#define RUBY_INTERNAL_EVENT_FREEOBJ         0x200000
#define RUBY_INTERNAL_EVENT_GC_START        0x400000
#define RUBY_INTERNAL_EVENT_GC_END_MARK     0x800000
#define RUBY_INTERNAL_EVENT_GC_END_SWEEP   0x1000000
#define RUBY_INTERNAL_EVENT_GC_ENTER       0x2000000
#define RUBY_INTERNAL_EVENT_GC_EXIT        0x4000000
#define RUBY_INTERNAL_EVENT_OBJSPACE_MASK  0x7f00000
#define RUBY_INTERNAL_EVENT_MASK          0xffff0000

typedef uint32_t rb_event_flag_t;
typedef void (*rb_event_hook_func_t)(rb_event_flag_t evflag, VALUE data, VALUE self, ID mid, VALUE klass);

#define RB_EVENT_HOOKS_HAVE_CALLBACK_DATA 1
void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data);
int rb_remove_event_hook(rb_event_hook_func_t func);

/* locale insensitive functions */

static inline int rb_isascii(int c){ return '\0' <= c && c <= '\x7f'; }
static inline int rb_isupper(int c){ return 'A' <= c && c <= 'Z'; }
static inline int rb_islower(int c){ return 'a' <= c && c <= 'z'; }
static inline int rb_isalpha(int c){ return rb_isupper(c) || rb_islower(c); }
static inline int rb_isdigit(int c){ return '0' <= c && c <= '9'; }
static inline int rb_isalnum(int c){ return rb_isalpha(c) || rb_isdigit(c); }
static inline int rb_isxdigit(int c){ return rb_isdigit(c) || ('A' <= c && c <= 'F') || ('a' <= c && c <= 'f'); }
static inline int rb_isblank(int c){ return c == ' ' || c == '\t'; }
static inline int rb_isspace(int c){ return c == ' ' || ('\t' <= c && c <= '\r'); }
static inline int rb_iscntrl(int c){ return ('\0' <= c && c < ' ') || c == '\x7f'; }
static inline int rb_isprint(int c){ return ' ' <= c && c <= '\x7e'; }
static inline int rb_ispunct(int c){ return !rb_isalnum(c); }
static inline int rb_isgraph(int c){ return '!' <= c && c <= '\x7e'; }
static inline int rb_tolower(int c) { return rb_isupper(c) ? (c|0x20) : c; }
static inline int rb_toupper(int c) { return rb_islower(c) ? (c&0x5f) : c; }

#ifndef ISPRINT
#define ISASCII(c) rb_isascii(c)
#define ISPRINT(c) rb_isprint(c)
#define ISGRAPH(c) rb_isgraph(c)
#define ISSPACE(c) rb_isspace(c)
#define ISUPPER(c) rb_isupper(c)
#define ISLOWER(c) rb_islower(c)
#define ISALNUM(c) rb_isalnum(c)
#define ISALPHA(c) rb_isalpha(c)
#define ISDIGIT(c) rb_isdigit(c)
#define ISXDIGIT(c) rb_isxdigit(c)
#endif
#define TOUPPER(c) rb_toupper(c)
#define TOLOWER(c) rb_tolower(c)

int st_locale_insensitive_strcasecmp(const char *s1, const char *s2);
int st_locale_insensitive_strncasecmp(const char *s1, const char *s2, size_t n);
#define STRCASECMP(s1, s2) (st_locale_insensitive_strcasecmp((s1), (s2)))
#define STRNCASECMP(s1, s2, n) (st_locale_insensitive_strncasecmp((s1), (s2), (n)))

unsigned long ruby_strtoul(const char *str, char **endptr, int base);
#define STRTOUL(str, endptr, base) (ruby_strtoul((str), (endptr), (base)))

#define InitVM(ext) {void InitVM_##ext(void);InitVM_##ext();}

PRINTF_ARGS(int ruby_snprintf(char *str, size_t n, char const *fmt, ...), 3, 4);
int ruby_vsnprintf(char *str, size_t n, char const *fmt, va_list ap);

#if defined(HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P) && defined(__OPTIMIZE__)
# define rb_scan_args(argc,argvp,fmt,...) \
    __builtin_choose_expr(__builtin_constant_p(fmt), \
        rb_scan_args0(argc,argvp,fmt,\
		      (sizeof((VALUE*[]){__VA_ARGS__})/sizeof(VALUE*)), \
		      ((VALUE*[]){__VA_ARGS__})), \
        rb_scan_args(argc,argvp,fmt,__VA_ARGS__))
# if HAVE_ATTRIBUTE_ERRORFUNC
ERRORFUNC(("bad scan arg format"), int rb_scan_args_bad_format(const char*));
ERRORFUNC(("variable argument length doesn't match"), int rb_scan_args_length_mismatch(const char*,int));
# else
#   define rb_scan_args_bad_format(fmt) 0
#   define rb_scan_args_length_mismatch(fmt, varc) 0
# endif

# define rb_scan_args_isdigit(c) ((unsigned char)((c)-'0')<10)

# define rb_scan_args_count_end(fmt, ofs, varc, vari) \
    ((vari)/(!fmt[ofs] || rb_scan_args_bad_format(fmt)))

# define rb_scan_args_count_block(fmt, ofs, varc, vari) \
    (fmt[ofs]!='&' ? \
     rb_scan_args_count_end(fmt, ofs, varc, vari) : \
     rb_scan_args_count_end(fmt, ofs+1, varc, vari+1))

# define rb_scan_args_count_hash(fmt, ofs, varc, vari) \
    (fmt[ofs]!=':' ? \
     rb_scan_args_count_block(fmt, ofs, varc, vari) : \
     rb_scan_args_count_block(fmt, ofs+1, varc, vari+1))

# define rb_scan_args_count_trail(fmt, ofs, varc, vari) \
    (!rb_scan_args_isdigit(fmt[ofs]) ? \
     rb_scan_args_count_hash(fmt, ofs, varc, vari) : \
     rb_scan_args_count_hash(fmt, ofs+1, varc, vari+(fmt[ofs]-'0')))

# define rb_scan_args_count_var(fmt, ofs, varc, vari) \
    (fmt[ofs]!='*' ? \
     rb_scan_args_count_trail(fmt, ofs, varc, vari) : \
     rb_scan_args_count_trail(fmt, ofs+1, varc, vari+1))

# define rb_scan_args_count_opt(fmt, ofs, varc, vari) \
    (!rb_scan_args_isdigit(fmt[1]) ? \
     rb_scan_args_count_var(fmt, ofs, varc, vari) : \
     rb_scan_args_count_var(fmt, ofs+1, varc, vari+fmt[ofs]-'0'))

# define rb_scan_args_count(fmt, varc) \
    ((!rb_scan_args_isdigit(fmt[0]) ? \
      rb_scan_args_count_var(fmt, 0, varc, 0) : \
      rb_scan_args_count_opt(fmt, 1, varc, fmt[0]-'0')) \
     == (varc) || \
     rb_scan_args_length_mismatch(fmt, varc))

# define rb_scan_args_verify_count(fmt, varc) \
    ((varc)/(rb_scan_args_count(fmt, varc)))

# ifdef __GNUC__
# define rb_scan_args_verify(fmt, varc) \
    ({ \
	int verify; \
	_Pragma("GCC diagnostic push"); \
	_Pragma("GCC diagnostic ignored \"-Warray-bounds\""); \
	verify = rb_scan_args_verify_count(fmt, varc); \
	_Pragma("GCC diagnostic pop"); \
	verify; \
    })
# else
# define rb_scan_args_verify(fmt, varc) \
    rb_scan_args_verify_count(fmt, varc)
# endif

ALWAYS_INLINE(static int rb_scan_args_lead_p(const char *fmt));
static inline int
rb_scan_args_lead_p(const char *fmt)
{
    return rb_scan_args_isdigit(fmt[0]);
}

ALWAYS_INLINE(static int rb_scan_args_n_lead(const char *fmt));
static inline int
rb_scan_args_n_lead(const char *fmt)
{
    return (rb_scan_args_lead_p(fmt) ? fmt[0]-'0' : 0);
}

ALWAYS_INLINE(static int rb_scan_args_opt_p(const char *fmt));
static inline int
rb_scan_args_opt_p(const char *fmt)
{
    return (rb_scan_args_lead_p(fmt) && rb_scan_args_isdigit(fmt[1]));
}

ALWAYS_INLINE(static int rb_scan_args_n_opt(const char *fmt));
static inline int
rb_scan_args_n_opt(const char *fmt)
{
    return (rb_scan_args_opt_p(fmt) ? fmt[1]-'0' : 0);
}

ALWAYS_INLINE(static int rb_scan_args_var_idx(const char *fmt));
static inline int
rb_scan_args_var_idx(const char *fmt)
{
    return (!rb_scan_args_lead_p(fmt) ? 0 : !rb_scan_args_isdigit(fmt[1]) ? 1 : 2);
}

ALWAYS_INLINE(static int rb_scan_args_f_var(const char *fmt));
static inline int
rb_scan_args_f_var(const char *fmt)
{
    return (fmt[rb_scan_args_var_idx(fmt)]=='*');
}

ALWAYS_INLINE(static int rb_scan_args_trail_idx(const char *fmt));
static inline int
rb_scan_args_trail_idx(const char *fmt)
{
    const int idx = rb_scan_args_var_idx(fmt);
    return idx+(fmt[idx]=='*');
}

ALWAYS_INLINE(static int rb_scan_args_n_trail(const char *fmt));
static inline int
rb_scan_args_n_trail(const char *fmt)
{
    const int idx = rb_scan_args_trail_idx(fmt);
    return (rb_scan_args_isdigit(fmt[idx]) ? fmt[idx]-'0' : 0);
}

ALWAYS_INLINE(static int rb_scan_args_hash_idx(const char *fmt));
static inline int
rb_scan_args_hash_idx(const char *fmt)
{
    const int idx = rb_scan_args_trail_idx(fmt);
    return idx+rb_scan_args_isdigit(fmt[idx]);
}

ALWAYS_INLINE(static int rb_scan_args_f_hash(const char *fmt));
static inline int
rb_scan_args_f_hash(const char *fmt)
{
    return (fmt[rb_scan_args_hash_idx(fmt)]==':');
}

ALWAYS_INLINE(static int rb_scan_args_block_idx(const char *fmt));
static inline int
rb_scan_args_block_idx(const char *fmt)
{
    const int idx = rb_scan_args_hash_idx(fmt);
    return idx+(fmt[idx]==':');
}

ALWAYS_INLINE(static int rb_scan_args_f_block(const char *fmt));
static inline int
rb_scan_args_f_block(const char *fmt)
{
    return (fmt[rb_scan_args_block_idx(fmt)]=='&');
}

# if 0
ALWAYS_INLINE(static int rb_scan_args_end_idx(const char *fmt));
static inline int
rb_scan_args_end_idx(const char *fmt)
{
    const int idx = rb_scan_args_block_idx(fmt);
    return idx+(fmt[idx]=='&');
}
# endif

# define rb_scan_args0(argc, argv, fmt, varc, vars) \
    rb_scan_args_set(argc, argv, \
		     rb_scan_args_n_lead(fmt), \
		     rb_scan_args_n_opt(fmt), \
		     rb_scan_args_n_trail(fmt), \
		     rb_scan_args_f_var(fmt), \
		     rb_scan_args_f_hash(fmt), \
		     rb_scan_args_f_block(fmt), \
		     (rb_scan_args_verify(fmt, varc), vars))
ALWAYS_INLINE(static int
rb_scan_args_set(int argc, const VALUE *argv,
		 int n_lead, int n_opt, int n_trail,
		 int f_var, int f_hash, int f_block,
		 VALUE *vars[]));
inline int
rb_scan_args_set(int argc, const VALUE *argv,
		 int n_lead, int n_opt, int n_trail,
		 int f_var, int f_hash, int f_block,
		 VALUE *vars[])
{
    int i, argi = 0, vari = 0, last_idx = -1;
    VALUE *var, hash = Qnil, last_hash = 0;
    const int n_mand = n_lead + n_trail;

    /* capture an option hash - phase 1: pop */
    if (f_hash && n_mand < argc) {
	VALUE last = argv[argc - 1];

	if (RB_NIL_P(last)) {
	    /* nil is taken as an empty option hash only if it is not
	       ambiguous; i.e. '*' is not specified and arguments are
	       given more than sufficient */
	    if (!f_var && n_mand + n_opt < argc)
		argc--;
	}
	else {
	    hash = rb_check_hash_type(last);
	    if (!RB_NIL_P(hash)) {
		VALUE opts = rb_extract_keywords(&hash);
		if (!(last_hash = hash)) argc--;
		else last_idx = argc - 1;
		hash = opts ? opts : Qnil;
	    }
	}
    }

    rb_check_arity(argc, n_mand, f_var ? UNLIMITED_ARGUMENTS : n_mand + n_opt);

    /* capture leading mandatory arguments */
    for (i = n_lead; i-- > 0; ) {
	var = vars[vari++];
	if (var) *var = (argi == last_idx) ? last_hash : argv[argi];
	argi++;
    }
    /* capture optional arguments */
    for (i = n_opt; i-- > 0; ) {
	var = vars[vari++];
	if (argi < argc - n_trail) {
	    if (var) *var = (argi == last_idx) ? last_hash : argv[argi];
	    argi++;
	}
	else {
	    if (var) *var = Qnil;
	}
    }
    /* capture variable length arguments */
    if (f_var) {
	int n_var = argc - argi - n_trail;

	var = vars[vari++];
	if (0 < n_var) {
	    if (var) {
		int f_last = (last_idx + 1 == argc - n_trail);
		*var = rb_ary_new4(n_var-f_last, &argv[argi]);
		if (f_last) rb_ary_push(*var, last_hash);
	    }
	    argi += n_var;
	}
	else {
	    if (var) *var = rb_ary_new();
	}
    }
    /* capture trailing mandatory arguments */
    for (i = n_trail; i-- > 0; ) {
	var = vars[vari++];
	if (var) *var = (argi == last_idx) ? last_hash : argv[argi];
	argi++;
    }
    /* capture an option hash - phase 2: assignment */
    if (f_hash) {
	var = vars[vari++];
	if (var) *var = hash;
    }
    /* capture iterator block */
    if (f_block) {
	var = vars[vari++];
	if (rb_block_given_p()) {
	    *var = rb_block_proc();
	}
	else {
	    *var = Qnil;
	}
    }

    return argc;
}
#endif

#if defined(__GNUC__) && defined(__OPTIMIZE__)
# define rb_yield_values(argc, ...) \
__extension__({ \
	const int rb_yield_values_argc = (argc); \
	const VALUE rb_yield_values_args[] = {__VA_ARGS__}; \
	const int rb_yield_values_nargs = \
	    (int)(sizeof(rb_yield_values_args) / sizeof(VALUE)); \
	rb_yield_values2( \
	    rb_varargs_argc_check(rb_yield_values_argc, rb_yield_values_nargs), \
	    rb_yield_values_nargs ? rb_yield_values_args : NULL); \
    })

# define rb_funcall(recv, mid, argc, ...) \
__extension__({ \
	const int rb_funcall_argc = (argc); \
	const VALUE rb_funcall_args[] = {__VA_ARGS__}; \
	const int rb_funcall_nargs = \
	    (int)(sizeof(rb_funcall_args) / sizeof(VALUE)); \
	rb_funcallv(recv, mid, \
	    rb_varargs_argc_check(rb_funcall_argc, rb_funcall_nargs), \
	    rb_funcall_nargs ? rb_funcall_args : NULL); \
    })
#endif

#ifndef RUBY_DONT_SUBST
#include "ruby/subst.h"
#endif

/**
 * @defgroup embed CRuby Embedding APIs
 * CRuby interpreter APIs. These are APIs to embed MRI interpreter into your
 * program.
 * These functions are not a part of Ruby extension library API.
 * Extension libraries of Ruby should not depend on these functions.
 * @{
 */

/** @defgroup ruby1 ruby(1) implementation
 * A part of the implementation of ruby(1) command.
 * Other programs that embed Ruby interpreter do not always need to use these
 * functions.
 * @{
 */

void ruby_sysinit(int *argc, char ***argv);
void ruby_init(void);
void* ruby_options(int argc, char** argv);
int ruby_executable_node(void *n, int *status);
int ruby_run_node(void *n);

/* version.c */
void ruby_show_version(void);
void ruby_show_copyright(void);


/*! A convenience macro to call ruby_init_stack(). Must be placed just after
 *  variable declarations */
#define RUBY_INIT_STACK \
    VALUE variable_in_this_stack_frame; \
    ruby_init_stack(&variable_in_this_stack_frame);
/*! @} */

#ifdef __ia64
void ruby_init_stack(volatile VALUE*, void*);
#define ruby_init_stack(addr) ruby_init_stack((addr), rb_ia64_bsp())
#else
void ruby_init_stack(volatile VALUE*);
#endif
#define Init_stack(addr) ruby_init_stack(addr)

int ruby_setup(void);
int ruby_cleanup(volatile int);

void ruby_finalize(void);
NORETURN(void ruby_stop(int));

void ruby_set_stack_size(size_t);
int ruby_stack_check(void);
size_t ruby_stack_length(VALUE**);

int ruby_exec_node(void *n);

void ruby_script(const char* name);
void ruby_set_script_name(VALUE name);

void ruby_prog_init(void);
void ruby_set_argv(int, char**);
void *ruby_process_options(int, char**);
void ruby_init_loadpath(void);
void ruby_incpush(const char*);
void ruby_sig_finalize(void);

/*! @} */

#if !defined RUBY_EXPORT && !defined RUBY_NO_OLD_COMPATIBILITY
# include "ruby/backward.h"
#endif

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif
#endif /* RUBY_RUBY_H */
#ifndef RUBY_RUBY_BACKWARD_H
#define RUBY_RUBY_BACKWARD_H 1

#define RClass RClassDeprecated
#ifndef __cplusplus
DEPRECATED_TYPE(("RClass is internal use only"),
struct RClass {
    struct RBasic basic;
});
#endif

#define DECLARE_DEPRECATED_FEATURE(ver, func) \
    NORETURN(ERRORFUNC(("deprecated since "#ver), DEPRECATED(void func(void))))

/* complex.c */
DECLARE_DEPRECATED_FEATURE(2.2, rb_complex_set_real);
DECLARE_DEPRECATED_FEATURE(2.2, rb_complex_set_imag);

/* eval.c */
DECLARE_DEPRECATED_FEATURE(2.2, rb_disable_super);
DECLARE_DEPRECATED_FEATURE(2.2, rb_enable_super);

/* hash.c */
DECLARE_DEPRECATED_FEATURE(2.2, rb_hash_iter_lev);
DECLARE_DEPRECATED_FEATURE(2.2, rb_hash_ifnone);

/* string.c */
DECLARE_DEPRECATED_FEATURE(2.2, rb_str_associate);
DECLARE_DEPRECATED_FEATURE(2.2, rb_str_associated);

/* variable.c */
DEPRECATED(void rb_autoload(VALUE, ID, const char*));

/* vm.c */
DECLARE_DEPRECATED_FEATURE(2.2, rb_clear_cache);
DECLARE_DEPRECATED_FEATURE(2.2, rb_frame_pop);

#define DECLARE_DEPRECATED_INTERNAL_FEATURE(func) \
    NORETURN(ERRORFUNC(("deprecated internal function"), DEPRECATED(void func(void))))

/* error.c */
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_compile_error);
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_compile_error_with_enc);
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_compile_error_append);

/* struct.c */
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_struct_ptr);

/* variable.c */
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_generic_ivar_table);

/* vm.c */
DEPRECATED(int rb_frame_method_id_and_class(ID *idp, VALUE *klassp));

/* from version.c */
#ifndef RUBY_SHOW_COPYRIGHT_TO_DIE
# define RUBY_SHOW_COPYRIGHT_TO_DIE 1
#endif
#if RUBY_SHOW_COPYRIGHT_TO_DIE
/* for source code backward compatibility */
DEPRECATED(static inline int ruby_show_copyright_to_die(int));
static inline int
ruby_show_copyright_to_die(int exitcode)
{
    ruby_show_copyright();
    return exitcode;
}
#define ruby_show_copyright() /* defer EXIT_SUCCESS */ \
    (exit(ruby_show_copyright_to_die(EXIT_SUCCESS)))
#endif

#endif /* RUBY_RUBY_BACKWARD_H */
/**********************************************************************

  ruby/vm.h -

  $Author: nobu $
  created at: Sat May 31 15:17:36 2008

  Copyright (C) 2008 Yukihiro Matsumoto

**********************************************************************/

#ifndef RUBY_VM_H
#define RUBY_VM_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

RUBY_SYMBOL_EXPORT_BEGIN

/* Place holder.
 *
 * We will prepare VM creation/control APIs on 1.9.2 or later.
 * If you have an interest about it, please see mvm branch.
 * http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/mvm/
 */

/* VM type declaration */
typedef struct rb_vm_struct ruby_vm_t;

/* core API */
int ruby_vm_destruct(ruby_vm_t *vm);

/**
 * ruby_vm_at_exit registers a function _func_ to be invoked when a VM
 * passed away.  Functions registered this way runs in reverse order
 * of registration, just like END {} block does.  The difference is
 * its timing to be triggered. ruby_vm_at_exit functions runs when a
 * VM _passed_ _away_, while END {} blocks runs just _before_ a VM
 * _is_ _passing_ _away_.
 *
 * You cannot register a function to another VM than where you are in.
 * So where to register is intuitive, omitted.  OTOH the argument
 * _func_ cannot know which VM it is in because at the time of
 * invocation, the VM has already died and there is no execution
 * context.  The VM itself is passed as the first argument to it.
 *
 * @param[in] func the function to register.
 */
void ruby_vm_at_exit(void(*func)(ruby_vm_t *));

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* RUBY_VM_H */
/**********************************************************************

  rubyio.h -

  $Author: naruse $
  created at: Fri Nov 12 16:47:09 JST 1993

  Copyright (C) 1993-2007 Yukihiro Matsumoto

**********************************************************************/

#ifndef RUBY_IO_H
#define RUBY_IO_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

#include <stdio.h>
#include <errno.h>
#include "ruby/encoding.h"

#if defined(HAVE_STDIO_EXT_H)
#include <stdio_ext.h>
#endif

#include "ruby/config.h"
#if defined(HAVE_POLL)
#  ifdef _AIX
#    define reqevents events
#    define rtnevents revents
#  endif
#  include <poll.h>
#  ifdef _AIX
#    undef reqevents
#    undef rtnevents
#    undef events
#    undef revents
#  endif
#  define RB_WAITFD_IN  POLLIN
#  define RB_WAITFD_PRI POLLPRI
#  define RB_WAITFD_OUT POLLOUT
#else
#  define RB_WAITFD_IN  0x001
#  define RB_WAITFD_PRI 0x002
#  define RB_WAITFD_OUT 0x004
#endif

RUBY_SYMBOL_EXPORT_BEGIN

PACKED_STRUCT_UNALIGNED(struct rb_io_buffer_t {
    char *ptr;                  /* off + len <= capa */
    int off;
    int len;
    int capa;
});
typedef struct rb_io_buffer_t rb_io_buffer_t;

typedef struct rb_io_t {
    FILE *stdio_file;		/* stdio ptr for read/write if available */
    int fd;                     /* file descriptor */
    int mode;			/* mode flags: FMODE_XXXs */
    rb_pid_t pid;		/* child's pid (for pipes) */
    int lineno;			/* number of lines read */
    VALUE pathv;		/* pathname for file */
    void (*finalize)(struct rb_io_t*,int); /* finalize proc */

    rb_io_buffer_t wbuf, rbuf;

    VALUE tied_io_for_writing;

    /*
     * enc  enc2 read action                      write action
     * NULL NULL force_encoding(default_external) write the byte sequence of str
     * e1   NULL force_encoding(e1)               convert str.encoding to e1
     * e1   e2   convert from e2 to e1            convert str.encoding to e2
     */
    struct rb_io_enc_t {
        rb_encoding *enc;
        rb_encoding *enc2;
        int ecflags;
        VALUE ecopts;
    } encs;

    rb_econv_t *readconv;
    rb_io_buffer_t cbuf;

    rb_econv_t *writeconv;
    VALUE writeconv_asciicompat;
    int writeconv_initialized;
    int writeconv_pre_ecflags;
    VALUE writeconv_pre_ecopts;

    VALUE write_lock;
} rb_io_t;

#define HAVE_RB_IO_T 1

#define FMODE_READABLE              0x00000001
#define FMODE_WRITABLE              0x00000002
#define FMODE_READWRITE             (FMODE_READABLE|FMODE_WRITABLE)
#define FMODE_BINMODE               0x00000004
#define FMODE_SYNC                  0x00000008
#define FMODE_TTY                   0x00000010
#define FMODE_DUPLEX                0x00000020
#define FMODE_APPEND                0x00000040
#define FMODE_CREATE                0x00000080
/* #define FMODE_NOREVLOOKUP        0x00000100 */
#define FMODE_TRUNC                 0x00000800
#define FMODE_TEXTMODE              0x00001000
/* #define FMODE_PREP               0x00010000 */
#define FMODE_SETENC_BY_BOM         0x00100000
/* #define FMODE_UNIX                  0x00200000 */
/* #define FMODE_INET                  0x00400000 */
/* #define FMODE_INET6                 0x00800000 */

#define GetOpenFile(obj,fp) rb_io_check_closed((fp) = RFILE(rb_io_taint_check(obj))->fptr)

#define MakeOpenFile(obj, fp) do {\
    (fp) = rb_io_make_open_file(obj);\
} while (0)

rb_io_t *rb_io_make_open_file(VALUE obj);

FILE *rb_io_stdio_file(rb_io_t *fptr);

FILE *rb_fdopen(int, const char*);
int rb_io_modestr_fmode(const char *modestr);
int rb_io_modestr_oflags(const char *modestr);
CONSTFUNC(int rb_io_oflags_fmode(int oflags));
void rb_io_check_writable(rb_io_t*);
void rb_io_check_readable(rb_io_t*);
void rb_io_check_char_readable(rb_io_t *fptr);
void rb_io_check_byte_readable(rb_io_t *fptr);
int rb_io_fptr_finalize(rb_io_t*);
void rb_io_synchronized(rb_io_t*);
void rb_io_check_initialized(rb_io_t*);
void rb_io_check_closed(rb_io_t*);
VALUE rb_io_get_io(VALUE io);
VALUE rb_io_check_io(VALUE io);
VALUE rb_io_get_write_io(VALUE io);
VALUE rb_io_set_write_io(VALUE io, VALUE w);
int rb_io_wait_readable(int);
int rb_io_wait_writable(int);
int rb_wait_for_single_fd(int fd, int events, struct timeval *tv);
void rb_io_set_nonblock(rb_io_t *fptr);
int rb_io_extract_encoding_option(VALUE opt, rb_encoding **enc_p, rb_encoding **enc2_p, int *fmode_p);
ssize_t rb_io_bufwrite(VALUE io, const void *buf, size_t size);

/* compatibility for ruby 1.8 and older */
#define rb_io_mode_flags(modestr) [<"rb_io_mode_flags() is obsolete; use rb_io_modestr_fmode()">]
#define rb_io_modenum_flags(oflags) [<"rb_io_modenum_flags() is obsolete; use rb_io_oflags_fmode()">]

VALUE rb_io_taint_check(VALUE);
NORETURN(void rb_eof_error(void));

void rb_io_read_check(rb_io_t*);
int rb_io_read_pending(rb_io_t*);

struct stat;
VALUE rb_stat_new(const struct stat *);

/* gc.c */

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* RUBY_IO_H */
/**********************************************************************

  intern.h -

  $Author: naruse $
  created at: Thu Jun 10 14:22:17 JST 1993

  Copyright (C) 1993-2007 Yukihiro Matsumoto
  Copyright (C) 2000  Network Applied Communication Laboratory, Inc.
  Copyright (C) 2000  Information-technology Promotion Agency, Japan

**********************************************************************/

#ifndef RUBY_INTERN_H
#define RUBY_INTERN_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

#include "ruby/defines.h"
#ifdef RUBY_EXTCONF_H
#include RUBY_EXTCONF_H
#endif

#ifdef HAVE_STDARG_PROTOTYPES
# include <stdarg.h>
#else
# include <varargs.h>
#endif

#include "ruby/st.h"

RUBY_SYMBOL_EXPORT_BEGIN

/*
 * Functions and variables that are used by more than one source file of
 * the kernel.
 */

#define UNLIMITED_ARGUMENTS (-1)

/* array.c */
void rb_mem_clear(register VALUE*, register long);
VALUE rb_assoc_new(VALUE, VALUE);
VALUE rb_check_array_type(VALUE);
VALUE rb_ary_new(void);
VALUE rb_ary_new_capa(long capa);
VALUE rb_ary_new_from_args(long n, ...);
VALUE rb_ary_new_from_values(long n, const VALUE *elts);
VALUE rb_ary_tmp_new(long);
void rb_ary_free(VALUE);
void rb_ary_modify(VALUE);
VALUE rb_ary_freeze(VALUE);
VALUE rb_ary_shared_with_p(VALUE, VALUE);
VALUE rb_ary_aref(int, const VALUE*, VALUE);
VALUE rb_ary_subseq(VALUE, long, long);
void rb_ary_store(VALUE, long, VALUE);
VALUE rb_ary_dup(VALUE);
VALUE rb_ary_resurrect(VALUE ary);
VALUE rb_ary_to_ary(VALUE);
VALUE rb_ary_to_s(VALUE);
VALUE rb_ary_cat(VALUE, const VALUE *, long);
VALUE rb_ary_push(VALUE, VALUE);
VALUE rb_ary_pop(VALUE);
VALUE rb_ary_shift(VALUE);
VALUE rb_ary_unshift(VALUE, VALUE);
VALUE rb_ary_entry(VALUE, long);
VALUE rb_ary_each(VALUE);
VALUE rb_ary_join(VALUE, VALUE);
VALUE rb_ary_reverse(VALUE);
VALUE rb_ary_rotate(VALUE, long);
VALUE rb_ary_sort(VALUE);
VALUE rb_ary_sort_bang(VALUE);
VALUE rb_ary_delete(VALUE, VALUE);
VALUE rb_ary_delete_at(VALUE, long);
VALUE rb_ary_clear(VALUE);
VALUE rb_ary_plus(VALUE, VALUE);
VALUE rb_ary_concat(VALUE, VALUE);
VALUE rb_ary_assoc(VALUE, VALUE);
VALUE rb_ary_rassoc(VALUE, VALUE);
VALUE rb_ary_includes(VALUE, VALUE);
VALUE rb_ary_cmp(VALUE, VALUE);
VALUE rb_ary_replace(VALUE copy, VALUE orig);
VALUE rb_get_values_at(VALUE, long, int, const VALUE*, VALUE(*)(VALUE,long));
VALUE rb_ary_resize(VALUE ary, long len);
#define rb_ary_new2 rb_ary_new_capa
#define rb_ary_new3 rb_ary_new_from_args
#define rb_ary_new4 rb_ary_new_from_values
/* bignum.c */
VALUE rb_big_new(size_t, int);
int rb_bigzero_p(VALUE x);
VALUE rb_big_clone(VALUE);
void rb_big_2comp(VALUE);
VALUE rb_big_norm(VALUE);
void rb_big_resize(VALUE big, size_t len);
VALUE rb_cstr_to_inum(const char*, int, int);
VALUE rb_str_to_inum(VALUE, int, int);
VALUE rb_cstr2inum(const char*, int);
VALUE rb_str2inum(VALUE, int);
VALUE rb_big2str(VALUE, int);
long rb_big2long(VALUE);
#define rb_big2int(x) rb_big2long(x)
unsigned long rb_big2ulong(VALUE);
#define rb_big2uint(x) rb_big2ulong(x)
#if HAVE_LONG_LONG
LONG_LONG rb_big2ll(VALUE);
unsigned LONG_LONG rb_big2ull(VALUE);
#endif  /* HAVE_LONG_LONG */
void rb_big_pack(VALUE val, unsigned long *buf, long num_longs);
VALUE rb_big_unpack(unsigned long *buf, long num_longs);
int rb_uv_to_utf8(char[6],unsigned long);
VALUE rb_dbl2big(double);
double rb_big2dbl(VALUE);
VALUE rb_big_cmp(VALUE, VALUE);
VALUE rb_big_eq(VALUE, VALUE);
VALUE rb_big_eql(VALUE, VALUE);
VALUE rb_big_plus(VALUE, VALUE);
VALUE rb_big_minus(VALUE, VALUE);
VALUE rb_big_mul(VALUE, VALUE);
VALUE rb_big_div(VALUE, VALUE);
VALUE rb_big_idiv(VALUE, VALUE);
VALUE rb_big_modulo(VALUE, VALUE);
VALUE rb_big_divmod(VALUE, VALUE);
VALUE rb_big_pow(VALUE, VALUE);
VALUE rb_big_and(VALUE, VALUE);
VALUE rb_big_or(VALUE, VALUE);
VALUE rb_big_xor(VALUE, VALUE);
VALUE rb_big_lshift(VALUE, VALUE);
VALUE rb_big_rshift(VALUE, VALUE);

/* For rb_integer_pack and rb_integer_unpack: */
/* "MS" in MSWORD and MSBYTE means "most significant" */
/* "LS" in LSWORD and LSBYTE means "least significant" */
#define INTEGER_PACK_MSWORD_FIRST       0x01
#define INTEGER_PACK_LSWORD_FIRST       0x02
#define INTEGER_PACK_MSBYTE_FIRST       0x10
#define INTEGER_PACK_LSBYTE_FIRST       0x20
#define INTEGER_PACK_NATIVE_BYTE_ORDER  0x40
#define INTEGER_PACK_2COMP              0x80
#define INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION     0x400
/* For rb_integer_unpack: */
#define INTEGER_PACK_FORCE_BIGNUM       0x100
#define INTEGER_PACK_NEGATIVE           0x200
/* Combinations: */
#define INTEGER_PACK_LITTLE_ENDIAN \
    (INTEGER_PACK_LSWORD_FIRST | \
     INTEGER_PACK_LSBYTE_FIRST)
#define INTEGER_PACK_BIG_ENDIAN \
    (INTEGER_PACK_MSWORD_FIRST | \
     INTEGER_PACK_MSBYTE_FIRST)
int rb_integer_pack(VALUE val, void *words, size_t numwords, size_t wordsize, size_t nails, int flags);
VALUE rb_integer_unpack(const void *words, size_t numwords, size_t wordsize, size_t nails, int flags);
size_t rb_absint_size(VALUE val, int *nlz_bits_ret);
size_t rb_absint_numwords(VALUE val, size_t word_numbits, size_t *nlz_bits_ret);
int rb_absint_singlebit_p(VALUE val);

/* rational.c */
VALUE rb_rational_raw(VALUE, VALUE);
#define rb_rational_raw1(x) rb_rational_raw((x), INT2FIX(1))
#define rb_rational_raw2(x,y) rb_rational_raw((x), (y))
VALUE rb_rational_new(VALUE, VALUE);
#define rb_rational_new1(x) rb_rational_new((x), INT2FIX(1))
#define rb_rational_new2(x,y) rb_rational_new((x), (y))
VALUE rb_Rational(VALUE, VALUE);
#define rb_Rational1(x) rb_Rational((x), INT2FIX(1))
#define rb_Rational2(x,y) rb_Rational((x), (y))
VALUE rb_rational_num(VALUE rat);
VALUE rb_rational_den(VALUE rat);
VALUE rb_flt_rationalize_with_prec(VALUE, VALUE);
VALUE rb_flt_rationalize(VALUE);
/* complex.c */
VALUE rb_complex_raw(VALUE, VALUE);
#define rb_complex_raw1(x) rb_complex_raw((x), INT2FIX(0))
#define rb_complex_raw2(x,y) rb_complex_raw((x), (y))
VALUE rb_complex_new(VALUE, VALUE);
#define rb_complex_new1(x) rb_complex_new((x), INT2FIX(0))
#define rb_complex_new2(x,y) rb_complex_new((x), (y))
VALUE rb_complex_polar(VALUE, VALUE);
VALUE rb_Complex(VALUE, VALUE);
#define rb_Complex1(x) rb_Complex((x), INT2FIX(0))
#define rb_Complex2(x,y) rb_Complex((x), (y))
/* class.c */
VALUE rb_class_new(VALUE);
VALUE rb_mod_init_copy(VALUE, VALUE);
VALUE rb_singleton_class_clone(VALUE);
void rb_singleton_class_attached(VALUE,VALUE);
void rb_check_inheritable(VALUE);
VALUE rb_define_class_id(ID, VALUE);
VALUE rb_define_class_id_under(VALUE, ID, VALUE);
VALUE rb_module_new(void);
VALUE rb_define_module_id(ID);
VALUE rb_define_module_id_under(VALUE, ID);
VALUE rb_mod_included_modules(VALUE);
VALUE rb_mod_include_p(VALUE, VALUE);
VALUE rb_mod_ancestors(VALUE);
VALUE rb_class_instance_methods(int, const VALUE*, VALUE);
VALUE rb_class_public_instance_methods(int, const VALUE*, VALUE);
VALUE rb_class_protected_instance_methods(int, const VALUE*, VALUE);
VALUE rb_class_private_instance_methods(int, const VALUE*, VALUE);
VALUE rb_obj_singleton_methods(int, const VALUE*, VALUE);
void rb_define_method_id(VALUE, ID, VALUE (*)(ANYARGS), int);
void rb_frozen_class_p(VALUE);
void rb_undef(VALUE, ID);
void rb_define_protected_method(VALUE, const char*, VALUE (*)(ANYARGS), int);
void rb_define_private_method(VALUE, const char*, VALUE (*)(ANYARGS), int);
void rb_define_singleton_method(VALUE, const char*, VALUE(*)(ANYARGS), int);
VALUE rb_singleton_class(VALUE);
/* compar.c */
int rb_cmpint(VALUE, VALUE, VALUE);
NORETURN(void rb_cmperr(VALUE, VALUE));
/* cont.c */
VALUE rb_fiber_new(VALUE (*)(ANYARGS), VALUE);
VALUE rb_fiber_resume(VALUE fib, int argc, const VALUE *argv);
VALUE rb_fiber_yield(int argc, const VALUE *argv);
VALUE rb_fiber_current(void);
VALUE rb_fiber_alive_p(VALUE);
/* enum.c */
VALUE rb_enum_values_pack(int, const VALUE*);
/* enumerator.c */
VALUE rb_enumeratorize(VALUE, VALUE, int, const VALUE *);
typedef VALUE rb_enumerator_size_func(VALUE, VALUE, VALUE);
VALUE rb_enumeratorize_with_size(VALUE, VALUE, int, const VALUE *, rb_enumerator_size_func *);
#ifndef RUBY_EXPORT
#define rb_enumeratorize_with_size(obj, id, argc, argv, size_fn) \
    rb_enumeratorize_with_size(obj, id, argc, argv, (rb_enumerator_size_func *)(size_fn))
#endif
#define SIZED_ENUMERATOR(obj, argc, argv, size_fn) \
    rb_enumeratorize_with_size((obj), ID2SYM(rb_frame_this_func()), \
			       (argc), (argv), (size_fn))
#define RETURN_SIZED_ENUMERATOR(obj, argc, argv, size_fn) do {		\
	if (!rb_block_given_p())					\
	    return SIZED_ENUMERATOR(obj, argc, argv, size_fn);		\
    } while (0)
#define RETURN_ENUMERATOR(obj, argc, argv) RETURN_SIZED_ENUMERATOR(obj, argc, argv, 0)
/* error.c */
VALUE rb_exc_new(VALUE, const char*, long);
VALUE rb_exc_new_cstr(VALUE, const char*);
VALUE rb_exc_new_str(VALUE, VALUE);
#define rb_exc_new2 rb_exc_new_cstr
#define rb_exc_new3 rb_exc_new_str
PRINTF_ARGS(NORETURN(void rb_loaderror(const char*, ...)), 1, 2);
PRINTF_ARGS(NORETURN(void rb_loaderror_with_path(VALUE path, const char*, ...)), 2, 3);
PRINTF_ARGS(NORETURN(void rb_name_error(ID, const char*, ...)), 2, 3);
PRINTF_ARGS(NORETURN(void rb_name_error_str(VALUE, const char*, ...)), 2, 3);
NORETURN(void rb_invalid_str(const char*, const char*));
NORETURN(void rb_error_frozen(const char*));
NORETURN(void rb_error_frozen_object(VALUE));
void rb_error_untrusted(VALUE);
void rb_check_frozen(VALUE);
void rb_check_trusted(VALUE);
#define rb_check_frozen_internal(obj) do { \
	VALUE frozen_obj = (obj); \
	if (OBJ_FROZEN(frozen_obj)) { \
	    rb_error_frozen_object(frozen_obj); \
	} \
    } while (0)
#define rb_check_trusted_internal(obj) ((void) 0)
#ifdef __GNUC__
#define rb_check_frozen(obj) __extension__({rb_check_frozen_internal(obj);})
#define rb_check_trusted(obj) __extension__({rb_check_trusted_internal(obj);})
#else
static inline void
rb_check_frozen_inline(VALUE obj)
{
    rb_check_frozen_internal(obj);
}
#define rb_check_frozen(obj) rb_check_frozen_inline(obj)
static inline void
rb_check_trusted_inline(VALUE obj)
{
    rb_check_trusted_internal(obj);
}
#define rb_check_trusted(obj) rb_check_trusted_inline(obj)
#endif
void rb_check_copyable(VALUE obj, VALUE orig);

#define RB_OBJ_INIT_COPY(obj, orig) \
    ((obj) != (orig) && (rb_obj_init_copy((obj), (orig)), 1))
#define OBJ_INIT_COPY(obj, orig) RB_OBJ_INIT_COPY(obj, orig)

/* eval.c */
int rb_sourceline(void);
const char *rb_sourcefile(void);
VALUE rb_check_funcall(VALUE, ID, int, const VALUE*);

NORETURN(void rb_error_arity(int, int, int));
static inline int
rb_check_arity(int argc, int min, int max)
{
    if ((argc < min) || (max != UNLIMITED_ARGUMENTS && argc > max))
	rb_error_arity(argc, min, max);
    return argc;
}
#define rb_check_arity rb_check_arity /* for ifdef */

#if defined(NFDBITS) && defined(HAVE_RB_FD_INIT)
typedef struct {
    int maxfd;
    fd_set *fdset;
} rb_fdset_t;

void rb_fd_init(rb_fdset_t *);
void rb_fd_term(rb_fdset_t *);
void rb_fd_zero(rb_fdset_t *);
void rb_fd_set(int, rb_fdset_t *);
void rb_fd_clr(int, rb_fdset_t *);
int rb_fd_isset(int, const rb_fdset_t *);
void rb_fd_copy(rb_fdset_t *, const fd_set *, int);
void rb_fd_dup(rb_fdset_t *dst, const rb_fdset_t *src);

struct timeval;
int rb_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct timeval *);

#define rb_fd_ptr(f)	((f)->fdset)
#define rb_fd_max(f)	((f)->maxfd)

#elif defined(_WIN32)

typedef struct {
    int capa;
    fd_set *fdset;
} rb_fdset_t;

void rb_fd_init(rb_fdset_t *);
void rb_fd_term(rb_fdset_t *);
#define rb_fd_zero(f)		((f)->fdset->fd_count = 0)
void rb_fd_set(int, rb_fdset_t *);
#define rb_fd_clr(n, f)		rb_w32_fdclr((n), (f)->fdset)
#define rb_fd_isset(n, f)	rb_w32_fdisset((n), (f)->fdset)
#define rb_fd_copy(d, s, n)	rb_w32_fd_copy((d), (s), (n))
void rb_w32_fd_copy(rb_fdset_t *, const fd_set *, int);
#define rb_fd_dup(d, s)	rb_w32_fd_dup((d), (s))
void rb_w32_fd_dup(rb_fdset_t *dst, const rb_fdset_t *src);
#define rb_fd_select(n, rfds, wfds, efds, timeout)	rb_w32_select((n), (rfds) ? ((rb_fdset_t*)(rfds))->fdset : NULL, (wfds) ? ((rb_fdset_t*)(wfds))->fdset : NULL, (efds) ? ((rb_fdset_t*)(efds))->fdset: NULL, (timeout))
#define rb_fd_resize(n, f)	((void)(f))

#define rb_fd_ptr(f)	((f)->fdset)
#define rb_fd_max(f)	((f)->fdset->fd_count)

#else

typedef fd_set rb_fdset_t;
#define rb_fd_zero(f)	FD_ZERO(f)
#define rb_fd_set(n, f)	FD_SET((n), (f))
#define rb_fd_clr(n, f)	FD_CLR((n), (f))
#define rb_fd_isset(n, f) FD_ISSET((n), (f))
#define rb_fd_copy(d, s, n) (*(d) = *(s))
#define rb_fd_dup(d, s) (*(d) = *(s))
#define rb_fd_resize(n, f)	((void)(f))
#define rb_fd_ptr(f)	(f)
#define rb_fd_init(f)	FD_ZERO(f)
#define rb_fd_init_copy(d, s) (*(d) = *(s))
#define rb_fd_term(f)	((void)(f))
#define rb_fd_max(f)	FD_SETSIZE
#define rb_fd_select(n, rfds, wfds, efds, timeout)	select((n), (rfds), (wfds), (efds), (timeout))

#endif

NORETURN(void rb_exc_raise(VALUE));
NORETURN(void rb_exc_fatal(VALUE));
NORETURN(VALUE rb_f_exit(int, const VALUE*));
NORETURN(VALUE rb_f_abort(int, const VALUE*));
void rb_remove_method(VALUE, const char*);
void rb_remove_method_id(VALUE, ID);
#define HAVE_RB_DEFINE_ALLOC_FUNC 1
typedef VALUE (*rb_alloc_func_t)(VALUE);
void rb_define_alloc_func(VALUE, rb_alloc_func_t);
void rb_undef_alloc_func(VALUE);
rb_alloc_func_t rb_get_alloc_func(VALUE);
void rb_clear_constant_cache(void);
void rb_clear_method_cache_by_class(VALUE);
void rb_alias(VALUE, ID, ID);
void rb_attr(VALUE,ID,int,int,int);
int rb_method_boundp(VALUE, ID, int);
int rb_method_basic_definition_p(VALUE, ID);
VALUE rb_eval_cmd(VALUE, VALUE, int);
int rb_obj_respond_to(VALUE, ID, int);
int rb_respond_to(VALUE, ID);
NORETURN(VALUE rb_f_notimplement(int argc, const VALUE *argv, VALUE obj));
#if !defined(RUBY_EXPORT) && defined(_WIN32)
RUBY_EXTERN VALUE (*const rb_f_notimplement_)(int, const VALUE *, VALUE);
#define rb_f_notimplement (*rb_f_notimplement_)
#endif
NORETURN(void rb_interrupt(void));
VALUE rb_apply(VALUE, ID, VALUE);
void rb_backtrace(void);
ID rb_frame_this_func(void);
VALUE rb_obj_instance_eval(int, const VALUE*, VALUE);
VALUE rb_obj_instance_exec(int, const VALUE*, VALUE);
VALUE rb_mod_module_eval(int, const VALUE*, VALUE);
VALUE rb_mod_module_exec(int, const VALUE*, VALUE);
void rb_load(VALUE, int);
void rb_load_protect(VALUE, int, int*);
NORETURN(void rb_jump_tag(int));
int rb_provided(const char*);
int rb_feature_provided(const char *, const char **);
void rb_provide(const char*);
VALUE rb_f_require(VALUE, VALUE);
VALUE rb_require_safe(VALUE, int);
void rb_obj_call_init(VALUE, int, const VALUE*);
VALUE rb_class_new_instance(int, const VALUE*, VALUE);
VALUE rb_block_proc(void);
VALUE rb_block_lambda(void);
VALUE rb_proc_new(VALUE (*)(ANYARGS/* VALUE yieldarg[, VALUE procarg] */), VALUE);
VALUE rb_obj_is_proc(VALUE);
VALUE rb_proc_call(VALUE, VALUE);
VALUE rb_proc_call_with_block(VALUE, int argc, const VALUE *argv, VALUE);
int rb_proc_arity(VALUE);
VALUE rb_proc_lambda_p(VALUE);
VALUE rb_binding_new(void);
VALUE rb_obj_method(VALUE, VALUE);
VALUE rb_obj_is_method(VALUE);
VALUE rb_method_call(int, const VALUE*, VALUE);
VALUE rb_method_call_with_block(int, const VALUE *, VALUE, VALUE);
int rb_mod_method_arity(VALUE, ID);
int rb_obj_method_arity(VALUE, ID);
VALUE rb_protect(VALUE (*)(VALUE), VALUE, int*);
void rb_set_end_proc(void (*)(VALUE), VALUE);
void rb_exec_end_proc(void);
void rb_thread_schedule(void);
void rb_thread_wait_fd(int);
int rb_thread_fd_writable(int);
void rb_thread_fd_close(int);
int rb_thread_alone(void);
void rb_thread_sleep(int);
void rb_thread_sleep_forever(void);
void rb_thread_sleep_deadly(void);
VALUE rb_thread_stop(void);
VALUE rb_thread_wakeup(VALUE);
VALUE rb_thread_wakeup_alive(VALUE);
VALUE rb_thread_run(VALUE);
VALUE rb_thread_kill(VALUE);
VALUE rb_thread_create(VALUE (*)(ANYARGS), void*);
int rb_thread_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct timeval *);
void rb_thread_wait_for(struct timeval);
VALUE rb_thread_current(void);
VALUE rb_thread_main(void);
VALUE rb_thread_local_aref(VALUE, ID);
VALUE rb_thread_local_aset(VALUE, ID, VALUE);
void rb_thread_atfork(void);
void rb_thread_atfork_before_exec(void);
VALUE rb_exec_recursive(VALUE(*)(VALUE, VALUE, int),VALUE,VALUE);
VALUE rb_exec_recursive_paired(VALUE(*)(VALUE, VALUE, int),VALUE,VALUE,VALUE);
VALUE rb_exec_recursive_outer(VALUE(*)(VALUE, VALUE, int),VALUE,VALUE);
VALUE rb_exec_recursive_paired_outer(VALUE(*)(VALUE, VALUE, int),VALUE,VALUE,VALUE);
/* dir.c */
VALUE rb_dir_getwd(void);
/* file.c */
VALUE rb_file_s_expand_path(int, const VALUE *);
VALUE rb_file_expand_path(VALUE, VALUE);
VALUE rb_file_s_absolute_path(int, const VALUE *);
VALUE rb_file_absolute_path(VALUE, VALUE);
VALUE rb_file_dirname(VALUE fname);
int rb_find_file_ext_safe(VALUE*, const char* const*, int);
VALUE rb_find_file_safe(VALUE, int);
int rb_find_file_ext(VALUE*, const char* const*);
VALUE rb_find_file(VALUE);
VALUE rb_file_directory_p(VALUE,VALUE);
VALUE rb_str_encode_ospath(VALUE);
int rb_is_absolute_path(const char *);
/* gc.c */
NORETURN(void rb_memerror(void));
PUREFUNC(int rb_during_gc(void));
void rb_gc_mark_locations(const VALUE*, const VALUE*);
void rb_mark_tbl(struct st_table*);
void rb_mark_set(struct st_table*);
void rb_mark_hash(struct st_table*);
void rb_gc_mark_maybe(VALUE);
void rb_gc_mark(VALUE);
void rb_gc_force_recycle(VALUE);
void rb_gc(void);
void rb_gc_copy_finalizer(VALUE,VALUE);
void rb_gc_finalize_deferred(void);
void rb_gc_call_finalizer_at_exit(void);
VALUE rb_gc_enable(void);
VALUE rb_gc_disable(void);
VALUE rb_gc_start(void);
VALUE rb_define_finalizer(VALUE, VALUE);
VALUE rb_undefine_finalizer(VALUE);
size_t rb_gc_count(void);
size_t rb_gc_stat(VALUE);
VALUE rb_gc_latest_gc_info(VALUE);
void rb_gc_adjust_memory_usage(ssize_t);
/* hash.c */
void st_foreach_safe(struct st_table *, int (*)(ANYARGS), st_data_t);
VALUE rb_check_hash_type(VALUE);
void rb_hash_foreach(VALUE, int (*)(ANYARGS), VALUE);
VALUE rb_hash(VALUE);
VALUE rb_hash_new(void);
VALUE rb_hash_dup(VALUE);
VALUE rb_hash_freeze(VALUE);
VALUE rb_hash_aref(VALUE, VALUE);
VALUE rb_hash_lookup(VALUE, VALUE);
VALUE rb_hash_lookup2(VALUE, VALUE, VALUE);
VALUE rb_hash_fetch(VALUE, VALUE);
VALUE rb_hash_aset(VALUE, VALUE, VALUE);
VALUE rb_hash_clear(VALUE);
VALUE rb_hash_delete_if(VALUE);
VALUE rb_hash_delete(VALUE,VALUE);
VALUE rb_hash_set_ifnone(VALUE hash, VALUE ifnone);
typedef VALUE rb_hash_update_func(VALUE newkey, VALUE oldkey, VALUE value);
VALUE rb_hash_update_by(VALUE hash1, VALUE hash2, rb_hash_update_func *func);
struct st_table *rb_hash_tbl(VALUE);
int rb_path_check(const char*);
int rb_env_path_tainted(void);
VALUE rb_env_clear(void);
VALUE rb_hash_size(VALUE);
/* io.c */
#define rb_defout rb_stdout
RUBY_EXTERN VALUE rb_fs;
RUBY_EXTERN VALUE rb_output_fs;
RUBY_EXTERN VALUE rb_rs;
RUBY_EXTERN VALUE rb_default_rs;
RUBY_EXTERN VALUE rb_output_rs;
VALUE rb_io_write(VALUE, VALUE);
VALUE rb_io_gets(VALUE);
VALUE rb_io_getbyte(VALUE);
VALUE rb_io_ungetc(VALUE, VALUE);
VALUE rb_io_ungetbyte(VALUE, VALUE);
VALUE rb_io_close(VALUE);
VALUE rb_io_flush(VALUE);
VALUE rb_io_eof(VALUE);
VALUE rb_io_binmode(VALUE);
VALUE rb_io_ascii8bit_binmode(VALUE);
VALUE rb_io_addstr(VALUE, VALUE);
VALUE rb_io_printf(int, const VALUE*, VALUE);
VALUE rb_io_print(int, const VALUE*, VALUE);
VALUE rb_io_puts(int, const VALUE*, VALUE);
VALUE rb_io_fdopen(int, int, const char*);
VALUE rb_io_get_io(VALUE);
VALUE rb_file_open(const char*, const char*);
VALUE rb_file_open_str(VALUE, const char*);
VALUE rb_gets(void);
void rb_write_error(const char*);
void rb_write_error2(const char*, long);
void rb_close_before_exec(int lowfd, int maxhint, VALUE noclose_fds);
int rb_pipe(int *pipes);
int rb_reserved_fd_p(int fd);
int rb_cloexec_open(const char *pathname, int flags, mode_t mode);
int rb_cloexec_dup(int oldfd);
int rb_cloexec_dup2(int oldfd, int newfd);
int rb_cloexec_pipe(int fildes[2]);
int rb_cloexec_fcntl_dupfd(int fd, int minfd);
#define RB_RESERVED_FD_P(fd) rb_reserved_fd_p(fd)
void rb_update_max_fd(int fd);
void rb_fd_fix_cloexec(int fd);
/* marshal.c */
VALUE rb_marshal_dump(VALUE, VALUE);
VALUE rb_marshal_load(VALUE);
void rb_marshal_define_compat(VALUE newclass, VALUE oldclass, VALUE (*dumper)(VALUE), VALUE (*loader)(VALUE, VALUE));
/* numeric.c */
NORETURN(void rb_num_zerodiv(void));
#define RB_NUM_COERCE_FUNCS_NEED_OPID 1
VALUE rb_num_coerce_bin(VALUE, VALUE, ID);
VALUE rb_num_coerce_cmp(VALUE, VALUE, ID);
VALUE rb_num_coerce_relop(VALUE, VALUE, ID);
VALUE rb_num_coerce_bit(VALUE, VALUE, ID);
VALUE rb_num2fix(VALUE);
VALUE rb_fix2str(VALUE, int);
CONSTFUNC(VALUE rb_dbl_cmp(double, double));
/* object.c */
int rb_eql(VALUE, VALUE);
VALUE rb_any_to_s(VALUE);
VALUE rb_inspect(VALUE);
VALUE rb_obj_is_instance_of(VALUE, VALUE);
VALUE rb_obj_is_kind_of(VALUE, VALUE);
VALUE rb_obj_alloc(VALUE);
VALUE rb_obj_clone(VALUE);
VALUE rb_obj_dup(VALUE);
VALUE rb_obj_init_copy(VALUE,VALUE);
VALUE rb_obj_taint(VALUE);
PUREFUNC(VALUE rb_obj_tainted(VALUE));
VALUE rb_obj_untaint(VALUE);
VALUE rb_obj_untrust(VALUE);
PUREFUNC(VALUE rb_obj_untrusted(VALUE));
VALUE rb_obj_trust(VALUE);
VALUE rb_obj_freeze(VALUE);
PUREFUNC(VALUE rb_obj_frozen_p(VALUE));
VALUE rb_obj_id(VALUE);
VALUE rb_obj_class(VALUE);
PUREFUNC(VALUE rb_class_real(VALUE));
PUREFUNC(VALUE rb_class_inherited_p(VALUE, VALUE));
VALUE rb_class_superclass(VALUE);
VALUE rb_class_get_superclass(VALUE);
VALUE rb_convert_type(VALUE,int,const char*,const char*);
VALUE rb_check_convert_type(VALUE,int,const char*,const char*);
VALUE rb_check_to_integer(VALUE, const char *);
VALUE rb_check_to_float(VALUE);
VALUE rb_to_int(VALUE);
VALUE rb_check_to_int(VALUE);
VALUE rb_Integer(VALUE);
VALUE rb_to_float(VALUE);
VALUE rb_Float(VALUE);
VALUE rb_String(VALUE);
VALUE rb_Array(VALUE);
VALUE rb_Hash(VALUE);
double rb_cstr_to_dbl(const char*, int);
double rb_str_to_dbl(VALUE, int);
/* parse.y */
ID rb_id_attrset(ID);
CONSTFUNC(int rb_is_const_id(ID));
CONSTFUNC(int rb_is_global_id(ID));
CONSTFUNC(int rb_is_instance_id(ID));
CONSTFUNC(int rb_is_attrset_id(ID));
CONSTFUNC(int rb_is_class_id(ID));
CONSTFUNC(int rb_is_local_id(ID));
CONSTFUNC(int rb_is_junk_id(ID));
int rb_symname_p(const char*);
int rb_sym_interned_p(VALUE);
VALUE rb_backref_get(void);
void rb_backref_set(VALUE);
VALUE rb_lastline_get(void);
void rb_lastline_set(VALUE);
/* process.c */
void rb_last_status_set(int status, rb_pid_t pid);
VALUE rb_last_status_get(void);
int rb_proc_exec(const char*);
NORETURN(VALUE rb_f_exec(int, const VALUE*));
rb_pid_t rb_waitpid(rb_pid_t pid, int *status, int flags);
void rb_syswait(rb_pid_t pid);
rb_pid_t rb_spawn(int, const VALUE*);
rb_pid_t rb_spawn_err(int, const VALUE*, char*, size_t);
VALUE rb_proc_times(VALUE);
VALUE rb_detach_process(rb_pid_t pid);
/* range.c */
VALUE rb_range_new(VALUE, VALUE, int);
VALUE rb_range_beg_len(VALUE, long*, long*, long, int);
int rb_range_values(VALUE range, VALUE *begp, VALUE *endp, int *exclp);
/* random.c */
unsigned int rb_genrand_int32(void);
double rb_genrand_real(void);
void rb_reset_random_seed(void);
VALUE rb_random_bytes(VALUE rnd, long n);
VALUE rb_random_int(VALUE rnd, VALUE max);
unsigned int rb_random_int32(VALUE rnd);
double rb_random_real(VALUE rnd);
unsigned long rb_random_ulong_limited(VALUE rnd, unsigned long limit);
unsigned long rb_genrand_ulong_limited(unsigned long i);
/* re.c */
#define rb_memcmp memcmp
int rb_memcicmp(const void*,const void*,long);
void rb_match_busy(VALUE);
VALUE rb_reg_nth_defined(int, VALUE);
VALUE rb_reg_nth_match(int, VALUE);
int rb_reg_backref_number(VALUE match, VALUE backref);
VALUE rb_reg_last_match(VALUE);
VALUE rb_reg_match_pre(VALUE);
VALUE rb_reg_match_post(VALUE);
VALUE rb_reg_match_last(VALUE);
#define HAVE_RB_REG_NEW_STR 1
VALUE rb_reg_new_str(VALUE, int);
VALUE rb_reg_new(const char *, long, int);
VALUE rb_reg_alloc(void);
VALUE rb_reg_init_str(VALUE re, VALUE s, int options);
VALUE rb_reg_match(VALUE, VALUE);
VALUE rb_reg_match2(VALUE);
int rb_reg_options(VALUE);
/* ruby.c */
#define rb_argv rb_get_argv()
RUBY_EXTERN VALUE rb_argv0;
VALUE rb_get_argv(void);
void *rb_load_file(const char*);
void *rb_load_file_str(VALUE);
/* signal.c */
VALUE rb_f_kill(int, const VALUE*);
#ifdef POSIX_SIGNAL
#define posix_signal ruby_posix_signal
RETSIGTYPE (*posix_signal(int, RETSIGTYPE (*)(int)))(int);
#endif
void rb_trap_exit(void);
void rb_trap_exec(void);
const char *ruby_signal_name(int);
void ruby_default_signal(int);
/* sprintf.c */
VALUE rb_f_sprintf(int, const VALUE*);
PRINTF_ARGS(VALUE rb_sprintf(const char*, ...), 1, 2);
VALUE rb_vsprintf(const char*, va_list);
PRINTF_ARGS(VALUE rb_str_catf(VALUE, const char*, ...), 2, 3);
VALUE rb_str_vcatf(VALUE, const char*, va_list);
VALUE rb_str_format(int, const VALUE *, VALUE);
/* string.c */
VALUE rb_str_new(const char*, long);
VALUE rb_str_new_cstr(const char*);
VALUE rb_str_new_shared(VALUE);
VALUE rb_str_new_frozen(VALUE);
VALUE rb_str_new_with_class(VALUE, const char*, long);
VALUE rb_tainted_str_new_cstr(const char*);
VALUE rb_tainted_str_new(const char*, long);
VALUE rb_external_str_new(const char*, long);
VALUE rb_external_str_new_cstr(const char*);
VALUE rb_locale_str_new(const char*, long);
VALUE rb_locale_str_new_cstr(const char*);
VALUE rb_filesystem_str_new(const char*, long);
VALUE rb_filesystem_str_new_cstr(const char*);
VALUE rb_str_buf_new(long);
VALUE rb_str_buf_new_cstr(const char*);
VALUE rb_str_buf_new2(const char*);
VALUE rb_str_tmp_new(long);
VALUE rb_usascii_str_new(const char*, long);
VALUE rb_usascii_str_new_cstr(const char*);
VALUE rb_utf8_str_new(const char*, long);
VALUE rb_utf8_str_new_cstr(const char*);
VALUE rb_str_new_static(const char *, long);
VALUE rb_usascii_str_new_static(const char *, long);
VALUE rb_utf8_str_new_static(const char *, long);
void rb_str_free(VALUE);
void rb_str_shared_replace(VALUE, VALUE);
VALUE rb_str_buf_append(VALUE, VALUE);
VALUE rb_str_buf_cat(VALUE, const char*, long);
VALUE rb_str_buf_cat2(VALUE, const char*);
VALUE rb_str_buf_cat_ascii(VALUE, const char*);
VALUE rb_obj_as_string(VALUE);
VALUE rb_check_string_type(VALUE);
void rb_must_asciicompat(VALUE);
VALUE rb_str_dup(VALUE);
VALUE rb_str_resurrect(VALUE str);
VALUE rb_str_locktmp(VALUE);
VALUE rb_str_unlocktmp(VALUE);
VALUE rb_str_dup_frozen(VALUE);
#define rb_str_dup_frozen rb_str_new_frozen
VALUE rb_str_plus(VALUE, VALUE);
VALUE rb_str_times(VALUE, VALUE);
long rb_str_sublen(VALUE, long);
VALUE rb_str_substr(VALUE, long, long);
VALUE rb_str_subseq(VALUE, long, long);
char *rb_str_subpos(VALUE, long, long*);
void rb_str_modify(VALUE);
void rb_str_modify_expand(VALUE, long);
VALUE rb_str_freeze(VALUE);
void rb_str_set_len(VALUE, long);
VALUE rb_str_resize(VALUE, long);
VALUE rb_str_cat(VALUE, const char*, long);
VALUE rb_str_cat_cstr(VALUE, const char*);
VALUE rb_str_cat2(VALUE, const char*);
VALUE rb_str_append(VALUE, VALUE);
VALUE rb_str_concat(VALUE, VALUE);
st_index_t rb_memhash(const void *ptr, long len);
st_index_t rb_hash_start(st_index_t);
st_index_t rb_hash_uint32(st_index_t, uint32_t);
st_index_t rb_hash_uint(st_index_t, st_index_t);
st_index_t rb_hash_end(st_index_t);
#define rb_hash_uint32(h, i) st_hash_uint32((h), (i))
#define rb_hash_uint(h, i) st_hash_uint((h), (i))
#define rb_hash_end(h) st_hash_end(h)
st_index_t rb_str_hash(VALUE);
int rb_str_hash_cmp(VALUE,VALUE);
int rb_str_comparable(VALUE, VALUE);
int rb_str_cmp(VALUE, VALUE);
VALUE rb_str_equal(VALUE str1, VALUE str2);
VALUE rb_str_drop_bytes(VALUE, long);
void rb_str_update(VALUE, long, long, VALUE);
VALUE rb_str_replace(VALUE, VALUE);
VALUE rb_str_inspect(VALUE);
VALUE rb_str_dump(VALUE);
VALUE rb_str_split(VALUE, const char*);
void rb_str_setter(VALUE, ID, VALUE*);
VALUE rb_str_intern(VALUE);
VALUE rb_sym_to_s(VALUE);
long rb_str_strlen(VALUE);
VALUE rb_str_length(VALUE);
long rb_str_offset(VALUE, long);
PUREFUNC(size_t rb_str_capacity(VALUE));
VALUE rb_str_ellipsize(VALUE, long);
VALUE rb_str_scrub(VALUE, VALUE);
/* symbol.c */
VALUE rb_sym_all_symbols(void);

#ifdef HAVE_BUILTIN___BUILTIN_CONSTANT_P
#define rb_str_new(str, len) RB_GNUC_EXTENSION_BLOCK(	\
    (__builtin_constant_p(str) && __builtin_constant_p(len)) ? \
	rb_str_new_static((str), (len)) : \
	rb_str_new((str), (len))	  \
)
#define rb_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK(	\
    (__builtin_constant_p(str)) ?		\
	rb_str_new_static((str), (long)strlen(str)) : \
	rb_str_new_cstr(str)			\
)
#define rb_usascii_str_new(str, len) RB_GNUC_EXTENSION_BLOCK( \
    (__builtin_constant_p(str) && __builtin_constant_p(len)) ? \
	rb_usascii_str_new_static((str), (len)) : \
	rb_usascii_str_new((str), (len))	  \
)
#define rb_utf8_str_new(str, len) RB_GNUC_EXTENSION_BLOCK( \
    (__builtin_constant_p(str) && __builtin_constant_p(len)) ? \
	rb_utf8_str_new_static((str), (len)) : \
	rb_utf8_str_new((str), (len))	  \
)
#define rb_tainted_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
    (__builtin_constant_p(str)) ?	       \
	rb_tainted_str_new((str), (long)strlen(str)) : \
	rb_tainted_str_new_cstr(str)	       \
)
#define rb_usascii_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
    (__builtin_constant_p(str)) ?	       \
	rb_usascii_str_new_static((str), (long)strlen(str)) : \
	rb_usascii_str_new_cstr(str)	       \
)
#define rb_utf8_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
    (__builtin_constant_p(str)) ?		\
	rb_utf8_str_new_static((str), (long)strlen(str)) : \
	rb_utf8_str_new_cstr(str)		\
)
#define rb_external_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
    (__builtin_constant_p(str)) ?		\
	rb_external_str_new((str), (long)strlen(str)) : \
	rb_external_str_new_cstr(str)		\
)
#define rb_locale_str_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
    (__builtin_constant_p(str)) ?	       \
	rb_locale_str_new((str), (long)strlen(str)) :  \
	rb_locale_str_new_cstr(str)	       \
)
#define rb_str_buf_new_cstr(str) RB_GNUC_EXTENSION_BLOCK( \
    (__builtin_constant_p(str)) ?		\
	rb_str_buf_cat(rb_str_buf_new((long)strlen(str)), \
		       (str), (long)strlen(str)) : \
	rb_str_buf_new_cstr(str)		\
)
#define rb_str_cat_cstr(str, ptr) RB_GNUC_EXTENSION_BLOCK( \
    (__builtin_constant_p(ptr)) ?	        \
	rb_str_cat((str), (ptr), (long)strlen(ptr)) : \
	rb_str_cat_cstr((str), (ptr))		\
)
#define rb_exc_new_cstr(klass, ptr) RB_GNUC_EXTENSION_BLOCK( \
    (__builtin_constant_p(ptr)) ?	        \
	rb_exc_new((klass), (ptr), (long)strlen(ptr)) : \
	rb_exc_new_cstr((klass), (ptr))		\
)
#endif
#define rb_str_new2 rb_str_new_cstr
#define rb_str_new3 rb_str_new_shared
#define rb_str_new4 rb_str_new_frozen
#define rb_str_new5 rb_str_new_with_class
#define rb_tainted_str_new2 rb_tainted_str_new_cstr
#define rb_str_buf_new2 rb_str_buf_new_cstr
#define rb_usascii_str_new2 rb_usascii_str_new_cstr
#define rb_str_buf_cat rb_str_cat
#define rb_str_buf_cat2 rb_str_cat_cstr
#define rb_str_cat2 rb_str_cat_cstr
#define rb_strlen_lit(str) (sizeof(str "") - 1)
#define rb_str_new_lit(str) rb_str_new_static((str), rb_strlen_lit(str))
#define rb_usascii_str_new_lit(str) rb_usascii_str_new_static((str), rb_strlen_lit(str))
#define rb_utf8_str_new_lit(str) rb_utf8_str_new_static((str), rb_strlen_lit(str))
#define rb_enc_str_new_lit(str, enc) rb_enc_str_new_static((str), rb_strlen_lit(str), (enc))
#define rb_str_new_literal(str) rb_str_new_lit(str)
#define rb_usascii_str_new_literal(str) rb_usascii_str_new_lit(str)
#define rb_utf8_str_new_literal(str) rb_utf8_str_new_lit(str)
#define rb_enc_str_new_literal(str, enc) rb_enc_str_new_lit(str, enc)

/* struct.c */
VALUE rb_struct_new(VALUE, ...);
VALUE rb_struct_define(const char*, ...);
VALUE rb_struct_define_under(VALUE, const char*, ...);
VALUE rb_struct_alloc(VALUE, VALUE);
VALUE rb_struct_initialize(VALUE, VALUE);
VALUE rb_struct_aref(VALUE, VALUE);
VALUE rb_struct_aset(VALUE, VALUE, VALUE);
VALUE rb_struct_getmember(VALUE, ID);
VALUE rb_struct_s_members(VALUE);
VALUE rb_struct_members(VALUE);
VALUE rb_struct_size(VALUE s);
VALUE rb_struct_alloc_noinit(VALUE);
VALUE rb_struct_define_without_accessor(const char *, VALUE, rb_alloc_func_t, ...);
VALUE rb_struct_define_without_accessor_under(VALUE outer, const char *class_name, VALUE super, rb_alloc_func_t alloc, ...);

/* thread.c */
typedef void rb_unblock_function_t(void *);
typedef VALUE rb_blocking_function_t(void *);
void rb_thread_check_ints(void);
int rb_thread_interrupted(VALUE thval);

#define RUBY_UBF_IO ((rb_unblock_function_t *)-1)
#define RUBY_UBF_PROCESS ((rb_unblock_function_t *)-1)
VALUE rb_mutex_new(void);
VALUE rb_mutex_locked_p(VALUE mutex);
VALUE rb_mutex_trylock(VALUE mutex);
VALUE rb_mutex_lock(VALUE mutex);
VALUE rb_mutex_unlock(VALUE mutex);
VALUE rb_mutex_sleep(VALUE self, VALUE timeout);
VALUE rb_mutex_synchronize(VALUE mutex, VALUE (*func)(VALUE arg), VALUE arg);
/* time.c */
void rb_timespec_now(struct timespec *);
VALUE rb_time_new(time_t, long);
VALUE rb_time_nano_new(time_t, long);
VALUE rb_time_timespec_new(const struct timespec *, int);
VALUE rb_time_num_new(VALUE, VALUE);
struct timeval rb_time_interval(VALUE num);
struct timeval rb_time_timeval(VALUE time);
struct timespec rb_time_timespec(VALUE time);
VALUE rb_time_utc_offset(VALUE time);
/* variable.c */
VALUE rb_mod_name(VALUE);
VALUE rb_class_path(VALUE);
VALUE rb_class_path_cached(VALUE);
void rb_set_class_path(VALUE, VALUE, const char*);
void rb_set_class_path_string(VALUE, VALUE, VALUE);
VALUE rb_path_to_class(VALUE);
VALUE rb_path2class(const char*);
void rb_name_class(VALUE, ID);
VALUE rb_class_name(VALUE);
VALUE rb_autoload_load(VALUE, ID);
VALUE rb_autoload_p(VALUE, ID);
VALUE rb_f_trace_var(int, const VALUE*);
VALUE rb_f_untrace_var(int, const VALUE*);
VALUE rb_f_global_variables(void);
void rb_alias_variable(ID, ID);
void rb_copy_generic_ivar(VALUE,VALUE);
void rb_free_generic_ivar(VALUE);
VALUE rb_ivar_get(VALUE, ID);
VALUE rb_ivar_set(VALUE, ID, VALUE);
VALUE rb_ivar_defined(VALUE, ID);
void rb_ivar_foreach(VALUE, int (*)(ANYARGS), st_data_t);
st_index_t rb_ivar_count(VALUE);
VALUE rb_attr_get(VALUE, ID);
VALUE rb_obj_instance_variables(VALUE);
VALUE rb_obj_remove_instance_variable(VALUE, VALUE);
void *rb_mod_const_at(VALUE, void*);
void *rb_mod_const_of(VALUE, void*);
VALUE rb_const_list(void*);
VALUE rb_mod_constants(int, const VALUE *, VALUE);
VALUE rb_mod_remove_const(VALUE, VALUE);
int rb_const_defined(VALUE, ID);
int rb_const_defined_at(VALUE, ID);
int rb_const_defined_from(VALUE, ID);
VALUE rb_const_get(VALUE, ID);
VALUE rb_const_get_at(VALUE, ID);
VALUE rb_const_get_from(VALUE, ID);
void rb_const_set(VALUE, ID, VALUE);
VALUE rb_const_remove(VALUE, ID);
NORETURN(VALUE rb_mod_const_missing(VALUE,VALUE));
VALUE rb_cvar_defined(VALUE, ID);
void rb_cvar_set(VALUE, ID, VALUE);
VALUE rb_cvar_get(VALUE, ID);
void rb_cv_set(VALUE, const char*, VALUE);
VALUE rb_cv_get(VALUE, const char*);
void rb_define_class_variable(VALUE, const char*, VALUE);
VALUE rb_mod_class_variables(int, const VALUE*, VALUE);
VALUE rb_mod_remove_cvar(VALUE, VALUE);

ID rb_frame_callee(void);
VALUE rb_str_succ(VALUE);
VALUE rb_time_succ(VALUE);
VALUE rb_make_backtrace(void);
VALUE rb_make_exception(int, const VALUE*);

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* RUBY_INTERN_H */
/* This is a public domain general purpose hash table package
   originally written by Peter Moore @ UCB.

   The hash table data strutures were redesigned and the package was
   rewritten by Vladimir Makarov <vmakarov@redhat.com>.  */

#ifndef RUBY_ST_H
#define RUBY_ST_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

#include "ruby/defines.h"

RUBY_SYMBOL_EXPORT_BEGIN

#if SIZEOF_LONG == SIZEOF_VOIDP
typedef unsigned long st_data_t;
#elif SIZEOF_LONG_LONG == SIZEOF_VOIDP
typedef unsigned LONG_LONG st_data_t;
#else
# error ---->> st.c requires sizeof(void*) == sizeof(long) or sizeof(LONG_LONG) to be compiled. <<----
#endif
#define ST_DATA_T_DEFINED

#ifndef CHAR_BIT
# ifdef HAVE_LIMITS_H
#  include <limits.h>
# else
#  define CHAR_BIT 8
# endif
#endif
#ifndef _
# define _(args) args
#endif
#ifndef ANYARGS
# ifdef __cplusplus
#   define ANYARGS ...
# else
#   define ANYARGS
# endif
#endif

typedef struct st_table st_table;

typedef st_data_t st_index_t;

/* Maximal value of unsigned integer type st_index_t.  */
#define MAX_ST_INDEX_VAL (~(st_index_t) 0)

typedef int st_compare_func(st_data_t, st_data_t);
typedef st_index_t st_hash_func(st_data_t);

typedef char st_check_for_sizeof_st_index_t[SIZEOF_VOIDP == (int)sizeof(st_index_t) ? 1 : -1];
#define SIZEOF_ST_INDEX_T SIZEOF_VOIDP

struct st_hash_type {
    int (*compare)(ANYARGS /*st_data_t, st_data_t*/); /* st_compare_func* */
    st_index_t (*hash)(ANYARGS /*st_data_t*/);        /* st_hash_func* */
};

#define ST_INDEX_BITS (SIZEOF_ST_INDEX_T * CHAR_BIT)

#if defined(HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR) && defined(HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P)
# define ST_DATA_COMPATIBLE_P(type) \
   __builtin_choose_expr(__builtin_types_compatible_p(type, st_data_t), 1, 0)
#else
# define ST_DATA_COMPATIBLE_P(type) 0
#endif

typedef struct st_table_entry st_table_entry;

struct st_table_entry; /* defined in st.c */

struct st_table {
    /* Cached features of the table -- see st.c for more details.  */
    unsigned char entry_power, bin_power, size_ind;
    /* How many times the table was rebuilt.  */
    unsigned int rebuilds_num;
    const struct st_hash_type *type;
    /* Number of entries currently in the table.  */
    st_index_t num_entries;
    /* Array of bins used for access by keys.  */
    st_index_t *bins;
    /* Start and bound index of entries in array entries.
       entries_starts and entries_bound are in interval
       [0,allocated_entries].  */
    st_index_t entries_start, entries_bound;
    /* Array of size 2^entry_power.  */
    st_table_entry *entries;
};

#define st_is_member(table,key) st_lookup((table),(key),(st_data_t *)0)

enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK};

st_table *st_init_table(const struct st_hash_type *);
st_table *st_init_table_with_size(const struct st_hash_type *, st_index_t);
st_table *st_init_numtable(void);
st_table *st_init_numtable_with_size(st_index_t);
st_table *st_init_strtable(void);
st_table *st_init_strtable_with_size(st_index_t);
st_table *st_init_strcasetable(void);
st_table *st_init_strcasetable_with_size(st_index_t);
int st_delete(st_table *, st_data_t *, st_data_t *); /* returns 0:notfound 1:deleted */
int st_delete_safe(st_table *, st_data_t *, st_data_t *, st_data_t);
int st_shift(st_table *, st_data_t *, st_data_t *); /* returns 0:notfound 1:deleted */
int st_insert(st_table *, st_data_t, st_data_t);
int st_insert2(st_table *, st_data_t, st_data_t, st_data_t (*)(st_data_t));
int st_lookup(st_table *, st_data_t, st_data_t *);
int st_get_key(st_table *, st_data_t, st_data_t *);
typedef int st_update_callback_func(st_data_t *key, st_data_t *value, st_data_t arg, int existing);
/* *key may be altered, but must equal to the old key, i.e., the
 * results of hash() are same and compare() returns 0, otherwise the
 * behavior is undefined */
int st_update(st_table *table, st_data_t key, st_update_callback_func *func, st_data_t arg);
int st_foreach(st_table *, int (*)(ANYARGS), st_data_t);
int st_foreach_check(st_table *, int (*)(ANYARGS), st_data_t, st_data_t);
st_index_t st_keys(st_table *table, st_data_t *keys, st_index_t size);
st_index_t st_keys_check(st_table *table, st_data_t *keys, st_index_t size, st_data_t never);
st_index_t st_values(st_table *table, st_data_t *values, st_index_t size);
st_index_t st_values_check(st_table *table, st_data_t *values, st_index_t size, st_data_t never);
void st_add_direct(st_table *, st_data_t, st_data_t);
void st_free_table(st_table *);
void st_cleanup_safe(st_table *, st_data_t);
void st_clear(st_table *);
st_table *st_copy(st_table *);
CONSTFUNC(int st_numcmp(st_data_t, st_data_t));
CONSTFUNC(st_index_t st_numhash(st_data_t));
PUREFUNC(int st_locale_insensitive_strcasecmp(const char *s1, const char *s2));
PUREFUNC(int st_locale_insensitive_strncasecmp(const char *s1, const char *s2, size_t n));
#define st_strcasecmp st_locale_insensitive_strcasecmp
#define st_strncasecmp st_locale_insensitive_strncasecmp
PUREFUNC(size_t st_memsize(const st_table *));
PUREFUNC(st_index_t st_hash(const void *ptr, size_t len, st_index_t h));
CONSTFUNC(st_index_t st_hash_uint32(st_index_t h, uint32_t i));
CONSTFUNC(st_index_t st_hash_uint(st_index_t h, st_index_t i));
CONSTFUNC(st_index_t st_hash_end(st_index_t h));
CONSTFUNC(st_index_t st_hash_start(st_index_t h));
#define st_hash_start(h) ((st_index_t)(h))

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* RUBY_ST_H */
/************************************************

  defines.h -

  $Author: naruse $
  created at: Wed May 18 00:21:44 JST 1994

************************************************/

#ifndef RUBY_DEFINES_H
#define RUBY_DEFINES_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

#include "ruby/config.h"
#ifdef RUBY_EXTCONF_H
#include RUBY_EXTCONF_H
#endif

/* function attributes */
#ifndef CONSTFUNC
# define CONSTFUNC(x) x
#endif
#ifndef PUREFUNC
# define PUREFUNC(x) x
#endif
#define NORETURN_STYLE_NEW 1
#ifndef NORETURN
# define NORETURN(x) x
#endif
#ifndef DEPRECATED
# define DEPRECATED(x) x
#endif
#ifndef DEPRECATED_BY
# define DEPRECATED_BY(n,x) DEPRECATED(x)
#endif
#ifndef DEPRECATED_TYPE
# define DEPRECATED_TYPE(mesg, decl) decl
#endif
#ifndef NOINLINE
# define NOINLINE(x) x
#endif
#ifndef ALWAYS_INLINE
# define ALWAYS_INLINE(x) x
#endif
#ifndef ERRORFUNC
# define HAVE_ATTRIBUTE_ERRORFUNC 0
# define ERRORFUNC(mesg, x) x
#else
# define HAVE_ATTRIBUTE_ERRORFUNC 1
#endif
#ifndef WARNINGFUNC
# define HAVE_ATTRIBUTE_WARNINGFUNC 0
# define WARNINGFUNC(mesg, x) x
#else
# define HAVE_ATTRIBUTE_WARNINGFUNC 1
#endif

#ifndef GCC_VERSION_SINCE
# if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__)
#  define GCC_VERSION_SINCE(major, minor, patchlevel) \
    ((__GNUC__ > (major)) ||  \
     ((__GNUC__ == (major) && \
       ((__GNUC_MINOR__ > (minor)) || \
        (__GNUC_MINOR__ == (minor) && __GNUC_PATCHLEVEL__ >= (patchlevel))))))
# else
#  define GCC_VERSION_SINCE(major, minor, patchlevel) 0
# endif
#endif
#ifndef GCC_VERSION_BEFORE
# if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__)
#  define GCC_VERSION_BEFORE(major, minor, patchlevel) \
    ((__GNUC__ < (major)) ||  \
     ((__GNUC__ == (major) && \
       ((__GNUC_MINOR__ < (minor)) || \
        (__GNUC_MINOR__ == (minor) && __GNUC_PATCHLEVEL__ <= (patchlevel))))))
# else
#  define GCC_VERSION_BEFORE(major, minor, patchlevel) 0
# endif
#endif

/* likely */
#if __GNUC__ >= 3
#define RB_LIKELY(x)   (__builtin_expect(!!(x), 1))
#define RB_UNLIKELY(x) (__builtin_expect(!!(x), 0))
#else /* __GNUC__ >= 3 */
#define RB_LIKELY(x)   (x)
#define RB_UNLIKELY(x) (x)
#endif /* __GNUC__ >= 3 */

#ifdef __GNUC__
#define PRINTF_ARGS(decl, string_index, first_to_check) \
  decl __attribute__((format(printf, string_index, first_to_check)))
#else
#define PRINTF_ARGS(decl, string_index, first_to_check) decl
#endif

#ifdef __GNUC__
#define RB_GNUC_EXTENSION __extension__
#define RB_GNUC_EXTENSION_BLOCK(x) __extension__ ({ x; })
#else
#define RB_GNUC_EXTENSION
#define RB_GNUC_EXTENSION_BLOCK(x) (x)
#endif

/* AC_INCLUDES_DEFAULT */
#include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# ifdef HAVE_STDLIB_H
#  include <stdlib.h>
# endif
#endif
#ifdef HAVE_STRING_H
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
#  include <memory.h>
# endif
# include <string.h>
#endif
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif

#ifdef HAVE_SYS_SELECT_H
# include <sys/select.h>
#endif

#ifdef RUBY_USE_SETJMPEX
#include <setjmpex.h>
#endif

#include "ruby/missing.h"

#define RUBY

#ifdef __cplusplus
# ifndef  HAVE_PROTOTYPES
#  define HAVE_PROTOTYPES 1
# endif
# ifndef  HAVE_STDARG_PROTOTYPES
#  define HAVE_STDARG_PROTOTYPES 1
# endif
#endif

#undef _
#ifdef HAVE_PROTOTYPES
# define _(args) args
#else
# define _(args) ()
#endif

#undef __
#ifdef HAVE_STDARG_PROTOTYPES
# define __(args) args
#else
# define __(args) ()
#endif

#ifdef __cplusplus
#define ANYARGS ...
#else
#define ANYARGS
#endif

#ifndef RUBY_SYMBOL_EXPORT_BEGIN
# define RUBY_SYMBOL_EXPORT_BEGIN /* begin */
# define RUBY_SYMBOL_EXPORT_END   /* end */
#endif

RUBY_SYMBOL_EXPORT_BEGIN

#define xmalloc ruby_xmalloc
#define xmalloc2 ruby_xmalloc2
#define xcalloc ruby_xcalloc
#define xrealloc ruby_xrealloc
#define xrealloc2 ruby_xrealloc2
#define xfree ruby_xfree

#if GCC_VERSION_SINCE(4,3,0)
# define RUBY_ATTR_ALLOC_SIZE(params) __attribute__ ((alloc_size params))
#else
# define RUBY_ATTR_ALLOC_SIZE(params)
#endif

void *xmalloc(size_t) RUBY_ATTR_ALLOC_SIZE((1));
void *xmalloc2(size_t,size_t) RUBY_ATTR_ALLOC_SIZE((1,2));
void *xcalloc(size_t,size_t) RUBY_ATTR_ALLOC_SIZE((1,2));
void *xrealloc(void*,size_t) RUBY_ATTR_ALLOC_SIZE((2));
void *xrealloc2(void*,size_t,size_t) RUBY_ATTR_ALLOC_SIZE((2,3));
void xfree(void*);

#define STRINGIZE(expr) STRINGIZE0(expr)
#ifndef STRINGIZE0
#define STRINGIZE0(expr) #expr
#endif

#ifdef HAVE_LONG_LONG
# define HAVE_TRUE_LONG_LONG 1
#endif

#if SIZEOF_LONG_LONG > 0
# define LONG_LONG long long
#elif SIZEOF___INT64 > 0
# define HAVE_LONG_LONG 1
# define LONG_LONG __int64
# undef SIZEOF_LONG_LONG
# define SIZEOF_LONG_LONG SIZEOF___INT64
#endif

#ifdef __CYGWIN__
#undef _WIN32
#endif

#if defined(_WIN32)
/*
  DOSISH mean MS-Windows style filesystem.
  But you should use more precise macros like DOSISH_DRIVE_LETTER, PATH_SEP,
  ENV_IGNORECASE or CASEFOLD_FILESYSTEM.
 */
#define DOSISH 1
# define DOSISH_DRIVE_LETTER
#endif

#ifdef AC_APPLE_UNIVERSAL_BUILD
#undef WORDS_BIGENDIAN
#ifdef __BIG_ENDIAN__
#define WORDS_BIGENDIAN
#endif
#endif

#ifdef _WIN32
#include "ruby/win32.h"
#endif

#ifdef RUBY_EXPORT
#undef RUBY_EXTERN

#ifndef FALSE
# define FALSE 0
#elif FALSE
# error FALSE must be false
#endif
#ifndef TRUE
# define TRUE 1
#elif !TRUE
# error TRUE must be true
#endif

#endif

#ifndef RUBY_FUNC_EXPORTED
#define RUBY_FUNC_EXPORTED
#endif

#ifndef RUBY_EXTERN
#define RUBY_EXTERN extern
#endif

#ifndef EXTERN
# if defined __GNUC__
#   define EXTERN _Pragma("message \"EXTERN is deprecated, use RUBY_EXTERN instead\""); \
    RUBY_EXTERN
# elif defined _MSC_VER
#   define EXTERN __pragma(message(__FILE__"("STRINGIZE(__LINE__)"): warning: "\
				   "EXTERN is deprecated, use RUBY_EXTERN instead")); \
    RUBY_EXTERN
# else
#   define EXTERN <-<-"EXTERN is deprecated, use RUBY_EXTERN instead"->->
# endif
#endif

#ifndef RUBY_MBCHAR_MAXSIZE
#define RUBY_MBCHAR_MAXSIZE INT_MAX
        /* MB_CUR_MAX will not work well in C locale */
#endif

#if defined(__sparc)
void rb_sparc_flush_register_windows(void);
#  define FLUSH_REGISTER_WINDOWS rb_sparc_flush_register_windows()
#elif defined(__ia64)
void *rb_ia64_bsp(void);
void rb_ia64_flushrs(void);
#  define FLUSH_REGISTER_WINDOWS rb_ia64_flushrs()
#else
#  define FLUSH_REGISTER_WINDOWS ((void)0)
#endif

#if defined(DOSISH)
#define PATH_SEP ";"
#else
#define PATH_SEP ":"
#endif
#define PATH_SEP_CHAR PATH_SEP[0]

#define PATH_ENV "PATH"

#if defined(DOSISH)
#define ENV_IGNORECASE
#endif

#ifndef CASEFOLD_FILESYSTEM
# if defined DOSISH
#   define CASEFOLD_FILESYSTEM 1
# else
#   define CASEFOLD_FILESYSTEM 0
# endif
#endif

#ifndef DLEXT_MAXLEN
#define DLEXT_MAXLEN 4
#endif

#ifndef RUBY_PLATFORM
#define RUBY_PLATFORM "unknown-unknown"
#endif

#ifndef FUNC_MINIMIZED
#define FUNC_MINIMIZED(x) x
#endif
#ifndef FUNC_UNOPTIMIZED
#define FUNC_UNOPTIMIZED(x) x
#endif
#ifndef RUBY_ALIAS_FUNCTION_TYPE
#define RUBY_ALIAS_FUNCTION_TYPE(type, prot, name, args) \
    FUNC_MINIMIZED(type prot) {return (type)name args;}
#endif
#ifndef RUBY_ALIAS_FUNCTION_VOID
#define RUBY_ALIAS_FUNCTION_VOID(prot, name, args) \
    FUNC_MINIMIZED(void prot) {name args;}
#endif
#ifndef RUBY_ALIAS_FUNCTION
#define RUBY_ALIAS_FUNCTION(prot, name, args) \
    RUBY_ALIAS_FUNCTION_TYPE(VALUE, prot, name, args)
#endif

#ifndef UNALIGNED_WORD_ACCESS
# if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
     defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || \
     defined(__powerpc64__) || \
     defined(__mc68020__)
#   define UNALIGNED_WORD_ACCESS 1
# else
#   define UNALIGNED_WORD_ACCESS 0
# endif
#endif
#ifndef PACKED_STRUCT
# define PACKED_STRUCT(x) x
#endif
#ifndef PACKED_STRUCT_UNALIGNED
# if UNALIGNED_WORD_ACCESS
#   define PACKED_STRUCT_UNALIGNED(x) PACKED_STRUCT(x)
# else
#   define PACKED_STRUCT_UNALIGNED(x) x
# endif
#endif

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* RUBY_DEFINES_H */
/**********************************************************************

  ruby/debug.h -

  $Author: ko1 $
  created at: Tue Nov 20 20:35:08 2012

  Copyright (C) 2012 Yukihiro Matsumoto

**********************************************************************/

#ifndef RB_DEBUG_H
#define RB_DEBUG_H 1

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

RUBY_SYMBOL_EXPORT_BEGIN

/* Note: This file contains experimental APIs. */
/* APIs can be replaced at Ruby 2.0.1 or later */


/* profile frames APIs */
int rb_profile_frames(int start, int limit, VALUE *buff, int *lines);
VALUE rb_profile_frame_path(VALUE frame);
VALUE rb_profile_frame_absolute_path(VALUE frame);
VALUE rb_profile_frame_label(VALUE frame);
VALUE rb_profile_frame_base_label(VALUE frame);
VALUE rb_profile_frame_full_label(VALUE frame);
VALUE rb_profile_frame_first_lineno(VALUE frame);
VALUE rb_profile_frame_classpath(VALUE frame);
VALUE rb_profile_frame_singleton_method_p(VALUE frame);
VALUE rb_profile_frame_method_name(VALUE frame);
VALUE rb_profile_frame_qualified_method_name(VALUE frame);

/* debug inspector APIs */
typedef struct rb_debug_inspector_struct rb_debug_inspector_t;
typedef VALUE (*rb_debug_inspector_func_t)(const rb_debug_inspector_t *, void *);

VALUE rb_debug_inspector_open(rb_debug_inspector_func_t func, void *data);
VALUE rb_debug_inspector_frame_self_get(const rb_debug_inspector_t *dc, long index);
VALUE rb_debug_inspector_frame_class_get(const rb_debug_inspector_t *dc, long index);
VALUE rb_debug_inspector_frame_binding_get(const rb_debug_inspector_t *dc, long index);
VALUE rb_debug_inspector_frame_iseq_get(const rb_debug_inspector_t *dc, long index);
VALUE rb_debug_inspector_backtrace_locations(const rb_debug_inspector_t *dc);

/* Old style set_trace_func APIs */

/* duplicated def of include/ruby/ruby.h */
void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data);
int rb_remove_event_hook(rb_event_hook_func_t func);

int rb_remove_event_hook_with_data(rb_event_hook_func_t func, VALUE data);
void rb_thread_add_event_hook(VALUE thval, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data);
int rb_thread_remove_event_hook(VALUE thval, rb_event_hook_func_t func);
int rb_thread_remove_event_hook_with_data(VALUE thval, rb_event_hook_func_t func, VALUE data);

/* TracePoint APIs */

VALUE rb_tracepoint_new(VALUE target_thread_not_supported_yet, rb_event_flag_t events, void (*func)(VALUE, void *), void *data);
VALUE rb_tracepoint_enable(VALUE tpval);
VALUE rb_tracepoint_disable(VALUE tpval);
VALUE rb_tracepoint_enabled_p(VALUE tpval);

typedef struct rb_trace_arg_struct rb_trace_arg_t;
rb_trace_arg_t *rb_tracearg_from_tracepoint(VALUE tpval);

rb_event_flag_t rb_tracearg_event_flag(rb_trace_arg_t *trace_arg);
VALUE rb_tracearg_event(rb_trace_arg_t *trace_arg);
VALUE rb_tracearg_lineno(rb_trace_arg_t *trace_arg);
VALUE rb_tracearg_path(rb_trace_arg_t *trace_arg);
VALUE rb_tracearg_method_id(rb_trace_arg_t *trace_arg);
VALUE rb_tracearg_callee_id(rb_trace_arg_t *trace_arg);
VALUE rb_tracearg_defined_class(rb_trace_arg_t *trace_arg);
VALUE rb_tracearg_binding(rb_trace_arg_t *trace_arg);
VALUE rb_tracearg_self(rb_trace_arg_t *trace_arg);
VALUE rb_tracearg_return_value(rb_trace_arg_t *trace_arg);
VALUE rb_tracearg_raised_exception(rb_trace_arg_t *trace_arg);
VALUE rb_tracearg_object(rb_trace_arg_t *trace_arg);

/* Postponed Job API */
typedef void (*rb_postponed_job_func_t)(void *arg);
int rb_postponed_job_register(unsigned int flags, rb_postponed_job_func_t func, void *data);
int rb_postponed_job_register_one(unsigned int flags, rb_postponed_job_func_t func, void *data);

/* undocumented advanced tracing APIs */

typedef enum {
    RUBY_EVENT_HOOK_FLAG_SAFE    = 0x01,
    RUBY_EVENT_HOOK_FLAG_DELETED = 0x02,
    RUBY_EVENT_HOOK_FLAG_RAW_ARG = 0x04
} rb_event_hook_flag_t;

void rb_add_event_hook2(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_event_hook_flag_t hook_flag);
void rb_thread_add_event_hook2(VALUE thval, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_event_hook_flag_t hook_flag);

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif /* RUBY_DEBUG_H */
/**********************************************************************

  thread_native.h -

  $Author: ko1 $
  created at: Wed May 14 19:37:31 2014

  Copyright (C) 2014 Yukihiro Matsumoto

**********************************************************************/

#ifndef RUBY_THREAD_NATIVE_H
#define RUBY_THREAD_NATIVE_H 1

/*
 * This file contains wrapper APIs for native thread primitives
 * which Ruby interpreter uses.
 *
 * Now, we only suppors pthread and Windows threads.
 *
 * If you want to use Ruby's Mutex and so on to synchronize Ruby Threads,
 * please use Mutex directly.
 */


#if defined(_WIN32)
#include <windows.h>
typedef HANDLE rb_nativethread_id_t;

typedef union rb_thread_lock_union {
    HANDLE mutex;
    CRITICAL_SECTION crit;
} rb_nativethread_lock_t;

#elif defined(HAVE_PTHREAD_H)
#include <pthread.h>
typedef pthread_t rb_nativethread_id_t;
typedef pthread_mutex_t rb_nativethread_lock_t;

#else
#error "unsupported thread type"

#endif

RUBY_SYMBOL_EXPORT_BEGIN

rb_nativethread_id_t rb_nativethread_self();

void rb_nativethread_lock_initialize(rb_nativethread_lock_t *lock);
void rb_nativethread_lock_destroy(rb_nativethread_lock_t *lock);
void rb_nativethread_lock_lock(rb_nativethread_lock_t *lock);
void rb_nativethread_lock_unlock(rb_nativethread_lock_t *lock);

RUBY_SYMBOL_EXPORT_END

#endif
#if   defined __GNUC__
#warning use "ruby/util.h" instead of bare "util.h"
#elif defined _MSC_VER
#pragma message("warning: use \"ruby/util.h\" instead of bare \"util.h\"")
#endif
#include "ruby/util.h"
#if   defined __GNUC__
#warning use of RClass internals is deprecated
#elif defined _MSC_VER
#pragma message("warning: use of RClass internals is deprecated")
#endif

#ifndef RUBY_BACKWARD_CLASSEXT_H
#define RUBY_BACKWARD_CLASSEXT_H 1

typedef struct rb_deprecated_classext_struct {
    VALUE super;
} rb_deprecated_classext_t;

#undef RCLASS_SUPER(c)
#define RCLASS_EXT(c) ((rb_deprecated_classext_t *)RCLASS(c)->ptr)
#define RCLASS_SUPER(c) (RCLASS(c)->super)

#endif	/* RUBY_BACKWARD_CLASSEXT_H */
#if   defined __GNUC__
#warning use "ruby/st.h" instead of bare "st.h"
#elif defined _MSC_VER
#pragma message("warning: use \"ruby/st.h\" instead of bare \"st.h\"")
#endif
#include "ruby/st.h"
/**********************************************************************

  rubysig.h -

  $Author: kosaki $
  $Date: 2015-10-18 02:10:34 +0000 (Sun, 18 Oct 2015) $
  created at: Wed Aug 16 01:15:38 JST 1995

  Copyright (C) 1993-2008 Yukihiro Matsumoto

**********************************************************************/

#if   defined __GNUC__
#warning rubysig.h is obsolete
#elif defined _MSC_VER
#pragma message("warning: rubysig.h is obsolete")
#endif

#ifndef RUBYSIG_H
#define RUBYSIG_H
#include "ruby/ruby.h"

#if defined(__cplusplus)
extern "C" {
#if 0
} /* satisfy cc-mode */
#endif
#endif

RUBY_SYMBOL_EXPORT_BEGIN

#define RUBY_CRITICAL(statements) do {statements;} while (0)
#define DEFER_INTS (0)
#define ENABLE_INTS (1)
#define ALLOW_INTS do {CHECK_INTS;} while (0)
#define CHECK_INTS rb_thread_check_ints()

RUBY_SYMBOL_EXPORT_END

#if defined(__cplusplus)
#if 0
{ /* satisfy cc-mode */
#endif
}  /* extern "C" { */
#endif

#endif
#if   defined __GNUC__
#warning use "ruby/io.h" instead of "rubyio.h"
#elif defined _MSC_VER
#pragma message("warning: use \"ruby/io.h\" instead of \"rubyio.h\"")
#endif
#include "ruby/io.h"
/************************************************

  digest.h - header file for ruby digest modules

  $Author: nobu $
  created at: Fri May 25 08:54:56 JST 2001


  Copyright (C) 2001-2006 Akinori MUSHA

  $RoughId: digest.h,v 1.3 2001/07/13 15:38:27 knu Exp $
  $Id: digest.h 49564 2015-02-11 02:09:23Z nobu $

************************************************/

#include "ruby.h"

#define RUBY_DIGEST_API_VERSION	3

typedef int (*rb_digest_hash_init_func_t)(void *);
typedef void (*rb_digest_hash_update_func_t)(void *, unsigned char *, size_t);
typedef int (*rb_digest_hash_finish_func_t)(void *, unsigned char *);

typedef struct {
    int api_version;
    size_t digest_len;
    size_t block_len;
    size_t ctx_size;
    rb_digest_hash_init_func_t init_func;
    rb_digest_hash_update_func_t update_func;
    rb_digest_hash_finish_func_t finish_func;
} rb_digest_metadata_t;

#define DEFINE_UPDATE_FUNC_FOR_UINT(name) \
void \
rb_digest_##name##_update(void *ctx, unsigned char *ptr, size_t size) \
{ \
    const unsigned int stride = 16384; \
 \
    for (; size > stride; size -= stride, ptr += stride) { \
	name##_Update(ctx, ptr, stride); \
    } \
    if (size > 0) name##_Update(ctx, ptr, size); \
}

#define DEFINE_FINISH_FUNC_FROM_FINAL(name) \
int \
rb_digest_##name##_finish(void *ctx, unsigned char *ptr) \
{ \
    return name##_Final(ptr, ctx); \
}
#ifndef INCLUDE_RUBY_CONFIG_H
#define INCLUDE_RUBY_CONFIG_H 1
/* confdefs.h */
#define CANONICALIZATION_FOR_MATHN 1
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define __EXTENSIONS__ 1
#define _ALL_SOURCE 1
#define _GNU_SOURCE 1
#define _POSIX_PTHREAD_SEMANTICS 1
#define _TANDEM_SOURCE 1
#define HAVE_INFINITY 1
#define HAVE_NAN 1
#define RUBY_SYMBOL_EXPORT_BEGIN _Pragma("GCC visibility push(default)")
#define RUBY_SYMBOL_EXPORT_END _Pragma("GCC visibility pop")
#define HAVE_LIBCRYPT 1
#define HAVE_LIBDL 1
#define HAVE_DIRENT_H 1
#define HAVE__BOOL 1
#define HAVE_STDBOOL_H 1
#define HAVE_SYS_WAIT_H 1
#define HAVE_A_OUT_H 1
#define HAVE_GRP_H 1
#define HAVE_FCNTL_H 1
#define HAVE_FLOAT_H 1
#define HAVE_LANGINFO_H 1
#define HAVE_LIMITS_H 1
#define HAVE_LOCALE_H 1
#define HAVE_MALLOC_H 1
#define HAVE_PWD_H 1
#define HAVE_SYS_FCNTL_H 1
#define HAVE_SYS_FILE_H 1
#define HAVE_SYS_IOCTL_H 1
#define HAVE_SYS_PARAM_H 1
#define HAVE_SYS_PRCTL_H 1
#define HAVE_SYS_RESOURCE_H 1
#define HAVE_SYS_SELECT_H 1
#define HAVE_SYS_SENDFILE_H 1
#define HAVE_SYS_SOCKET_H 1
#define HAVE_SYS_SYSCALL_H 1
#define HAVE_SYS_SYSMACROS_H 1
#define HAVE_SYS_TIME_H 1
#define HAVE_SYS_TIMES_H 1
#define HAVE_SYS_UIO_H 1
#define HAVE_SYSCALL_H 1
#define HAVE_TIME_H 1
#define HAVE_UCONTEXT_H 1
#define HAVE_UTIME_H 1
#define HAVE_TYPEOF 1
#define HAVE_LONG_LONG 1
#define HAVE_OFF_T 1
#define SIZEOF_INT 4
#define SIZEOF_SHORT 2
#define SIZEOF_LONG 8
#define SIZEOF_LONG_LONG 8
#define SIZEOF___INT64 0
#define SIZEOF___INT128 16
#define SIZEOF_OFF_T 8
#define SIZEOF_VOIDP 8
#define SIZEOF_FLOAT 4
#define SIZEOF_DOUBLE 8
#define SIZEOF_TIME_T 8
#define SIZEOF_CLOCK_T 8
#define PACKED_STRUCT(x) x __attribute__((packed))
#define USE_UNALIGNED_MEMBER_ACCESS 1
#define PRI_LL_PREFIX "ll"
#define rb_pid_t pid_t
#define SIGNEDNESS_OF_PID_T -1
#define PIDT2NUM(v) INT2NUM(v)
#define NUM2PIDT(v) NUM2INT(v)
#define PRI_PIDT_PREFIX PRI_INT_PREFIX
#define rb_uid_t uid_t
#define SIGNEDNESS_OF_UID_T +1
#define UIDT2NUM(v) UINT2NUM(v)
#define NUM2UIDT(v) NUM2UINT(v)
#define PRI_UIDT_PREFIX PRI_INT_PREFIX
#define rb_gid_t gid_t
#define SIGNEDNESS_OF_GID_T +1
#define GIDT2NUM(v) UINT2NUM(v)
#define NUM2GIDT(v) NUM2UINT(v)
#define PRI_GIDT_PREFIX PRI_INT_PREFIX
#define rb_time_t time_t
#define SIGNEDNESS_OF_TIME_T -1
#define TIMET2NUM(v) LONG2NUM(v)
#define NUM2TIMET(v) NUM2LONG(v)
#define PRI_TIMET_PREFIX PRI_LONG_PREFIX
#define rb_dev_t dev_t
#define SIGNEDNESS_OF_DEV_T +1
#define DEVT2NUM(v) ULONG2NUM(v)
#define NUM2DEVT(v) NUM2ULONG(v)
#define PRI_DEVT_PREFIX PRI_LONG_PREFIX
#define rb_mode_t mode_t
#define SIGNEDNESS_OF_MODE_T +1
#define MODET2NUM(v) UINT2NUM(v)
#define NUM2MODET(v) NUM2UINT(v)
#define PRI_MODET_PREFIX PRI_INT_PREFIX
#define rb_rlim_t rlim_t
#define SIGNEDNESS_OF_RLIM_T +1
#define RLIM2NUM(v) ULONG2NUM(v)
#define NUM2RLIM(v) NUM2ULONG(v)
#define PRI_RLIM_PREFIX PRI_LONG_PREFIX
#define rb_off_t off_t
#define SIGNEDNESS_OF_OFF_T -1
#define OFFT2NUM(v) LONG2NUM(v)
#define NUM2OFFT(v) NUM2LONG(v)
#define PRI_OFFT_PREFIX PRI_LONG_PREFIX
#define rb_clockid_t clockid_t
#define SIGNEDNESS_OF_CLOCKID_T -1
#define CLOCKID2NUM(v) INT2NUM(v)
#define NUM2CLOCKID(v) NUM2INT(v)
#define PRI_CLOCKID_PREFIX PRI_INT_PREFIX
#define HAVE_PROTOTYPES 1
#define TOKEN_PASTE(x,y) x##y
#define STRINGIZE(expr) STRINGIZE0(expr)
#define HAVE_STDARG_PROTOTYPES 1
#define HAVE_VA_ARGS_MACRO 1
#define CONSTFUNC(x) __attribute__ ((__const__)) x
#define PUREFUNC(x) __attribute__ ((__pure__)) x
#define NORETURN(x) __attribute__ ((__noreturn__)) x
#define DEPRECATED(x) __attribute__ ((__deprecated__)) x
#define DEPRECATED_BY(n,x) __attribute__ ((__deprecated__("by "#n))) x
#define DEPRECATED_TYPE(mesg,x) __attribute__ ((__deprecated__ mesg)) x
#define NOINLINE(x) __attribute__ ((__noinline__)) x
#define ALWAYS_INLINE(x) __attribute__ ((__always_inline__)) x
#define WARN_UNUSED_RESULT(x) __attribute__ ((__warn_unused_result__)) x
#define MAYBE_UNUSED(x) __attribute__ ((__unused__)) x
#define ERRORFUNC(mesg,x) __attribute__ ((__error__ mesg)) x
#define WARNINGFUNC(mesg,x) __attribute__ ((__warning__ mesg)) x
#define WEAK(x) __attribute__ ((__weak__)) x
#define HAVE_FUNC_WEAK 1
#define FUNC_UNOPTIMIZED(x) __attribute__ ((__optimize__("O0"))) x
#define FUNC_MINIMIZED(x) __attribute__ ((__optimize__("-Os","-fomit-frame-pointer"))) x
#define HAVE_ATTRIBUTE_FUNCTION_ALIAS 1
#define RUBY_ALIAS_FUNCTION_TYPE(type, prot, name, args) type prot __attribute__((alias(#name)));
#define RUBY_ALIAS_FUNCTION_VOID(prot, name, args) RUBY_ALIAS_FUNCTION_TYPE(void, prot, name, args)
#define HAVE_GCC_ATOMIC_BUILTINS 1
#define HAVE_GCC_SYNC_BUILTINS 1
#define UNREACHABLE __builtin_unreachable()
#define RUBY_FUNC_EXPORTED __attribute__ ((__visibility__("default"))) extern
#define RUBY_FUNCTION_NAME_STRING __func__
#define ENUM_OVER_INT 1
#define HAVE_DECL_SYS_NERR 1
#define HAVE_DECL_GETENV 1
#define SIZEOF_SIZE_T 8
#define SIZEOF_PTRDIFF_T 8
#define PRI_SIZE_PREFIX "z"
#define PRI_PTRDIFF_PREFIX "t"
#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
#define HAVE_ST_BLKSIZE 1
#define HAVE_STRUCT_STAT_ST_BLOCKS 1
#define HAVE_ST_BLOCKS 1
#define HAVE_STRUCT_STAT_ST_RDEV 1
#define HAVE_ST_RDEV 1
#define SIZEOF_STRUCT_STAT_ST_SIZE SIZEOF_OFF_T
#define SIZEOF_STRUCT_STAT_ST_BLOCKS SIZEOF_OFF_T
#define SIZEOF_STRUCT_STAT_ST_INO SIZEOF_LONG
#define HAVE_STRUCT_STAT_ST_ATIM 1
#define HAVE_STRUCT_STAT_ST_MTIM 1
#define HAVE_STRUCT_STAT_ST_CTIM 1
#define HAVE_STRUCT_TIMEVAL 1
#define SIZEOF_STRUCT_TIMEVAL_TV_SEC SIZEOF_TIME_T
#define HAVE_STRUCT_TIMESPEC 1
#define HAVE_STRUCT_TIMEZONE 1
#define HAVE_CLOCKID_T 1
#define HAVE_RB_FD_INIT 1
#define HAVE_INT8_T 1
#define SIZEOF_INT8_T 1
#define HAVE_UINT8_T 1
#define SIZEOF_UINT8_T 1
#define HAVE_INT16_T 1
#define SIZEOF_INT16_T 2
#define HAVE_UINT16_T 1
#define SIZEOF_UINT16_T 2
#define HAVE_INT32_T 1
#define SIZEOF_INT32_T 4
#define HAVE_UINT32_T 1
#define SIZEOF_UINT32_T 4
#define HAVE_INT64_T 1
#define SIZEOF_INT64_T 8
#define HAVE_UINT64_T 1
#define SIZEOF_UINT64_T 8
#define HAVE_INT128_T 1
#define int128_t __int128
#define SIZEOF_INT128_T SIZEOF___INT128
#define HAVE_UINT128_T 1
#define uint128_t unsigned __int128
#define SIZEOF_UINT128_T SIZEOF___INT128
#define HAVE_INTPTR_T 1
#define SIZEOF_INTPTR_T 8
#define HAVE_UINTPTR_T 1
#define SIZEOF_UINTPTR_T 8
#define HAVE_SSIZE_T 1
#define SIZEOF_SSIZE_T 8
#define STACK_END_ADDRESS __libc_stack_end
#define GETGROUPS_T gid_t
#define RETSIGTYPE void
#define HAVE_ALLOCA_H 1
#define HAVE_ALLOCA 1
#define HAVE_ACOSH 1
#define HAVE_CBRT 1
#define HAVE_CRYPT 1
#define HAVE_DUP2 1
#define HAVE_ERF 1
#define HAVE_EXPLICIT_BZERO 1
#define HAVE_FFS 1
#define HAVE_FINITE 1
#define HAVE_FLOCK 1
#define HAVE_HYPOT 1
#define HAVE_ISINF 1
#define HAVE_ISNAN 1
#define HAVE_LGAMMA_R 1
#define HAVE_MEMMOVE 1
#define HAVE_NEXTAFTER 1
#define HAVE_STRCHR 1
#define HAVE_STRERROR 1
#define HAVE_STRSTR 1
#define HAVE_TGAMMA 1
#define SPT_TYPE SPT_REUSEARGV
#define HAVE_SIGNBIT 1
#define HAVE_FORK 1
#define HAVE_VFORK 1
#define HAVE_WORKING_VFORK 1
#define HAVE_WORKING_FORK 1
#define HAVE__LONGJMP 1
#define HAVE_ATAN2L 1
#define HAVE_ATAN2F 1
#define HAVE_CHROOT 1
#define HAVE_CLOCK_GETTIME 1
#define HAVE_COSH 1
#define HAVE_CRYPT_R 1
#define HAVE_DIRFD 1
#define HAVE_DL_ITERATE_PHDR 1
#define HAVE_DLOPEN 1
#define HAVE_DLADDR 1
#define HAVE_DUP 1
#define HAVE_DUP3 1
#define HAVE_EACCESS 1
#define HAVE_ENDGRENT 1
#define HAVE_FCHMOD 1
#define HAVE_FCHOWN 1
#define HAVE_FCNTL 1
#define HAVE_FDATASYNC 1
#define HAVE_FDOPENDIR 1
#define HAVE_FMOD 1
#define HAVE_FSTATAT 1
#define HAVE_FSYNC 1
#define HAVE_FTRUNCATE 1
#define HAVE_FTRUNCATE64 1
#define HAVE_GETCWD 1
#define HAVE_GETGRNAM 1
#define HAVE_GETGRNAM_R 1
#define HAVE_GETGROUPS 1
#define HAVE_GETPGID 1
#define HAVE_GETPGRP 1
#define HAVE_GETPRIORITY 1
#define HAVE_GETPWNAM_R 1
#define HAVE_GETRESGID 1
#define HAVE_GETRESUID 1
#define HAVE_GETRLIMIT 1
#define HAVE_GETSID 1
#define HAVE_GETTIMEOFDAY 1
#define HAVE_GMTIME_R 1
#define HAVE_INITGROUPS 1
#define HAVE_IOCTL 1
#define HAVE_KILLPG 1
#define HAVE_LCHOWN 1
#define HAVE_LINK 1
#define HAVE_LLABS 1
#define HAVE_LOCKF 1
#define HAVE_LOG2 1
#define HAVE_LSTAT 1
#define HAVE_LUTIMES 1
#define HAVE_MALLOC_USABLE_SIZE 1
#define HAVE_MBLEN 1
#define HAVE_MEMALIGN 1
#define HAVE_WRITEV 1
#define HAVE_MEMRCHR 1
#define HAVE_MEMMEM 1
#define HAVE_MKFIFO 1
#define HAVE_MKNOD 1
#define HAVE_MKTIME 1
#define HAVE_OPENAT 1
#define HAVE_PIPE2 1
#define HAVE_POLL 1
#define HAVE_POSIX_FADVISE 1
#define HAVE_POSIX_MEMALIGN 1
#define HAVE_PPOLL 1
#define HAVE_PREAD 1
#define HAVE_PWRITE 1
#define HAVE_QSORT_R 1
#define HAVE_READLINK 1
#define HAVE_ROUND 1
#define HAVE_SCHED_GETAFFINITY 1
#define HAVE_SEEKDIR 1
#define HAVE_SENDFILE 1
#define HAVE_SETEGID 1
#define HAVE_SETENV 1
#define HAVE_SETEUID 1
#define HAVE_SETGID 1
#define HAVE_SETGROUPS 1
#define HAVE_SETPGID 1
#define HAVE_SETPGRP 1
#define HAVE_SETREGID 1
#define HAVE_SETRESGID 1
#define HAVE_SETRESUID 1
#define HAVE_SETREUID 1
#define HAVE_SETRLIMIT 1
#define HAVE_SETSID 1
#define HAVE_SETUID 1
#define HAVE_SHUTDOWN 1
#define HAVE_SIGACTION 1
#define HAVE_SIGALTSTACK 1
#define HAVE_SIGPROCMASK 1
#define HAVE_SINH 1
#define HAVE_SYMLINK 1
#define HAVE_SYSCALL 1
#define HAVE_SYSCONF 1
#define HAVE_TANH 1
#define HAVE_TELLDIR 1
#define HAVE_TIMEGM 1
#define HAVE_TIMES 1
#define HAVE_TRUNCATE 1
#define HAVE_TRUNCATE64 1
#define HAVE_UNSETENV 1
#define HAVE_UTIMENSAT 1
#define HAVE_UTIMES 1
#define HAVE_WAIT4 1
#define HAVE_WAITPID 1
#define HAVE_CRYPT_H 1
#define HAVE_STRUCT_CRYPT_DATA_INITIALIZED 1
#define HAVE_BUILTIN___BUILTIN_BSWAP16 1
#define HAVE_BUILTIN___BUILTIN_BSWAP32 1
#define HAVE_BUILTIN___BUILTIN_BSWAP64 1
#define HAVE_BUILTIN___BUILTIN_POPCOUNT 1
#define HAVE_BUILTIN___BUILTIN_POPCOUNTLL 1
#define HAVE_BUILTIN___BUILTIN_CLZ 1
#define HAVE_BUILTIN___BUILTIN_CLZL 1
#define HAVE_BUILTIN___BUILTIN_CLZLL 1
#define HAVE_BUILTIN___BUILTIN_CTZ 1
#define HAVE_BUILTIN___BUILTIN_CTZLL 1
#define HAVE_BUILTIN___BUILTIN_ADD_OVERFLOW 1
#define HAVE_BUILTIN___BUILTIN_SUB_OVERFLOW 1
#define HAVE_BUILTIN___BUILTIN_MUL_OVERFLOW 1
#define HAVE_BUILTIN___BUILTIN_MUL_OVERFLOW_P 1
#define HAVE_BUILTIN___BUILTIN_CONSTANT_P 1
#define HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR 1
#define HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P 1
#define HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P 1
#define HAVE_GNU_QSORT_R 1
#define ATAN2_INF_C99 1
#define HAVE_CLOCK_GETRES 1
#define HAVE_STRUCT_TM_TM_ZONE 1
#define HAVE_TM_ZONE 1
#define HAVE_STRUCT_TM_TM_GMTOFF 1
#define HAVE_DAYLIGHT 1
#define NEGATIVE_TIME_T 1
#define POSIX_SIGNAL 1
#define HAVE_SIG_T 1
#define RSHIFT(x,y) ((x)>>(int)(y))
#define HAVE__SC_CLK_TCK 1
#define STACK_GROW_DIRECTION -1
#define _REENTRANT 1
#define _THREAD_SAFE 1
#define HAVE_LIBPTHREAD 1
#define HAVE_SCHED_YIELD 1
#define HAVE_PTHREAD_ATTR_SETINHERITSCHED 1
#define HAVE_PTHREAD_ATTR_GETSTACK 1
#define HAVE_PTHREAD_ATTR_INIT 1
#define HAVE_PTHREAD_COND_INIT 1
#define HAVE_PTHREAD_CONDATTR_SETCLOCK 1
#define HAVE_PTHREAD_CONDATTR_INIT 1
#define HAVE_PTHREAD_SIGMASK 1
#define HAVE_PTHREAD_SETNAME_NP 1
#define HAVE_PTHREAD_GETATTR_NP 1
#define SET_CURRENT_THREAD_NAME(name) pthread_setname_np(pthread_self(), name)
#define SET_ANOTHER_THREAD_NAME(thid,name) pthread_setname_np(thid, name)
#define DEFINE_MCONTEXT_PTR(mc, uc) mcontext_t *mc = &(uc)->uc_mcontext
#define HAVE_GETCONTEXT 1
#define HAVE_SETCONTEXT 1
#define USE_ELF 1
#define HAVE_ELF_H 1
#define HAVE_BACKTRACE 1
#define DLEXT_MAXLEN 3
#define DLEXT ".so"
#define LIBDIR_BASENAME "lib64"
#define HAVE__SETJMP 1
#define RUBY_SETJMP(env) __builtin_setjmp((env))
#define RUBY_LONGJMP(env,val) __builtin_longjmp((env),val)
#define RUBY_JMP_BUF jmp_buf
#define HAVE_PTHREAD_H 1
#define RUBY_PLATFORM "x86_64-linux"
#endif /* INCLUDE_RUBY_CONFIG_H */
/**********************************************************************

  ruby.h -

  $Author$
  created at: Sun 10 12:06:15 Jun JST 2007

  Copyright (C) 2007-2008 Yukihiro Matsumoto

**********************************************************************/

#ifndef RUBY_H
#define RUBY_H 1

#define HAVE_RUBY_DEFINES_H     1
#define HAVE_RUBY_ENCODING_H    1
#define HAVE_RUBY_INTERN_H      1
#define HAVE_RUBY_IO_H          1
#define HAVE_RUBY_MISSING_H     1
#define HAVE_RUBY_ONIGURUMA_H   1
#define HAVE_RUBY_RE_H          1
#define HAVE_RUBY_REGEX_H       1
#define HAVE_RUBY_RUBY_H        1
#define HAVE_RUBY_ST_H          1
#define HAVE_RUBY_THREAD_H      1
#define HAVE_RUBY_UTIL_H        1
#define HAVE_RUBY_VERSION_H     1
#define HAVE_RUBY_VM_H          1
#ifdef _WIN32
#define HAVE_RUBY_WIN32_H       1
#endif

#include "ruby/ruby.h"

#endif /* RUBY_H */
U:RDoc::TopLevel[	iI"NEWS-1.9.2:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[S:RDoc::Markup::Heading:
leveli:	textI"NEWS for Ruby 1.9.2;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"JThis document is a list of user visible feature changes made between ;TI"#releases except for bug fixes.;T@
o;
;[I"DNote that each entry is kept so brief that no reason behind or ;TI"Ireference information is supplied with.  For a full list of changes ;TI"=with all sufficient information, see the ChangeLog file.;T@
S;	;
i;I"$Changes since the 1.9.1 release;TS;	;
i;I",Library updates (outstanding ones only);T@
o:RDoc::Markup::List:
@type:BULLET:@items[#o:RDoc::Markup::ListItem:@label0;[o;
;[I"builtin classes;T@
o;;;;[o;;0;[o;
;[I"
Array;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Array#keep_if;To;;0;[o;
;[I"Array#repeated_combination;To;;0;[o;
;[I"Array#repeated_permutation;To;;0;[o;
;[I"Array#rotate;To;;0;[o;
;[I"Array#rotate!;To;;0;[o;
;[I"Array#select!;To;;0;[o;
;[I"Array#sort_by!;T@
o;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"1Array#{uniq,uniq!,product} can take a block.;T@
o;;0;[o;
;[I"Complex;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"Complex#rationalize;T@
o;;0;[o;
;[I"Dir;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"
Dir.home;T@
o;;0;[o;
;[I"
Encoding;To;;;;[o;;0;[o;
;[I"new encodings:;To;;;;[o;;0;[o;
;[I"	Big5;To;;0;[o;
;[I"
Big5-UAO;To;;0;[o;
;[I"ISO-2022-JP-KDDI;To;;0;[o;
;[I"SJIS-DoCoMo;To;;0;[o;
;[I"SJIS-KDDI;To;;0;[o;
;[I"SJIS-SoftBank;To;;0;[o;
;[I"UTF8-DoCoMo;To;;0;[o;
;[I"UTF8-KDDI;To;;0;[o;
;[I"UTF8-SoftBank;T@
o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"ascii_compatible?;T@
o;;0;[o;
;[I"Enumerable;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[
o;;0;[o;
;[I"Enumerable#chunk;To;;0;[o;
;[I"Enumerable#collect_concat;To;;0;[o;
;[I"Enumerable#each_entry;To;;0;[o;
;[I"Enumerable#flat_map;To;;0;[o;
;[I"Enumerable#slice_before;T@
o;;0;[o;
;[I"Enumerator;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[
o;;0;[o;
;[I"Enumerator#peek;To;;0;[o;
;[I"Enumerator#next_values;To;;0;[o;
;[I"Enumerator#peek_values;To;;0;[o;
;[I"Enumerator#feed;To;;0;[o;
;[I"StopIteration#result;T@
o;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"A#with_index accepts an optional argument that specifies the ;TI"0index number to start with, defaulted to 0.;T@
o;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[I"B#rewind now calls the "rewind" method of the enclosed object ;TI"if defined.;To;;0;[o;
;[I"-#next doesn't clear the position at end.;T@
o;;0;[o;
;[I"ENV;To;;;;[o;;0;[o;
;[I"Uses locale's encoding;To;;0;[o;
;[I";ENV.[]= raises Errno::{EINVAL,ENOMEM} etc. on failure.;To;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"ENV.keep_if;To;;0;[o;
;[I"ENV.select!;T@
o;;0;[o;
;[I"
Float;To;;;;[o;;0;[o;
;[I"new constants:;To;;;;[o;;0;[o;
;[I"Float::INFINITY;To;;0;[o;
;[I"Float::NAN;To;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"Float#rationalize;T@
o;;0;[o;
;[I"	File;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"File.realpath;To;;0;[o;
;[I"File.realdirpath;T@
o;;0;[o;
;[I"GC::Profiler;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"GC::Profiler.total_time;T@
o;;0;[o;
;[I"	Hash;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Hash#keep_if;To;;0;[o;
;[I"Hash#select!;T@
o;;0;[o;
;[I"IO;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[
o;;0;[o;
;[I"IO#autoclose=;To;;0;[o;
;[I"IO#autoclose?;To;;0;[o;
;[I"IO#fdatasync;To;;0;[o;
;[I"IO#codepoints;To;;0;[o;
;[I"IO#each_codepoint;T@
o;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"IO.pipe can take a block.;T@
o;;0;[o;
;[I"new modules:;To;;;;[o;;0;[o;
;[I"IO::WaitReadable;To;;0;[o;
;[I"IO::WaitWritable ;TI"5They are used to extend non-blocking exceptions.;T@
o;;0;[o;
;[I"Integer;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"Integer#rationalize;T@
o;;0;[o;
;[I"Kernel;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Kernel#respond_to_missing?;To;;0;[o;
;[I"Kernel#singleton_class;To;;0;[o;
;[I"Kernel#require_relative;T@
o;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"GKernel#respond_to? can be used to detect methods not implemented. ;TI"FFor example, Process.respond_to?(:fork) returns false on Windows.;T@
o;;0;[o;
;[I"incompatible changes:;To;;;;[
o;;0;[o;
;[I".Kernel#instance_eval yields the receiver.;T@
o;;0;[o;
;[I"Kernel#exec;To;;0;[o;
;[I"Kernel#spawn;To;;0;[o;
;[I"Kernel#system;To;;0;[	o;
;[I"Kernel#` (`...`) ;TI"..etc.;T@
o;
;[I"?On Windows, the current directory is no longer implicitly ;TI"Cprepended to the default command search path, just like other ;TI"platforms.;T@
o;;0;[o;
;[I"MatchData;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"MatchData#==;T@
o;;0;[o;
;[I"Method;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"Method#parameters;T@
o;;0;[o;
;[I"
NilClass;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"NilClass#rationalize;T@
o;;0;[o;
;[I"Object;To;;;;[o;;0;[o;
;[I"extended methods:;To;;;;[o;;0;[o;
;[I"8Float() supports hexadecimal floating point format.;To;;0;[o;
;[I"$printf() supports %a/%A format.;T@
o;;0;[o;
;[I"	Proc;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"Proc#parameters;To;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"HProc#source_location returns location even if receiver is a method ;TI":defined by attr_reader / attr_writer / attr_accessor.;T@
o;;0;[o;
;[I"Process;To;;;;[o;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I">Process.spawn accepts [:child, FD] for a redirect target.;T@
o;;0;[o;
;[I"9Random (new class to generate pseudo-random numbers);T@
o;;0;[o;
;[I"
Rational;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"Rational#rationalize;T@
o;;0;[o;
;[I"String;To;;;;[o;;0;[o;
;[I"extended methods:;To;;;;[o;;0;[o;
;[I"9string[regexp, name] is supported for named capture.;T@
o;;0;[o;
;[I"Thread;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Thread#add_trace_func;To;;0;[o;
;[I"Thread#set_trace_func;T@
o;;0;[o;
;[I"	Time;To;;;;[o;;0;[o;
;[I"extended features:;To;;;;[o;;0;[o;
;[I"Ltime_t restriction is removed to represent before 1901 and after 2038. ;TI"8Proleptic Gregorian calendar is used for old dates.;To;;0;[o;
;[I"GTime.new have optional arguments to specify date with time offset.;To;;0;[o;
;[I"FTime#getlocal, Time#localtime have optional time offset argument.;T@
o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Time#to_r;To;;0;[o;
;[I"Time#subsec;To;;0;[o;
;[I"Time#round;T@
o;;0;[o;
;[I"incompatible change:;To;;;;[o;;0;[o;
;[I"KThe year argument of Time.{utc,gm,local,mktime} is now interpreted as ;TI"Hthe value itself.  For example, Time.utc(99) means the year 99 AD, ;TI"not 1999 AD.;T@
o;;0;[o;
;[I"UnboundMethod;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I"UnboundMethod#parameters;T@
o;;0;[o;
;[I"digest;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Digest::Class.base64digest;To;;0;[o;
;[I""Digest::Instance#base64digest;To;;0;[o;
;[I"#Digest::Instance#base64digest!;T@
o;;0;[o;
;[I"FDigest::HMAC (digest/hmac) has been marked as deprecated because ;TI"Fit was unintentional for the experimental library to be included ;TI"Fin the final release of 1.9.1.  Please use OpenSSL::HMAC instead.;T@
o;;0;[o;
;[I"rss;T@
o;;;;[o;;0;[o;
;[I"0.2.4 -> 0.2.7.;T@
o;;0;[o;
;[I"RSS::Maker.make;To;;;;[o;;0;[o;
;[I"@raise an exception not returns nil for invalid feed making.;To;;0;[o;
;[I"requires block.;T@
o;;0;[o;
;[I"RSS::Maker.[];To;;;;[o;;0;[o;
;[I"&new method to return maker class.;T@
o;;0;[o;
;[I"#RSS::Maker.supported?(version);To;;;;[o;;0;[o;
;[I"<new method to check whether given version is supported.;T@
o;;0;[o;
;[I"*RSS::Maker: item.guid.permanent_link?;To;;;;[o;;0;[o;
;[I"'new alias of item.guid.isPermaLink;To;;0;[o;
;[I"*RSS::Maker: item.guid.permanent_link=;To;;;;[o;;0;[o;
;[I"(new alias of item.guid.isPermaLink=;T@
o;;0;[o;
;[I"DL;To;;;;[o;;0;[o;
;[I"/Now uses libffi as a backend if avaiable. ;TI".It means DL works fine on more platforms.;T@
o;;0;[o;
;[I"Fiddle;To;;;;[o;;0;[o;
;[I"&A lightweight wrapper for libffi.;T@
o;;0;[o;
;[I"	YAML;To;;;;[o;;0;[o;
;[I"1Now uses libyaml as a backend if available. ;TI";It means YAML library supports new standards for YAML.;T@
o;;0;[o;
;[I"
Psych;To;;;;[o;;0;[o;
;[I"A wrapper for libyaml.;T@
o;;0;[o;
;[I"	JSON;To;;;;[o;;0;[o;
;[I"Update to JSON 1.1.9;T@
o;;0;[o;
;[I"
REXML;T@
o;;;;[o;;0;[o;
;[I",REXML::Document.entity_expansion_limit=;T@
o;
;[I"KNew method to set the entity expansion limit. By default the limit is ;TI"6set to 10000.  See the following URL for details.;T@
o;
;[I"Mhttps://www.ruby-lang.org/en/news/2008/08/23/dos-vulnerability-in-rexml/;T@
o;;0;[o;
;[I"	RDoc;T@
o;;;;[o;;0;[o;
;[I"Updated to RDoc 2.5.8;T@
o;;0;[o;
;[I"
RubyGems;T@
o;;;;[o;;0;[o;
;[I"Updated to RubyGems 1.3.7;T@
o;;0;[o;
;[I"logger;T@
o;;;;[o;;0;[o;
;[I"-imported upstream version (logger/1.2.7);To;;;;[o;;0;[o;
;[I":do not raise an exception even if log writing failed.;To;;0;[o;
;[I"@do not raise ShiftingError if an aged file already exists. ;TI"F(no ShiftingError will be raised from 1.2.7, just warn() instead);T@
o;;0;[o;
;[I"matrix;To;;;;[o;;0;[o;
;[I"?API change to adhere strictly to mathematical definitions:;To;;;;[	o;;0;[o;
;[I"&Matrices must now be rectangular.;To;;0;[o;
;[I"Dtrace, regular?, singular? are defined only for square matrices;To;;0;[o;
;[I"support for empty matrices;To;;0;[o;
;[I"Jall integer matrices now have the right determinant (also an integer);T@
o;;0;[o;
;[I"*Matrix and Vector include Enumerable.;T@
o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Matrix.build;To;;0;[o;
;[I"Matrix.empty;To;;0;[o;
;[I"Matrix#conj;To;;0;[o;
;[I"Matrix#conjugate;To;;0;[o;
;[I"Matrix#each;To;;0;[o;
;[I"Matrix#each_with_index;To;;0;[o;
;[I"Matrix#empty?;To;;0;[o;
;[I"Matrix#imag;To;;0;[o;
;[I"Matrix#imaginary;To;;0;[o;
;[I"Matrix#real;To;;0;[o;
;[I"Matrix#real?;To;;0;[o;
;[I"Matrix#rect;To;;0;[o;
;[I"Matrix#rectangular;T@
o;;0;[o;
;[I"
net/http;To;;;;[o;;0;[o;
;[I"merged net/https.;T@
o;;0;[o;
;[I"
open3;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Open3.popen2;To;;0;[o;
;[I"Open3.popen2e;To;;0;[o;
;[I"Open3.capture3;To;;0;[o;
;[I"Open3.capture2;To;;0;[o;
;[I"Open3.capture2e;To;;0;[o;
;[I"Open3.pipeline_rw;To;;0;[o;
;[I"Open3.pipeline_r;To;;0;[o;
;[I"Open3.pipeline_w;To;;0;[o;
;[I"Open3.pipeline_start;To;;0;[o;
;[I"Open3.pipeline;T@
o;;0;[o;
;[I"pty;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"
PTY.open;To;;0;[o;
;[I"PTY.check;To;;0;[o;
;[I"deprecated methods:;To;;;;[o;;0;[o;
;[I"protect_signal;To;;0;[o;
;[I"reset_signal;T@
o;;0;[o;
;[I"openssl;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[	o;;0;[o;
;[I"%OpenSSL::Buffering#read_nonblock;To;;0;[o;
;[I"&OpenSSL::Buffering#write_nonblock;To;;0;[o;
;[I"-OpenSSL::SSL::SSLSocket#connect_nonblock;To;;0;[o;
;[I",OpenSSL::SSL::SSLSocket#accept_nonblock;T@
o;;0;[o;
;[I"
scanf;To;;;;[o;;0;[o;
;[I"support %a/%A format.;T@
o;;0;[o;
;[I"socket;T@
o;;;;[	o;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[I"JSocket#{recvfrom,recvfrom_nonblock,accept,accept_nonblock,sysaccept} ;TI"Vreturns a sender address as Addrinfo object instead of a binary sockaddr string. ;TI":Addrinfo#to_s returns the old binary sockaddr string.;To;;0;[o;
;[I"VBasicSocket#getsockopt returns Socket::Option object instead of a binary string. ;TI"7Socket::Option#to_s returns the old binary string.;To;;0;[o;
;[I">Socket.do_not_reverse_lookup is turned on by default now.;T@
o;;0;[o;
;[I"new class:;To;;;;[o;;0;[o;
;[I"
Addrinfo;To;;0;[o;
;[I"Socket::Option;To;;0;[o;
;[I"Socket::AncillaryData;T@
o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Socket.ip_address_list;To;;0;[o;
;[I"Socket.tcp;To;;0;[o;
;[I"Socket.tcp_server_loop;To;;0;[o;
;[I"Socket.tcp_server_sockets;To;;0;[o;
;[I"Socket.udp_server_sockets;To;;0;[o;
;[I"Socket.udp_server_loop_on;To;;0;[o;
;[I"Socket.udp_server_loop;To;;0;[o;
;[I"Socket.unix;To;;0;[o;
;[I"Socket.unix_server_loop;To;;0;[o;
;[I"Socket.unix_server_socket;To;;0;[o;
;[I"Socket.accept_loop;To;;0;[o;
;[I"Socket#ipv6only!;To;;0;[o;
;[I"BasicSocket#local_address;To;;0;[o;
;[I"BasicSocket#remote_address;To;;0;[o;
;[I" BasicSocket#connect_address;To;;0;[o;
;[I"BasicSocket#sendmsg;To;;0;[o;
;[I"!BasicSocket#sendmsg_nonblock;To;;0;[o;
;[I"BasicSocket#recvmsg;To;;0;[o;
;[I"!BasicSocket#recvmsg_nonblock;To;;0;[o;
;[I"BasicSocket#getpeereid;T@
o;;0;[o;
;[I"extended methods:;To;;;;[o;;0;[o;
;[I"/Socket.new's 3rd argument is optional now.;To;;0;[o;
;[I"0Socket.pair's 3rd argument is optional now.;To;;0;[o;
;[I"6Socket.pair and UNIXSocket.pair can take a block.;To;;0;[o;
;[I"LBasicSocket#send, UDPSocket#send, Socket.getnameinfo, Socket#bind, and ;TI"NSocket#{connect,connect_nonblock} accepts an Addrinfo object as sockaddr.;To;;0;[o;
;[I"<BasicSocket#getsockopt accepts a Socket::Option object.;To;;0;[o;
;[I"HSocket.getaddrinfo and IPSocket#{addr,peeraddr} accept an optional ;TI",argument to turn reverse lookup on/off.;T@
o;;0;[o;
;[	I"@constant names can be accepted as well as constant values. ;TI"0i.e. Socket.new(:PF_INET, :SOCK_STREAM, 0) ;TI"=The constant names can be specified without the prefix. ;TI"'i.e. Socket.new(:INET, :STREAM, 0);To;;;;[
o;;0;[o;
;[I"protocol/address family;To;;0;[o;
;[I"socket type;To;;0;[o;
;[I"!socket option protocol level;To;;0;[o;
;[I"socket option name;To;;0;[o;
;[I"shutdown's argument;T@
o;;0;[o;
;[I"
stringio;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"StringIO#read_nonblock;To;;0;[o;
;[I"StringIO#write_nonblock;To;;0;[o;
;[I"
pathname;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Pathname#binread;To;;0;[o;
;[I"Pathname#realdirpath;To;;0;[o;
;[I"Pathname#each_child;T@
o;;0;[o;
;[I"extended methods:;To;;;;[o;;0;[o;
;[I"GPathname#realpath and Pathname#realdirpath takes optional basedir ;TI"argument.;T@
o;;0;[o;
;[I"
Readline;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Readline.set_screen_size;To;;0;[o;
;[I"Readline.get_screen_size;T@
o;;0;[o;
;[I"extended methods:;To;;;;[o;;0;[o;
;[I",Readline.completion_proc= accepts nil. ;TI".nil means to use default completion proc.;T@
o;;0;[o;
;[I"set;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Set#keep_if;To;;0;[o;
;[I"Set#select!;T@
o;;0;[o;
;[I"	time;To;;;;[o;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[I">Time.parse raises ArgumentError when no date information.;T@
o;;0;[o;
;[I"thread;To;;;;[o;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"3ConditionVariable#wait takes timeout argument.;T@
o;;0;[o;
;[I"securerandom;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I" SecureRandom.urlsafe_base64;T@
o;;0;[o;
;[I"URI;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[	o;;0;[o;
;[I"URI.encode_www_form;To;;0;[o;
;[I"URI.decode_www_form;To;;0;[o;
;[I""URI.encode_www_form_component;To;;0;[o;
;[I""URI.decode_www_form_component;To;;0;[o;
;[I"Obsoleted methods:;To;;;;[	o;;0;[o;
;[I"URI.decode;To;;0;[o;
;[I"URI.encode;To;;0;[o;
;[I"URI.escape;To;;0;[o;
;[I"URI.unescape;T@
o;;0;[o;
;[I"etc;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Etc::Passwd.each;To;;0;[o;
;[I"Etc::Group.each;T@
o;;0;[o;
;[I"	zlib;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Zlib::GzipFile#path;To;;0;[o;
;[I"Zlib.#adler32_combine;To;;0;[o;
;[I"Zlib.#crc32_combine;T@
o;;0;[o;
;[I"
rbconfig;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"RbConfig.ruby;T@
S;	;
i;I"Language changes;T@
o;;;;[
o;;0;[o;
;[I"QRegexp properties (\p{}) names now ignore underscores, spaces, and case, so ;TI"-\p{ol chiki} is the same as \p{Ol_Chiki};To;;0;[o;
;[I"ARegexps now support Unicode 5.2 (new characters and scripts);To;;0;[o;
;[I"O\d, \s, and \w are now ASCII only; use POSIX bracket classes and \p{} for ;TI"Unicode semantics;To;;0;[o;
;[I"F$: no longer includes the current directory, use require_relative;To;;0;[o;
;[I";Symbol with an invalid encoding is forbidden to exist.;T@
S;	;
i;I"Compilation options;T@
o;;;;[o;;0;[	o;
;[I"N--program-prefix and --program-suffix no longer act on the shared object ;TI""names nor paths to libraries.;T@
o;
;[I"Duse --with-rubylibprefix='${libruby}/${RUBY_INSTALL_NAME}' and ;TI"L--with-soname='${RUBY_INSTALL_NAME}' for the same result as Ruby 1.9.1.;T@
o;;0;[o;
;[I";--with-arch is added for universal binary, instead of ;TI" --enable-fat-binary option.;T@
S;	;
i;I"7Compatibility issues (excluding feature bug fixes);T@
o:RDoc::Markup::Verbatim;[I"* Enumerator#rewind
;TI"* Socket#recvfrom
;TI" * Socket#recvfrom_nonblock
;TI"* Socket#accept
;TI"* Socket#accept_nonblock
;TI"* Socket#sysaccept
;TI"* BasicSocket#getsockopt
;TI"* Time.utc
;TI"* Time.gm
;TI"* Time.local
;TI"* Time.mktime
;TI"* Time.parse
;TI"-* --program-prefix and --program-suffix
;TI"* --enable-fat-binary
;TI"
* $:
;TI"
;TI"  See above.
;TI"
;TI"* Digest::HMAC
;TI"
;TI"  Deprecated.  See above.;T:@format0:
@file@:0@omit_headings_from_table_of_contents_below0U:RDoc::AnyMethod[iI"getservbyname:ETI"Socket::getservbyname;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"0Obtains the port number for _service_name_.;To:RDoc::Markup::BlankLineo;
;	[I"7If _protocol_name_ is not given, "tcp" is assumed.;T@o:RDoc::Markup::Verbatim;	[I"2Socket.getservbyname("smtp")          #=> 25
;TI"3Socket.getservbyname("shell")         #=> 514
;TI"2Socket.getservbyname("syslog", "udp") #=> 514;T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"�Socket.getservbyname(service_name)                => port_number
Socket.getservbyname(service_name, protocol_name) => port_number
;T0[I"(p1, p2 = v2);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unpack_sockaddr_un:ETI"Socket::unpack_sockaddr_un;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I""Unpacks _sockaddr_ into path.;To:RDoc::Markup::BlankLineo;
;	[I">_sockaddr_ should be a string or an addrinfo for AF_UNIX.;T@o:RDoc::Markup::Verbatim;	[I"0sockaddr = Socket.sockaddr_un("/tmp/sock")
;TI":p Socket.unpack_sockaddr_un(sockaddr) #=> "/tmp/sock";T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"1Socket.unpack_sockaddr_un(sockaddr) => path
;T0[I"	(p1);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Socket::UDPSource::new;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I",+remote_address+ is an Addrinfo object.;To:RDoc::Markup::BlankLineo;
;	[I"++local_address+ is an Addrinfo object.;T@o;
;	[I"B+reply_proc+ is a Proc used to send reply back to the source.;T:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below000[I"1(remote_address, local_address, &reply_proc);T@FI"UDPSource;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
reply:ETI"Socket::UDPSource#reply;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Sends the String +msg+ to the source;T:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(msg);T@FI"UDPSource;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"UDPSource:ETI"Socket::UDPSource;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"?UDP/IP address information used by Socket.udp_server_loop.;T:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"local_address;TI"R;T:publicFI"ext/socket/lib/socket.rb;T[
I"remote_address;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[I"
reply;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Socket;TcRDoc::NormalClassU:RDoc::Attr[iI"local_address:ETI"$Socket::UDPSource#local_address;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Local address;T:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Socket::UDPSource;TcRDoc::NormalClass0U:RDoc::Attr[iI"remote_address:ETI"%Socket::UDPSource#remote_address;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Address of the source;T:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Socket::UDPSource;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"sockaddr_in:ETI"Socket::sockaddr_in;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DPacks _port_ and _host_ as an AF_INET/AF_INET6 sockaddr string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I")Socket.sockaddr_in(80, "127.0.0.1")
;TI"I#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
;TI"
;TI"#Socket.sockaddr_in(80, "::1")
;TI"v#=> "\n\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00";T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"4Socket.sockaddr_in(port, host)      => sockaddr;T0[I"
(p1, p2);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"sysaccept:ETI"Socket#sysaccept;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"PAccepts an incoming connection returning an array containing the (integer) ;TI"Ffile descriptor for the incoming connection, _client_socket_fd_, ;TI"(and an Addrinfo, _client_addrinfo_.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Example;To:RDoc::Markup::Verbatim;	[I"'# In one script, start this first
;TI"require 'socket'
;TI"include Socket::Constants
;TI"4socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
;TI"=sockaddr = Socket.pack_sockaddr_in( 2200, 'localhost' )
;TI"socket.bind( sockaddr )
;TI"socket.listen( 5 )
;TI"3client_fd, client_addrinfo = socket.sysaccept
;TI"0client_socket = Socket.for_fd( client_fd )
;TI"?puts "The client said, '#{client_socket.readline.chomp}'"
;TI"1client_socket.puts "Hello from script one!"
;TI"socket.close
;TI"
;TI",# In another script, start this second
;TI"require 'socket'
;TI"include Socket::Constants
;TI"4socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
;TI"=sockaddr = Socket.pack_sockaddr_in( 2200, 'localhost' )
;TI" socket.connect( sockaddr )
;TI"(socket.puts "Hello from script 2."
;TI"8puts "The server said, '#{socket.readline.chomp}'"
;TI"socket.close
;T:@format0o;
;	[I"NRefer to Socket#accept for the exceptions that may be thrown if the call ;TI"to _sysaccept_ fails.;T@S;;
i;I"See;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"Socket#accept;T:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"=socket.sysaccept => [client_socket_fd, client_addrinfo]
;T0[I"();T@8FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"udp_server_recv:ETI"Socket::udp_server_recv;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Receive UDP/IP packets from the given _sockets_. ;TI"3For each packet received, the block is called.;To:RDoc::Markup::BlankLineo;
;	[I"-The block receives _msg_ and _msg_src_. ;TI"D_msg_ is a string which is the payload of the received packet. ;TI"E_msg_src_ is a Socket::UDPSource object which is used for reply.;T@o;
;	[I"LSocket.udp_server_loop can be implemented using this method as follows.;T@o:RDoc::Markup::Verbatim;	[I"/udp_server_sockets(host, port) {|sockets|
;TI"  loop {
;TI"-    readable, _, _ = IO.select(sockets)
;TI"9    udp_server_recv(readable) {|msg, msg_src| ... }
;TI"	  }
;TI"};T:@format0:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I";Socket.udp_server_recv(sockets) {|msg, msg_src| ... }
;TI"Omsg, udp_source{|reply_msg| sendmsg reply_msg, 0, sender_addrinfo, pktinfo;T[I"(sockets);T@ FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"gethostname:ETI"Socket::gethostname;TT:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"Returns the hostname.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"$p Socket.gethostname #=> "hal"
;T:@format0o;
;	[I"oNote that it is not guaranteed to be able to convert to IP address using gethostbyname, getaddrinfo, etc. ;TI">If you need local IP address, use Socket.ip_address_list.;T:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"$Socket.gethostname => hostname
;T0[I"();T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"family:ETI"Socket::Option#family;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-returns the socket family as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Np Socket::Option.new(:INET6, :IPV6, :RECVPKTINFO, [1].pack("i!")).family
;TI"#=> 10;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"sockopt.family => integer
;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ipv4_multicast_ttl:ETI"'Socket::Option::ipv4_multicast_ttl;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I">Creates a new Socket::Option object for IP_MULTICAST_TTL.;To:RDoc::Markup::BlankLineo;
;	[I"+The size is dependent on the platform.;T@o:RDoc::Markup::Verbatim;	[I"-p Socket::Option.ipv4_multicast_ttl(10)
;TI"4#=> #<Socket::Option: INET IP MULTICAST_TTL 10>;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I";Socket::Option.ipv4_multicast_ttl(integer) => sockopt
;T0[I"	(p1);T@FI"Option;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Option:ETI"Socket::Option;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[	I"7Socket::Option represents a socket option used by ;TI"IBasicSocket#getsockopt and BasicSocket#setsockopt.  A socket option ;TI"Lcontains the socket #family, protocol #level, option name #optname and ;TI"option value #data.;T:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"	bool;TI"ext/socket/option.c;T[I"	byte;T@ [I"int;T@ [I"ipv4_multicast_loop;T@ [I"ipv4_multicast_ttl;T@ [I"linger;T@ [I"new;T@ [:protected[[:private[[I"
instance;T[[;[[I"	bool;T@ [I"	byte;T@ [I"	data;T@ [I"family;T@ [I"inspect;T@ [I"int;T@ [I"ipv4_multicast_loop;T@ [I"ipv4_multicast_ttl;T@ [I"
level;T@ [I"linger;T@ [I"optname;T@ [I"	to_s;T@ [I"unpack;T@ [;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[I"ext/socket/ancdata.c;TI"Socket;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"	bool:ETI"Socket::Option#bool;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Returns the data in _sockopt_ as an boolean value.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Asockopt = Socket::Option.int(:INET, :SOCKET, :KEEPALIVE, 1)
;TI"p sockopt.bool => true;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"#sockopt.bool => true or false
;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"Socket::Option#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns a string which shows sockopt in human-readable form.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Mp Socket::Option.new(:INET, :SOCKET, :KEEPALIVE, [1].pack("i")).inspect
;TI"5#=> "#<Socket::Option: INET SOCKET KEEPALIVE 1>";T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"sockopt.inspect => string
;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	data:ETI"Socket::Option#data;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0returns the socket option data as a string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Lp Socket::Option.new(:INET6, :IPV6, :RECVPKTINFO, [1].pack("i!")).data
;TI"#=> "\x01\x00\x00\x00";T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"sockopt.data => string;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Socket::Option::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Returns a new Socket::Option object.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Msockopt = Socket::Option.new(:INET, :SOCKET, :KEEPALIVE, [1].pack("i"))
;TI"=p sockopt #=> #<Socket::Option: INET SOCKET KEEPALIVE 1>;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"ASocket::Option.new(family, level, optname, data) => sockopt
;T0[I"(p1, p2, p3, p4);T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unpack:ETI"Socket::Option#unpack;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Calls String#unpack on sockopt.data.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Msockopt = Socket::Option.new(:INET, :SOCKET, :KEEPALIVE, [1].pack("i"))
;TI"(p sockopt.unpack("i")      #=> [1]
;TI"'p sockopt.data.unpack("i") #=> [1];T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"'sockopt.unpack(template) => array
;T0[I"	(p1);T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ipv4_multicast_loop:ETI"(Socket::Option::ipv4_multicast_loop;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"?Creates a new Socket::Option object for IP_MULTICAST_LOOP.;To:RDoc::Markup::BlankLineo;
;	[I"+The size is dependent on the platform.;T@o:RDoc::Markup::Verbatim;	[
I"Msockopt = Socket::Option.int(:INET, :IPPROTO_IP, :IP_MULTICAST_LOOP, 1)
;TI"p sockopt.int => 1
;TI"
;TI".p Socket::Option.ipv4_multicast_loop(10)
;TI"5#=> #<Socket::Option: INET IP MULTICAST_LOOP 10>;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"<Socket::Option.ipv4_multicast_loop(integer) => sockopt
;T0[I"	(p1);T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	bool:ETI"Socket::Option::bool;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ICreates a new Socket::Option object which contains boolean as data. ;TI"$Actually 0 or 1 as int is used.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"require 'socket'
;TI"
;TI"=p Socket::Option.bool(:INET, :SOCKET, :KEEPALIVE, true)
;TI"4#=> #<Socket::Option: INET SOCKET KEEPALIVE 1>
;TI"
;TI">p Socket::Option.bool(:INET, :SOCKET, :KEEPALIVE, false)
;TI"6#=> #<Socket::Option: AF_INET SOCKET KEEPALIVE 0>;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"BSocket::Option.bool(family, level, optname, bool) => sockopt
;T0[I"(p1, p2, p3, p4);T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_s:ETI"Socket::Option#to_s;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0returns the socket option data as a string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Lp Socket::Option.new(:INET6, :IPV6, :RECVPKTINFO, [1].pack("i!")).data
;TI"#=> "\x01\x00\x00\x00";T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"sockopt.to_s => string;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	byte:ETI"Socket::Option#byte;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Returns the data in _sockopt_ as an byte.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Bsockopt = Socket::Option.byte(:INET, :SOCKET, :KEEPALIVE, 1)
;TI"p sockopt.byte => 1;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"sockopt.byte => integer
;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ipv4_multicast_ttl:ETI"&Socket::Option#ipv4_multicast_ttl;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DReturns the ipv4_multicast_ttl data in _sockopt_ as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"5sockopt = Socket::Option.ipv4_multicast_ttl(10)
;TI"'p sockopt.ipv4_multicast_ttl => 10;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"+sockopt.ipv4_multicast_ttl => integer
;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"optname:ETI"Socket::Option#optname;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2returns the socket option name as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Op Socket::Option.new(:INET6, :IPV6, :RECVPKTINFO, [1].pack("i!")).optname
;TI"
#=> 2;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I" sockopt.optname => integer
;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"linger:ETI"Socket::Option#linger;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KReturns the linger data in _sockopt_ as a pair of boolean and integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"/sockopt = Socket::Option.linger(true, 10)
;TI"#p sockopt.linger => [true, 10];T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"'sockopt.linger => [bool, seconds]
;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
level:ETI"Socket::Option#level;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I",returns the socket level as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Mp Socket::Option.new(:INET6, :IPV6, :RECVPKTINFO, [1].pack("i!")).level
;TI"#=> 41;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"sockopt.level => integer
;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"int:ETI"Socket::Option::int;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"GCreates a new Socket::Option object which contains an int as data.;To:RDoc::Markup::BlankLineo;
;	[I"6The size and endian is dependent on the platform.;T@o:RDoc::Markup::Verbatim;	[I"9p Socket::Option.int(:INET, :SOCKET, :KEEPALIVE, 1)
;TI"3#=> #<Socket::Option: INET SOCKET KEEPALIVE 1>;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"DSocket::Option.int(family, level, optname, integer) => sockopt
;T0[I"(p1, p2, p3, p4);T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ipv4_multicast_loop:ETI"'Socket::Option#ipv4_multicast_loop;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns the ipv4_multicast_loop data in _sockopt_ as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"6sockopt = Socket::Option.ipv4_multicast_loop(10)
;TI"(p sockopt.ipv4_multicast_loop => 10;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I",sockopt.ipv4_multicast_loop => integer
;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	byte:ETI"Socket::Option::byte;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GCreates a new Socket::Option object which contains a byte as data.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I":p Socket::Option.byte(:INET, :SOCKET, :KEEPALIVE, 1)
;TI"3#=> #<Socket::Option: INET SOCKET KEEPALIVE 1>;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"ESocket::Option.byte(family, level, optname, integer) => sockopt
;T0[I"(p1, p2, p3, p4);T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"linger:ETI"Socket::Option::linger;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BCreates a new Socket::Option object for SOL_SOCKET/SO_LINGER.;To:RDoc::Markup::BlankLineo;
;	[I"/_onoff_ should be an integer or a boolean.;T@o;
;	[I",_secs_ should be the number of seconds.;T@o:RDoc::Markup::Verbatim;	[I"'p Socket::Option.linger(true, 10)
;TI"9#=> #<Socket::Option: UNSPEC SOCKET LINGER on 10sec>;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"3Socket::Option.linger(onoff, secs) => sockopt
;T0[I"
(p1, p2);T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"int:ETI"Socket::Option#int;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"-Returns the data in _sockopt_ as an int.;To:RDoc::Markup::BlankLineo;
;	[I"6The size and endian is dependent on the platform.;T@o:RDoc::Markup::Verbatim;	[I"Asockopt = Socket::Option.int(:INET, :SOCKET, :KEEPALIVE, 1)
;TI"p sockopt.int => 1;T:@format0:
@fileI"ext/socket/option.c;T:0@omit_headings_from_table_of_contents_below0I"sockopt.int => integer
;T0[I"();T@FI"Option;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unix_socket_abstract_name?:ETI"'Socket::unix_socket_abstract_name?;TT:privateo:RDoc::Markup::Document:@parts[:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below000[I"(path);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"connect_nonblock:ETI"Socket#connect_nonblock;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KRequests a connection to be made on the given +remote_sockaddr+ after ;TI";O_NONBLOCK is set for the underlying file descriptor. ;TI"?Returns 0 if successful, otherwise an exception is raised.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Parameter;To:RDoc::Markup::Verbatim;	[I"Z# +remote_sockaddr+ - the +struct+ sockaddr contained in a string or Addrinfo object
;T:@format0S;;
i;I"
Example:;To;;	[I"## Pull down Google's web page
;TI"require 'socket'
;TI"include Socket::Constants
;TI"2socket = Socket.new(AF_INET, SOCK_STREAM, 0)
;TI"9sockaddr = Socket.sockaddr_in(80, 'www.google.com')
;TI"&begin # emulate blocking connect
;TI")  socket.connect_nonblock(sockaddr)
;TI"rescue IO::WaitWritable
;TI"B  IO.select(nil, [socket]) # wait 3-way handshake completion
;TI"
  begin
;TI"F    socket.connect_nonblock(sockaddr) # check connection failure
;TI"  rescue Errno::EISCONN
;TI"  end
;TI"	end
;TI",socket.write("GET / HTTP/1.0\r\n\r\n")
;TI"results = socket.read
;T;0o;
;	[I"ORefer to Socket#connect for the exceptions that may be thrown if the call ;TI"!to _connect_nonblock_ fails.;T@o;
;	[I"VSocket#connect_nonblock may raise any error corresponding to connect(2) failure, ;TI""including Errno::EINPROGRESS.;T@o;
;	[I"-If the exception is Errno::EINPROGRESS, ;TI")it is extended by IO::WaitWritable. ;TI"\So IO::WaitWritable can be used to rescue the exceptions for retrying connect_nonblock.;T@o;
;	[I"OBy specifying a keyword argument _exception_ to +false+, you can indicate ;TI"Othat connect_nonblock should not raise an IO::WaitWritable exception, but ;TI"0return the symbol +:wait_writable+ instead.;T@S;;
i;I"See;To;;	[I"# Socket#connect;T;0:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I">socket.connect_nonblock(remote_sockaddr, [options]) => 0
;T0[I"(addr, exception: true);T@AFI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	addr:ETI"Socket::Ifaddr#addr;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&Returns the address of _ifaddr_. ;TI"=nil is returned if address is not available in _ifaddr_.;T:
@fileI"ext/socket/ifaddr.c;T:0@omit_headings_from_table_of_contents_below0I"ifaddr.addr => addrinfo
;T0[I"();T@FI"Ifaddr;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"Socket::Ifaddr#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Returns a string to show contents of _ifaddr_.;T:
@fileI"ext/socket/ifaddr.c;T:0@omit_headings_from_table_of_contents_below0I"ifaddr.inspect => string
;T0[I"();T@FI"Ifaddr;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	vhid:ETI"Socket::Ifaddr#vhid;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"+Returns the vhid address of _ifaddr_. ;TI")nil is returned if there is no vhid.;T:
@fileI"ext/socket/ifaddr.c;T:0@omit_headings_from_table_of_contents_below0I"ifaddr.vhid => Integer
;T0[I"();T@FI"Ifaddr;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
flags:ETI"Socket::Ifaddr#flags;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#Returns the flags of _ifaddr_.;T:
@fileI"ext/socket/ifaddr.c;T:0@omit_headings_from_table_of_contents_below0I"ifaddr.flags => integer
;T0[I"();T@FI"Ifaddr;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Ifaddr:ETI"Socket::Ifaddr;TI"	Data;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"ASocket::Ifaddr represents a result of getifaddrs() function.;T:
@fileI"ext/socket/ifaddr.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"	addr;TI"ext/socket/ifaddr.c;T[I"broadaddr;T@&[I"dstaddr;T@&[I"
flags;T@&[I"ifindex;T@&[I"inspect;T@&[I"	name;T@&[I"netmask;T@&[I"	vhid;T@&[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[I"ext/socket/ancdata.c;TI"Socket;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"ifindex:ETI"Socket::Ifaddr#ifindex;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-Returns the interface index of _ifaddr_.;T:
@fileI"ext/socket/ifaddr.c;T:0@omit_headings_from_table_of_contents_below0I"ifaddr.ifindex => integer
;T0[I"();T@FI"Ifaddr;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"netmask:ETI"Socket::Ifaddr#netmask;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Returns the netmask address of _ifaddr_. ;TI"=nil is returned if netmask is not available in _ifaddr_.;T:
@fileI"ext/socket/ifaddr.c;T:0@omit_headings_from_table_of_contents_below0I" ifaddr.netmask => addrinfo
;T0[I"();T@FI"Ifaddr;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	name:ETI"Socket::Ifaddr#name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I",Returns the interface name of _ifaddr_.;T:
@fileI"ext/socket/ifaddr.c;T:0@omit_headings_from_table_of_contents_below0I"ifaddr.name => string
;T0[I"();T@FI"Ifaddr;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"broadaddr:ETI"Socket::Ifaddr#broadaddr;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Returns the broadcast address of _ifaddr_. ;TI"=nil is returned if the flags doesn't have IFF_BROADCAST.;T:
@fileI"ext/socket/ifaddr.c;T:0@omit_headings_from_table_of_contents_below0I""ifaddr.broadaddr => addrinfo
;T0[I"();T@FI"Ifaddr;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"dstaddr:ETI"Socket::Ifaddr#dstaddr;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Returns the destination address of _ifaddr_. ;TI"?nil is returned if the flags doesn't have IFF_POINTOPOINT.;T:
@fileI"ext/socket/ifaddr.c;T:0@omit_headings_from_table_of_contents_below0I" ifaddr.dstaddr => addrinfo
;T0[I"();T@FI"Ifaddr;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tcp_server_loop:ETI"Socket::tcp_server_loop;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Ycreates a TCP/IP server on _port_ and calls the block for each connection accepted. ;TI"RThe block is called with a socket and a client_address as an Addrinfo object.;To:RDoc::Markup::BlankLineo;
;	[I"VIf _host_ is specified, it is used with _port_ to determine the server addresses.;T@o;
;	[I"8The socket is *not* closed when the block returns. ;TI"/So application should close it explicitly.;T@o;
;	[I"/This method calls the block sequentially. ;TI"PIt means that the next connection is not accepted until the block returns. ;TI"gSo concurrent mechanism, thread for example, should be used to service multiple clients at a time.;T@o;
;	[
I"VNote that Addrinfo.getaddrinfo is used to determine the server socket addresses. ;TI">When Addrinfo.getaddrinfo returns two or more addresses, ;TI"(IPv4 and IPv6 address for example, ;TI"all of them are used. ;TI"HSocket.tcp_server_loop succeeds if one socket can be used at least.;T@o:RDoc::Markup::Verbatim;	[I"# Sequential echo server.
;TI".# It services only one client at a time.
;TI"<Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
;TI"
  begin
;TI"$    IO.copy_stream(sock, sock)
;TI"  ensure
;TI"    sock.close
;TI"  end
;TI"}
;TI"
;TI"# Threaded echo server
;TI"/# It services multiple clients at a time.
;TI"5# Note that it may accept connections too much.
;TI"<Socket.tcp_server_loop(16807) {|sock, client_addrinfo|
;TI"  Thread.new {
;TI"    begin
;TI"&      IO.copy_stream(sock, sock)
;TI"    ensure
;TI"      sock.close
;TI"
    end
;TI"	  }
;TI"};T:@format0:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below00I"socket, client_addrinfo;T[I"(host=nil, port);T@;FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Socket::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"!Creates a new socket object.;To:RDoc::Markup::BlankLineo;
;	[I"S_domain_ should be a communications domain such as: :INET, :INET6, :UNIX, etc.;T@o;
;	[I"L_socktype_ should be a socket type such as: :STREAM, :DGRAM, :RAW, etc.;T@o;
;	[I"L_protocol_ is optional and should be a protocol defined in the domain. ;TI"4If protocol is not given, 0 is used internally.;T@o:RDoc::Markup::Verbatim;	[	I"-Socket.new(:INET, :STREAM) # TCP socket
;TI"-Socket.new(:INET, :DGRAM)  # UDP socket
;TI"5Socket.new(:UNIX, :STREAM) # UNIX stream socket
;TI"6Socket.new(:UNIX, :DGRAM)  # UNIX datagram socket;T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"9Socket.new(domain, socktype [, protocol]) => socket
;T0[I"(p1, p2, p3 = v3);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getnameinfo:ETI"Socket::getnameinfo;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-Obtains name information for _sockaddr_.;To:RDoc::Markup::BlankLineo;
;	[I")_sockaddr_ should be one of follows.;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"Gpacked sockaddr string such as Socket.sockaddr_in(80, "127.0.0.1");To;;0;	[o;
;	[I":3-elements array such as ["AF_INET", 80, "127.0.0.1"];To;;0;	[o;
;	[I"C4-elements array such as ["AF_INET", 80, ignored, "127.0.0.1"];T@o;
;	[I"<_flags_ should be bitwise OR of Socket::NI_* constants.;T@o;
;	[I"Note: ;TI"JThe last form is compatible with IPSocket#addr and IPSocket#peeraddr.;T@o:RDoc::Markup::Verbatim;	[I"\Socket.getnameinfo(Socket.sockaddr_in(80, "127.0.0.1"))       #=> ["localhost", "www"]
;TI"\Socket.getnameinfo(["AF_INET", 80, "127.0.0.1"])              #=> ["localhost", "www"]
;TI"\Socket.getnameinfo(["AF_INET", 80, "localhost", "127.0.0.1"]) #=> ["localhost", "www"]
;T:@format0o;
;	[I"?If Addrinfo object is preferred, use Addrinfo#getnameinfo.;T:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"GSocket.getnameinfo(sockaddr [, flags]) => [hostname, servicename]
;T0[I"(p1, p2 = v2);T@2FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"udp_server_sockets:ETI"Socket::udp_server_sockets;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-Creates UDP/IP sockets for a UDP server.;To:RDoc::Markup::BlankLineo;
;	[I"7If no block given, it returns an array of sockets.;T@o;
;	[I"@If a block is given, the block is called with the sockets. ;TI")The value of the block is returned. ;TI"5The sockets are closed when this method returns.;T@o;
;	[I"-If _port_ is zero, some port is chosen. ;TI"5But the chosen port is used for the all sockets.;T@o:RDoc::Markup::Verbatim;	[I"# UDP/IP echo server
;TI"-Socket.udp_server_sockets(0) {|sockets|
;TI";  p sockets.first.local_address.ip_port     #=> 32963
;TI":  Socket.udp_server_loop_on(sockets) {|msg, msg_src|
;TI"    msg_src.reply msg
;TI"	  }
;TI"};T:@format0:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I".Socket.udp_server_sockets([host, ] port)
;TI"sockets;T[I"(host=nil, port);T@$FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"udp_server_loop_on:ETI"Socket::udp_server_loop_on;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"1Run UDP/IP server loop on the given sockets.;To:RDoc::Markup::BlankLineo;
;	[I"SThe return value of Socket.udp_server_sockets is appropriate for the argument.;T@o;
;	[I"2It calls the block for each message received.;T:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I">Socket.udp_server_loop_on(sockets) {|msg, msg_src| ... }
;TI"msg, msg_src;T[I"(sockets);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"gethostbyname:ETI"Socket::gethostbyname;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'Use Addrinfo.getaddrinfo instead. ;TI"9This method is deprecated for the following reasons:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[	o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"OThe 3rd element of the result is the address family of the first address. ;TI"HThe address families of the rest of the addresses are not returned.;To;;0;	[o;
;	[I"&Uncommon address representation: ;TI"=4/16-bytes binary string to represent IPv4/IPv6 address.;To;;0;	[o;
;	[I"Jgethostbyname() may take a long time and it may block other threads. ;TI"G(GVL cannot be released since gethostbyname() is not thread safe.);To;;0;	[o;
;	[I"JThis method uses gethostbyname() function already removed from POSIX.;T@o;
;	[I"=This method obtains the host information for _hostname_.;T@o:RDoc::Markup::Verbatim;	[I"Tp Socket.gethostbyname("hal") #=> ["localhost", ["hal"], 2, "\x7F\x00\x00\x01"];T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"kSocket.gethostbyname(hostname) => [official_hostname, alias_hostnames, address_family, *address_list]
;T0[I"	(p1);T@/FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"socketpair:ETI"Socket::socketpair;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4Creates a pair of sockets connected each other.;To:RDoc::Markup::BlankLineo;
;	[I"S_domain_ should be a communications domain such as: :INET, :INET6, :UNIX, etc.;T@o;
;	[I"L_socktype_ should be a socket type such as: :STREAM, :DGRAM, :RAW, etc.;T@o;
;	[I"<_protocol_ should be a protocol defined in the domain, ;TI""defaults to 0 for the domain.;T@o:RDoc::Markup::Verbatim;	[I"-s1, s2 = Socket.pair(:UNIX, :STREAM, 0)
;TI"s1.send "a", 0
;TI"s1.send "b", 0
;TI"s1.close
;TI"p s2.recv(10) #=> "ab"
;TI"p s2.recv(10) #=> ""
;TI"p s2.recv(10) #=> ""
;TI"
;TI",s1, s2 = Socket.pair(:UNIX, :DGRAM, 0)
;TI"s1.send "a", 0
;TI"s1.send "b", 0
;TI"p s2.recv(10) #=> "a"
;TI"p s2.recv(10) #=> "b";T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"DSocket.socketpair(domain, type, protocol) => [socket1, socket2];T0[I"(p1, p2, p3 = v3);T@(FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"accept:ETI"Socket#accept;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I" Accepts a next connection. ;TI"5Returns a new Socket object and Addrinfo object.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"*serv = Socket.new(:INET, :STREAM, 0)
;TI"serv.listen(5)
;TI"'c = Socket.new(:INET, :STREAM, 0)
;TI"%c.connect(serv.connect_address)
;TI"Ip serv.accept #=> [#<Socket:fd 6>, #<Addrinfo: 127.0.0.1:48555 TCP>];T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"7socket.accept => [client_socket, client_addrinfo]
;T0[I"();T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getaddrinfo:ETI"Socket::getaddrinfo;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Obtains address information for _nodename_:_servname_.;To:RDoc::Markup::BlankLineo;
;	[I"GNote that Addrinfo.getaddrinfo provides the same functionality in ;TI"an object oriented style.;T@o;
;	[I"F_family_ should be an address family such as: :INET, :INET6, etc.;T@o;
;	[I"L_socktype_ should be a socket type such as: :STREAM, :DGRAM, :RAW, etc.;T@o;
;	[I"<_protocol_ should be a protocol defined in the family, ;TI"&and defaults to 0 for the family.;T@o;
;	[I"<_flags_ should be bitwise OR of Socket::AI_* constants.;T@o:RDoc::Markup::Verbatim;	[I"CSocket.getaddrinfo("www.ruby-lang.org", "http", nil, :STREAM)
;TI"p#=> [["AF_INET", 80, "carbon.ruby-lang.org", "221.186.184.68", 2, 1, 6]] # PF_INET/SOCK_STREAM/IPPROTO_TCP
;TI"
;TI"*Socket.getaddrinfo("localhost", nil)
;TI"`#=> [["AF_INET", 0, "localhost", "127.0.0.1", 2, 1, 6],  # PF_INET/SOCK_STREAM/IPPROTO_TCP
;TI"_#    ["AF_INET", 0, "localhost", "127.0.0.1", 2, 2, 17], # PF_INET/SOCK_DGRAM/IPPROTO_UDP
;TI"\#    ["AF_INET", 0, "localhost", "127.0.0.1", 2, 3, 0]]  # PF_INET/SOCK_RAW/IPPROTO_IP
;T:@format0o;
;	[I"H_reverse_lookup_ directs the form of the third element, and has to ;TI"Rbe one of below.  If _reverse_lookup_ is omitted, the default value is +nil+.;T@o;;	[I"r+true+, +:hostname+:  hostname is obtained from numeric address using reverse lookup, which may take a time.
;TI"@+false+, +:numeric+:  hostname is same as numeric address.
;TI"K+nil+:              obey to the current +do_not_reverse_lookup+ flag.
;T;
0o;
;	[I"?If Addrinfo object is preferred, use Addrinfo.getaddrinfo.;T:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"rSocket.getaddrinfo(nodename, servname[, family[, socktype[, protocol[, flags[, reverse_lookup]]]]]) => array
;T0[I":(p1, p2, p3 = v3, p4 = v4, p5 = v5, p6 = v6, p7 = v7);T@5FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ip_address_list:ETI"Socket::ip_address_list;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I",Returns local IP addresses as an array.;To:RDoc::Markup::BlankLineo;
;	[I")The array contains Addrinfo objects.;T@o:RDoc::Markup::Verbatim;	[
I"pp Socket.ip_address_list
;TI""#=> [#<Addrinfo: 127.0.0.1>,
;TI"&     #<Addrinfo: 192.168.0.128>,
;TI"     #<Addrinfo: ::1>,
;TI"     ...];T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"%Socket.ip_address_list => array
;T0[I"();T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"accept_loop:ETI"Socket::accept_loop;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"Vyield socket and client address for each a connection accepted via given sockets.;To:RDoc::Markup::BlankLineo;
;	[I"*The arguments are a list of sockets. ;TI"GThe individual argument should be a socket or an array of sockets.;T@o;
;	[I"0This method yields the block sequentially. ;TI"PIt means that the next connection is not accepted until the block returns. ;TI"gSo concurrent mechanism, thread for example, should be used to service multiple clients at a time.;T:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below00I"socket, client_addrinfo;T[I"(*sockets);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ipv6only!:ETI"Socket#ipv6only!;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Fenable the socket option IPV6_V6ONLY if IPV6_V6ONLY is available.;T:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"gethostbyaddr:ETI"Socket::gethostbyaddr;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'Use Addrinfo#getnameinfo instead. ;TI"9This method is deprecated for the following reasons:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"&Uncommon address representation: ;TI"=4/16-bytes binary string to represent IPv4/IPv6 address.;To;;0;	[o;
;	[I"Jgethostbyaddr() may take a long time and it may block other threads. ;TI"G(GVL cannot be released since gethostbyname() is not thread safe.);To;;0;	[o;
;	[I"JThis method uses gethostbyname() function already removed from POSIX.;T@o;
;	[I"<This method obtains the host information for _address_.;T@o:RDoc::Markup::Verbatim;	[
I";p Socket.gethostbyaddr([221,186,184,68].pack("CCCC"))
;TI":#=> ["carbon.ruby-lang.org", [], 2, "\xDD\xBA\xB8D"]
;TI"
;TI"6p Socket.gethostbyaddr([127,0,0,1].pack("CCCC"))
;TI".["localhost", [], 2, "\x7F\x00\x00\x01"]
;TI"7p Socket.gethostbyaddr(([0]*15+[1]).pack("C"*16))
;TI">#=> ["localhost", ["ip6-localhost", "ip6-loopback"], 10,
;TI"M     "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01"];T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"HSocket.gethostbyaddr(address_string [, address_family]) => hostent
;T0[I"(p1, p2 = v2);T@0FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	pair:ETI"Socket::pair;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4Creates a pair of sockets connected each other.;To:RDoc::Markup::BlankLineo;
;	[I"S_domain_ should be a communications domain such as: :INET, :INET6, :UNIX, etc.;T@o;
;	[I"L_socktype_ should be a socket type such as: :STREAM, :DGRAM, :RAW, etc.;T@o;
;	[I"<_protocol_ should be a protocol defined in the domain, ;TI""defaults to 0 for the domain.;T@o:RDoc::Markup::Verbatim;	[I"-s1, s2 = Socket.pair(:UNIX, :STREAM, 0)
;TI"s1.send "a", 0
;TI"s1.send "b", 0
;TI"s1.close
;TI"p s2.recv(10) #=> "ab"
;TI"p s2.recv(10) #=> ""
;TI"p s2.recv(10) #=> ""
;TI"
;TI",s1, s2 = Socket.pair(:UNIX, :DGRAM, 0)
;TI"s1.send "a", 0
;TI"s1.send "b", 0
;TI"p s2.recv(10) #=> "a"
;TI"p s2.recv(10) #=> "b";T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"DSocket.pair(domain, type, protocol)       => [socket1, socket2];T0[I"(p1, p2, p3 = v3);T@(FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tcp_server_sockets:ETI"Socket::tcp_server_sockets;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":creates TCP/IP server sockets for _host_ and _port_. ;TI"_host_ is optional.;To:RDoc::Markup::BlankLineo;
;	[I"If no block given, ;TI".it returns an array of listening sockets.;T@o;
;	[I"@If a block is given, the block is called with the sockets. ;TI")The value of the block is returned. ;TI"3The socket is closed when this method returns.;T@o;
;	[I"?If _port_ is 0, actual port number is chosen dynamically. ;TI"<However all sockets in the result has same port number.;T@o:RDoc::Markup::Verbatim;	[I"/# tcp_server_sockets returns two sockets.
;TI"/sockets = Socket.tcp_server_sockets(1296)
;TI"4p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]
;TI"
;TI"3# The sockets contains IPv6 and IPv4 sockets.
;TI"+sockets.each {|s| p s.local_address }
;TI"$#=> #<Addrinfo: [::]:1296 TCP>
;TI"'#   #<Addrinfo: 0.0.0.0:1296 TCP>
;TI"
;TI"[# IPv6 and IPv4 socket has same port number, 53114, even if it is chosen dynamically.
;TI",sockets = Socket.tcp_server_sockets(0)
;TI"+sockets.each {|s| p s.local_address }
;TI"%#=> #<Addrinfo: [::]:53114 TCP>
;TI"(#   #<Addrinfo: 0.0.0.0:53114 TCP>
;TI"
;TI"-# The block is called with the sockets.
;TI"-Socket.tcp_server_sockets(0) {|sockets|
;TI"6  p sockets #=> [#<Socket:fd 3>, #<Socket:fd 4>]
;TI"};T:@format0:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below00I"sockets;T[I"(host=nil, port);T@2FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"family:ETI"!Socket::AncillaryData#family;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-returns the socket family as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Ep Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").family
;TI"#=> 10;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"%ancillarydata.family => integer
;T0[I"();T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"AncillaryData:ETI"Socket::AncillaryData;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"OSocket::AncillaryData represents the ancillary data (control information) ;TI"Kused by sendmsg and recvmsg system call.  It contains socket #family, ;TI">control message (cmsg) #level, cmsg #type and cmsg #data.;T:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[
[I"int;TI"ext/socket/ancdata.c;T[I"ip_pktinfo;T@[I"ipv6_pktinfo;T@[I"new;T@[I"unix_rights;T@[:protected[[:private[[I"
instance;T[[;[[I"
cmsg_is?;T@[I"	data;T@[I"family;T@[I"inspect;T@[I"int;T@[I"ip_pktinfo;T@[I"ipv6_pktinfo;T@[I"ipv6_pktinfo_addr;T@[I"ipv6_pktinfo_ifindex;T@[I"
level;T@[I"timestamp;T@[I"	type;T@[I"unix_rights;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Socket;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
cmsg_is?:ETI"#Socket::AncillaryData#cmsg_is?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"1tests the level and type of _ancillarydata_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"Fancdata = Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "")
;TI"Kancdata.cmsg_is?(Socket::IPPROTO_IPV6, Socket::IPV6_PKTINFO) #=> true
;TI"6ancdata.cmsg_is?(:IPV6, :PKTINFO)       #=> true
;TI"7ancdata.cmsg_is?(:IP, :PKTINFO)         #=> false
;TI"6ancdata.cmsg_is?(:SOCKET, :RIGHTS)      #=> false;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I":ancillarydata.cmsg_is?(level, type) => true or false
;T0[I"
(p1, p2);T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI""Socket::AncillaryData#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Greturns a string which shows ancillarydata in human-readable form.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Fp Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").inspect
;TI"<#=> "#<Socket::AncillaryData: INET6 IPV6 PKTINFO \"\">";T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"%ancillarydata.inspect => string
;T0[I"();T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ip_pktinfo:ETI"%Socket::AncillaryData#ip_pktinfo;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HExtracts addr, ifindex and spec_dst from IP_PKTINFO ancillary data.;To:RDoc::Markup::BlankLineo;
;	[I" IP_PKTINFO is not standard.;T@o;
;	[I""Supported platform: GNU/Linux;T@o:RDoc::Markup::Verbatim;	[I"%addr = Addrinfo.ip("127.0.0.1")
;TI"ifindex = 0
;TI"*spec_dest = Addrinfo.ip("127.0.0.1")
;TI"Jancdata = Socket::AncillaryData.ip_pktinfo(addr, ifindex, spec_dest)
;TI"p ancdata.ip_pktinfo
;TI"<#=> [#<Addrinfo: 127.0.0.1>, 0, #<Addrinfo: 127.0.0.1>];T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"5ancdata.ip_pktinfo => [addr, ifindex, spec_dst]
;T0[I"();T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unix_rights:ETI"'Socket::AncillaryData::unix_rights;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"XCreates a new Socket::AncillaryData object which contains file descriptors as data.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"1p Socket::AncillaryData.unix_rights(STDERR)
;TI"7#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 2>;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"GSocket::AncillaryData.unix_rights(io1, io2, ...) => ancillarydata
;T0[I"(*args);T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	data:ETI"Socket::AncillaryData#data;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'returns the cmsg data as a string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Cp Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").data
;TI"#=> "";T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I""ancillarydata.data => string
;T0[I"();T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	type:ETI"Socket::AncillaryData#type;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")returns the cmsg type as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Cp Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").type
;TI"
#=> 2;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"#ancillarydata.type => integer
;T0[I"();T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Socket::AncillaryData::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9_family_ should be an integer, a string or a symbol.;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"8Socket::AF_INET, "AF_INET", "INET", :AF_INET, :INET;To;;0;	[o;
;	[I"8Socket::AF_UNIX, "AF_UNIX", "UNIX", :AF_UNIX, :UNIX;To;;0;	[o;
;	[I"	etc.;To:RDoc::Markup::BlankLineo;
;	[I"=_cmsg_level_ should be an integer, a string or a symbol.;To;;;
;[
o;;0;	[o;
;	[I"HSocket::SOL_SOCKET, "SOL_SOCKET", "SOCKET", :SOL_SOCKET and :SOCKET;To;;0;	[o;
;	[I"%Socket::IPPROTO_IP, "IP" and :IP;To;;0;	[o;
;	[I"+Socket::IPPROTO_IPV6, "IPV6" and :IPV6;To;;0;	[o;
;	[I"(Socket::IPPROTO_TCP, "TCP" and :TCP;To;;0;	[o;
;	[I"	etc.;T@o;
;	[I"=_cmsg_type_ should be an integer, a string or a symbol. ;TI"OIf a string/symbol is specified, it is interpreted depend on _cmsg_level_.;To;;;
;[	o;;0;	[o;
;	[I"TSocket::SCM_RIGHTS, "SCM_RIGHTS", "RIGHTS", :SCM_RIGHTS, :RIGHTS for SOL_SOCKET;To;;0;	[o;
;	[I">Socket::IP_RECVTTL, "RECVTTL" and :RECVTTL for IPPROTO_IP;To;;0;	[o;
;	[I"BSocket::IPV6_PKTINFO, "PKTINFO" and :PKTINFO for IPPROTO_IPV6;To;;0;	[o;
;	[I"	etc.;T@o;
;	[I"$_cmsg_data_ should be a string.;T@o:RDoc::Markup::Verbatim;	[
I"<p Socket::AncillaryData.new(:INET, :TCP, :NODELAY, "")
;TI"7#=> #<Socket::AncillaryData: INET TCP NODELAY "">
;TI"
;TI">p Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "")
;TI"8#=> #<Socket::AncillaryData: INET6 IPV6 PKTINFO "">;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"ZSocket::AncillaryData.new(family, cmsg_level, cmsg_type, cmsg_data) -> ancillarydata
;T0[I"(p1, p2, p3, p4);T@bFI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ipv6_pktinfo:ETI"'Socket::AncillaryData#ipv6_pktinfo;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"@Extracts addr and ifindex from IPV6_PKTINFO ancillary data.;To:RDoc::Markup::BlankLineo;
;	[I")IPV6_PKTINFO is defined by RFC 3542.;T@o:RDoc::Markup::Verbatim;	[	I"addr = Addrinfo.ip("::1")
;TI"ifindex = 0
;TI"Aancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
;TI"5p ancdata.ipv6_pktinfo #=> [#<Addrinfo: ::1>, 0];T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"-ancdata.ipv6_pktinfo => [addr, ifindex]
;T0[I"();T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ipv6_pktinfo:ETI"(Socket::AncillaryData::ipv6_pktinfo;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"1Returns new ancillary data for IPV6_PKTINFO.;To:RDoc::Markup::BlankLineo;
;	[I")IPV6_PKTINFO is defined by RFC 3542.;T@o:RDoc::Markup::Verbatim;	[	I"addr = Addrinfo.ip("::1")
;TI"ifindex = 0
;TI"9p Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
;TI"C#=> #<Socket::AncillaryData: INET6 IPV6 PKTINFO ::1 ifindex:0>;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"BSocket::AncillaryData.ipv6_pktinfo(addr, ifindex) => ancdata
;T0[I"
(p1, p2);T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ipv6_pktinfo_addr:ETI",Socket::AncillaryData#ipv6_pktinfo_addr;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"4Extracts addr from IPV6_PKTINFO ancillary data.;To:RDoc::Markup::BlankLineo;
;	[I")IPV6_PKTINFO is defined by RFC 3542.;T@o:RDoc::Markup::Verbatim;	[	I"addr = Addrinfo.ip("::1")
;TI"ifindex = 0
;TI"Aancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
;TI"5p ancdata.ipv6_pktinfo_addr #=> #<Addrinfo: ::1>;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"'ancdata.ipv6_pktinfo_addr => addr
;T0[I"();T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ip_pktinfo:ETI"&Socket::AncillaryData::ip_pktinfo;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Returns new ancillary data for IP_PKTINFO.;To:RDoc::Markup::BlankLineo;
;	[I",If spec_dst is not given, addr is used.;T@o;
;	[I" IP_PKTINFO is not standard.;T@o;
;	[I""Supported platform: GNU/Linux;T@o:RDoc::Markup::Verbatim;	[
I"%addr = Addrinfo.ip("127.0.0.1")
;TI"ifindex = 0
;TI")spec_dst = Addrinfo.ip("127.0.0.1")
;TI"Ap Socket::AncillaryData.ip_pktinfo(addr, ifindex, spec_dst)
;TI"Y#=> #<Socket::AncillaryData: INET IP PKTINFO 127.0.0.1 ifindex:0 spec_dst:127.0.0.1>;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"�Socket::AncillaryData.ip_pktinfo(addr, ifindex) => ancdata
Socket::AncillaryData.ip_pktinfo(addr, ifindex, spec_dst) => ancdata
;T0[I"(p1, p2, p3 = v3);T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
level:ETI" Socket::AncillaryData#level;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*returns the cmsg level as an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Dp Socket::AncillaryData.new(:INET6, :IPV6, :PKTINFO, "").level
;TI"#=> 41;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"$ancillarydata.level => integer
;T0[I"();T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"int:ETI"Socket::AncillaryData::int;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"MCreates a new Socket::AncillaryData object which contains a int as data.;To:RDoc::Markup::BlankLineo;
;	[I"2The size and endian is dependent on the host.;T@o:RDoc::Markup::Verbatim;	[	I"require 'socket'
;TI"
;TI"Ip Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno)
;TI"7#=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 2>;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"XSocket::AncillaryData.int(family, cmsg_level, cmsg_type, integer) => ancillarydata
;T0[I"(p1, p2, p3, p4);T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ipv6_pktinfo_ifindex:ETI"/Socket::AncillaryData#ipv6_pktinfo_ifindex;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"7Extracts ifindex from IPV6_PKTINFO ancillary data.;To:RDoc::Markup::BlankLineo;
;	[I")IPV6_PKTINFO is defined by RFC 3542.;T@o:RDoc::Markup::Verbatim;	[	I"addr = Addrinfo.ip("::1")
;TI"ifindex = 0
;TI"Aancdata = Socket::AncillaryData.ipv6_pktinfo(addr, ifindex)
;TI")p ancdata.ipv6_pktinfo_ifindex #=> 0;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"*ancdata.ipv6_pktinfo_ifindex => addr
;T0[I"();T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"timestamp:ETI"$Socket::AncillaryData#timestamp;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I",returns the timestamp as a time object.;To:RDoc::Markup::BlankLineo;
;	[I"5_ancillarydata_ should be one of following type:;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"aSOL_SOCKET/SCM_TIMESTAMP (microsecond) GNU/Linux, FreeBSD, NetBSD, OpenBSD, Solaris, MacOS X;To;;0;	[o;
;	[I"6SOL_SOCKET/SCM_TIMESTAMPNS (nanosecond) GNU/Linux;To;;0;	[
o;
;	[I"5SOL_SOCKET/SCM_BINTIME (2**(-64) second) FreeBSD;T@o;
;	[I",Addrinfo.udp("127.0.0.1", 0).bind {|s1|;To:RDoc::Markup::Verbatim;	[I"-Addrinfo.udp("127.0.0.1", 0).bind {|s2|
;TI"0  s1.setsockopt(:SOCKET, :TIMESTAMP, true)
;TI"(  s2.send "a", 0, s1.local_address
;TI"  ctl = s1.recvmsg.last
;TI"_  p ctl    #=> #<Socket::AncillaryData: INET SOCKET TIMESTAMP 2009-02-24 17:35:46.775581>
;TI"  t = ctl.timestamp
;TI".  p t      #=> 2009-02-24 17:35:46 +0900
;TI"  p t.usec #=> 775581
;TI"  p t.nsec #=> 775581000
;TI"}
;T:@format0o;
;	[I"};T:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"%ancillarydata.timestamp => time
;T0[I"();T@5FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unix_rights:ETI"&Socket::AncillaryData#unix_rights;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Zreturns the array of IO objects for SCM_RIGHTS control message in UNIX domain socket.;To:RDoc::Markup::BlankLineo;
;	[I">The class of the IO objects in the array is IO or Socket.;T@o;
;	[I"GThe array is attached to _ancillarydata_ when it is instantiated. ;TI"<For example, BasicSocket#recvmsg attach the array when ;TI"Qreceives a SCM_RIGHTS control message and :scm_rights=>true option is given.;T@o:RDoc::Markup::Verbatim;	[I"7# recvmsg needs :scm_rights=>true for unix_rights
;TI"s1, s2 = UNIXSocket.pair
;TI"Ip s1                                         #=> #<UNIXSocket:fd 3>
;TI"[s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1)
;TI"2_, _, _, ctl = s2.recvmsg(:scm_rights=>true)
;TI"gp ctl                                        #=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 6 7>
;TI"Sp ctl.unix_rights                            #=> [#<IO:fd 6>, #<Socket:fd 7>]
;TI";p File.identical?(STDIN, ctl.unix_rights[0]) #=> true
;TI";p File.identical?(s1, ctl.unix_rights[1])    #=> true
;TI"
;TI"B# If :scm_rights=>true is not given, unix_rights returns nil
;TI"s1, s2 = UNIXSocket.pair
;TI"[s1.sendmsg "stdin and a socket", 0, nil, Socket::AncillaryData.unix_rights(STDIN, s1)
;TI"_, _, _, ctl = s2.recvmsg
;TI"@p ctl #=> #<Socket::AncillaryData: UNIX SOCKET RIGHTS 6 7>
;TI"p ctl.unix_rights #=> nil;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I"6ancillarydata.unix_rights => array-of-IOs or nil
;T0[I"();T@)FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"int:ETI"Socket::AncillaryData#int;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"3Returns the data in _ancillarydata_ as an int.;To:RDoc::Markup::BlankLineo;
;	[I"2The size and endian is dependent on the host.;T@o:RDoc::Markup::Verbatim;	[I"Qancdata = Socket::AncillaryData.int(:UNIX, :SOCKET, :RIGHTS, STDERR.fileno)
;TI"p ancdata.int #=> 2;T:@format0:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0I""ancillarydata.int => integer
;T0[I"();T@FI"AncillaryData;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unix_server_loop:ETI"Socket::unix_server_loop;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-creates a UNIX socket server on _path_. ;TI"1It calls the block for each socket accepted.;To:RDoc::Markup::BlankLineo;
;	[I"RIf _host_ is specified, it is used with _port_ to determine the server ports.;T@o;
;	[I"8The socket is *not* closed when the block returns. ;TI"$So application should close it.;T@o;
;	[
I"GThis method deletes the socket file pointed by _path_ at first if ;TI"Othe file is a socket file and it is owned by the user of the application. ;TI"VThis is safe only if the directory of _path_ is not changed by a malicious user. ;TI"9So don't use /tmp/malicious-users-directory/socket. ;TI"lNote that /tmp/socket and /tmp/your-private-directory/socket is safe assuming that /tmp has sticky bit.;T@o:RDoc::Markup::Verbatim;	[I"# Sequential echo server.
;TI".# It services only one client at a time.
;TI"CSocket.unix_server_loop("/tmp/sock") {|sock, client_addrinfo|
;TI"
  begin
;TI"$    IO.copy_stream(sock, sock)
;TI"  ensure
;TI"    sock.close
;TI"  end
;TI"};T:@format0:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below00I"socket, client_addrinfo;T[I"(path);T@)FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unpack_sockaddr_in:ETI"Socket::unpack_sockaddr_in;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"1Unpacks _sockaddr_ into port and ip_address.;To:RDoc::Markup::BlankLineo;
;	[I"G_sockaddr_ should be a string or an addrinfo for AF_INET/AF_INET6.;T@o:RDoc::Markup::Verbatim;	[I"4sockaddr = Socket.sockaddr_in(80, "127.0.0.1")
;TI"Tp sockaddr #=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
;TI"@p Socket.unpack_sockaddr_in(sockaddr) #=> [80, "127.0.0.1"];T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"?Socket.unpack_sockaddr_in(sockaddr) => [port, ip_address]
;T0[I"	(p1);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"listen:ETI"Socket#listen;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OListens for connections, using the specified +int+ as the backlog. A call ;TI"Hto _listen_ only applies if the +socket+ is of type SOCK_STREAM or ;TI"SOCK_SEQPACKET.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Parameter;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"I+backlog+ - the maximum length of the queue for pending connections.;T@S;;
i;I"Example 1;To:RDoc::Markup::Verbatim;	[I"require 'socket'
;TI"include Socket::Constants
;TI"4socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
;TI"=sockaddr = Socket.pack_sockaddr_in( 2200, 'localhost' )
;TI"socket.bind( sockaddr )
;TI"socket.listen( 5 )
;T:@format0S;;
i;I"IExample 2 (listening on an arbitrary port, unix-based systems only):;To;;	[	I"require 'socket'
;TI"include Socket::Constants
;TI"4socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
;TI"socket.listen( 1 )
;T;0S;;
i;I"Unix-based Exceptions;To;
;	[	I"OOn unix based systems the above will work because a new +sockaddr+ struct ;TI"Pis created on the address ADDR_ANY, for an arbitrary port number as handed ;TI"Soff by the kernel. It will not work on Windows, because Windows requires that ;TI"Dthe +socket+ is bound by calling _bind_ before it can _listen_.;T@o;
;	[I"JIf the _backlog_ amount exceeds the implementation-dependent maximum ;TI"Jqueue length, the implementation's maximum queue length will be used.;T@o;
;	[I"VOn unix-based based systems the following system exceptions may be raised if the ;TI"call to _listen_ fails:;To;;;;[
o;;0;	[o;
;	[I"HErrno::EBADF - the _socket_ argument is not a valid file descriptor;To;;0;	[o;
;	[I"MErrno::EDESTADDRREQ - the _socket_ is not bound to a local address, and ;TI"Athe protocol does not support listening on an unbound socket;To;;0;	[o;
;	[I"6Errno::EINVAL - the _socket_ is already connected;To;;0;	[o;
;	[I"GErrno::ENOTSOCK - the _socket_ argument does not refer to a socket;To;;0;	[o;
;	[I"FErrno::EOPNOTSUPP - the _socket_ protocol does not support listen;To;;0;	[o;
;	[I"MErrno::EACCES - the calling process does not have appropriate privileges;To;;0;	[o;
;	[I"4Errno::EINVAL - the _socket_ has been shut down;To;;0;	[o;
;	[I"LErrno::ENOBUFS - insufficient resources are available in the system to ;TI"complete the call;T@S;;
i;I"Windows Exceptions;To;
;	[I"IOn Windows systems the following system exceptions may be raised if ;TI" the call to _listen_ fails:;To;;;;[o;;0;	[o;
;	[I"*Errno::ENETDOWN - the network is down;To;;0;	[o;
;	[
I"LErrno::EADDRINUSE - the socket's local address is already in use. This ;TI"Husually occurs during the execution of _bind_ but could be delayed ;TI"Jif the call to _bind_ was to a partially wildcard address (involving ;TI"FADDR_ANY) and if a specific address needs to be committed at the ;TI"!time of the call to _listen_;To;;0;	[o;
;	[I"KErrno::EINPROGRESS - a Windows Sockets 1.1 call is in progress or the ;TI"=service provider is still processing a callback function;To;;0;	[o;
;	[I"KErrno::EINVAL - the +socket+ has not been bound with a call to _bind_.;To;;0;	[o;
;	[I"7Errno::EISCONN - the +socket+ is already connected;To;;0;	[o;
;	[I"=Errno::EMFILE - no more socket descriptors are available;To;;0;	[o;
;	[I"2Errno::ENOBUFS - no buffer space is available;To;;0;	[o;
;	[I".Errno::ENOTSOC - +socket+ is not a socket;To;;0;	[o;
;	[I"MErrno::EOPNOTSUPP - the referenced +socket+ is not a type that supports ;TI"the _listen_ method;T@S;;
i;I"See;To;;;;[o;;0;	[o;
;	[I".listen manual pages on unix-based systems;To;;0;	[o;
;	[I"?listen function in Microsoft's Winsock functions reference;T:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"socket.listen( int ) => 0
;T0[I"	(p1);T@�FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"udp_server_loop:ETI"Socket::udp_server_loop;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Ucreates a UDP/IP server on _port_ and calls the block for each message arrived. ;TI"EThe block is called with the message and its source information.;To:RDoc::Markup::BlankLineo;
;	[I"<This method allocates sockets internally using _port_. ;TI"bIf _host_ is specified, it is used conjunction with _port_ to determine the server addresses.;T@o;
;	[I"The _msg_ is a string.;T@o;
;	[I"2The _msg_src_ is a Socket::UDPSource object. ;TI"It is used for reply.;T@o:RDoc::Markup::Verbatim;	[	I"# UDP/IP echo server.
;TI"2Socket.udp_server_loop(9261) {|msg, msg_src|
;TI"  msg_src.reply msg
;TI"};T:@format0:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I"qSocket.udp_server_loop(port) {|msg, msg_src| ... }
Socket.udp_server_loop(host, port) {|msg, msg_src| ... }
;TI"message, message_source;T[I"(host=nil, port);T@!FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tcp:ETI"Socket::tcp;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Ecreates a new socket object connected to host:port using TCP/IP.;To:RDoc::Markup::BlankLineo;
;	[I"(If local_host:local_port is given, ;TI"the socket is bound to it.;T@o;
;	[I"IThe optional last argument _opts_ is options represented by a hash. ;TI"'_opts_ may have following options:;T@o:RDoc::Markup::List:
@type:
LABEL:@items[o:RDoc::Markup::ListItem:@label[I":connect_timeout;T;	[o;
;	[I"$specify the timeout in seconds.;T@o;
;	[I"?If a block is given, the block is called with the socket. ;TI")The value of the block is returned. ;TI"3The socket is closed when this method returns.;T@o;
;	[I"2If no block is given, the socket is returned.;T@o:RDoc::Markup::Verbatim;	[
I"1Socket.tcp("www.ruby-lang.org", 80) {|sock|
;TI"F  sock.print "GET / HTTP/1.0\r\nHost: www.ruby-lang.org\r\n\r\n"
;TI"  sock.close_write
;TI"  puts sock.read
;TI"};T:@format0:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I"�Socket.tcp(host, port, local_host=nil, local_port=nil, [opts]) {|socket| ... }
Socket.tcp(host, port, local_host=nil, local_port=nil, [opts])
;TI"socket;T[I"K(host, port, local_host = nil, local_port = nil, connect_timeout: nil);T@/FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pack_sockaddr_in:ETI"Socket::pack_sockaddr_in;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DPacks _port_ and _host_ as an AF_INET/AF_INET6 sockaddr string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I")Socket.sockaddr_in(80, "127.0.0.1")
;TI"I#=> "\x02\x00\x00P\x7F\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
;TI"
;TI"#Socket.sockaddr_in(80, "::1")
;TI"v#=> "\n\x00\x00P\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00";T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"4Socket.pack_sockaddr_in(port, host) => sockaddr;T0[I"
(p1, p2);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"recvfrom_nonblock:ETI"Socket#recvfrom_nonblock;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IReceives up to _maxlen_ bytes from +socket+ using recvfrom(2) after ;TI";O_NONBLOCK is set for the underlying file descriptor. ;TI"4_flags_ is zero or more of the +MSG_+ options. ;TI"EThe first element of the results, _mesg_, is the data received. ;TI"OThe second element, _sender_addrinfo_, contains protocol-specific address ;TI"information of the sender.;To:RDoc::Markup::BlankLineo;
;	[I"BWhen recvfrom(2) returns 0, Socket#recvfrom_nonblock returns ;TI"an empty string as data. ;TI"MThe meaning depends on the socket: EOF on TCP, empty packet on UDP, etc.;T@S:RDoc::Markup::Heading:
leveli:	textI"Parameters;To:RDoc::Markup::List:
@type:BULLET:@items[	o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"F+maxlen+ - the maximum number of bytes to receive from the socket;To;;0;	[o;
;	[I"1+flags+ - zero or more of the +MSG_+ options;To;;0;	[o;
;	[I")+outbuf+ - destination String buffer;To;;0;	[o;
;	[I"9+opts+ - keyword hash, supporting `exception: false`;T@S;;
i;I"Example;To:RDoc::Markup::Verbatim;	[ I"%# In one file, start this first
;TI"require 'socket'
;TI"include Socket::Constants
;TI"2socket = Socket.new(AF_INET, SOCK_STREAM, 0)
;TI"6sockaddr = Socket.sockaddr_in(2200, 'localhost')
;TI"socket.bind(sockaddr)
;TI"socket.listen(5)
;TI"-client, client_addrinfo = socket.accept
;TI"'begin # emulate blocking recvfrom
;TI"+  pair = client.recvfrom_nonblock(20)
;TI"rescue IO::WaitReadable
;TI"  IO.select([client])
;TI"
  retry
;TI"	end
;TI"data = pair[0].chomp
;TI"/puts "I only received 20 bytes '#{data}'"
;TI"
sleep 1
;TI"socket.close
;TI"
;TI"*# In another file, start this second
;TI"require 'socket'
;TI"include Socket::Constants
;TI"2socket = Socket.new(AF_INET, SOCK_STREAM, 0)
;TI"6sockaddr = Socket.sockaddr_in(2200, 'localhost')
;TI"socket.connect(sockaddr)
;TI"-socket.puts "Watch this get cut short!"
;TI"socket.close
;T:@format0o;
;	[I"PRefer to Socket#recvfrom for the exceptions that may be thrown if the call ;TI""to _recvfrom_nonblock_ fails.;T@o;
;	[I"XSocket#recvfrom_nonblock may raise any error corresponding to recvfrom(2) failure, ;TI""including Errno::EWOULDBLOCK.;T@o;
;	[	I">If the exception is Errno::EWOULDBLOCK or Errno::EAGAIN, ;TI")it is extended by IO::WaitReadable. ;TI"KSo IO::WaitReadable can be used to rescue the exceptions for retrying ;TI"recvfrom_nonblock.;T@o;
;	[I"OBy specifying a keyword argument _exception_ to +false+, you can indicate ;TI"Pthat recvfrom_nonblock should not raise an IO::WaitReadable exception, but ;TI"0return the symbol +:wait_readable+ instead.;T@S;;
i;I"See;To;;;;[o;;0;	[o;
;	[I"Socket#recvfrom;T:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I"\socket.recvfrom_nonblock(maxlen[, flags[, outbuf[, opts]]]) => [mesg, sender_addrinfo]
;T0[I"0(len, flag = 0, str = nil, exception: true);T@lFI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pack_sockaddr_un:ETI"Socket::pack_sockaddr_un;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Packs _path_ as an AF_UNIX sockaddr string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"GSocket.sockaddr_un("/tmp/sock") #=> "\x01\x00/tmp/sock\x00\x00...";T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I".Socket.pack_sockaddr_un(path) => sockaddr;T0[I"	(p1);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getservbyport:ETI"Socket::getservbyport;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"(Obtains the port number for _port_.;To:RDoc::Markup::BlankLineo;
;	[I"7If _protocol_name_ is not given, "tcp" is assumed.;T@o:RDoc::Markup::Verbatim;	[I"0Socket.getservbyport(80)         #=> "www"
;TI"2Socket.getservbyport(514, "tcp") #=> "shell"
;TI"2Socket.getservbyport(514, "udp") #=> "syslog";T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"=Socket.getservbyport(port [, protocol_name]) => service
;T0[I"(p1, p2 = v2);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getifaddrs:ETI"Socket::getifaddrs;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Returns an array of interface addresses. ;TI">An element of the array is an instance of Socket::Ifaddr.;To:RDoc::Markup::BlankLineo;
;	[I"BThis method can be used to find multicast-enabled interfaces:;T@o:RDoc::Markup::Verbatim;	[
I"+pp Socket.getifaddrs.reject {|ifaddr|
;TI"G  !ifaddr.addr.ip? || (ifaddr.flags & Socket::IFF_MULTICAST == 0)
;TI"B}.map {|ifaddr| [ifaddr.name, ifaddr.ifindex, ifaddr.addr] }
;TI"4#=> [["eth0", 2, #<Addrinfo: 221.186.184.67>],
;TI"C#    ["eth0", 2, #<Addrinfo: fe80::216:3eff:fe95:88bb%eth0>]]
;T:@format0o;
;	[I"!Example result on GNU/Linux:;To;;	[
I"pp Socket.getifaddrs
;TI"{#=> [#<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 PACKET[protocol=0 lo hatype=772 HOST hwaddr=00:00:00:00:00:00]>,
;TI"�#    #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 PACKET[protocol=0 eth0 hatype=1 HOST hwaddr=00:16:3e:95:88:bb] broadcast=PACKET[protocol=0 eth0 hatype=1 HOST hwaddr=ff:ff:ff:ff:ff:ff]>,
;TI"c#    #<Socket::Ifaddr sit0 NOARP PACKET[protocol=0 sit0 hatype=776 HOST hwaddr=00:00:00:00]>,
;TI"X#    #<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 127.0.0.1 netmask=255.0.0.0>,
;TI"�#    #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 221.186.184.67 netmask=255.255.255.240 broadcast=221.186.184.79>,
;TI"p#    #<Socket::Ifaddr lo UP,LOOPBACK,RUNNING,0x10000 ::1 netmask=ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>,
;TI"�#    #<Socket::Ifaddr eth0 UP,BROADCAST,RUNNING,MULTICAST,0x10000 fe80::216:3eff:fe95:88bb%eth0 netmask=ffff:ffff:ffff:ffff::>]
;T;
0o;
;	[I"Example result on FreeBSD:;To;;	[I"pp Socket.getifaddrs
;TI"<#=> [#<Socket::Ifaddr usbus0 UP,0x10000 LINK[usbus0]>,
;TI"b#    #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 LINK[re0 3a:d0:40:9a:fe:e8]>,
;TI"�#    #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 10.250.10.18 netmask=255.255.255.? (7 bytes for 16 bytes sockaddr_in) broadcast=10.250.10.255>,
;TI"{#    #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 fe80:2::38d0:40ff:fe9a:fee8 netmask=ffff:ffff:ffff:ffff::>,
;TI"i#    #<Socket::Ifaddr re0 UP,BROADCAST,RUNNING,MULTICAST,0x800 2001:2e8:408:10::12 netmask=UNSPEC>,
;TI"K#    #<Socket::Ifaddr plip0 POINTOPOINT,MULTICAST,0x800 LINK[plip0]>,
;TI"I#    #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST LINK[lo0]>,
;TI"s#    #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST ::1 netmask=ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff>,
;TI"g#    #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST fe80:4::1 netmask=ffff:ffff:ffff:ffff::>,
;TI"}#    #<Socket::Ifaddr lo0 UP,LOOPBACK,RUNNING,MULTICAST 127.0.0.1 netmask=255.?.?.? (5 bytes for 16 bytes sockaddr_in)>];T;
0:
@fileI"ext/socket/ifaddr.c;T:0@omit_headings_from_table_of_contents_below0I")Socket.getifaddrs => [ifaddr1, ...]
;T0[I"();T@7FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"sockaddr_un:ETI"Socket::sockaddr_un;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Packs _path_ as an AF_UNIX sockaddr string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"GSocket.sockaddr_un("/tmp/sock") #=> "\x01\x00/tmp/sock\x00\x00...";T:@format0:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I".Socket.sockaddr_un(path)      => sockaddr;T0[I"	(p1);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
recvfrom:ETI"Socket#recvfrom;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"JReceives up to _maxlen_ bytes from +socket+. _flags_ is zero or more ;TI"Rof the +MSG_+ options. The first element of the results, _mesg_, is the data ;TI"Qreceived. The second element, _sender_addrinfo_, contains protocol-specific ;TI"'address information of the sender.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Parameters;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"F+maxlen+ - the maximum number of bytes to receive from the socket;To;;0;	[o;
;	[I"1+flags+ - zero or more of the +MSG_+ options;T@S;;
i;I"Example;To:RDoc::Markup::Verbatim;	[I"%# In one file, start this first
;TI"require 'socket'
;TI"include Socket::Constants
;TI"4socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
;TI"=sockaddr = Socket.pack_sockaddr_in( 2200, 'localhost' )
;TI"socket.bind( sockaddr )
;TI"socket.listen( 5 )
;TI"-client, client_addrinfo = socket.accept
;TI"+data = client.recvfrom( 20 )[0].chomp
;TI"/puts "I only received 20 bytes '#{data}'"
;TI"
sleep 1
;TI"socket.close
;TI"
;TI"*# In another file, start this second
;TI"require 'socket'
;TI"include Socket::Constants
;TI"4socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
;TI"=sockaddr = Socket.pack_sockaddr_in( 2200, 'localhost' )
;TI" socket.connect( sockaddr )
;TI"-socket.puts "Watch this get cut short!"
;TI"socket.close
;T:@format0S;;
i;I"Unix-based Exceptions;To;
;	[I"VOn unix-based based systems the following system exceptions may be raised if the ;TI"call to _recvfrom_ fails:;To;;;;[o;;0;	[o;
;	[
I"QErrno::EAGAIN - the +socket+ file descriptor is marked as O_NONBLOCK and no ;TI"Odata is waiting to be received; or MSG_OOB is set and no out-of-band data ;TI"Gis available and either the +socket+ file descriptor is marked as ;TI"FO_NONBLOCK or the +socket+ does not support blocking to wait for ;TI"out-of-band-data;To;;0;	[o;
;	[I"+Errno::EWOULDBLOCK - see Errno::EAGAIN;To;;0;	[o;
;	[I"?Errno::EBADF - the +socket+ is not a valid file descriptor;To;;0;	[o;
;	[I"CErrno::ECONNRESET - a connection was forcibly closed by a peer;To;;0;	[o;
;	[I"MErrno::EFAULT - the socket's internal buffer, address or address length ;TI""cannot be accessed or written;To;;0;	[o;
;	[I"QErrno::EINTR - a signal interrupted _recvfrom_ before any data was available;To;;0;	[o;
;	[I"QErrno::EINVAL - the MSG_OOB flag is set and no out-of-band data is available;To;;0;	[o;
;	[I"MErrno::EIO - an i/o error occurred while reading from or writing to the ;TI"filesystem;To;;0;	[o;
;	[I"MErrno::ENOBUFS - insufficient resources were available in the system to ;TI"perform the operation;To;;0;	[o;
;	[I"MErrno::ENOMEM - insufficient memory was available to fulfill the request;To;;0;	[o;
;	[I"KErrno::ENOSR - there were insufficient STREAMS resources available to ;TI"complete the operation;To;;0;	[o;
;	[I"OErrno::ENOTCONN - a receive is attempted on a connection-mode socket that ;TI"is not connected;To;;0;	[o;
;	[I">Errno::ENOTSOCK - the +socket+ does not refer to a socket;To;;0;	[o;
;	[I"SErrno::EOPNOTSUPP - the specified flags are not supported for this socket type;To;;0;	[o;
;	[I"QErrno::ETIMEDOUT - the connection timed out during connection establishment ;TI"=or due to a transmission timeout on an active connection;T@S;;
i;I"Windows Exceptions;To;
;	[I"IOn Windows systems the following system exceptions may be raised if ;TI""the call to _recvfrom_ fails:;To;;;;[o;;0;	[o;
;	[I"*Errno::ENETDOWN - the network is down;To;;0;	[o;
;	[I"QErrno::EFAULT - the internal buffer and from parameters on +socket+ are not ;TI"Jpart of the user address space, or the internal fromlen parameter is ;TI".too small to accommodate the peer address;To;;0;	[o;
;	[I"MErrno::EINTR - the (blocking) call was cancelled by an internal call to ;TI"/the WinSock function WSACancelBlockingCall;To;;0;	[o;
;	[I"PErrno::EINPROGRESS - a blocking Windows Sockets 1.1 call is in progress or ;TI"Athe service provider is still processing a callback function;To;;0;	[o;
;	[	I"NErrno::EINVAL - +socket+ has not been bound with a call to _bind_, or an ;TI"Lunknown flag was specified, or MSG_OOB was specified for a socket with ;TI"PSO_OOBINLINE enabled, or (for byte stream-style sockets only) the internal ;TI"3len parameter on +socket+ was zero or negative;To;;0;	[o;
;	[I"OErrno::EISCONN - +socket+ is already connected. The call to _recvfrom_ is ;TI"Jnot permitted with a connected socket on a socket that is connection ;TI" oriented or connectionless.;To;;0;	[o;
;	[I"MErrno::ENETRESET - the connection has been broken due to the keep-alive ;TI"Factivity detecting a failure while the operation was in progress.;To;;0;	[o;
;	[	I"QErrno::EOPNOTSUPP - MSG_OOB was specified, but +socket+ is not stream-style ;TI"Nsuch as type SOCK_STREAM. OOB data is not supported in the communication ;TI"Hdomain associated with +socket+, or +socket+ is unidirectional and ;TI""supports only send operations;To;;0;	[o;
;	[I"JErrno::ESHUTDOWN - +socket+ has been shutdown. It is not possible to ;TI"Ccall _recvfrom_ on a socket after _shutdown_ has been invoked.;To;;0;	[o;
;	[I"KErrno::EWOULDBLOCK - +socket+ is marked as nonblocking and a  call to ;TI"_recvfrom_ would block.;To;;0;	[o;
;	[I"RErrno::EMSGSIZE - the message was too large to fit into the specified buffer ;TI"and was truncated.;To;;0;	[o;
;	[I"NErrno::ETIMEDOUT - the connection has been dropped, because of a network ;TI"Ffailure or because the system on the other end went down without ;TI"notice;To;;0;	[o;
;	[
I"JErrno::ECONNRESET - the virtual circuit was reset by the remote side ;TI"Jexecuting a hard or abortive close. The application should close the ;TI"Isocket; it is no longer usable. On a UDP-datagram socket this error ;TI"Nindicates a previous send operation resulted in an ICMP Port Unreachable ;TI"
message.;T:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"rsocket.recvfrom(maxlen) => [mesg, sender_addrinfo]
socket.recvfrom(maxlen, flags) => [mesg, sender_addrinfo]
;T0[I"(*args);T@�FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	bind:ETI"Socket#bind;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&Binds to the given local address.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Parameter;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"Y+local_sockaddr+ - the +struct+ sockaddr contained in a string or an Addrinfo object;T@S;;
i;I"Example;To:RDoc::Markup::Verbatim;	[I"require 'socket'
;TI"
;TI"# use Addrinfo
;TI",socket = Socket.new(:INET, :STREAM, 0)
;TI"2socket.bind(Addrinfo.tcp("127.0.0.1", 2222))
;TI"@p socket.local_address #=> #<Addrinfo: 127.0.0.1:2222 TCP>
;TI"
;TI"# use struct sockaddr
;TI"include Socket::Constants
;TI"4socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
;TI"=sockaddr = Socket.pack_sockaddr_in( 2200, 'localhost' )
;TI"socket.bind( sockaddr )
;T:@format0S;;
i;I"Unix-based Exceptions;To;
;	[I"ROn unix-based based systems the following system exceptions may be raised if ;TI"the call to _bind_ fails:;To;;;;[o;;0;	[o;
;	[I"KErrno::EACCES - the specified _sockaddr_ is protected and the current ;TI"0user does not have permission to bind to it;To;;0;	[o;
;	[I"CErrno::EADDRINUSE - the specified _sockaddr_ is already in use;To;;0;	[o;
;	[I"OErrno::EADDRNOTAVAIL - the specified _sockaddr_ is not available from the ;TI"local machine;To;;0;	[o;
;	[I"OErrno::EAFNOSUPPORT - the specified _sockaddr_ is not a valid address for ;TI"'the family of the calling +socket+;To;;0;	[o;
;	[I"KErrno::EBADF - the _sockaddr_ specified is not a valid file descriptor;To;;0;	[o;
;	[I"?Errno::EFAULT - the _sockaddr_ argument cannot be accessed;To;;0;	[o;
;	[I"JErrno::EINVAL - the +socket+ is already bound to an address, and the ;TI"Mprotocol does not support binding to the new _sockaddr_ or the +socket+ ;TI"has been shut down.;To;;0;	[o;
;	[I"NErrno::EINVAL - the address length is not a valid length for the address ;TI"family;To;;0;	[o;
;	[I"MErrno::ENAMETOOLONG - the pathname resolved had a length which exceeded ;TI"
PATH_MAX;To;;0;	[o;
;	[I"2Errno::ENOBUFS - no buffer space is available;To;;0;	[o;
;	[I"KErrno::ENOSR - there were insufficient STREAMS resources available to ;TI"complete the operation;To;;0;	[o;
;	[I">Errno::ENOTSOCK - the +socket+ does not refer to a socket;To;;0;	[o;
;	[I"JErrno::EOPNOTSUPP - the socket type of the +socket+ does not support ;TI"binding to an address;T@o;
;	[I"ROn unix-based based systems if the address family of the calling +socket+ is ;TI"OSocket::AF_UNIX the follow exceptions may be raised if the call to _bind_ ;TI"fails:;To;;;;[o;;0;	[o;
;	[I"OErrno::EACCES - search permission is denied for a component of the prefix ;TI"3path or write access to the +socket+ is denied;To;;0;	[o;
;	[I"DErrno::EDESTADDRREQ - the _sockaddr_ argument is a null pointer;To;;0;	[o;
;	[I"0Errno::EISDIR - same as Errno::EDESTADDRREQ;To;;0;	[o;
;	[I"'Errno::EIO - an i/o error occurred;To;;0;	[o;
;	[I"LErrno::ELOOP - too many symbolic links were encountered in translating ;TI"the pathname in _sockaddr_;To;;0;	[o;
;	[I"HErrno::ENAMETOOLLONG - a component of a pathname exceeded NAME_MAX ;TI"Ccharacters, or an entire pathname exceeded PATH_MAX characters;To;;0;	[o;
;	[I"PErrno::ENOENT - a component of the pathname does not name an existing file ;TI"'or the pathname is an empty string;To;;0;	[o;
;	[I"SErrno::ENOTDIR - a component of the path prefix of the pathname in _sockaddr_ ;TI"is not a directory;To;;0;	[o;
;	[I"CErrno::EROFS - the name would reside on a read only filesystem;T@S;;
i;I"Windows Exceptions;To;
;	[I"IOn Windows systems the following system exceptions may be raised if ;TI"the call to _bind_ fails:;To;;;;[
o;;0;	[o;
;	[I"*Errno::ENETDOWN-- the network is down;To;;0;	[o;
;	[I"GErrno::EACCES - the attempt to connect the datagram socket to the ;TI"broadcast address failed;To;;0;	[o;
;	[I"EErrno::EADDRINUSE - the socket's local address is already in use;To;;0;	[o;
;	[I"RErrno::EADDRNOTAVAIL - the specified address is not a valid address for this ;TI"
computer;To;;0;	[o;
;	[I"OErrno::EFAULT - the socket's internal address or address length parameter ;TI"Dis too small or is not a valid part of the user space addressed;To;;0;	[o;
;	[I"@Errno::EINVAL - the +socket+ is already bound to an address;To;;0;	[o;
;	[I"2Errno::ENOBUFS - no buffer space is available;To;;0;	[o;
;	[I"GErrno::ENOTSOCK - the +socket+ argument does not refer to a socket;T@S;;
i;I"See;To;;;;[o;;0;	[o;
;	[I",bind manual pages on unix-based systems;To;;0;	[o;
;	[I"=bind function in Microsoft's Winsock functions reference;T:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"&socket.bind(local_sockaddr) => 0
;T0[I"	(p1);T@�FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"connect:ETI"Socket#connect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"SRequests a connection to be made on the given +remote_sockaddr+. Returns 0 if ;TI"2successful, otherwise an exception is raised.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Parameter;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"W+remote_sockaddr+ - the +struct+ sockaddr contained in a string or Addrinfo object;T@S;;
i;I"
Example:;To:RDoc::Markup::Verbatim;	[
I"## Pull down Google's web page
;TI"require 'socket'
;TI"include Socket::Constants
;TI"4socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
;TI"@sockaddr = Socket.pack_sockaddr_in( 80, 'www.google.com' )
;TI" socket.connect( sockaddr )
;TI".socket.write( "GET / HTTP/1.0\r\n\r\n" )
;TI"results = socket.read
;T:@format0S;;
i;I"Unix-based Exceptions;To;
;	[I"LOn unix-based systems the following system exceptions may be raised if ;TI"!the call to _connect_ fails:;To;;;;[o;;0;	[o;
;	[I"OErrno::EACCES - search permission is denied for a component of the prefix ;TI"3path or write access to the +socket+ is denied;To;;0;	[o;
;	[I"9Errno::EADDRINUSE - the _sockaddr_ is already in use;To;;0;	[o;
;	[I"OErrno::EADDRNOTAVAIL - the specified _sockaddr_ is not available from the ;TI"local machine;To;;0;	[o;
;	[I"OErrno::EAFNOSUPPORT - the specified _sockaddr_ is not a valid address for ;TI"1the address family of the specified +socket+;To;;0;	[o;
;	[I"MErrno::EALREADY - a connection is already in progress for the specified ;TI"socket;To;;0;	[o;
;	[I"?Errno::EBADF - the +socket+ is not a valid file descriptor;To;;0;	[o;
;	[I"SErrno::ECONNREFUSED - the target _sockaddr_ was not listening for connections ;TI"#refused the connection request;To;;0;	[o;
;	[I"EErrno::ECONNRESET - the remote host reset the connection request;To;;0;	[o;
;	[I"6Errno::EFAULT - the _sockaddr_ cannot be accessed;To;;0;	[o;
;	[I"LErrno::EHOSTUNREACH - the destination host cannot be reached (probably ;TI"Abecause the host is down or a remote router cannot reach it);To;;0;	[o;
;	[I"IErrno::EINPROGRESS - the O_NONBLOCK is set for the +socket+ and the ;TI"Jconnection cannot be immediately established; the connection will be ;TI"established asynchronously;To;;0;	[o;
;	[I"OErrno::EINTR - the attempt to establish the connection was interrupted by ;TI"Ndelivery of a signal that was caught; the connection will be established ;TI"asynchronously;To;;0;	[o;
;	[I"AErrno::EISCONN - the specified +socket+ is already connected;To;;0;	[o;
;	[I"OErrno::EINVAL - the address length used for the _sockaddr_ is not a valid ;TI"Nlength for the address family or there is an invalid family in _sockaddr_;To;;0;	[o;
;	[I"MErrno::ENAMETOOLONG - the pathname resolved had a length which exceeded ;TI"
PATH_MAX;To;;0;	[o;
;	[I"PErrno::ENETDOWN - the local interface used to reach the destination is down;To;;0;	[o;
;	[I"<Errno::ENETUNREACH - no route to the network is present;To;;0;	[o;
;	[I"2Errno::ENOBUFS - no buffer space is available;To;;0;	[o;
;	[I"KErrno::ENOSR - there were insufficient STREAMS resources available to ;TI"complete the operation;To;;0;	[o;
;	[I"GErrno::ENOTSOCK - the +socket+ argument does not refer to a socket;To;;0;	[o;
;	[I"RErrno::EOPNOTSUPP - the calling +socket+ is listening and cannot be connected;To;;0;	[o;
;	[I"MErrno::EPROTOTYPE - the _sockaddr_ has a different type than the socket ;TI"(bound to the specified peer address;To;;0;	[o;
;	[I"LErrno::ETIMEDOUT - the attempt to connect time out before a connection ;TI"was made.;T@o;
;	[I"LOn unix-based systems if the address family of the calling +socket+ is ;TI"JAF_UNIX the follow exceptions may be raised if the call to _connect_ ;TI"fails:;To;;;;[
o;;0;	[o;
;	[I"MErrno::EIO - an i/o error occurred while reading from or writing to the ;TI"file system;To;;0;	[o;
;	[I"LErrno::ELOOP - too many symbolic links were encountered in translating ;TI"the pathname in _sockaddr_;To;;0;	[o;
;	[I"HErrno::ENAMETOOLLONG - a component of a pathname exceeded NAME_MAX ;TI"Ccharacters, or an entire pathname exceeded PATH_MAX characters;To;;0;	[o;
;	[I"PErrno::ENOENT - a component of the pathname does not name an existing file ;TI"'or the pathname is an empty string;To;;0;	[o;
;	[I"SErrno::ENOTDIR - a component of the path prefix of the pathname in _sockaddr_ ;TI"is not a directory;T@S;;
i;I"Windows Exceptions;To;
;	[I"IOn Windows systems the following system exceptions may be raised if ;TI"!the call to _connect_ fails:;To;;;;[o;;0;	[o;
;	[I"*Errno::ENETDOWN - the network is down;To;;0;	[o;
;	[I"EErrno::EADDRINUSE - the socket's local address is already in use;To;;0;	[o;
;	[I",Errno::EINTR - the socket was cancelled;To;;0;	[o;
;	[I"SErrno::EINPROGRESS - a blocking socket is in progress or the service provider ;TI"Ois still processing a callback function. Or a nonblocking connect call is ;TI"!in progress on the +socket+.;To;;0;	[o;
;	[I"(Errno::EALREADY - see Errno::EINVAL;To;;0;	[o;
;	[I"OErrno::EADDRNOTAVAIL - the remote address is not a valid address, such as ;TI".ADDR_ANY TODO check ADDRANY TO INADDR_ANY;To;;0;	[o;
;	[I"QErrno::EAFNOSUPPORT - addresses in the specified family cannot be used with ;TI"with this +socket+;To;;0;	[o;
;	[I"SErrno::ECONNREFUSED - the target _sockaddr_ was not listening for connections ;TI"#refused the connection request;To;;0;	[o;
;	[I"OErrno::EFAULT - the socket's internal address or address length parameter ;TI"Bis too small or is not a valid part of the user space address;To;;0;	[o;
;	[I"7Errno::EINVAL - the +socket+ is a listening socket;To;;0;	[o;
;	[I"7Errno::EISCONN - the +socket+ is already connected;To;;0;	[o;
;	[I"SErrno::ENETUNREACH - the network cannot be reached from this host at this time;To;;0;	[o;
;	[I"=Errno::EHOSTUNREACH - no route to the network is present;To;;0;	[o;
;	[I"2Errno::ENOBUFS - no buffer space is available;To;;0;	[o;
;	[I"GErrno::ENOTSOCK - the +socket+ argument does not refer to a socket;To;;0;	[o;
;	[I"LErrno::ETIMEDOUT - the attempt to connect time out before a connection ;TI"was made.;To;;0;	[o;
;	[I"FErrno::EWOULDBLOCK - the socket is marked as nonblocking and the ;TI"/connection cannot be completed immediately;To;;0;	[o;
;	[I"GErrno::EACCES - the attempt to connect the datagram socket to the ;TI"broadcast address failed;T@S;;
i;I"See;To;;;;[o;;0;	[o;
;	[I"/connect manual pages on unix-based systems;To;;0;	[o;
;	[I"@connect function in Microsoft's Winsock functions reference;T:
@fileI"ext/socket/socket.c;T:0@omit_headings_from_table_of_contents_below0I"*socket.connect(remote_sockaddr) => 0
;T0[I"	(p1);T@HFI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	unix:ETI"Socket::unix;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Ecreates a new socket connected to path using UNIX socket socket.;To:RDoc::Markup::BlankLineo;
;	[I"?If a block is given, the block is called with the socket. ;TI")The value of the block is returned. ;TI"3The socket is closed when this method returns.;T@o;
;	[I"2If no block is given, the socket is returned.;T@o:RDoc::Markup::Verbatim;	[I"!# talk to /tmp/sock socket.
;TI"&Socket.unix("/tmp/sock") {|sock|
;TI"7  t = Thread.new { IO.copy_stream(sock, STDOUT) }
;TI"#  IO.copy_stream(STDIN, sock)
;TI"  t.join
;TI"};T:@format0:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below00I"socket;T[I"(path);T@FI"Socket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unix_server_socket:ETI"Socket::unix_server_socket;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"+creates a UNIX server socket on _path_;To:RDoc::Markup::BlankLineo;
;	[I"6If no block given, it returns a listening socket.;T@o;
;	[I"XIf a block is given, it is called with the socket and the block value is returned. ;TI"OWhen the block exits, the socket is closed and the socket file is removed.;T@o:RDoc::Markup::Verbatim;	[
I"2socket = Socket.unix_server_socket("/tmp/s")
;TI"2p socket                  #=> #<Socket:fd 3>
;TI"Cp socket.local_address    #=> #<Addrinfo: /tmp/s SOCK_STREAM>
;TI"
;TI"1Socket.unix_server_socket("/tmp/sock") {|s|
;TI"2  p s                     #=> #<Socket:fd 3>
;TI"H  p s.local_address       #=> # #<Addrinfo: /tmp/sock SOCK_STREAM>
;TI"};T:@format0:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below00I"s;T[I"(path);T@ FI"Socket;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Socket:ET@I"BasicSocket;To:RDoc::Markup::Document:@parts[	o;;[:
@fileI"ext/socket/ancdata.c;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"ext/socket/lib/socket.rb;T;
0o;;[4o:RDoc::Markup::Paragraph;[I"GClass +Socket+ provides access to the underlying operating system ;TI"Nsocket implementations.  It can be used to provide more operating system ;TI"Fspecific functionality than the protocol-specific socket classes.;To:RDoc::Markup::BlankLineo;;[	I"JThe constants defined under Socket::Constants are also defined under ;TI"@Socket.  For example, Socket::AF_INET is usable as well as ;TI"HSocket::Constants::AF_INET.  See Socket::Constants for the list of ;TI"constants.;T@S:RDoc::Markup::Heading:
leveli:	textI"What's a socket?;T@o;;[	I"ESockets are endpoints of a bidirectional communication channel. ;TI"MSockets can communicate within a process, between processes on the same ;TI"Mmachine or between different machines.  There are many types of socket: ;TI"4TCPSocket, UDPSocket or UNIXSocket for example.;T@o;;[I"'Sockets have their own vocabulary:;T@o;;[I"*domain:* ;TI"The family of protocols:;To:RDoc::Markup::List:
@type:BULLET:@items[	o:RDoc::Markup::ListItem:@label0;[o;;[I"Socket::PF_INET;To;;0;[o;;[I"Socket::PF_INET6;To;;0;[o;;[I"Socket::PF_UNIX;To;;0;[o;;[I"	etc.;T@o;;[I"
*type:* ;TI"DThe type of communications between the two endpoints, typically;To;;;;[o;;0;[o;;[I"Socket::SOCK_STREAM;To;;0;[o;;[I"Socket::SOCK_DGRAM.;T@o;;[I"*protocol:* ;TI"Typically _zero_. ;TI":This may be used to identify a variant of a protocol.;T@o;;[I"*hostname:* ;TI"+The identifier of a network interface:;To;;;;[o;;0;[o;;[I"=a string (hostname, IPv4 or IPv6 address or +broadcast+ ;TI")which specifies a broadcast address);To;;0;[o;;[I"4a zero-length string which specifies INADDR_ANY;To;;0;[o;;[I"Can integer (interpreted as binary address in host byte order).;T@S;
;i;I"Quick start;T@o;;[I"FMany of the classes, such as TCPSocket, UDPSocket or UNIXSocket, ;TI"Uease the use of sockets comparatively to the equivalent C programming interface.;T@o;;[I"PLet's create an internet socket using the IPv4 protocol in a C-like manner:;T@o:RDoc::Markup::Verbatim;[	I"require 'socket'
;TI"
;TI"9s = Socket.new Socket::AF_INET, Socket::SOCK_STREAM
;TI":s.connect Socket.pack_sockaddr_in(80, 'example.com')
;T:@format0o;;[I",You could also use the TCPSocket class:;T@o;;[I")s = TCPSocket.new 'example.com', 80
;T;0o;;[I"*A simple server might look like this:;T@o;;[I"require 'socket'
;TI"
;TI"=server = TCPServer.new 2000 # Server bound to port 2000
;TI"
;TI"
loop do
;TI"@  client = server.accept    # Wait for a client to connect
;TI"  client.puts "Hello !"
;TI")  client.puts "Time is #{Time.now}"
;TI"  client.close
;TI"	end
;T;0o;;[I"(A simple client may look like this:;T@o;;[I"require 'socket'
;TI"
;TI")s = TCPSocket.new 'localhost', 2000
;TI"
;TI"2while line = s.gets # Read lines from socket
;TI"*  puts line         # and print them
;TI"	end
;TI"
;TI"2s.close             # close socket when done
;T;0S;
;i;I"Exception Handling;T@o;;[I"GRuby's Socket implementation raises exceptions based on the error ;TI"Hgenerated by the system dependent implementation.  This is why the ;TI"Dmethods are documented in a way that isolate Unix-based system ;TI"Hexceptions from Windows based exceptions. If more information on a ;TI"Nparticular exception is needed, please refer to the Unix manual pages or ;TI"#the Windows WinSock reference.;T@S;
;i;I"Convenience methods;T@o;;[I">Although the general way to create socket is Socket.new, ;TI"Athere are several methods of socket creation for most cases.;T@o;;:	NOTE;[	o;;[I"TCP client socket;T;[o;;[I"Socket.tcp, TCPSocket.open;To;;[I"TCP server socket;T;[o;;[I"+Socket.tcp_server_loop, TCPServer.open;To;;[I"UNIX client socket;T;[o;;[I"!Socket.unix, UNIXSocket.open;To;;[I"UNIX server socket;T;[o;;[I"-Socket.unix_server_loop, UNIXServer.open;T@S;
;i;I"Documentation by;T@o;;;;[o;;0;[o;;[I"Zach Dennis;To;;0;[o;;[I"Sam Roberts;To;;0;[o;;[I"<<em>Programming Ruby</em> from The Pragmatic Bookshelf.;T@o;;[I"GMuch material in this documentation is taken with permission from ;TI"<<em>Programming Ruby</em> from The Pragmatic Bookshelf.;T;	I"ext/socket/socket.c;T;
0o;;[;	I"lib/ipaddr.rb;T;
0;	0;
0[[�U:RDoc::Constant[iI"SOCK_STREAM;TI"Socket::SOCK_STREAM;T:public0o;;[o;;[I"XA stream socket provides a sequenced, reliable two-way connection for a byte stream;T@;	I"ext/socket/constdefs.c;T;
0@�@cRDoc::NormalClass0U;[iI"SOCK_DGRAM;TI"Socket::SOCK_DGRAM;T;0o;;[o;;[I"DA datagram socket provides connectionless, unreliable messaging;T@;	@�;
0@�@@�0U;[iI"
SOCK_RAW;TI"Socket::SOCK_RAW;T;0o;;[o;;[I"_A raw socket provides low-level access for direct access or implementing network protocols;T@;	@�;
0@�@@�0U;[iI"
SOCK_RDM;TI"Socket::SOCK_RDM;T;0o;;[o;;[I"FA reliable datagram socket provides reliable delivery of messages;T@;	@�;
0@�@@�0U;[iI"SOCK_SEQPACKET;TI"Socket::SOCK_SEQPACKET;T;0o;;[o;;[I"]A sequential packet socket provides sequenced, reliable two-way connection for datagrams;T@;	@�;
0@�@@�0U;[iI"SOCK_PACKET;TI"Socket::SOCK_PACKET;T;0o;;[o;;[I"Device-level packet access;T@;	@�;
0@�@@�0U;[iI"AF_UNSPEC;TI"Socket::AF_UNSPEC;T;0o;;[o;;[I"7Unspecified protocol, any supported address family;T@;	@�;
0@�@@�0U;[iI"PF_UNSPEC;TI"Socket::PF_UNSPEC;T;0o;;[o;;[I"7Unspecified protocol, any supported address family;T@;	@�;
0@�@@�0U;[iI"AF_INET;TI"Socket::AF_INET;T;0o;;[o;;[I"IPv4 protocol;T@;	@�;
0@�@@�0U;[iI"PF_INET;TI"Socket::PF_INET;T;0o;;[o;;[I"IPv4 protocol;T@;	@�;
0@�@@�0U;[iI"
AF_INET6;TI"Socket::AF_INET6;T;0o;;[o;;[I"IPv6 protocol;T@;	@�;
0@�@@�0U;[iI"
PF_INET6;TI"Socket::PF_INET6;T;0o;;[o;;[I"IPv6 protocol;T@;	@�;
0@�@@�0U;[iI"AF_UNIX;TI"Socket::AF_UNIX;T;0o;;[o;;[I"UNIX sockets;T@;	@�;
0@�@@�0U;[iI"PF_UNIX;TI"Socket::PF_UNIX;T;0o;;[o;;[I"UNIX sockets;T@;	@�;
0@�@@�0U;[iI"AF_AX25;TI"Socket::AF_AX25;T;0o;;[o;;[I"AX.25 protocol;T@;	@�;
0@�@@�0U;[iI"PF_AX25;TI"Socket::PF_AX25;T;0o;;[o;;[I"AX.25 protocol;T@;	@�;
0@�@@�0U;[iI"AF_IPX;TI"Socket::AF_IPX;T;0o;;[o;;[I"IPX protocol;T@;	@�;
0@�@@�0U;[iI"PF_IPX;TI"Socket::PF_IPX;T;0o;;[o;;[I"IPX protocol;T@;	@�;
0@�@@�0U;[iI"AF_APPLETALK;TI"Socket::AF_APPLETALK;T;0o;;[o;;[I"AppleTalk protocol;T@;	@�;
0@�@@�0U;[iI"PF_APPLETALK;TI"Socket::PF_APPLETALK;T;0o;;[o;;[I"AppleTalk protocol;T@;	@�;
0@�@@�0U;[iI"
AF_LOCAL;TI"Socket::AF_LOCAL;T;0o;;[o;;[I"Host-internal protocols;T@;	@�;
0@�@@�0U;[iI"
PF_LOCAL;TI"Socket::PF_LOCAL;T;0o;;[o;;[I"Host-internal protocols;T@;	@�;
0@�@@�0U;[iI"AF_IMPLINK;TI"Socket::AF_IMPLINK;T;0o;;[o;;[I"ARPANET IMP protocol;T@;	@�;
0@�@@�0U;[iI"PF_IMPLINK;TI"Socket::PF_IMPLINK;T;0o;;[o;;[I"ARPANET IMP protocol;T@;	@�;
0@�@@�0U;[iI"AF_PUP;TI"Socket::AF_PUP;T;0o;;[o;;[I"#PARC Universal Packet protocol;T@;	@�;
0@�@@�0U;[iI"PF_PUP;TI"Socket::PF_PUP;T;0o;;[o;;[I"#PARC Universal Packet protocol;T@;	@�;
0@�@@�0U;[iI"
AF_CHAOS;TI"Socket::AF_CHAOS;T;0o;;[o;;[I"MIT CHAOS protocols;T@;	@�;
0@�@@�0U;[iI"
PF_CHAOS;TI"Socket::PF_CHAOS;T;0o;;[o;;[I"MIT CHAOS protocols;T@;	@�;
0@�@@�0U;[iI"
AF_NS;TI"Socket::AF_NS;T;0o;;[o;;[I"XEROX NS protocols;T@;	@�;
0@�@@�0U;[iI"
PF_NS;TI"Socket::PF_NS;T;0o;;[o;;[I"XEROX NS protocols;T@;	@�;
0@�@@�0U;[iI"AF_ISO;TI"Socket::AF_ISO;T;0o;;[o;;[I"/ISO Open Systems Interconnection protocols;T@;	@�;
0@�@@�0U;[iI"PF_ISO;TI"Socket::PF_ISO;T;0o;;[o;;[I"/ISO Open Systems Interconnection protocols;T@;	@�;
0@�@@�0U;[iI"AF_OSI;TI"Socket::AF_OSI;T;0o;;[o;;[I"/ISO Open Systems Interconnection protocols;T@;	@�;
0@�@@�0U;[iI"PF_OSI;TI"Socket::PF_OSI;T;0o;;[o;;[I"/ISO Open Systems Interconnection protocols;T@;	@�;
0@�@@�0U;[iI"AF_ECMA;TI"Socket::AF_ECMA;T;0o;;[o;;[I".European Computer Manufacturers protocols;T@;	@�;
0@�@@�0U;[iI"PF_ECMA;TI"Socket::PF_ECMA;T;0o;;[o;;[I".European Computer Manufacturers protocols;T@;	@�;
0@�@@�0U;[iI"AF_DATAKIT;TI"Socket::AF_DATAKIT;T;0o;;[o;;[I"Datakit protocol;T@;	@�;
0@�@@�0U;[iI"PF_DATAKIT;TI"Socket::PF_DATAKIT;T;0o;;[o;;[I"Datakit protocol;T@;	@�;
0@�@@�0U;[iI"
AF_CCITT;TI"Socket::AF_CCITT;T;0o;;[o;;[I" CCITT (now ITU-T) protocols;T@;	@�;
0@�@@�0U;[iI"
PF_CCITT;TI"Socket::PF_CCITT;T;0o;;[o;;[I" CCITT (now ITU-T) protocols;T@;	@�;
0@�@@�0U;[iI"AF_SNA;TI"Socket::AF_SNA;T;0o;;[o;;[I"IBM SNA protocol;T@;	@�;
0@�@@�0U;[iI"PF_SNA;TI"Socket::PF_SNA;T;0o;;[o;;[I"IBM SNA protocol;T@;	@�;
0@�@@�0U;[iI"AF_DEC;TI"Socket::AF_DEC;T;0o;;[o;;[I"DECnet protocol;T@;	@�;
0@�@@�0U;[iI"PF_DEC;TI"Socket::PF_DEC;T;0o;;[o;;[I"DECnet protocol;T@;	@�;
0@�@@�0U;[iI"AF_DLI;TI"Socket::AF_DLI;T;0o;;[o;;[I",DEC Direct Data Link Interface protocol;T@;	@�;
0@�@@�0U;[iI"PF_DLI;TI"Socket::PF_DLI;T;0o;;[o;;[I",DEC Direct Data Link Interface protocol;T@;	@�;
0@�@@�0U;[iI"AF_LAT;TI"Socket::AF_LAT;T;0o;;[o;;[I""Local Area Transport protocol;T@;	@�;
0@�@@�0U;[iI"PF_LAT;TI"Socket::PF_LAT;T;0o;;[o;;[I""Local Area Transport protocol;T@;	@�;
0@�@@�0U;[iI"AF_HYLINK;TI"Socket::AF_HYLINK;T;0o;;[o;;[I"NSC Hyperchannel protocol;T@;	@�;
0@�@@�0U;[iI"PF_HYLINK;TI"Socket::PF_HYLINK;T;0o;;[o;;[I"NSC Hyperchannel protocol;T@;	@�;
0@�@@�0U;[iI"
AF_ROUTE;TI"Socket::AF_ROUTE;T;0o;;[o;;[I"Internal routing protocol;T@;	@�;
0@�@@�0U;[iI"
PF_ROUTE;TI"Socket::PF_ROUTE;T;0o;;[o;;[I"Internal routing protocol;T@;	@�;
0@�@@�0U;[iI"AF_LINK;TI"Socket::AF_LINK;T;0o;;[o;;[I"Link layer interface;T@;	@�;
0@�@@�0U;[iI"PF_LINK;TI"Socket::PF_LINK;T;0o;;[o;;[I"Link layer interface;T@;	@�;
0@�@@�0U;[iI"AF_COIP;TI"Socket::AF_COIP;T;0o;;[o;;[I"Connection-oriented IP;T@;	@�;
0@�@@�0U;[iI"PF_COIP;TI"Socket::PF_COIP;T;0o;;[o;;[I"Connection-oriented IP;T@;	@�;
0@�@@�0U;[iI"AF_CNT;TI"Socket::AF_CNT;T;0o;;[o;;[I" Computer Network Technology;T@;	@�;
0@�@@�0U;[iI"PF_CNT;TI"Socket::PF_CNT;T;0o;;[o;;[I" Computer Network Technology;T@;	@�;
0@�@@�0U;[iI"AF_SIP;TI"Socket::AF_SIP;T;0o;;[o;;[I"Simple Internet Protocol;T@;	@�;
0@�@@�0U;[iI"PF_SIP;TI"Socket::PF_SIP;T;0o;;[o;;[I"Simple Internet Protocol;T@;	@�;
0@�@@�0U;[iI"AF_NDRV;TI"Socket::AF_NDRV;T;0o;;[o;;[I"Network driver raw access;T@;	@�;
0@�@@�0U;[iI"PF_NDRV;TI"Socket::PF_NDRV;T;0o;;[o;;[I"Network driver raw access;T@;	@�;
0@�@@�0U;[iI"AF_ISDN;TI"Socket::AF_ISDN;T;0o;;[o;;[I"(Integrated Services Digital Network;T@;	@�;
0@�@@�0U;[iI"PF_ISDN;TI"Socket::PF_ISDN;T;0o;;[o;;[I"(Integrated Services Digital Network;T@;	@�;
0@�@@�0U;[iI"AF_NATM;TI"Socket::AF_NATM;T;0o;;[o;;[I"Native ATM access;T@;	@�;
0@�@@�0U;[iI"PF_NATM;TI"Socket::PF_NATM;T;0o;;[o;;[I"Native ATM access;T@;	@�;
0@�@@�0U;[iI"AF_SYSTEM;TI"Socket::AF_SYSTEM;T;0o;;[;	@�;
0@�@@�0U;[iI"PF_SYSTEM;TI"Socket::PF_SYSTEM;T;0o;;[;	@�;
0@�@@�0U;[iI"AF_NETBIOS;TI"Socket::AF_NETBIOS;T;0o;;[o;;[I"NetBIOS;T@;	@�;
0@�@@�0U;[iI"PF_NETBIOS;TI"Socket::PF_NETBIOS;T;0o;;[o;;[I"NetBIOS;T@;	@�;
0@�@@�0U;[iI"AF_PPP;TI"Socket::AF_PPP;T;0o;;[o;;[I"Point-to-Point Protocol;T@;	@�;
0@�@@�0U;[iI"PF_PPP;TI"Socket::PF_PPP;T;0o;;[o;;[I"Point-to-Point Protocol;T@;	@�;
0@�@@�0U;[iI"AF_ATM;TI"Socket::AF_ATM;T;0o;;[o;;[I"Asynchronous Transfer Mode;T@;	@�;
0@�@@�0U;[iI"PF_ATM;TI"Socket::PF_ATM;T;0o;;[o;;[I"Asynchronous Transfer Mode;T@;	@�;
0@�@@�0U;[iI"AF_NETGRAPH;TI"Socket::AF_NETGRAPH;T;0o;;[o;;[I"Netgraph sockets;T@;	@�;
0@�@@�0U;[iI"PF_NETGRAPH;TI"Socket::PF_NETGRAPH;T;0o;;[o;;[I"Netgraph sockets;T@;	@�;
0@�@@�0U;[iI"AF_MAX;TI"Socket::AF_MAX;T;0o;;[o;;[I"-Maximum address family for this platform;T@;	@�;
0@�@@�0U;[iI"PF_MAX;TI"Socket::PF_MAX;T;0o;;[o;;[I"-Maximum address family for this platform;T@;	@�;
0@�@@�0U;[iI"AF_PACKET;TI"Socket::AF_PACKET;T;0o;;[o;;[I"Direct link-layer access;T@;	@�;
0@�@@�0U;[iI"PF_PACKET;TI"Socket::PF_PACKET;T;0o;;[o;;[I"Direct link-layer access;T@;	@�;
0@�@@�0U;[iI"AF_E164;TI"Socket::AF_E164;T;0o;;[o;;[I"'CCITT (ITU-T) E.164 recommendation;T@;	@�;
0@�@@�0U;[iI"PF_XTP;TI"Socket::PF_XTP;T;0o;;[o;;[I"eXpress Transfer Protocol;T@;	@�;
0@�@@�0U;[iI"PF_RTIP;TI"Socket::PF_RTIP;T;0o;;[;	@�;
0@�@@�0U;[iI"PF_PIP;TI"Socket::PF_PIP;T;0o;;[;	@�;
0@�@@�0U;[iI"PF_KEY;TI"Socket::PF_KEY;T;0o;;[;	@�;
0@�@@�0U;[iI"MSG_OOB;TI"Socket::MSG_OOB;T;0o;;[o;;[I"Process out-of-band data;T@;	@�;
0@�@@�0U;[iI"
MSG_PEEK;TI"Socket::MSG_PEEK;T;0o;;[o;;[I"Peek at incoming message;T@;	@�;
0@�@@�0U;[iI"MSG_DONTROUTE;TI"Socket::MSG_DONTROUTE;T;0o;;[o;;[I"*Send without using the routing tables;T@;	@�;
0@�@@�0U;[iI"MSG_EOR;TI"Socket::MSG_EOR;T;0o;;[o;;[I"Data completes record;T@;	@�;
0@�@@�0U;[iI"MSG_TRUNC;TI"Socket::MSG_TRUNC;T;0o;;[o;;[I"#Data discarded before delivery;T@;	@�;
0@�@@�0U;[iI"MSG_CTRUNC;TI"Socket::MSG_CTRUNC;T;0o;;[o;;[I"&Control data lost before delivery;T@;	@�;
0@�@@�0U;[iI"MSG_WAITALL;TI"Socket::MSG_WAITALL;T;0o;;[o;;[I"#Wait for full request or error;T@;	@�;
0@�@@�0U;[iI"MSG_DONTWAIT;TI"Socket::MSG_DONTWAIT;T;0o;;[o;;[I"(This message should be non-blocking;T@;	@�;
0@�@@�0U;[iI"MSG_EOF;TI"Socket::MSG_EOF;T;0o;;[o;;[I"Data completes connection;T@;	@�;
0@�@@�0U;[iI"MSG_FLUSH;TI"Socket::MSG_FLUSH;T;0o;;[o;;[I"0Start of a hold sequence.  Dumps to so_temp;T@;	@�;
0@�@@�0U;[iI"
MSG_HOLD;TI"Socket::MSG_HOLD;T;0o;;[o;;[I"Hold fragment in so_temp;T@;	@�;
0@�@@�0U;[iI"
MSG_SEND;TI"Socket::MSG_SEND;T;0o;;[o;;[I"Send the packet in so_temp;T@;	@�;
0@�@@�0U;[iI"MSG_HAVEMORE;TI"Socket::MSG_HAVEMORE;T;0o;;[o;;[I"Data ready to be read;T@;	@�;
0@�@@�0U;[iI"MSG_RCVMORE;TI"Socket::MSG_RCVMORE;T;0o;;[o;;[I"'Data remains in the current packet;T@;	@�;
0@�@@�0U;[iI"MSG_COMPAT;TI"Socket::MSG_COMPAT;T;0o;;[o;;[I"End of record;T@;	@�;
0@�@@�0U;[iI"MSG_PROXY;TI"Socket::MSG_PROXY;T;0o;;[o;;[I"Wait for full request;T@;	@�;
0@�@@�0U;[iI"MSG_FIN;TI"Socket::MSG_FIN;T;0o;;[;	@�;
0@�@@�0U;[iI"MSG_SYN;TI"Socket::MSG_SYN;T;0o;;[;	@�;
0@�@@�0U;[iI"MSG_CONFIRM;TI"Socket::MSG_CONFIRM;T;0o;;[o;;[I"Confirm path validity;T@;	@�;
0@�@@�0U;[iI"MSG_RST;TI"Socket::MSG_RST;T;0o;;[;	@�;
0@�@@�0U;[iI"MSG_ERRQUEUE;TI"Socket::MSG_ERRQUEUE;T;0o;;[o;;[I"#Fetch message from error queue;T@;	@�;
0@�@@�0U;[iI"MSG_NOSIGNAL;TI"Socket::MSG_NOSIGNAL;T;0o;;[o;;[I"Do not generate SIGPIPE;T@;	@�;
0@�@@�0U;[iI"
MSG_MORE;TI"Socket::MSG_MORE;T;0o;;[o;;[I"Sender will send more;T@;	@�;
0@�@@�0U;[iI"MSG_FASTOPEN;TI"Socket::MSG_FASTOPEN;T;0o;;[o;;[I")Reduce step of the handshake process;T@;	@�;
0@�@@�0U;[iI"SOL_SOCKET;TI"Socket::SOL_SOCKET;T;0o;;[o;;[I"Socket-level options;T@;	@�;
0@�@@�0U;[iI"SOL_IP;TI"Socket::SOL_IP;T;0o;;[o;;[I"IP socket options;T@;	@�;
0@�@@�0U;[iI"SOL_IPX;TI"Socket::SOL_IPX;T;0o;;[o;;[I"IPX socket options;T@;	@�;
0@�@@�0U;[iI"
SOL_AX25;TI"Socket::SOL_AX25;T;0o;;[o;;[I"AX.25 socket options;T@;	@�;
0@�@@�0U;[iI"SOL_ATALK;TI"Socket::SOL_ATALK;T;0o;;[o;;[I"AppleTalk socket options;T@;	@�;
0@�@@�0U;[iI"SOL_TCP;TI"Socket::SOL_TCP;T;0o;;[o;;[I"TCP socket options;T@;	@�;
0@�@@�0U;[iI"SOL_UDP;TI"Socket::SOL_UDP;T;0o;;[o;;[I"UDP socket options;T@;	@�;
0@�@@�0U;[iI"IPPROTO_IP;TI"Socket::IPPROTO_IP;T;0o;;[o;;[I"Dummy protocol for IP;T@;	@�;
0@�@@�0U;[iI"IPPROTO_ICMP;TI"Socket::IPPROTO_ICMP;T;0o;;[o;;[I"Control message protocol;T@;	@�;
0@�@@�0U;[iI"IPPROTO_IGMP;TI"Socket::IPPROTO_IGMP;T;0o;;[o;;[I"Group Management Protocol;T@;	@�;
0@�@@�0U;[iI"IPPROTO_GGP;TI"Socket::IPPROTO_GGP;T;0o;;[o;;[I" Gateway to Gateway Protocol;T@;	@�;
0@�@@�0U;[iI"IPPROTO_TCP;TI"Socket::IPPROTO_TCP;T;0o;;[o;;[I"TCP;T@;	@�;
0@�@@�0U;[iI"IPPROTO_EGP;TI"Socket::IPPROTO_EGP;T;0o;;[o;;[I"Exterior Gateway Protocol;T@;	@�;
0@�@@�0U;[iI"IPPROTO_PUP;TI"Socket::IPPROTO_PUP;T;0o;;[o;;[I"#PARC Universal Packet protocol;T@;	@�;
0@�@@�0U;[iI"IPPROTO_UDP;TI"Socket::IPPROTO_UDP;T;0o;;[o;;[I"UDP;T@;	@�;
0@�@@�0U;[iI"IPPROTO_IDP;TI"Socket::IPPROTO_IDP;T;0o;;[o;;[I"XNS IDP;T@;	@�;
0@�@@�0U;[iI"IPPROTO_HELLO;TI"Socket::IPPROTO_HELLO;T;0o;;[o;;[I""hello" routing protocol;T@;	@�;
0@�@@�0U;[iI"IPPROTO_ND;TI"Socket::IPPROTO_ND;T;0o;;[o;;[I"Sun net disk protocol;T@;	@�;
0@�@@�0U;[iI"IPPROTO_TP;TI"Socket::IPPROTO_TP;T;0o;;[o;;[I"#ISO transport protocol class 4;T@;	@�;
0@�@@�0U;[iI"IPPROTO_XTP;TI"Socket::IPPROTO_XTP;T;0o;;[o;;[I"Xpress Transport Protocol;T@;	@�;
0@�@@�0U;[iI"IPPROTO_EON;TI"Socket::IPPROTO_EON;T;0o;;[o;;[I"
ISO cnlp;T@;	@�;
0@�@@�0U;[iI"IPPROTO_BIP;TI"Socket::IPPROTO_BIP;T;0o;;[;	@�;
0@�@@�0U;[iI"IPPROTO_AH;TI"Socket::IPPROTO_AH;T;0o;;[o;;[I"IP6 auth header;T@;	@�;
0@�@@�0U;[iI"IPPROTO_DSTOPTS;TI"Socket::IPPROTO_DSTOPTS;T;0o;;[o;;[I"IP6 destination option;T@;	@�;
0@�@@�0U;[iI"IPPROTO_ESP;TI"Socket::IPPROTO_ESP;T;0o;;[o;;[I"&IP6 Encapsulated Security Payload;T@;	@�;
0@�@@�0U;[iI"IPPROTO_FRAGMENT;TI"Socket::IPPROTO_FRAGMENT;T;0o;;[o;;[I"IP6 fragmentation header;T@;	@�;
0@�@@�0U;[iI"IPPROTO_HOPOPTS;TI"Socket::IPPROTO_HOPOPTS;T;0o;;[o;;[I"IP6 hop-by-hop options;T@;	@�;
0@�@@�0U;[iI"IPPROTO_ICMPV6;TI"Socket::IPPROTO_ICMPV6;T;0o;;[o;;[I"
ICMP6;T@;	@�;
0@�@@�0U;[iI"IPPROTO_IPV6;TI"Socket::IPPROTO_IPV6;T;0o;;[o;;[I"IP6 header;T@;	@�;
0@�@@�0U;[iI"IPPROTO_NONE;TI"Socket::IPPROTO_NONE;T;0o;;[o;;[I"IP6 no next header;T@;	@�;
0@�@@�0U;[iI"IPPROTO_ROUTING;TI"Socket::IPPROTO_ROUTING;T;0o;;[o;;[I"IP6 routing header;T@;	@�;
0@�@@�0U;[iI"IPPROTO_RAW;TI"Socket::IPPROTO_RAW;T;0o;;[o;;[I"Raw IP packet;T@;	@�;
0@�@@�0U;[iI"IPPROTO_MAX;TI"Socket::IPPROTO_MAX;T;0o;;[o;;[I"Maximum IPPROTO constant;T@;	@�;
0@�@@�0U;[iI"IPPORT_RESERVED;TI"Socket::IPPORT_RESERVED;T;0o;;[o;;[I"0Default minimum address for bind or connect;T@;	@�;
0@�@@�0U;[iI"IPPORT_USERRESERVED;TI" Socket::IPPORT_USERRESERVED;T;0o;;[o;;[I"0Default maximum address for bind or connect;T@;	@�;
0@�@@�0U;[iI"INADDR_ANY;TI"Socket::INADDR_ANY;T;0o;;[o;;[I"lA socket bound to INADDR_ANY receives packets from all interfaces and sends from the default IP address;T@;	@�;
0@�@@�0U;[iI"INADDR_BROADCAST;TI"Socket::INADDR_BROADCAST;T;0o;;[o;;[I""The network broadcast address;T@;	@�;
0@�@@�0U;[iI"INADDR_LOOPBACK;TI"Socket::INADDR_LOOPBACK;T;0o;;[o;;[I"The loopback address;T@;	@�;
0@�@@�0U;[iI"INADDR_UNSPEC_GROUP;TI" Socket::INADDR_UNSPEC_GROUP;T;0o;;[o;;[I"!The reserved multicast group;T@;	@�;
0@�@@�0U;[iI"INADDR_ALLHOSTS_GROUP;TI""Socket::INADDR_ALLHOSTS_GROUP;T;0o;;[o;;[I"3Multicast group for all systems on this subset;T@;	@�;
0@�@@�0U;[iI"INADDR_MAX_LOCAL_GROUP;TI"#Socket::INADDR_MAX_LOCAL_GROUP;T;0o;;[o;;[I"+The last local network multicast group;T@;	@�;
0@�@@�0U;[iI"INADDR_NONE;TI"Socket::INADDR_NONE;T;0o;;[o;;[I"/A bitmask for matching no valid IP address;T@;	@�;
0@�@@�0U;[iI"IP_OPTIONS;TI"Socket::IP_OPTIONS;T;0o;;[o;;[I")IP options to be included in packets;T@;	@�;
0@�@@�0U;[iI"IP_HDRINCL;TI"Socket::IP_HDRINCL;T;0o;;[o;;[I"!Header is included with data;T@;	@�;
0@�@@�0U;[iI"IP_TOS;TI"Socket::IP_TOS;T;0o;;[o;;[I"IP type-of-service;T@;	@�;
0@�@@�0U;[iI"IP_TTL;TI"Socket::IP_TTL;T;0o;;[o;;[I"IP time-to-live;T@;	@�;
0@�@@�0U;[iI"IP_RECVOPTS;TI"Socket::IP_RECVOPTS;T;0o;;[o;;[I")Receive all IP options with datagram;T@;	@�;
0@�@@�0U;[iI"IP_RECVRETOPTS;TI"Socket::IP_RECVRETOPTS;T;0o;;[o;;[I"(Receive all IP options for response;T@;	@�;
0@�@@�0U;[iI"IP_RECVDSTADDR;TI"Socket::IP_RECVDSTADDR;T;0o;;[o;;[I"1Receive IP destination address with datagram;T@;	@�;
0@�@@�0U;[iI"IP_RETOPTS;TI"Socket::IP_RETOPTS;T;0o;;[o;;[I"+IP options to be included in datagrams;T@;	@�;
0@�@@�0U;[iI"IP_MINTTL;TI"Socket::IP_MINTTL;T;0o;;[o;;[I"-Minimum TTL allowed for received packets;T@;	@�;
0@�@@�0U;[iI"IP_DONTFRAG;TI"Socket::IP_DONTFRAG;T;0o;;[o;;[I"Don't fragment packets;T@;	@�;
0@�@@�0U;[iI"IP_SENDSRCADDR;TI"Socket::IP_SENDSRCADDR;T;0o;;[o;;[I".Source address for outgoing UDP datagrams;T@;	@�;
0@�@@�0U;[iI"IP_ONESBCAST;TI"Socket::IP_ONESBCAST;T;0o;;[o;;[I"PForce outgoing broadcast datagrams to have the undirected broadcast address;T@;	@�;
0@�@@�0U;[iI"IP_RECVTTL;TI"Socket::IP_RECVTTL;T;0o;;[o;;[I""Receive IP TTL with datagrams;T@;	@�;
0@�@@�0U;[iI"IP_RECVIF;TI"Socket::IP_RECVIF;T;0o;;[o;;[I"1Receive interface information with datagrams;T@;	@�;
0@�@@�0U;[iI"IP_RECVSLLA;TI"Socket::IP_RECVSLLA;T;0o;;[o;;[I".Receive link-layer address with datagrams;T@;	@�;
0@�@@�0U;[iI"IP_PORTRANGE;TI"Socket::IP_PORTRANGE;T;0o;;[o;;[I"ASet the port range for sockets with unspecified port numbers;T@;	@�;
0@�@@�0U;[iI"IP_MULTICAST_IF;TI"Socket::IP_MULTICAST_IF;T;0o;;[o;;[I"IP multicast interface;T@;	@�;
0@�@@�0U;[iI"IP_MULTICAST_TTL;TI"Socket::IP_MULTICAST_TTL;T;0o;;[o;;[I"IP multicast TTL;T@;	@�;
0@�@@�0U;[iI"IP_MULTICAST_LOOP;TI"Socket::IP_MULTICAST_LOOP;T;0o;;[o;;[I"IP multicast loopback;T@;	@�;
0@�@@�0U;[iI"IP_ADD_MEMBERSHIP;TI"Socket::IP_ADD_MEMBERSHIP;T;0o;;[o;;[I"%Add a multicast group membership;T@;	@�;
0@�@@�0U;[iI"IP_DROP_MEMBERSHIP;TI"Socket::IP_DROP_MEMBERSHIP;T;0o;;[o;;[I"&Drop a multicast group membership;T@;	@�;
0@�@@�0U;[iI"IP_DEFAULT_MULTICAST_TTL;TI"%Socket::IP_DEFAULT_MULTICAST_TTL;T;0o;;[o;;[I"Default multicast TTL;T@;	@�;
0@�@@�0U;[iI"IP_DEFAULT_MULTICAST_LOOP;TI"&Socket::IP_DEFAULT_MULTICAST_LOOP;T;0o;;[o;;[I"Default multicast loopback;T@;	@�;
0@�@@�0U;[iI"IP_MAX_MEMBERSHIPS;TI"Socket::IP_MAX_MEMBERSHIPS;T;0o;;[o;;[I"6Maximum number multicast groups a socket can join;T@;	@�;
0@�@@�0U;[iI"IP_ROUTER_ALERT;TI"Socket::IP_ROUTER_ALERT;T;0o;;[o;;[I"PNotify transit routers to more closely examine the contents of an IP packet;T@;	@�;
0@�@@�0U;[iI"IP_PKTINFO;TI"Socket::IP_PKTINFO;T;0o;;[o;;[I".Receive packet information with datagrams;T@;	@�;
0@�@@�0U;[iI"IP_PKTOPTIONS;TI"Socket::IP_PKTOPTIONS;T;0o;;[o;;[I"*Receive packet options with datagrams;T@;	@�;
0@�@@�0U;[iI"IP_MTU_DISCOVER;TI"Socket::IP_MTU_DISCOVER;T;0o;;[o;;[I"Path MTU discovery;T@;	@�;
0@�@@�0U;[iI"IP_RECVERR;TI"Socket::IP_RECVERR;T;0o;;[o;;[I"3Enable extended reliable error message passing;T@;	@�;
0@�@@�0U;[iI"IP_RECVTOS;TI"Socket::IP_RECVTOS;T;0o;;[o;;[I"&Receive TOS with incoming packets;T@;	@�;
0@�@@�0U;[iI"IP_MTU;TI"Socket::IP_MTU;T;0o;;[o;;[I"0The Maximum Transmission Unit of the socket;T@;	@�;
0@�@@�0U;[iI"IP_FREEBIND;TI"Socket::IP_FREEBIND;T;0o;;[o;;[I".Allow binding to nonexistent IP addresses;T@;	@�;
0@�@@�0U;[iI"IP_IPSEC_POLICY;TI"Socket::IP_IPSEC_POLICY;T;0o;;[o;;[I"IPsec security policy;T@;	@�;
0@�@@�0U;[iI"IP_XFRM_POLICY;TI"Socket::IP_XFRM_POLICY;T;0o;;[;	@�;
0@�@@�0U;[iI"IP_PASSSEC;TI"Socket::IP_PASSSEC;T;0o;;[o;;[I",Retrieve security context with datagram;T@;	@�;
0@�@@�0U;[iI"IP_TRANSPARENT;TI"Socket::IP_TRANSPARENT;T;0o;;[o;;[I"Transparent proxy;T@;	@�;
0@�@@�0U;[iI"IP_PMTUDISC_DONT;TI"Socket::IP_PMTUDISC_DONT;T;0o;;[o;;[I"Never send DF frames;T@;	@�;
0@�@@�0U;[iI"IP_PMTUDISC_WANT;TI"Socket::IP_PMTUDISC_WANT;T;0o;;[o;;[I"Use per-route hints;T@;	@�;
0@�@@�0U;[iI"IP_PMTUDISC_DO;TI"Socket::IP_PMTUDISC_DO;T;0o;;[o;;[I"Always send DF frames;T@;	@�;
0@�@@�0U;[iI"IP_UNBLOCK_SOURCE;TI"Socket::IP_UNBLOCK_SOURCE;T;0o;;[o;;[I">Unblock IPv4 multicast packets with a give source address;T@;	@�;
0@�@@�0U;[iI"IP_BLOCK_SOURCE;TI"Socket::IP_BLOCK_SOURCE;T;0o;;[o;;[I"<Block IPv4 multicast packets with a give source address;T@;	@�;
0@�@@�0U;[iI"IP_ADD_SOURCE_MEMBERSHIP;TI"%Socket::IP_ADD_SOURCE_MEMBERSHIP;T;0o;;[o;;[I"%Add a multicast group membership;T@;	@�;
0@�@@�0U;[iI"IP_DROP_SOURCE_MEMBERSHIP;TI"&Socket::IP_DROP_SOURCE_MEMBERSHIP;T;0o;;[o;;[I"&Drop a multicast group membership;T@;	@�;
0@�@@�0U;[iI"IP_MSFILTER;TI"Socket::IP_MSFILTER;T;0o;;[o;;[I"Multicast source filtering;T@;	@�;
0@�@@�0U;[iI"MCAST_JOIN_GROUP;TI"Socket::MCAST_JOIN_GROUP;T;0o;;[o;;[I"Join a multicast group;T@;	@�;
0@�@@�0U;[iI"MCAST_BLOCK_SOURCE;TI"Socket::MCAST_BLOCK_SOURCE;T;0o;;[o;;[I"-Block multicast packets from this source;T@;	@�;
0@�@@�0U;[iI"MCAST_UNBLOCK_SOURCE;TI"!Socket::MCAST_UNBLOCK_SOURCE;T;0o;;[o;;[I"/Unblock multicast packets from this source;T@;	@�;
0@�@@�0U;[iI"MCAST_LEAVE_GROUP;TI"Socket::MCAST_LEAVE_GROUP;T;0o;;[o;;[I"Leave a multicast group;T@;	@�;
0@�@@�0U;[iI"MCAST_JOIN_SOURCE_GROUP;TI"$Socket::MCAST_JOIN_SOURCE_GROUP;T;0o;;[o;;[I""Join a multicast source group;T@;	@�;
0@�@@�0U;[iI"MCAST_LEAVE_SOURCE_GROUP;TI"%Socket::MCAST_LEAVE_SOURCE_GROUP;T;0o;;[o;;[I"#Leave a multicast source group;T@;	@�;
0@�@@�0U;[iI"MCAST_MSFILTER;TI"Socket::MCAST_MSFILTER;T;0o;;[o;;[I"Multicast source filtering;T@;	@�;
0@�@@�0U;[iI"MCAST_EXCLUDE;TI"Socket::MCAST_EXCLUDE;T;0o;;[o;;[I"&Exclusive multicast source filter;T@;	@�;
0@�@@�0U;[iI"MCAST_INCLUDE;TI"Socket::MCAST_INCLUDE;T;0o;;[o;;[I"&Inclusive multicast source filter;T@;	@�;
0@�@@�0U;[iI"
SO_DEBUG;TI"Socket::SO_DEBUG;T;0o;;[o;;[I"Debug info recording;T@;	@�;
0@�@@�0U;[iI"SO_REUSEADDR;TI"Socket::SO_REUSEADDR;T;0o;;[o;;[I"Allow local address reuse;T@;	@�;
0@�@@�0U;[iI"SO_REUSEPORT;TI"Socket::SO_REUSEPORT;T;0o;;[o;;[I"'Allow local address and port reuse;T@;	@�;
0@�@@�0U;[iI"SO_TYPE;TI"Socket::SO_TYPE;T;0o;;[o;;[I"Get the socket type;T@;	@�;
0@�@@�0U;[iI"
SO_ERROR;TI"Socket::SO_ERROR;T;0o;;[o;;[I"#Get and clear the error status;T@;	@�;
0@�@@�0U;[iI"SO_DONTROUTE;TI"Socket::SO_DONTROUTE;T;0o;;[o;;[I"Use interface addresses;T@;	@�;
0@�@@�0U;[iI"SO_BROADCAST;TI"Socket::SO_BROADCAST;T;0o;;[o;;[I")Permit sending of broadcast messages;T@;	@�;
0@�@@�0U;[iI"SO_SNDBUF;TI"Socket::SO_SNDBUF;T;0o;;[o;;[I"Send buffer size;T@;	@�;
0@�@@�0U;[iI"SO_RCVBUF;TI"Socket::SO_RCVBUF;T;0o;;[o;;[I"Receive buffer size;T@;	@�;
0@�@@�0U;[iI"SO_SNDBUFFORCE;TI"Socket::SO_SNDBUFFORCE;T;0o;;[o;;[I";Send buffer size without wmem_max limit (Linux 2.6.14);T@;	@�;
0@�@@�0U;[iI"SO_RCVBUFFORCE;TI"Socket::SO_RCVBUFFORCE;T;0o;;[o;;[I">Receive buffer size without rmem_max limit (Linux 2.6.14);T@;	@�;
0@�@@�0U;[iI"SO_KEEPALIVE;TI"Socket::SO_KEEPALIVE;T;0o;;[o;;[I"Keep connections alive;T@;	@�;
0@�@@�0U;[iI"SO_OOBINLINE;TI"Socket::SO_OOBINLINE;T;0o;;[o;;[I",Leave received out-of-band data in-line;T@;	@�;
0@�@@�0U;[iI"SO_NO_CHECK;TI"Socket::SO_NO_CHECK;T;0o;;[o;;[I"Disable checksums;T@;	@�;
0@�@@�0U;[iI"SO_PRIORITY;TI"Socket::SO_PRIORITY;T;0o;;[o;;[I"AThe protocol-defined priority for all packets on this socket;T@;	@�;
0@�@@�0U;[iI"SO_LINGER;TI"Socket::SO_LINGER;T;0o;;[o;;[I"'Linger on close if data is present;T@;	@�;
0@�@@�0U;[iI"SO_PASSCRED;TI"Socket::SO_PASSCRED;T;0o;;[o;;[I"%Receive SCM_CREDENTIALS messages;T@;	@�;
0@�@@�0U;[iI"SO_PEERCRED;TI"Socket::SO_PEERCRED;T;0o;;[o;;[I"DThe credentials of the foreign process connected to this socket;T@;	@�;
0@�@@�0U;[iI"SO_RCVLOWAT;TI"Socket::SO_RCVLOWAT;T;0o;;[o;;[I"Receive low-water mark;T@;	@�;
0@�@@�0U;[iI"SO_SNDLOWAT;TI"Socket::SO_SNDLOWAT;T;0o;;[o;;[I"Send low-water mark;T@;	@�;
0@�@@�0U;[iI"SO_RCVTIMEO;TI"Socket::SO_RCVTIMEO;T;0o;;[o;;[I"Receive timeout;T@;	@�;
0@�@@�0U;[iI"SO_SNDTIMEO;TI"Socket::SO_SNDTIMEO;T;0o;;[o;;[I"Send timeout;T@;	@�;
0@�@@�0U;[iI"SO_ACCEPTCONN;TI"Socket::SO_ACCEPTCONN;T;0o;;[o;;[I")Socket has had listen() called on it;T@;	@�;
0@�@@�0U;[iI"SO_USELOOPBACK;TI"Socket::SO_USELOOPBACK;T;0o;;[o;;[I""Bypass hardware when possible;T@;	@�;
0@�@@�0U;[iI"SO_ACCEPTFILTER;TI"Socket::SO_ACCEPTFILTER;T;0o;;[o;;[I"There is an accept filter;T@;	@�;
0@�@@�0U;[iI"SO_DONTTRUNC;TI"Socket::SO_DONTTRUNC;T;0o;;[o;;[I"Retain unread data;T@;	@�;
0@�@@�0U;[iI"SO_WANTMORE;TI"Socket::SO_WANTMORE;T;0o;;[o;;[I"(Give a hint when more data is ready;T@;	@�;
0@�@@�0U;[iI"SO_WANTOOBFLAG;TI"Socket::SO_WANTOOBFLAG;T;0o;;[o;;[I".OOB data is wanted in MSG_FLAG on receive;T@;	@�;
0@�@@�0U;[iI"
SO_NREAD;TI"Socket::SO_NREAD;T;0o;;[o;;[I" Get first packet byte count;T@;	@�;
0@�@@�0U;[iI"SO_NKE;TI"Socket::SO_NKE;T;0o;;[o;;[I"2Install socket-level Network Kernel Extension;T@;	@�;
0@�@@�0U;[iI"SO_NOSIGPIPE;TI"Socket::SO_NOSIGPIPE;T;0o;;[o;;[I"Don't SIGPIPE on EPIPE;T@;	@�;
0@�@@�0U;[iI"SO_SECURITY_AUTHENTICATION;TI"'Socket::SO_SECURITY_AUTHENTICATION;T;0o;;[;	@�;
0@�@@�0U;[iI"%SO_SECURITY_ENCRYPTION_TRANSPORT;TI"-Socket::SO_SECURITY_ENCRYPTION_TRANSPORT;T;0o;;[;	@�;
0@�@@�0U;[iI"#SO_SECURITY_ENCRYPTION_NETWORK;TI"+Socket::SO_SECURITY_ENCRYPTION_NETWORK;T;0o;;[;	@�;
0@�@@�0U;[iI"SO_BINDTODEVICE;TI"Socket::SO_BINDTODEVICE;T;0o;;[o;;[I"/Only send packets from the given interface;T@;	@�;
0@�@@�0U;[iI"SO_ATTACH_FILTER;TI"Socket::SO_ATTACH_FILTER;T;0o;;[o;;[I"Attach an accept filter;T@;	@�;
0@�@@�0U;[iI"SO_DETACH_FILTER;TI"Socket::SO_DETACH_FILTER;T;0o;;[o;;[I"Detach an accept filter;T@;	@�;
0@�@@�0U;[iI"SO_GET_FILTER;TI"Socket::SO_GET_FILTER;T;0o;;[o;;[I"6Obtain filter set by SO_ATTACH_FILTER (Linux 3.8);T@;	@�;
0@�@@�0U;[iI"SO_PEERNAME;TI"Socket::SO_PEERNAME;T;0o;;[o;;[I" Name of the connecting user;T@;	@�;
0@�@@�0U;[iI"SO_TIMESTAMP;TI"Socket::SO_TIMESTAMP;T;0o;;[o;;[I"/Receive timestamp with datagrams (timeval);T@;	@�;
0@�@@�0U;[iI"SO_TIMESTAMPNS;TI"Socket::SO_TIMESTAMPNS;T;0o;;[o;;[I";Receive nanosecond timestamp with datagrams (timespec);T@;	@�;
0@�@@�0U;[iI"SO_BINTIME;TI"Socket::SO_BINTIME;T;0o;;[o;;[I"/Receive timestamp with datagrams (bintime);T@;	@�;
0@�@@�0U;[iI"SO_RECVUCRED;TI"Socket::SO_RECVUCRED;T;0o;;[o;;[I"+Receive user credentials with datagram;T@;	@�;
0@�@@�0U;[iI"SO_MAC_EXEMPT;TI"Socket::SO_MAC_EXEMPT;T;0o;;[o;;[I";Mandatory Access Control exemption for unlabeled peers;T@;	@�;
0@�@@�0U;[iI"SO_ALLZONES;TI"Socket::SO_ALLZONES;T;0o;;[o;;[I"Bypass zone boundaries;T@;	@�;
0@�@@�0U;[iI"SO_PEERSEC;TI"Socket::SO_PEERSEC;T;0o;;[o;;[I"2Obtain the security credentials (Linux 2.6.2);T@;	@�;
0@�@@�0U;[iI"SO_PASSSEC;TI"Socket::SO_PASSSEC;T;0o;;[o;;[I"3Toggle security context passing (Linux 2.6.18);T@;	@�;
0@�@@�0U;[iI"SO_MARK;TI"Socket::SO_MARK;T;0o;;[o;;[I"7Set the mark for mark-based routing (Linux 2.6.25);T@;	@�;
0@�@@�0U;[iI"SO_TIMESTAMPING;TI"Socket::SO_TIMESTAMPING;T;0o;;[o;;[I"BTime stamping of incoming and outgoing packets (Linux 2.6.30);T@;	@�;
0@�@@�0U;[iI"SO_PROTOCOL;TI"Socket::SO_PROTOCOL;T;0o;;[o;;[I"/Protocol given for socket() (Linux 2.6.32);T@;	@�;
0@�@@�0U;[iI"SO_DOMAIN;TI"Socket::SO_DOMAIN;T;0o;;[o;;[I"-Domain given for socket() (Linux 2.6.32);T@;	@�;
0@�@@�0U;[iI"SO_RXQ_OVFL;TI"Socket::SO_RXQ_OVFL;T;0o;;[o;;[I"=Toggle cmsg for number of packets dropped (Linux 2.6.33);T@;	@�;
0@�@@�0U;[iI"SO_WIFI_STATUS;TI"Socket::SO_WIFI_STATUS;T;0o;;[o;;[I",Toggle cmsg for wifi status (Linux 3.3);T@;	@�;
0@�@@�0U;[iI"SO_PEEK_OFF;TI"Socket::SO_PEEK_OFF;T;0o;;[o;;[I"$Set the peek offset (Linux 3.4);T@;	@�;
0@�@@�0U;[iI"
SO_NOFCS;TI"Socket::SO_NOFCS;T;0o;;[o;;[I"&Set netns of a socket (Linux 3.4);T@;	@�;
0@�@@�0U;[iI"SO_LOCK_FILTER;TI"Socket::SO_LOCK_FILTER;T;0o;;[o;;[I"5Lock the filter attached to a socket (Linux 3.9);T@;	@�;
0@�@@�0U;[iI"SO_SELECT_ERR_QUEUE;TI" Socket::SO_SELECT_ERR_QUEUE;T;0o;;[o;;[I"GMake select() detect socket error queue with errorfds (Linux 3.10);T@;	@�;
0@�@@�0U;[iI"SO_BUSY_POLL;TI"Socket::SO_BUSY_POLL;T;0o;;[o;;[I"KSet the threshold in microseconds for low latency polling (Linux 3.11);T@;	@�;
0@�@@�0U;[iI"SO_MAX_PACING_RATE;TI"Socket::SO_MAX_PACING_RATE;T;0o;;[o;;[I"NCap the rate computed by transport layer. [bytes per second] (Linux 3.13);T@;	@�;
0@�@@�0U;[iI"SO_BPF_EXTENSIONS;TI"Socket::SO_BPF_EXTENSIONS;T;0o;;[o;;[I"0Query supported BPF extensions (Linux 3.14);T@;	@�;
0@�@@�0U;[iI"SOPRI_INTERACTIVE;TI"Socket::SOPRI_INTERACTIVE;T;0o;;[o;;[I" Interactive socket priority;T@;	@�;
0@�@@�0U;[iI"SOPRI_NORMAL;TI"Socket::SOPRI_NORMAL;T;0o;;[o;;[I"Normal socket priority;T@;	@�;
0@�@@�0U;[iI"SOPRI_BACKGROUND;TI"Socket::SOPRI_BACKGROUND;T;0o;;[o;;[I"Background socket priority;T@;	@�;
0@�@@�0U;[iI"
IPX_TYPE;TI"Socket::IPX_TYPE;T;0o;;[;	@�;
0@�@@�0U;[iI"TCP_NODELAY;TI"Socket::TCP_NODELAY;T;0o;;[o;;[I",Don't delay sending to coalesce packets;T@;	@�;
0@�@@�0U;[iI"TCP_MAXSEG;TI"Socket::TCP_MAXSEG;T;0o;;[o;;[I"Set maximum segment size;T@;	@�;
0@�@@�0U;[iI"
TCP_CORK;TI"Socket::TCP_CORK;T;0o;;[o;;[I"5Don't send partial frames (Linux 2.2, glibc 2.2);T@;	@�;
0@�@@�0U;[iI"TCP_DEFER_ACCEPT;TI"Socket::TCP_DEFER_ACCEPT;T;0o;;[o;;[I"ODon't notify a listening socket until data is ready (Linux 2.4, glibc 2.2);T@;	@�;
0@�@@�0U;[iI"
TCP_INFO;TI"Socket::TCP_INFO;T;0o;;[o;;[I"BRetrieve information about this socket (Linux 2.4, glibc 2.2);T@;	@�;
0@�@@�0U;[iI"TCP_KEEPCNT;TI"Socket::TCP_KEEPCNT;T;0o;;[o;;[I"cMaximum number of keepalive probes allowed before dropping a connection (Linux 2.4, glibc 2.2);T@;	@�;
0@�@@�0U;[iI"TCP_KEEPIDLE;TI"Socket::TCP_KEEPIDLE;T;0o;;[o;;[I"FIdle time before keepalive probes are sent (Linux 2.4, glibc 2.2);T@;	@�;
0@�@@�0U;[iI"TCP_KEEPINTVL;TI"Socket::TCP_KEEPINTVL;T;0o;;[o;;[I"9Time between keepalive probes (Linux 2.4, glibc 2.2);T@;	@�;
0@�@@�0U;[iI"TCP_LINGER2;TI"Socket::TCP_LINGER2;T;0o;;[o;;[I"BLifetime of orphaned FIN_WAIT2 sockets (Linux 2.4, glibc 2.2);T@;	@�;
0@�@@�0U;[iI"TCP_MD5SIG;TI"Socket::TCP_MD5SIG;T;0o;;[o;;[I"7Use MD5 digests (RFC2385, Linux 2.6.20, glibc 2.7);T@;	@�;
0@�@@�0U;[iI"TCP_NOOPT;TI"Socket::TCP_NOOPT;T;0o;;[o;;[I"Don't use TCP options;T@;	@�;
0@�@@�0U;[iI"TCP_NOPUSH;TI"Socket::TCP_NOPUSH;T;0o;;[o;;[I"'Don't push the last block of write;T@;	@�;
0@�@@�0U;[iI"TCP_QUICKACK;TI"Socket::TCP_QUICKACK;T;0o;;[o;;[I"2Enable quickack mode (Linux 2.4.4, glibc 2.3);T@;	@�;
0@�@@�0U;[iI"TCP_SYNCNT;TI"Socket::TCP_SYNCNT;T;0o;;[o;;[I"TNumber of SYN retransmits before a connection is dropped (Linux 2.4, glibc 2.2);T@;	@�;
0@�@@�0U;[iI"TCP_WINDOW_CLAMP;TI"Socket::TCP_WINDOW_CLAMP;T;0o;;[o;;[I"CClamp the size of the advertised window (Linux 2.4, glibc 2.2);T@;	@�;
0@�@@�0U;[iI"TCP_FASTOPEN;TI"Socket::TCP_FASTOPEN;T;0o;;[o;;[I"AReduce step of the handshake process (Linux 3.7, glibc 2.18);T@;	@�;
0@�@@�0U;[iI"TCP_CONGESTION;TI"Socket::TCP_CONGESTION;T;0o;;[o;;[I"?TCP congestion control algorithm (Linux 2.6.13, glibc 2.6);T@;	@�;
0@�@@�0U;[iI"TCP_COOKIE_TRANSACTIONS;TI"$Socket::TCP_COOKIE_TRANSACTIONS;T;0o;;[o;;[I"7TCP Cookie Transactions (Linux 2.6.33, glibc 2.18);T@;	@�;
0@�@@�0U;[iI"TCP_QUEUE_SEQ;TI"Socket::TCP_QUEUE_SEQ;T;0o;;[o;;[I"@Sequence of a queue for repair mode (Linux 3.5, glibc 2.18);T@;	@�;
0@�@@�0U;[iI"TCP_REPAIR;TI"Socket::TCP_REPAIR;T;0o;;[o;;[I"(Repair mode (Linux 3.5, glibc 2.18);T@;	@�;
0@�@@�0U;[iI"TCP_REPAIR_OPTIONS;TI"Socket::TCP_REPAIR_OPTIONS;T;0o;;[o;;[I"4Options for repair mode (Linux 3.5, glibc 2.18);T@;	@�;
0@�@@�0U;[iI"TCP_REPAIR_QUEUE;TI"Socket::TCP_REPAIR_QUEUE;T;0o;;[o;;[I"2Queue for repair mode (Linux 3.5, glibc 2.18);T@;	@�;
0@�@@�0U;[iI"TCP_THIN_DUPACK;TI"Socket::TCP_THIN_DUPACK;T;0o;;[o;;[I"TDuplicated acknowledgments handling for thin-streams (Linux 2.6.34, glibc 2.18);T@;	@�;
0@�@@�0U;[iI"TCP_THIN_LINEAR_TIMEOUTS;TI"%Socket::TCP_THIN_LINEAR_TIMEOUTS;T;0o;;[o;;[I"@Linear timeouts for thin-streams (Linux 2.6.34, glibc 2.18);T@;	@�;
0@�@@�0U;[iI"TCP_TIMESTAMP;TI"Socket::TCP_TIMESTAMP;T;0o;;[o;;[I"*TCP timestamp (Linux 3.9, glibc 2.18);T@;	@�;
0@�@@�0U;[iI"TCP_USER_TIMEOUT;TI"Socket::TCP_USER_TIMEOUT;T;0o;;[o;;[I"NMax timeout before a TCP connection is aborted (Linux 2.6.37, glibc 2.18);T@;	@�;
0@�@@�0U;[iI"
UDP_CORK;TI"Socket::UDP_CORK;T;0o;;[o;;[I"9Don't send partial frames (Linux 2.5.44, glibc 2.11);T@;	@�;
0@�@@�0U;[iI"EAI_ADDRFAMILY;TI"Socket::EAI_ADDRFAMILY;T;0o;;[o;;[I".Address family for hostname not supported;T@;	@�;
0@�@@�0U;[iI"EAI_AGAIN;TI"Socket::EAI_AGAIN;T;0o;;[o;;[I")Temporary failure in name resolution;T@;	@�;
0@�@@�0U;[iI"EAI_BADFLAGS;TI"Socket::EAI_BADFLAGS;T;0o;;[o;;[I"Invalid flags;T@;	@�;
0@�@@�0U;[iI"
EAI_FAIL;TI"Socket::EAI_FAIL;T;0o;;[o;;[I"/Non-recoverable failure in name resolution;T@;	@�;
0@�@@�0U;[iI"EAI_FAMILY;TI"Socket::EAI_FAMILY;T;0o;;[o;;[I"!Address family not supported;T@;	@�;
0@�@@�0U;[iI"EAI_MEMORY;TI"Socket::EAI_MEMORY;T;0o;;[o;;[I"Memory allocation failure;T@;	@�;
0@�@@�0U;[iI"EAI_NODATA;TI"Socket::EAI_NODATA;T;0o;;[o;;[I"(No address associated with hostname;T@;	@�;
0@�@@�0U;[iI"EAI_NONAME;TI"Socket::EAI_NONAME;T;0o;;[o;;[I"(Hostname nor servname, or not known;T@;	@�;
0@�@@�0U;[iI"EAI_OVERFLOW;TI"Socket::EAI_OVERFLOW;T;0o;;[o;;[I"Argument buffer overflow;T@;	@�;
0@�@@�0U;[iI"EAI_SERVICE;TI"Socket::EAI_SERVICE;T;0o;;[o;;[I"+Servname not supported for socket type;T@;	@�;
0@�@@�0U;[iI"EAI_SOCKTYPE;TI"Socket::EAI_SOCKTYPE;T;0o;;[o;;[I"Socket type not supported;T@;	@�;
0@�@@�0U;[iI"EAI_SYSTEM;TI"Socket::EAI_SYSTEM;T;0o;;[o;;[I"#System error returned in errno;T@;	@�;
0@�@@�0U;[iI"EAI_BADHINTS;TI"Socket::EAI_BADHINTS;T;0o;;[o;;[I"Invalid value for hints;T@;	@�;
0@�@@�0U;[iI"EAI_PROTOCOL;TI"Socket::EAI_PROTOCOL;T;0o;;[o;;[I"!Resolved protocol is unknown;T@;	@�;
0@�@@�0U;[iI"EAI_MAX;TI"Socket::EAI_MAX;T;0o;;[o;;[I"(Maximum error code from getaddrinfo;T@;	@�;
0@�@@�0U;[iI"AI_PASSIVE;TI"Socket::AI_PASSIVE;T;0o;;[o;;[I"#Get address to use with bind();T@;	@�;
0@�@@�0U;[iI"AI_CANONNAME;TI"Socket::AI_CANONNAME;T;0o;;[o;;[I"Fill in the canonical name;T@;	@�;
0@�@@�0U;[iI"AI_NUMERICHOST;TI"Socket::AI_NUMERICHOST;T;0o;;[o;;[I"!Prevent host name resolution;T@;	@�;
0@�@@�0U;[iI"AI_NUMERICSERV;TI"Socket::AI_NUMERICSERV;T;0o;;[o;;[I"$Prevent service name resolution;T@;	@�;
0@�@@�0U;[iI"AI_MASK;TI"Socket::AI_MASK;T;0o;;[o;;[I">Valid flag mask for getaddrinfo (not for application use);T@;	@�;
0@�@@�0U;[iI"AI_ALL;TI"Socket::AI_ALL;T;0o;;[o;;[I"Allow all addresses;T@;	@�;
0@�@@�0U;[iI"AI_V4MAPPED_CFG;TI"Socket::AI_V4MAPPED_CFG;T;0o;;[o;;[I";Accept IPv4 mapped addresses if the kernel supports it;T@;	@�;
0@�@@�0U;[iI"AI_ADDRCONFIG;TI"Socket::AI_ADDRCONFIG;T;0o;;[o;;[I"+Accept only if any address is assigned;T@;	@�;
0@�@@�0U;[iI"AI_V4MAPPED;TI"Socket::AI_V4MAPPED;T;0o;;[o;;[I"&Accept IPv4-mapped IPv6 addresses;T@;	@�;
0@�@@�0U;[iI"AI_DEFAULT;TI"Socket::AI_DEFAULT;T;0o;;[o;;[I""Default flags for getaddrinfo;T@;	@�;
0@�@@�0U;[iI"NI_MAXHOST;TI"Socket::NI_MAXHOST;T;0o;;[o;;[I"!Maximum length of a hostname;T@;	@�;
0@�@@�0U;[iI"NI_MAXSERV;TI"Socket::NI_MAXSERV;T;0o;;[o;;[I"%Maximum length of a service name;T@;	@�;
0@�@@�0U;[iI"NI_NOFQDN;TI"Socket::NI_NOFQDN;T;0o;;[o;;[I"HAn FQDN is not required for local hosts, return only the local part;T@;	@�;
0@�@@�0U;[iI"NI_NUMERICHOST;TI"Socket::NI_NUMERICHOST;T;0o;;[o;;[I"Return a numeric address;T@;	@�;
0@�@@�0U;[iI"NI_NAMEREQD;TI"Socket::NI_NAMEREQD;T;0o;;[o;;[I"A name is required;T@;	@�;
0@�@@�0U;[iI"NI_NUMERICSERV;TI"Socket::NI_NUMERICSERV;T;0o;;[o;;[I".Return the service name as a digit string;T@;	@�;
0@�@@�0U;[iI"
NI_DGRAM;TI"Socket::NI_DGRAM;T;0o;;[o;;[I"EThe service specified is a datagram service (looks up UDP ports);T@;	@�;
0@�@@�0U;[iI"SHUT_RD;TI"Socket::SHUT_RD;T;0o;;[o;;[I"-Shut down the reading side of the socket;T@;	@�;
0@�@@�0U;[iI"SHUT_WR;TI"Socket::SHUT_WR;T;0o;;[o;;[I"-Shut down the writing side of the socket;T@;	@�;
0@�@@�0U;[iI"SHUT_RDWR;TI"Socket::SHUT_RDWR;T;0o;;[o;;[I"+Shut down the both sides of the socket;T@;	@�;
0@�@@�0U;[iI"IPV6_JOIN_GROUP;TI"Socket::IPV6_JOIN_GROUP;T;0o;;[o;;[I"Join a group membership;T@;	@�;
0@�@@�0U;[iI"IPV6_LEAVE_GROUP;TI"Socket::IPV6_LEAVE_GROUP;T;0o;;[o;;[I"Leave a group membership;T@;	@�;
0@�@@�0U;[iI"IPV6_MULTICAST_HOPS;TI" Socket::IPV6_MULTICAST_HOPS;T;0o;;[o;;[I"IP6 multicast hops;T@;	@�;
0@�@@�0U;[iI"IPV6_MULTICAST_IF;TI"Socket::IPV6_MULTICAST_IF;T;0o;;[o;;[I"IP6 multicast interface;T@;	@�;
0@�@@�0U;[iI"IPV6_MULTICAST_LOOP;TI" Socket::IPV6_MULTICAST_LOOP;T;0o;;[o;;[I"IP6 multicast loopback;T@;	@�;
0@�@@�0U;[iI"IPV6_UNICAST_HOPS;TI"Socket::IPV6_UNICAST_HOPS;T;0o;;[o;;[I"IP6 unicast hops;T@;	@�;
0@�@@�0U;[iI"IPV6_V6ONLY;TI"Socket::IPV6_V6ONLY;T;0o;;[o;;[I"(Only bind IPv6 with a wildcard bind;T@;	@�;
0@�@@�0U;[iI"IPV6_CHECKSUM;TI"Socket::IPV6_CHECKSUM;T;0o;;[o;;[I"$Checksum offset for raw sockets;T@;	@�;
0@�@@�0U;[iI"IPV6_DONTFRAG;TI"Socket::IPV6_DONTFRAG;T;0o;;[o;;[I"Don't fragment packets;T@;	@�;
0@�@@�0U;[iI"IPV6_DSTOPTS;TI"Socket::IPV6_DSTOPTS;T;0o;;[o;;[I"Destination option;T@;	@�;
0@�@@�0U;[iI"IPV6_HOPLIMIT;TI"Socket::IPV6_HOPLIMIT;T;0o;;[o;;[I"Hop limit;T@;	@�;
0@�@@�0U;[iI"IPV6_HOPOPTS;TI"Socket::IPV6_HOPOPTS;T;0o;;[o;;[I"Hop-by-hop option;T@;	@�;
0@�@@�0U;[iI"IPV6_NEXTHOP;TI"Socket::IPV6_NEXTHOP;T;0o;;[o;;[I"Next hop address;T@;	@�;
0@�@@�0U;[iI"IPV6_PATHMTU;TI"Socket::IPV6_PATHMTU;T;0o;;[o;;[I"Retrieve current path MTU;T@;	@�;
0@�@@�0U;[iI"IPV6_PKTINFO;TI"Socket::IPV6_PKTINFO;T;0o;;[o;;[I"-Receive packet information with datagram;T@;	@�;
0@�@@�0U;[iI"IPV6_RECVDSTOPTS;TI"Socket::IPV6_RECVDSTOPTS;T;0o;;[o;;[I")Receive all IP6 options for response;T@;	@�;
0@�@@�0U;[iI"IPV6_RECVHOPLIMIT;TI"Socket::IPV6_RECVHOPLIMIT;T;0o;;[o;;[I"$Receive hop limit with datagram;T@;	@�;
0@�@@�0U;[iI"IPV6_RECVHOPOPTS;TI"Socket::IPV6_RECVHOPOPTS;T;0o;;[o;;[I"Receive hop-by-hop options;T@;	@�;
0@�@@�0U;[iI"IPV6_RECVPKTINFO;TI"Socket::IPV6_RECVPKTINFO;T;0o;;[o;;[I":Receive destination IP address and incoming interface;T@;	@�;
0@�@@�0U;[iI"IPV6_RECVRTHDR;TI"Socket::IPV6_RECVRTHDR;T;0o;;[o;;[I"Receive routing header;T@;	@�;
0@�@@�0U;[iI"IPV6_RECVTCLASS;TI"Socket::IPV6_RECVTCLASS;T;0o;;[o;;[I"Receive traffic class;T@;	@�;
0@�@@�0U;[iI"IPV6_RTHDR;TI"Socket::IPV6_RTHDR;T;0o;;[o;;[I"-Allows removal of sticky routing headers;T@;	@�;
0@�@@�0U;[iI"IPV6_RTHDRDSTOPTS;TI"Socket::IPV6_RTHDRDSTOPTS;T;0o;;[o;;[I"8Allows removal of sticky destination options header;T@;	@�;
0@�@@�0U;[iI"IPV6_RTHDR_TYPE_0;TI"Socket::IPV6_RTHDR_TYPE_0;T;0o;;[o;;[I"Routing header type 0;T@;	@�;
0@�@@�0U;[iI"IPV6_RECVPATHMTU;TI"Socket::IPV6_RECVPATHMTU;T;0o;;[o;;[I"+Receive current path MTU with datagram;T@;	@�;
0@�@@�0U;[iI"IPV6_TCLASS;TI"Socket::IPV6_TCLASS;T;0o;;[o;;[I"Specify the traffic class;T@;	@�;
0@�@@�0U;[iI"IPV6_USE_MIN_MTU;TI"Socket::IPV6_USE_MIN_MTU;T;0o;;[o;;[I"Use the minimum MTU size;T@;	@�;
0@�@@�0U;[iI"INET_ADDRSTRLEN;TI"Socket::INET_ADDRSTRLEN;T;0o;;[o;;[I"-Maximum length of an IPv4 address string;T@;	@�;
0@�@@�0U;[iI"INET6_ADDRSTRLEN;TI"Socket::INET6_ADDRSTRLEN;T;0o;;[o;;[I"-Maximum length of an IPv6 address string;T@;	@�;
0@�@@�0U;[iI"
IFNAMSIZ;TI"Socket::IFNAMSIZ;T;0o;;[o;;[I" Maximum interface name size;T@;	@�;
0@�@@�0U;[iI"IF_NAMESIZE;TI"Socket::IF_NAMESIZE;T;0o;;[o;;[I" Maximum interface name size;T@;	@�;
0@�@@�0U;[iI"SOMAXCONN;TI"Socket::SOMAXCONN;T;0o;;[o;;[I"@Maximum connection requests that may be queued for a socket;T@;	@�;
0@�@@�0U;[iI"SCM_RIGHTS;TI"Socket::SCM_RIGHTS;T;0o;;[o;;[I"Access rights;T@;	@�;
0@�@@�0U;[iI"SCM_TIMESTAMP;TI"Socket::SCM_TIMESTAMP;T;0o;;[o;;[I"Timestamp (timeval);T@;	@�;
0@�@@�0U;[iI"SCM_TIMESTAMPNS;TI"Socket::SCM_TIMESTAMPNS;T;0o;;[o;;[I"Timespec (timespec);T@;	@�;
0@�@@�0U;[iI"SCM_TIMESTAMPING;TI"Socket::SCM_TIMESTAMPING;T;0o;;[o;;[I"-Timestamp (timespec list) (Linux 2.6.30);T@;	@�;
0@�@@�0U;[iI"SCM_BINTIME;TI"Socket::SCM_BINTIME;T;0o;;[o;;[I"Timestamp (bintime);T@;	@�;
0@�@@�0U;[iI"SCM_CREDENTIALS;TI"Socket::SCM_CREDENTIALS;T;0o;;[o;;[I"The sender's credentials;T@;	@�;
0@�@@�0U;[iI"SCM_CREDS;TI"Socket::SCM_CREDS;T;0o;;[o;;[I"Process credentials;T@;	@�;
0@�@@�0U;[iI"SCM_UCRED;TI"Socket::SCM_UCRED;T;0o;;[o;;[I"User credentials;T@;	@�;
0@�@@�0U;[iI"SCM_WIFI_STATUS;TI"Socket::SCM_WIFI_STATUS;T;0o;;[o;;[I"Wifi status (Linux 3.3);T@;	@�;
0@�@@�0U;[iI"LOCAL_PEERCRED;TI"Socket::LOCAL_PEERCRED;T;0o;;[o;;[I"Retrieve peer credentials;T@;	@�;
0@�@@�0U;[iI"LOCAL_CREDS;TI"Socket::LOCAL_CREDS;T;0o;;[o;;[I"!Pass credentials to receiver;T@;	@�;
0@�@@�0U;[iI"LOCAL_CONNWAIT;TI"Socket::LOCAL_CONNWAIT;T;0o;;[o;;[I""Connect blocks until accepted;T@;	@�;
0@�@@�0U;[iI"IFF_802_1Q_VLAN;TI"Socket::IFF_802_1Q_VLAN;T;0o;;[o;;[I"802.1Q VLAN device;T@;	@�;
0@�@@�0U;[iI"IFF_ALLMULTI;TI"Socket::IFF_ALLMULTI;T;0o;;[o;;[I""receive all multicast packets;T@;	@�;
0@�@@�0U;[iI"IFF_ALTPHYS;TI"Socket::IFF_ALTPHYS;T;0o;;[o;;[I"&use alternate physical connection;T@;	@�;
0@�@@�0U;[iI"IFF_AUTOMEDIA;TI"Socket::IFF_AUTOMEDIA;T;0o;;[o;;[I"auto media select active;T@;	@�;
0@�@@�0U;[iI"IFF_BONDING;TI"Socket::IFF_BONDING;T;0o;;[o;;[I"bonding master or slave;T@;	@�;
0@�@@�0U;[iI"IFF_BRIDGE_PORT;TI"Socket::IFF_BRIDGE_PORT;T;0o;;[o;;[I"device used as bridge port;T@;	@�;
0@�@@�0U;[iI"IFF_BROADCAST;TI"Socket::IFF_BROADCAST;T;0o;;[o;;[I"broadcast address valid;T@;	@�;
0@�@@�0U;[iI"IFF_CANTCONFIG;TI"Socket::IFF_CANTCONFIG;T;0o;;[o;;[I""unconfigurable using ioctl(2);T@;	@�;
0@�@@�0U;[iI"IFF_DEBUG;TI"Socket::IFF_DEBUG;T;0o;;[o;;[I"turn on debugging;T@;	@�;
0@�@@�0U;[iI"IFF_DISABLE_NETPOLL;TI" Socket::IFF_DISABLE_NETPOLL;T;0o;;[o;;[I" disable netpoll at run-time;T@;	@�;
0@�@@�0U;[iI"IFF_DONT_BRIDGE;TI"Socket::IFF_DONT_BRIDGE;T;0o;;[o;;[I"%disallow bridging this ether dev;T@;	@�;
0@�@@�0U;[iI"IFF_DORMANT;TI"Socket::IFF_DORMANT;T;0o;;[o;;[I"driver signals dormant;T@;	@�;
0@�@@�0U;[iI"IFF_DRV_OACTIVE;TI"Socket::IFF_DRV_OACTIVE;T;0o;;[o;;[I"tx hardware queue is full;T@;	@�;
0@�@@�0U;[iI"IFF_DRV_RUNNING;TI"Socket::IFF_DRV_RUNNING;T;0o;;[o;;[I"resources allocated;T@;	@�;
0@�@@�0U;[iI"IFF_DYING;TI"Socket::IFF_DYING;T;0o;;[o;;[I"interface is winding down;T@;	@�;
0@�@@�0U;[iI"IFF_DYNAMIC;TI"Socket::IFF_DYNAMIC;T;0o;;[o;;[I"*dialup device with changing addresses;T@;	@�;
0@�@@�0U;[iI"IFF_EBRIDGE;TI"Socket::IFF_EBRIDGE;T;0o;;[o;;[I"ethernet bridging device;T@;	@�;
0@�@@�0U;[iI"
IFF_ECHO;TI"Socket::IFF_ECHO;T;0o;;[o;;[I"echo sent packets;T@;	@�;
0@�@@�0U;[iI"IFF_ISATAP;TI"Socket::IFF_ISATAP;T;0o;;[o;;[I"ISATAP interface (RFC4214);T@;	@�;
0@�@@�0U;[iI"IFF_LINK0;TI"Socket::IFF_LINK0;T;0o;;[o;;[I"!per link layer defined bit 0;T@;	@�;
0@�@@�0U;[iI"IFF_LINK1;TI"Socket::IFF_LINK1;T;0o;;[o;;[I"!per link layer defined bit 1;T@;	@�;
0@�@@�0U;[iI"IFF_LINK2;TI"Socket::IFF_LINK2;T;0o;;[o;;[I"!per link layer defined bit 2;T@;	@�;
0@�@@�0U;[iI"IFF_LIVE_ADDR_CHANGE;TI"!Socket::IFF_LIVE_ADDR_CHANGE;T;0o;;[o;;[I".hardware address change when it's running;T@;	@�;
0@�@@�0U;[iI"IFF_LOOPBACK;TI"Socket::IFF_LOOPBACK;T;0o;;[o;;[I"loopback net;T@;	@�;
0@�@@�0U;[iI"IFF_LOWER_UP;TI"Socket::IFF_LOWER_UP;T;0o;;[o;;[I"driver signals L1 up;T@;	@�;
0@�@@�0U;[iI"IFF_MACVLAN_PORT;TI"Socket::IFF_MACVLAN_PORT;T;0o;;[o;;[I" device used as macvlan port;T@;	@�;
0@�@@�0U;[iI"IFF_MASTER;TI"Socket::IFF_MASTER;T;0o;;[o;;[I"master of a load balancer;T@;	@�;
0@�@@�0U;[iI"IFF_MASTER_8023AD;TI"Socket::IFF_MASTER_8023AD;T;0o;;[o;;[I"bonding master, 802.3ad.;T@;	@�;
0@�@@�0U;[iI"IFF_MASTER_ALB;TI"Socket::IFF_MASTER_ALB;T;0o;;[o;;[I"!bonding master, balance-alb.;T@;	@�;
0@�@@�0U;[iI"IFF_MASTER_ARPMON;TI"Socket::IFF_MASTER_ARPMON;T;0o;;[o;;[I"#bonding master, ARP mon in use;T@;	@�;
0@�@@�0U;[iI"IFF_MONITOR;TI"Socket::IFF_MONITOR;T;0o;;[o;;[I" user-requested monitor mode;T@;	@�;
0@�@@�0U;[iI"IFF_MULTICAST;TI"Socket::IFF_MULTICAST;T;0o;;[o;;[I"supports multicast;T@;	@�;
0@�@@�0U;[iI"IFF_NOARP;TI"Socket::IFF_NOARP;T;0o;;[o;;[I"#no address resolution protocol;T@;	@�;
0@�@@�0U;[iI"IFF_NOTRAILERS;TI"Socket::IFF_NOTRAILERS;T;0o;;[o;;[I"avoid use of trailers;T@;	@�;
0@�@@�0U;[iI"IFF_OACTIVE;TI"Socket::IFF_OACTIVE;T;0o;;[o;;[I"transmission in progress;T@;	@�;
0@�@@�0U;[iI"IFF_OVS_DATAPATH;TI"Socket::IFF_OVS_DATAPATH;T;0o;;[o;;[I".device used as Open vSwitch datapath port;T@;	@�;
0@�@@�0U;[iI"IFF_POINTOPOINT;TI"Socket::IFF_POINTOPOINT;T;0o;;[o;;[I"point-to-point link;T@;	@�;
0@�@@�0U;[iI"IFF_PORTSEL;TI"Socket::IFF_PORTSEL;T;0o;;[o;;[I"can set media type;T@;	@�;
0@�@@�0U;[iI"IFF_PPROMISC;TI"Socket::IFF_PPROMISC;T;0o;;[o;;[I" user-requested promisc mode;T@;	@�;
0@�@@�0U;[iI"IFF_PROMISC;TI"Socket::IFF_PROMISC;T;0o;;[o;;[I"receive all packets;T@;	@�;
0@�@@�0U;[iI"IFF_RENAMING;TI"Socket::IFF_RENAMING;T;0o;;[o;;[I"interface is being renamed;T@;	@�;
0@�@@�0U;[iI"IFF_ROUTE;TI"Socket::IFF_ROUTE;T;0o;;[o;;[I"routing entry installed;T@;	@�;
0@�@@�0U;[iI"IFF_RUNNING;TI"Socket::IFF_RUNNING;T;0o;;[o;;[I"resources allocated;T@;	@�;
0@�@@�0U;[iI"IFF_SIMPLEX;TI"Socket::IFF_SIMPLEX;T;0o;;[o;;[I"!can't hear own transmissions;T@;	@�;
0@�@@�0U;[iI"IFF_SLAVE;TI"Socket::IFF_SLAVE;T;0o;;[o;;[I"slave of a load balancer;T@;	@�;
0@�@@�0U;[iI"IFF_SLAVE_INACTIVE;TI"Socket::IFF_SLAVE_INACTIVE;T;0o;;[o;;[I"'bonding slave not the curr. active;T@;	@�;
0@�@@�0U;[iI"IFF_SLAVE_NEEDARP;TI"Socket::IFF_SLAVE_NEEDARP;T;0o;;[o;;[I"need ARPs for validation;T@;	@�;
0@�@@�0U;[iI"IFF_SMART;TI"Socket::IFF_SMART;T;0o;;[o;;[I"!interface manages own routes;T@;	@�;
0@�@@�0U;[iI"IFF_STATICARP;TI"Socket::IFF_STATICARP;T;0o;;[o;;[I"static ARP;T@;	@�;
0@�@@�0U;[iI"IFF_SUPP_NOFCS;TI"Socket::IFF_SUPP_NOFCS;T;0o;;[o;;[I"sending custom FCS;T@;	@�;
0@�@@�0U;[iI"IFF_TEAM_PORT;TI"Socket::IFF_TEAM_PORT;T;0o;;[o;;[I"used as team port;T@;	@�;
0@�@@�0U;[iI"IFF_TX_SKB_SHARING;TI"Socket::IFF_TX_SKB_SHARING;T;0o;;[o;;[I"sharing skbs on transmit;T@;	@�;
0@�@@�0U;[iI"IFF_UNICAST_FLT;TI"Socket::IFF_UNICAST_FLT;T;0o;;[o;;[I"unicast filtering;T@;	@�;
0@�@@�0U;[iI"IFF_UP;TI"Socket::IFF_UP;T;0o;;[o;;[I"interface is up;T@;	@�;
0@�@@�0U;[iI"IFF_WAN_HDLC;TI"Socket::IFF_WAN_HDLC;T;0o;;[o;;[I"WAN HDLC device;T@;	@�;
0@�@@�0U;[iI"IFF_XMIT_DST_RELEASE;TI"!Socket::IFF_XMIT_DST_RELEASE;T;0o;;[o;;[I"9dev_hard_start_xmit() is allowed to release skb->dst;T@;	@�;
0@�@@�0U;[iI"IFF_VOLATILE;TI"Socket::IFF_VOLATILE;T;0o;;[o;;[I"volatile flags;T@;	@�;
0@�@@�0U;[iI"IFF_CANTCHANGE;TI"Socket::IFF_CANTCHANGE;T;0o;;[o;;[I"flags not changeable;T@;	@�;
0@�@@�0[[[I"
class;T[[;["[I"accept_loop;TI"ext/socket/lib/socket.rb;T[I"getaddrinfo;TI"ext/socket/socket.c;T[I"gethostbyaddr;T@�[I"gethostbyname;T@�[I"gethostname;T@�[I"getifaddrs;TI"ext/socket/ifaddr.c;T[I"getnameinfo;T@�[I"getservbyname;T@�[I"getservbyport;T@�[I"ip_address_list;T@�[I"new;T@�[I"pack_sockaddr_in;T@�[I"pack_sockaddr_un;T@�[I"	pair;T@�[I"sockaddr_in;T@�[I"sockaddr_un;T@�[I"socketpair;T@�[I"tcp;T@�[I"tcp_server_loop;T@�[I"tcp_server_sockets;T@�[I"udp_server_loop;T@�[I"udp_server_loop_on;T@�[I"udp_server_recv;T@�[I"udp_server_sockets;T@�[I"	unix;T@�[I"unix_server_loop;T@�[I"unix_server_socket;T@�[I"unpack_sockaddr_in;T@�[I"unpack_sockaddr_un;T@�[:protected[[:private[[I"unix_socket_abstract_name?;T@�[I"
instance;T[[;[[I"accept;T@�[I"accept_nonblock;T@�[I"	bind;T@�[I"connect;T@�[I"connect_nonblock;T@�[I"ipv6only!;T@�[I"listen;T@�[I"
recvfrom;T@�[I"recvfrom_nonblock;T@�[I"sysaccept;T@�[;[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
@�I"ext/socket/ifaddr.c;T@@�I"lib/drb/drb.rb;T@�I"lib/net/ftp.rb;TI"lib/net/http.rb;TI"lib/resolv.rb;TI"lib/rinda/ring.rb;TI"lib/webrick/utils.rb;T@�cRDoc::TopLevelU:RDoc::AnyMethod[iI"accept_nonblock:ETI"Socket#accept_nonblock;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I":Accepts an incoming connection using accept(2) after ;TI";O_NONBLOCK is set for the underlying file descriptor. ;TI"8It returns an array containing the accepted socket ;TI"3for the incoming connection, _client_socket_, ;TI"(and an Addrinfo, _client_addrinfo_.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Example;To:RDoc::Markup::Verbatim;	[I"'# In one script, start this first
;TI"require 'socket'
;TI"include Socket::Constants
;TI"2socket = Socket.new(AF_INET, SOCK_STREAM, 0)
;TI"6sockaddr = Socket.sockaddr_in(2200, 'localhost')
;TI"socket.bind(sockaddr)
;TI"socket.listen(5)
;TI"%begin # emulate blocking accept
;TI"?  client_socket, client_addrinfo = socket.accept_nonblock
;TI"+rescue IO::WaitReadable, Errno::EINTR
;TI"  IO.select([socket])
;TI"
  retry
;TI"	end
;TI"?puts "The client said, '#{client_socket.readline.chomp}'"
;TI"1client_socket.puts "Hello from script one!"
;TI"socket.close
;TI"
;TI",# In another script, start this second
;TI"require 'socket'
;TI"include Socket::Constants
;TI"2socket = Socket.new(AF_INET, SOCK_STREAM, 0)
;TI"6sockaddr = Socket.sockaddr_in(2200, 'localhost')
;TI"socket.connect(sockaddr)
;TI"(socket.puts "Hello from script 2."
;TI"8puts "The server said, '#{socket.readline.chomp}'"
;TI"socket.close
;T:@format0o;
;	[I"NRefer to Socket#accept for the exceptions that may be thrown if the call ;TI" to _accept_nonblock_ fails.;T@o;
;	[I"TSocket#accept_nonblock may raise any error corresponding to accept(2) failure, ;TI""including Errno::EWOULDBLOCK.;T@o;
;	[I"bIf the exception is Errno::EWOULDBLOCK, Errno::EAGAIN, Errno::ECONNABORTED or Errno::EPROTO, ;TI")it is extended by IO::WaitReadable. ;TI"[So IO::WaitReadable can be used to rescue the exceptions for retrying accept_nonblock.;T@o;
;	[I"OBy specifying a keyword argument _exception_ to +false+, you can indicate ;TI"Nthat accept_nonblock should not raise an IO::WaitReadable exception, but ;TI"0return the symbol +:wait_readable+ instead.;T@S;;
i;I"See;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"Socket#accept;T:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I"Ksocket.accept_nonblock([options]) => [client_socket, client_addrinfo]
;T0[I"(exception: true);T@LFI"Socket;TcRDoc::NormalClass00U:RDoc::NormalModule[iI"Constants:ETI"Socket::Constants;T0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"HSocket::Constants provides socket-related constants.  All possible ;TI"Ksocket constants are listed in the documentation but they may not all ;TI"!be present on your platform.;To:RDoc::Markup::BlankLineo;	;[I"LIf the underlying platform doesn't define a constant the corresponding ;TI""Ruby constant is not defined.;T:
@fileI"ext/socket/constdefs.c;T:0@omit_headings_from_table_of_contents_below0;0;0[[�U:RDoc::Constant[iI"SOCK_STREAM;TI"#Socket::Constants::SOCK_STREAM;T:public0o;;[o;	;[I"XA stream socket provides a sequenced, reliable two-way connection for a byte stream;T@;@;0@@cRDoc::NormalModule0U;
[iI"SOCK_DGRAM;TI""Socket::Constants::SOCK_DGRAM;T;0o;;[o;	;[I"DA datagram socket provides connectionless, unreliable messaging;T@;@;0@@@#0U;
[iI"
SOCK_RAW;TI" Socket::Constants::SOCK_RAW;T;0o;;[o;	;[I"_A raw socket provides low-level access for direct access or implementing network protocols;T@;@;0@@@#0U;
[iI"
SOCK_RDM;TI" Socket::Constants::SOCK_RDM;T;0o;;[o;	;[I"FA reliable datagram socket provides reliable delivery of messages;T@;@;0@@@#0U;
[iI"SOCK_SEQPACKET;TI"&Socket::Constants::SOCK_SEQPACKET;T;0o;;[o;	;[I"]A sequential packet socket provides sequenced, reliable two-way connection for datagrams;T@;@;0@@@#0U;
[iI"SOCK_PACKET;TI"#Socket::Constants::SOCK_PACKET;T;0o;;[o;	;[I"Device-level packet access;T@;@;0@@@#0U;
[iI"AF_UNSPEC;TI"!Socket::Constants::AF_UNSPEC;T;0o;;[o;	;[I"7Unspecified protocol, any supported address family;T@;@;0@@@#0U;
[iI"PF_UNSPEC;TI"!Socket::Constants::PF_UNSPEC;T;0o;;[o;	;[I"7Unspecified protocol, any supported address family;T@;@;0@@@#0U;
[iI"AF_INET;TI"Socket::Constants::AF_INET;T;0o;;[o;	;[I"IPv4 protocol;T@;@;0@@@#0U;
[iI"PF_INET;TI"Socket::Constants::PF_INET;T;0o;;[o;	;[I"IPv4 protocol;T@;@;0@@@#0U;
[iI"
AF_INET6;TI" Socket::Constants::AF_INET6;T;0o;;[o;	;[I"IPv6 protocol;T@;@;0@@@#0U;
[iI"
PF_INET6;TI" Socket::Constants::PF_INET6;T;0o;;[o;	;[I"IPv6 protocol;T@;@;0@@@#0U;
[iI"AF_UNIX;TI"Socket::Constants::AF_UNIX;T;0o;;[o;	;[I"UNIX sockets;T@;@;0@@@#0U;
[iI"PF_UNIX;TI"Socket::Constants::PF_UNIX;T;0o;;[o;	;[I"UNIX sockets;T@;@;0@@@#0U;
[iI"AF_AX25;TI"Socket::Constants::AF_AX25;T;0o;;[o;	;[I"AX.25 protocol;T@;@;0@@@#0U;
[iI"PF_AX25;TI"Socket::Constants::PF_AX25;T;0o;;[o;	;[I"AX.25 protocol;T@;@;0@@@#0U;
[iI"AF_IPX;TI"Socket::Constants::AF_IPX;T;0o;;[o;	;[I"IPX protocol;T@;@;0@@@#0U;
[iI"PF_IPX;TI"Socket::Constants::PF_IPX;T;0o;;[o;	;[I"IPX protocol;T@;@;0@@@#0U;
[iI"AF_APPLETALK;TI"$Socket::Constants::AF_APPLETALK;T;0o;;[o;	;[I"AppleTalk protocol;T@;@;0@@@#0U;
[iI"PF_APPLETALK;TI"$Socket::Constants::PF_APPLETALK;T;0o;;[o;	;[I"AppleTalk protocol;T@;@;0@@@#0U;
[iI"
AF_LOCAL;TI" Socket::Constants::AF_LOCAL;T;0o;;[o;	;[I"Host-internal protocols;T@;@;0@@@#0U;
[iI"
PF_LOCAL;TI" Socket::Constants::PF_LOCAL;T;0o;;[o;	;[I"Host-internal protocols;T@;@;0@@@#0U;
[iI"AF_IMPLINK;TI""Socket::Constants::AF_IMPLINK;T;0o;;[o;	;[I"ARPANET IMP protocol;T@;@;0@@@#0U;
[iI"PF_IMPLINK;TI""Socket::Constants::PF_IMPLINK;T;0o;;[o;	;[I"ARPANET IMP protocol;T@;@;0@@@#0U;
[iI"AF_PUP;TI"Socket::Constants::AF_PUP;T;0o;;[o;	;[I"#PARC Universal Packet protocol;T@;@;0@@@#0U;
[iI"PF_PUP;TI"Socket::Constants::PF_PUP;T;0o;;[o;	;[I"#PARC Universal Packet protocol;T@;@;0@@@#0U;
[iI"
AF_CHAOS;TI" Socket::Constants::AF_CHAOS;T;0o;;[o;	;[I"MIT CHAOS protocols;T@;@;0@@@#0U;
[iI"
PF_CHAOS;TI" Socket::Constants::PF_CHAOS;T;0o;;[o;	;[I"MIT CHAOS protocols;T@;@;0@@@#0U;
[iI"
AF_NS;TI"Socket::Constants::AF_NS;T;0o;;[o;	;[I"XEROX NS protocols;T@;@;0@@@#0U;
[iI"
PF_NS;TI"Socket::Constants::PF_NS;T;0o;;[o;	;[I"XEROX NS protocols;T@;@;0@@@#0U;
[iI"AF_ISO;TI"Socket::Constants::AF_ISO;T;0o;;[o;	;[I"/ISO Open Systems Interconnection protocols;T@;@;0@@@#0U;
[iI"PF_ISO;TI"Socket::Constants::PF_ISO;T;0o;;[o;	;[I"/ISO Open Systems Interconnection protocols;T@;@;0@@@#0U;
[iI"AF_OSI;TI"Socket::Constants::AF_OSI;T;0o;;[o;	;[I"/ISO Open Systems Interconnection protocols;T@;@;0@@@#0U;
[iI"PF_OSI;TI"Socket::Constants::PF_OSI;T;0o;;[o;	;[I"/ISO Open Systems Interconnection protocols;T@;@;0@@@#0U;
[iI"AF_ECMA;TI"Socket::Constants::AF_ECMA;T;0o;;[o;	;[I".European Computer Manufacturers protocols;T@;@;0@@@#0U;
[iI"PF_ECMA;TI"Socket::Constants::PF_ECMA;T;0o;;[o;	;[I".European Computer Manufacturers protocols;T@;@;0@@@#0U;
[iI"AF_DATAKIT;TI""Socket::Constants::AF_DATAKIT;T;0o;;[o;	;[I"Datakit protocol;T@;@;0@@@#0U;
[iI"PF_DATAKIT;TI""Socket::Constants::PF_DATAKIT;T;0o;;[o;	;[I"Datakit protocol;T@;@;0@@@#0U;
[iI"
AF_CCITT;TI" Socket::Constants::AF_CCITT;T;0o;;[o;	;[I" CCITT (now ITU-T) protocols;T@;@;0@@@#0U;
[iI"
PF_CCITT;TI" Socket::Constants::PF_CCITT;T;0o;;[o;	;[I" CCITT (now ITU-T) protocols;T@;@;0@@@#0U;
[iI"AF_SNA;TI"Socket::Constants::AF_SNA;T;0o;;[o;	;[I"IBM SNA protocol;T@;@;0@@@#0U;
[iI"PF_SNA;TI"Socket::Constants::PF_SNA;T;0o;;[o;	;[I"IBM SNA protocol;T@;@;0@@@#0U;
[iI"AF_DEC;TI"Socket::Constants::AF_DEC;T;0o;;[o;	;[I"DECnet protocol;T@;@;0@@@#0U;
[iI"PF_DEC;TI"Socket::Constants::PF_DEC;T;0o;;[o;	;[I"DECnet protocol;T@;@;0@@@#0U;
[iI"AF_DLI;TI"Socket::Constants::AF_DLI;T;0o;;[o;	;[I",DEC Direct Data Link Interface protocol;T@;@;0@@@#0U;
[iI"PF_DLI;TI"Socket::Constants::PF_DLI;T;0o;;[o;	;[I",DEC Direct Data Link Interface protocol;T@;@;0@@@#0U;
[iI"AF_LAT;TI"Socket::Constants::AF_LAT;T;0o;;[o;	;[I""Local Area Transport protocol;T@;@;0@@@#0U;
[iI"PF_LAT;TI"Socket::Constants::PF_LAT;T;0o;;[o;	;[I""Local Area Transport protocol;T@;@;0@@@#0U;
[iI"AF_HYLINK;TI"!Socket::Constants::AF_HYLINK;T;0o;;[o;	;[I"NSC Hyperchannel protocol;T@;@;0@@@#0U;
[iI"PF_HYLINK;TI"!Socket::Constants::PF_HYLINK;T;0o;;[o;	;[I"NSC Hyperchannel protocol;T@;@;0@@@#0U;
[iI"
AF_ROUTE;TI" Socket::Constants::AF_ROUTE;T;0o;;[o;	;[I"Internal routing protocol;T@;@;0@@@#0U;
[iI"
PF_ROUTE;TI" Socket::Constants::PF_ROUTE;T;0o;;[o;	;[I"Internal routing protocol;T@;@;0@@@#0U;
[iI"AF_LINK;TI"Socket::Constants::AF_LINK;T;0o;;[o;	;[I"Link layer interface;T@;@;0@@@#0U;
[iI"PF_LINK;TI"Socket::Constants::PF_LINK;T;0o;;[o;	;[I"Link layer interface;T@;@;0@@@#0U;
[iI"AF_COIP;TI"Socket::Constants::AF_COIP;T;0o;;[o;	;[I"Connection-oriented IP;T@;@;0@@@#0U;
[iI"PF_COIP;TI"Socket::Constants::PF_COIP;T;0o;;[o;	;[I"Connection-oriented IP;T@;@;0@@@#0U;
[iI"AF_CNT;TI"Socket::Constants::AF_CNT;T;0o;;[o;	;[I" Computer Network Technology;T@;@;0@@@#0U;
[iI"PF_CNT;TI"Socket::Constants::PF_CNT;T;0o;;[o;	;[I" Computer Network Technology;T@;@;0@@@#0U;
[iI"AF_SIP;TI"Socket::Constants::AF_SIP;T;0o;;[o;	;[I"Simple Internet Protocol;T@;@;0@@@#0U;
[iI"PF_SIP;TI"Socket::Constants::PF_SIP;T;0o;;[o;	;[I"Simple Internet Protocol;T@;@;0@@@#0U;
[iI"AF_NDRV;TI"Socket::Constants::AF_NDRV;T;0o;;[o;	;[I"Network driver raw access;T@;@;0@@@#0U;
[iI"PF_NDRV;TI"Socket::Constants::PF_NDRV;T;0o;;[o;	;[I"Network driver raw access;T@;@;0@@@#0U;
[iI"AF_ISDN;TI"Socket::Constants::AF_ISDN;T;0o;;[o;	;[I"(Integrated Services Digital Network;T@;@;0@@@#0U;
[iI"PF_ISDN;TI"Socket::Constants::PF_ISDN;T;0o;;[o;	;[I"(Integrated Services Digital Network;T@;@;0@@@#0U;
[iI"AF_NATM;TI"Socket::Constants::AF_NATM;T;0o;;[o;	;[I"Native ATM access;T@;@;0@@@#0U;
[iI"PF_NATM;TI"Socket::Constants::PF_NATM;T;0o;;[o;	;[I"Native ATM access;T@;@;0@@@#0U;
[iI"AF_SYSTEM;TI"!Socket::Constants::AF_SYSTEM;T;0o;;[;@;0@@@#0U;
[iI"PF_SYSTEM;TI"!Socket::Constants::PF_SYSTEM;T;0o;;[;@;0@@@#0U;
[iI"AF_NETBIOS;TI""Socket::Constants::AF_NETBIOS;T;0o;;[o;	;[I"NetBIOS;T@;@;0@@@#0U;
[iI"PF_NETBIOS;TI""Socket::Constants::PF_NETBIOS;T;0o;;[o;	;[I"NetBIOS;T@;@;0@@@#0U;
[iI"AF_PPP;TI"Socket::Constants::AF_PPP;T;0o;;[o;	;[I"Point-to-Point Protocol;T@;@;0@@@#0U;
[iI"PF_PPP;TI"Socket::Constants::PF_PPP;T;0o;;[o;	;[I"Point-to-Point Protocol;T@;@;0@@@#0U;
[iI"AF_ATM;TI"Socket::Constants::AF_ATM;T;0o;;[o;	;[I"Asynchronous Transfer Mode;T@;@;0@@@#0U;
[iI"PF_ATM;TI"Socket::Constants::PF_ATM;T;0o;;[o;	;[I"Asynchronous Transfer Mode;T@;@;0@@@#0U;
[iI"AF_NETGRAPH;TI"#Socket::Constants::AF_NETGRAPH;T;0o;;[o;	;[I"Netgraph sockets;T@;@;0@@@#0U;
[iI"PF_NETGRAPH;TI"#Socket::Constants::PF_NETGRAPH;T;0o;;[o;	;[I"Netgraph sockets;T@;@;0@@@#0U;
[iI"AF_MAX;TI"Socket::Constants::AF_MAX;T;0o;;[o;	;[I"-Maximum address family for this platform;T@;@;0@@@#0U;
[iI"PF_MAX;TI"Socket::Constants::PF_MAX;T;0o;;[o;	;[I"-Maximum address family for this platform;T@;@;0@@@#0U;
[iI"AF_PACKET;TI"!Socket::Constants::AF_PACKET;T;0o;;[o;	;[I"Direct link-layer access;T@;@;0@@@#0U;
[iI"PF_PACKET;TI"!Socket::Constants::PF_PACKET;T;0o;;[o;	;[I"Direct link-layer access;T@;@;0@@@#0U;
[iI"AF_E164;TI"Socket::Constants::AF_E164;T;0o;;[o;	;[I"'CCITT (ITU-T) E.164 recommendation;T@;@;0@@@#0U;
[iI"PF_XTP;TI"Socket::Constants::PF_XTP;T;0o;;[o;	;[I"eXpress Transfer Protocol;T@;@;0@@@#0U;
[iI"PF_RTIP;TI"Socket::Constants::PF_RTIP;T;0o;;[;@;0@@@#0U;
[iI"PF_PIP;TI"Socket::Constants::PF_PIP;T;0o;;[;@;0@@@#0U;
[iI"PF_KEY;TI"Socket::Constants::PF_KEY;T;0o;;[;@;0@@@#0U;
[iI"MSG_OOB;TI"Socket::Constants::MSG_OOB;T;0o;;[o;	;[I"Process out-of-band data;T@;@;0@@@#0U;
[iI"
MSG_PEEK;TI" Socket::Constants::MSG_PEEK;T;0o;;[o;	;[I"Peek at incoming message;T@;@;0@@@#0U;
[iI"MSG_DONTROUTE;TI"%Socket::Constants::MSG_DONTROUTE;T;0o;;[o;	;[I"*Send without using the routing tables;T@;@;0@@@#0U;
[iI"MSG_EOR;TI"Socket::Constants::MSG_EOR;T;0o;;[o;	;[I"Data completes record;T@;@;0@@@#0U;
[iI"MSG_TRUNC;TI"!Socket::Constants::MSG_TRUNC;T;0o;;[o;	;[I"#Data discarded before delivery;T@;@;0@@@#0U;
[iI"MSG_CTRUNC;TI""Socket::Constants::MSG_CTRUNC;T;0o;;[o;	;[I"&Control data lost before delivery;T@;@;0@@@#0U;
[iI"MSG_WAITALL;TI"#Socket::Constants::MSG_WAITALL;T;0o;;[o;	;[I"#Wait for full request or error;T@;@;0@@@#0U;
[iI"MSG_DONTWAIT;TI"$Socket::Constants::MSG_DONTWAIT;T;0o;;[o;	;[I"(This message should be non-blocking;T@;@;0@@@#0U;
[iI"MSG_EOF;TI"Socket::Constants::MSG_EOF;T;0o;;[o;	;[I"Data completes connection;T@;@;0@@@#0U;
[iI"MSG_FLUSH;TI"!Socket::Constants::MSG_FLUSH;T;0o;;[o;	;[I"0Start of a hold sequence.  Dumps to so_temp;T@;@;0@@@#0U;
[iI"
MSG_HOLD;TI" Socket::Constants::MSG_HOLD;T;0o;;[o;	;[I"Hold fragment in so_temp;T@;@;0@@@#0U;
[iI"
MSG_SEND;TI" Socket::Constants::MSG_SEND;T;0o;;[o;	;[I"Send the packet in so_temp;T@;@;0@@@#0U;
[iI"MSG_HAVEMORE;TI"$Socket::Constants::MSG_HAVEMORE;T;0o;;[o;	;[I"Data ready to be read;T@;@;0@@@#0U;
[iI"MSG_RCVMORE;TI"#Socket::Constants::MSG_RCVMORE;T;0o;;[o;	;[I"'Data remains in the current packet;T@;@;0@@@#0U;
[iI"MSG_COMPAT;TI""Socket::Constants::MSG_COMPAT;T;0o;;[o;	;[I"End of record;T@;@;0@@@#0U;
[iI"MSG_PROXY;TI"!Socket::Constants::MSG_PROXY;T;0o;;[o;	;[I"Wait for full request;T@;@;0@@@#0U;
[iI"MSG_FIN;TI"Socket::Constants::MSG_FIN;T;0o;;[;@;0@@@#0U;
[iI"MSG_SYN;TI"Socket::Constants::MSG_SYN;T;0o;;[;@;0@@@#0U;
[iI"MSG_CONFIRM;TI"#Socket::Constants::MSG_CONFIRM;T;0o;;[o;	;[I"Confirm path validity;T@;@;0@@@#0U;
[iI"MSG_RST;TI"Socket::Constants::MSG_RST;T;0o;;[;@;0@@@#0U;
[iI"MSG_ERRQUEUE;TI"$Socket::Constants::MSG_ERRQUEUE;T;0o;;[o;	;[I"#Fetch message from error queue;T@;@;0@@@#0U;
[iI"MSG_NOSIGNAL;TI"$Socket::Constants::MSG_NOSIGNAL;T;0o;;[o;	;[I"Do not generate SIGPIPE;T@;@;0@@@#0U;
[iI"
MSG_MORE;TI" Socket::Constants::MSG_MORE;T;0o;;[o;	;[I"Sender will send more;T@;@;0@@@#0U;
[iI"MSG_FASTOPEN;TI"$Socket::Constants::MSG_FASTOPEN;T;0o;;[o;	;[I")Reduce step of the handshake process;T@;@;0@@@#0U;
[iI"SOL_SOCKET;TI""Socket::Constants::SOL_SOCKET;T;0o;;[o;	;[I"Socket-level options;T@;@;0@@@#0U;
[iI"SOL_IP;TI"Socket::Constants::SOL_IP;T;0o;;[o;	;[I"IP socket options;T@;@;0@@@#0U;
[iI"SOL_IPX;TI"Socket::Constants::SOL_IPX;T;0o;;[o;	;[I"IPX socket options;T@;@;0@@@#0U;
[iI"
SOL_AX25;TI" Socket::Constants::SOL_AX25;T;0o;;[o;	;[I"AX.25 socket options;T@;@;0@@@#0U;
[iI"SOL_ATALK;TI"!Socket::Constants::SOL_ATALK;T;0o;;[o;	;[I"AppleTalk socket options;T@;@;0@@@#0U;
[iI"SOL_TCP;TI"Socket::Constants::SOL_TCP;T;0o;;[o;	;[I"TCP socket options;T@;@;0@@@#0U;
[iI"SOL_UDP;TI"Socket::Constants::SOL_UDP;T;0o;;[o;	;[I"UDP socket options;T@;@;0@@@#0U;
[iI"IPPROTO_IP;TI""Socket::Constants::IPPROTO_IP;T;0o;;[o;	;[I"Dummy protocol for IP;T@;@;0@@@#0U;
[iI"IPPROTO_ICMP;TI"$Socket::Constants::IPPROTO_ICMP;T;0o;;[o;	;[I"Control message protocol;T@;@;0@@@#0U;
[iI"IPPROTO_IGMP;TI"$Socket::Constants::IPPROTO_IGMP;T;0o;;[o;	;[I"Group Management Protocol;T@;@;0@@@#0U;
[iI"IPPROTO_GGP;TI"#Socket::Constants::IPPROTO_GGP;T;0o;;[o;	;[I" Gateway to Gateway Protocol;T@;@;0@@@#0U;
[iI"IPPROTO_TCP;TI"#Socket::Constants::IPPROTO_TCP;T;0o;;[o;	;[I"TCP;T@;@;0@@@#0U;
[iI"IPPROTO_EGP;TI"#Socket::Constants::IPPROTO_EGP;T;0o;;[o;	;[I"Exterior Gateway Protocol;T@;@;0@@@#0U;
[iI"IPPROTO_PUP;TI"#Socket::Constants::IPPROTO_PUP;T;0o;;[o;	;[I"#PARC Universal Packet protocol;T@;@;0@@@#0U;
[iI"IPPROTO_UDP;TI"#Socket::Constants::IPPROTO_UDP;T;0o;;[o;	;[I"UDP;T@;@;0@@@#0U;
[iI"IPPROTO_IDP;TI"#Socket::Constants::IPPROTO_IDP;T;0o;;[o;	;[I"XNS IDP;T@;@;0@@@#0U;
[iI"IPPROTO_HELLO;TI"%Socket::Constants::IPPROTO_HELLO;T;0o;;[o;	;[I""hello" routing protocol;T@;@;0@@@#0U;
[iI"IPPROTO_ND;TI""Socket::Constants::IPPROTO_ND;T;0o;;[o;	;[I"Sun net disk protocol;T@;@;0@@@#0U;
[iI"IPPROTO_TP;TI""Socket::Constants::IPPROTO_TP;T;0o;;[o;	;[I"#ISO transport protocol class 4;T@;@;0@@@#0U;
[iI"IPPROTO_XTP;TI"#Socket::Constants::IPPROTO_XTP;T;0o;;[o;	;[I"Xpress Transport Protocol;T@;@;0@@@#0U;
[iI"IPPROTO_EON;TI"#Socket::Constants::IPPROTO_EON;T;0o;;[o;	;[I"
ISO cnlp;T@;@;0@@@#0U;
[iI"IPPROTO_BIP;TI"#Socket::Constants::IPPROTO_BIP;T;0o;;[;@;0@@@#0U;
[iI"IPPROTO_AH;TI""Socket::Constants::IPPROTO_AH;T;0o;;[o;	;[I"IP6 auth header;T@;@;0@@@#0U;
[iI"IPPROTO_DSTOPTS;TI"'Socket::Constants::IPPROTO_DSTOPTS;T;0o;;[o;	;[I"IP6 destination option;T@;@;0@@@#0U;
[iI"IPPROTO_ESP;TI"#Socket::Constants::IPPROTO_ESP;T;0o;;[o;	;[I"&IP6 Encapsulated Security Payload;T@;@;0@@@#0U;
[iI"IPPROTO_FRAGMENT;TI"(Socket::Constants::IPPROTO_FRAGMENT;T;0o;;[o;	;[I"IP6 fragmentation header;T@;@;0@@@#0U;
[iI"IPPROTO_HOPOPTS;TI"'Socket::Constants::IPPROTO_HOPOPTS;T;0o;;[o;	;[I"IP6 hop-by-hop options;T@;@;0@@@#0U;
[iI"IPPROTO_ICMPV6;TI"&Socket::Constants::IPPROTO_ICMPV6;T;0o;;[o;	;[I"
ICMP6;T@;@;0@@@#0U;
[iI"IPPROTO_IPV6;TI"$Socket::Constants::IPPROTO_IPV6;T;0o;;[o;	;[I"IP6 header;T@;@;0@@@#0U;
[iI"IPPROTO_NONE;TI"$Socket::Constants::IPPROTO_NONE;T;0o;;[o;	;[I"IP6 no next header;T@;@;0@@@#0U;
[iI"IPPROTO_ROUTING;TI"'Socket::Constants::IPPROTO_ROUTING;T;0o;;[o;	;[I"IP6 routing header;T@;@;0@@@#0U;
[iI"IPPROTO_RAW;TI"#Socket::Constants::IPPROTO_RAW;T;0o;;[o;	;[I"Raw IP packet;T@;@;0@@@#0U;
[iI"IPPROTO_MAX;TI"#Socket::Constants::IPPROTO_MAX;T;0o;;[o;	;[I"Maximum IPPROTO constant;T@;@;0@@@#0U;
[iI"IPPORT_RESERVED;TI"'Socket::Constants::IPPORT_RESERVED;T;0o;;[o;	;[I"0Default minimum address for bind or connect;T@;@;0@@@#0U;
[iI"IPPORT_USERRESERVED;TI"+Socket::Constants::IPPORT_USERRESERVED;T;0o;;[o;	;[I"0Default maximum address for bind or connect;T@;@;0@@@#0U;
[iI"INADDR_ANY;TI""Socket::Constants::INADDR_ANY;T;0o;;[o;	;[I"lA socket bound to INADDR_ANY receives packets from all interfaces and sends from the default IP address;T@;@;0@@@#0U;
[iI"INADDR_BROADCAST;TI"(Socket::Constants::INADDR_BROADCAST;T;0o;;[o;	;[I""The network broadcast address;T@;@;0@@@#0U;
[iI"INADDR_LOOPBACK;TI"'Socket::Constants::INADDR_LOOPBACK;T;0o;;[o;	;[I"The loopback address;T@;@;0@@@#0U;
[iI"INADDR_UNSPEC_GROUP;TI"+Socket::Constants::INADDR_UNSPEC_GROUP;T;0o;;[o;	;[I"!The reserved multicast group;T@;@;0@@@#0U;
[iI"INADDR_ALLHOSTS_GROUP;TI"-Socket::Constants::INADDR_ALLHOSTS_GROUP;T;0o;;[o;	;[I"3Multicast group for all systems on this subset;T@;@;0@@@#0U;
[iI"INADDR_MAX_LOCAL_GROUP;TI".Socket::Constants::INADDR_MAX_LOCAL_GROUP;T;0o;;[o;	;[I"+The last local network multicast group;T@;@;0@@@#0U;
[iI"INADDR_NONE;TI"#Socket::Constants::INADDR_NONE;T;0o;;[o;	;[I"/A bitmask for matching no valid IP address;T@;@;0@@@#0U;
[iI"IP_OPTIONS;TI""Socket::Constants::IP_OPTIONS;T;0o;;[o;	;[I")IP options to be included in packets;T@;@;0@@@#0U;
[iI"IP_HDRINCL;TI""Socket::Constants::IP_HDRINCL;T;0o;;[o;	;[I"!Header is included with data;T@;@;0@@@#0U;
[iI"IP_TOS;TI"Socket::Constants::IP_TOS;T;0o;;[o;	;[I"IP type-of-service;T@;@;0@@@#0U;
[iI"IP_TTL;TI"Socket::Constants::IP_TTL;T;0o;;[o;	;[I"IP time-to-live;T@;@;0@@@#0U;
[iI"IP_RECVOPTS;TI"#Socket::Constants::IP_RECVOPTS;T;0o;;[o;	;[I")Receive all IP options with datagram;T@;@;0@@@#0U;
[iI"IP_RECVRETOPTS;TI"&Socket::Constants::IP_RECVRETOPTS;T;0o;;[o;	;[I"(Receive all IP options for response;T@;@;0@@@#0U;
[iI"IP_RECVDSTADDR;TI"&Socket::Constants::IP_RECVDSTADDR;T;0o;;[o;	;[I"1Receive IP destination address with datagram;T@;@;0@@@#0U;
[iI"IP_RETOPTS;TI""Socket::Constants::IP_RETOPTS;T;0o;;[o;	;[I"+IP options to be included in datagrams;T@;@;0@@@#0U;
[iI"IP_MINTTL;TI"!Socket::Constants::IP_MINTTL;T;0o;;[o;	;[I"-Minimum TTL allowed for received packets;T@;@;0@@@#0U;
[iI"IP_DONTFRAG;TI"#Socket::Constants::IP_DONTFRAG;T;0o;;[o;	;[I"Don't fragment packets;T@;@;0@@@#0U;
[iI"IP_SENDSRCADDR;TI"&Socket::Constants::IP_SENDSRCADDR;T;0o;;[o;	;[I".Source address for outgoing UDP datagrams;T@;@;0@@@#0U;
[iI"IP_ONESBCAST;TI"$Socket::Constants::IP_ONESBCAST;T;0o;;[o;	;[I"PForce outgoing broadcast datagrams to have the undirected broadcast address;T@;@;0@@@#0U;
[iI"IP_RECVTTL;TI""Socket::Constants::IP_RECVTTL;T;0o;;[o;	;[I""Receive IP TTL with datagrams;T@;@;0@@@#0U;
[iI"IP_RECVIF;TI"!Socket::Constants::IP_RECVIF;T;0o;;[o;	;[I"1Receive interface information with datagrams;T@;@;0@@@#0U;
[iI"IP_RECVSLLA;TI"#Socket::Constants::IP_RECVSLLA;T;0o;;[o;	;[I".Receive link-layer address with datagrams;T@;@;0@@@#0U;
[iI"IP_PORTRANGE;TI"$Socket::Constants::IP_PORTRANGE;T;0o;;[o;	;[I"ASet the port range for sockets with unspecified port numbers;T@;@;0@@@#0U;
[iI"IP_MULTICAST_IF;TI"'Socket::Constants::IP_MULTICAST_IF;T;0o;;[o;	;[I"IP multicast interface;T@;@;0@@@#0U;
[iI"IP_MULTICAST_TTL;TI"(Socket::Constants::IP_MULTICAST_TTL;T;0o;;[o;	;[I"IP multicast TTL;T@;@;0@@@#0U;
[iI"IP_MULTICAST_LOOP;TI")Socket::Constants::IP_MULTICAST_LOOP;T;0o;;[o;	;[I"IP multicast loopback;T@;@;0@@@#0U;
[iI"IP_ADD_MEMBERSHIP;TI")Socket::Constants::IP_ADD_MEMBERSHIP;T;0o;;[o;	;[I"%Add a multicast group membership;T@;@;0@@@#0U;
[iI"IP_DROP_MEMBERSHIP;TI"*Socket::Constants::IP_DROP_MEMBERSHIP;T;0o;;[o;	;[I"&Drop a multicast group membership;T@;@;0@@@#0U;
[iI"IP_DEFAULT_MULTICAST_TTL;TI"0Socket::Constants::IP_DEFAULT_MULTICAST_TTL;T;0o;;[o;	;[I"Default multicast TTL;T@;@;0@@@#0U;
[iI"IP_DEFAULT_MULTICAST_LOOP;TI"1Socket::Constants::IP_DEFAULT_MULTICAST_LOOP;T;0o;;[o;	;[I"Default multicast loopback;T@;@;0@@@#0U;
[iI"IP_MAX_MEMBERSHIPS;TI"*Socket::Constants::IP_MAX_MEMBERSHIPS;T;0o;;[o;	;[I"6Maximum number multicast groups a socket can join;T@;@;0@@@#0U;
[iI"IP_ROUTER_ALERT;TI"'Socket::Constants::IP_ROUTER_ALERT;T;0o;;[o;	;[I"PNotify transit routers to more closely examine the contents of an IP packet;T@;@;0@@@#0U;
[iI"IP_PKTINFO;TI""Socket::Constants::IP_PKTINFO;T;0o;;[o;	;[I".Receive packet information with datagrams;T@;@;0@@@#0U;
[iI"IP_PKTOPTIONS;TI"%Socket::Constants::IP_PKTOPTIONS;T;0o;;[o;	;[I"*Receive packet options with datagrams;T@;@;0@@@#0U;
[iI"IP_MTU_DISCOVER;TI"'Socket::Constants::IP_MTU_DISCOVER;T;0o;;[o;	;[I"Path MTU discovery;T@;@;0@@@#0U;
[iI"IP_RECVERR;TI""Socket::Constants::IP_RECVERR;T;0o;;[o;	;[I"3Enable extended reliable error message passing;T@;@;0@@@#0U;
[iI"IP_RECVTOS;TI""Socket::Constants::IP_RECVTOS;T;0o;;[o;	;[I"&Receive TOS with incoming packets;T@;@;0@@@#0U;
[iI"IP_MTU;TI"Socket::Constants::IP_MTU;T;0o;;[o;	;[I"0The Maximum Transmission Unit of the socket;T@;@;0@@@#0U;
[iI"IP_FREEBIND;TI"#Socket::Constants::IP_FREEBIND;T;0o;;[o;	;[I".Allow binding to nonexistent IP addresses;T@;@;0@@@#0U;
[iI"IP_IPSEC_POLICY;TI"'Socket::Constants::IP_IPSEC_POLICY;T;0o;;[o;	;[I"IPsec security policy;T@;@;0@@@#0U;
[iI"IP_XFRM_POLICY;TI"&Socket::Constants::IP_XFRM_POLICY;T;0o;;[;@;0@@@#0U;
[iI"IP_PASSSEC;TI""Socket::Constants::IP_PASSSEC;T;0o;;[o;	;[I",Retrieve security context with datagram;T@;@;0@@@#0U;
[iI"IP_TRANSPARENT;TI"&Socket::Constants::IP_TRANSPARENT;T;0o;;[o;	;[I"Transparent proxy;T@;@;0@@@#0U;
[iI"IP_PMTUDISC_DONT;TI"(Socket::Constants::IP_PMTUDISC_DONT;T;0o;;[o;	;[I"Never send DF frames;T@;@;0@@@#0U;
[iI"IP_PMTUDISC_WANT;TI"(Socket::Constants::IP_PMTUDISC_WANT;T;0o;;[o;	;[I"Use per-route hints;T@;@;0@@@#0U;
[iI"IP_PMTUDISC_DO;TI"&Socket::Constants::IP_PMTUDISC_DO;T;0o;;[o;	;[I"Always send DF frames;T@;@;0@@@#0U;
[iI"IP_UNBLOCK_SOURCE;TI")Socket::Constants::IP_UNBLOCK_SOURCE;T;0o;;[o;	;[I">Unblock IPv4 multicast packets with a give source address;T@;@;0@@@#0U;
[iI"IP_BLOCK_SOURCE;TI"'Socket::Constants::IP_BLOCK_SOURCE;T;0o;;[o;	;[I"<Block IPv4 multicast packets with a give source address;T@;@;0@@@#0U;
[iI"IP_ADD_SOURCE_MEMBERSHIP;TI"0Socket::Constants::IP_ADD_SOURCE_MEMBERSHIP;T;0o;;[o;	;[I"%Add a multicast group membership;T@;@;0@@@#0U;
[iI"IP_DROP_SOURCE_MEMBERSHIP;TI"1Socket::Constants::IP_DROP_SOURCE_MEMBERSHIP;T;0o;;[o;	;[I"&Drop a multicast group membership;T@;@;0@@@#0U;
[iI"IP_MSFILTER;TI"#Socket::Constants::IP_MSFILTER;T;0o;;[o;	;[I"Multicast source filtering;T@;@;0@@@#0U;
[iI"MCAST_JOIN_GROUP;TI"(Socket::Constants::MCAST_JOIN_GROUP;T;0o;;[o;	;[I"Join a multicast group;T@;@;0@@@#0U;
[iI"MCAST_BLOCK_SOURCE;TI"*Socket::Constants::MCAST_BLOCK_SOURCE;T;0o;;[o;	;[I"-Block multicast packets from this source;T@;@;0@@@#0U;
[iI"MCAST_UNBLOCK_SOURCE;TI",Socket::Constants::MCAST_UNBLOCK_SOURCE;T;0o;;[o;	;[I"/Unblock multicast packets from this source;T@;@;0@@@#0U;
[iI"MCAST_LEAVE_GROUP;TI")Socket::Constants::MCAST_LEAVE_GROUP;T;0o;;[o;	;[I"Leave a multicast group;T@;@;0@@@#0U;
[iI"MCAST_JOIN_SOURCE_GROUP;TI"/Socket::Constants::MCAST_JOIN_SOURCE_GROUP;T;0o;;[o;	;[I""Join a multicast source group;T@;@;0@@@#0U;
[iI"MCAST_LEAVE_SOURCE_GROUP;TI"0Socket::Constants::MCAST_LEAVE_SOURCE_GROUP;T;0o;;[o;	;[I"#Leave a multicast source group;T@;@;0@@@#0U;
[iI"MCAST_MSFILTER;TI"&Socket::Constants::MCAST_MSFILTER;T;0o;;[o;	;[I"Multicast source filtering;T@;@;0@@@#0U;
[iI"MCAST_EXCLUDE;TI"%Socket::Constants::MCAST_EXCLUDE;T;0o;;[o;	;[I"&Exclusive multicast source filter;T@;@;0@@@#0U;
[iI"MCAST_INCLUDE;TI"%Socket::Constants::MCAST_INCLUDE;T;0o;;[o;	;[I"&Inclusive multicast source filter;T@;@;0@@@#0U;
[iI"
SO_DEBUG;TI" Socket::Constants::SO_DEBUG;T;0o;;[o;	;[I"Debug info recording;T@;@;0@@@#0U;
[iI"SO_REUSEADDR;TI"$Socket::Constants::SO_REUSEADDR;T;0o;;[o;	;[I"Allow local address reuse;T@;@;0@@@#0U;
[iI"SO_REUSEPORT;TI"$Socket::Constants::SO_REUSEPORT;T;0o;;[o;	;[I"'Allow local address and port reuse;T@;@;0@@@#0U;
[iI"SO_TYPE;TI"Socket::Constants::SO_TYPE;T;0o;;[o;	;[I"Get the socket type;T@;@;0@@@#0U;
[iI"
SO_ERROR;TI" Socket::Constants::SO_ERROR;T;0o;;[o;	;[I"#Get and clear the error status;T@;@;0@@@#0U;
[iI"SO_DONTROUTE;TI"$Socket::Constants::SO_DONTROUTE;T;0o;;[o;	;[I"Use interface addresses;T@;@;0@@@#0U;
[iI"SO_BROADCAST;TI"$Socket::Constants::SO_BROADCAST;T;0o;;[o;	;[I")Permit sending of broadcast messages;T@;@;0@@@#0U;
[iI"SO_SNDBUF;TI"!Socket::Constants::SO_SNDBUF;T;0o;;[o;	;[I"Send buffer size;T@;@;0@@@#0U;
[iI"SO_RCVBUF;TI"!Socket::Constants::SO_RCVBUF;T;0o;;[o;	;[I"Receive buffer size;T@;@;0@@@#0U;
[iI"SO_SNDBUFFORCE;TI"&Socket::Constants::SO_SNDBUFFORCE;T;0o;;[o;	;[I";Send buffer size without wmem_max limit (Linux 2.6.14);T@;@;0@@@#0U;
[iI"SO_RCVBUFFORCE;TI"&Socket::Constants::SO_RCVBUFFORCE;T;0o;;[o;	;[I">Receive buffer size without rmem_max limit (Linux 2.6.14);T@;@;0@@@#0U;
[iI"SO_KEEPALIVE;TI"$Socket::Constants::SO_KEEPALIVE;T;0o;;[o;	;[I"Keep connections alive;T@;@;0@@@#0U;
[iI"SO_OOBINLINE;TI"$Socket::Constants::SO_OOBINLINE;T;0o;;[o;	;[I",Leave received out-of-band data in-line;T@;@;0@@@#0U;
[iI"SO_NO_CHECK;TI"#Socket::Constants::SO_NO_CHECK;T;0o;;[o;	;[I"Disable checksums;T@;@;0@@@#0U;
[iI"SO_PRIORITY;TI"#Socket::Constants::SO_PRIORITY;T;0o;;[o;	;[I"AThe protocol-defined priority for all packets on this socket;T@;@;0@@@#0U;
[iI"SO_LINGER;TI"!Socket::Constants::SO_LINGER;T;0o;;[o;	;[I"'Linger on close if data is present;T@;@;0@@@#0U;
[iI"SO_PASSCRED;TI"#Socket::Constants::SO_PASSCRED;T;0o;;[o;	;[I"%Receive SCM_CREDENTIALS messages;T@;@;0@@@#0U;
[iI"SO_PEERCRED;TI"#Socket::Constants::SO_PEERCRED;T;0o;;[o;	;[I"DThe credentials of the foreign process connected to this socket;T@;@;0@@@#0U;
[iI"SO_RCVLOWAT;TI"#Socket::Constants::SO_RCVLOWAT;T;0o;;[o;	;[I"Receive low-water mark;T@;@;0@@@#0U;
[iI"SO_SNDLOWAT;TI"#Socket::Constants::SO_SNDLOWAT;T;0o;;[o;	;[I"Send low-water mark;T@;@;0@@@#0U;
[iI"SO_RCVTIMEO;TI"#Socket::Constants::SO_RCVTIMEO;T;0o;;[o;	;[I"Receive timeout;T@;@;0@@@#0U;
[iI"SO_SNDTIMEO;TI"#Socket::Constants::SO_SNDTIMEO;T;0o;;[o;	;[I"Send timeout;T@;@;0@@@#0U;
[iI"SO_ACCEPTCONN;TI"%Socket::Constants::SO_ACCEPTCONN;T;0o;;[o;	;[I")Socket has had listen() called on it;T@;@;0@@@#0U;
[iI"SO_USELOOPBACK;TI"&Socket::Constants::SO_USELOOPBACK;T;0o;;[o;	;[I""Bypass hardware when possible;T@;@;0@@@#0U;
[iI"SO_ACCEPTFILTER;TI"'Socket::Constants::SO_ACCEPTFILTER;T;0o;;[o;	;[I"There is an accept filter;T@;@;0@@@#0U;
[iI"SO_DONTTRUNC;TI"$Socket::Constants::SO_DONTTRUNC;T;0o;;[o;	;[I"Retain unread data;T@;@;0@@@#0U;
[iI"SO_WANTMORE;TI"#Socket::Constants::SO_WANTMORE;T;0o;;[o;	;[I"(Give a hint when more data is ready;T@;@;0@@@#0U;
[iI"SO_WANTOOBFLAG;TI"&Socket::Constants::SO_WANTOOBFLAG;T;0o;;[o;	;[I".OOB data is wanted in MSG_FLAG on receive;T@;@;0@@@#0U;
[iI"
SO_NREAD;TI" Socket::Constants::SO_NREAD;T;0o;;[o;	;[I" Get first packet byte count;T@;@;0@@@#0U;
[iI"SO_NKE;TI"Socket::Constants::SO_NKE;T;0o;;[o;	;[I"2Install socket-level Network Kernel Extension;T@;@;0@@@#0U;
[iI"SO_NOSIGPIPE;TI"$Socket::Constants::SO_NOSIGPIPE;T;0o;;[o;	;[I"Don't SIGPIPE on EPIPE;T@;@;0@@@#0U;
[iI"SO_SECURITY_AUTHENTICATION;TI"2Socket::Constants::SO_SECURITY_AUTHENTICATION;T;0o;;[;@;0@@@#0U;
[iI"%SO_SECURITY_ENCRYPTION_TRANSPORT;TI"8Socket::Constants::SO_SECURITY_ENCRYPTION_TRANSPORT;T;0o;;[;@;0@@@#0U;
[iI"#SO_SECURITY_ENCRYPTION_NETWORK;TI"6Socket::Constants::SO_SECURITY_ENCRYPTION_NETWORK;T;0o;;[;@;0@@@#0U;
[iI"SO_BINDTODEVICE;TI"'Socket::Constants::SO_BINDTODEVICE;T;0o;;[o;	;[I"/Only send packets from the given interface;T@;@;0@@@#0U;
[iI"SO_ATTACH_FILTER;TI"(Socket::Constants::SO_ATTACH_FILTER;T;0o;;[o;	;[I"Attach an accept filter;T@;@;0@@@#0U;
[iI"SO_DETACH_FILTER;TI"(Socket::Constants::SO_DETACH_FILTER;T;0o;;[o;	;[I"Detach an accept filter;T@;@;0@@@#0U;
[iI"SO_GET_FILTER;TI"%Socket::Constants::SO_GET_FILTER;T;0o;;[o;	;[I"6Obtain filter set by SO_ATTACH_FILTER (Linux 3.8);T@;@;0@@@#0U;
[iI"SO_PEERNAME;TI"#Socket::Constants::SO_PEERNAME;T;0o;;[o;	;[I" Name of the connecting user;T@;@;0@@@#0U;
[iI"SO_TIMESTAMP;TI"$Socket::Constants::SO_TIMESTAMP;T;0o;;[o;	;[I"/Receive timestamp with datagrams (timeval);T@;@;0@@@#0U;
[iI"SO_TIMESTAMPNS;TI"&Socket::Constants::SO_TIMESTAMPNS;T;0o;;[o;	;[I";Receive nanosecond timestamp with datagrams (timespec);T@;@;0@@@#0U;
[iI"SO_BINTIME;TI""Socket::Constants::SO_BINTIME;T;0o;;[o;	;[I"/Receive timestamp with datagrams (bintime);T@;@;0@@@#0U;
[iI"SO_RECVUCRED;TI"$Socket::Constants::SO_RECVUCRED;T;0o;;[o;	;[I"+Receive user credentials with datagram;T@;@;0@@@#0U;
[iI"SO_MAC_EXEMPT;TI"%Socket::Constants::SO_MAC_EXEMPT;T;0o;;[o;	;[I";Mandatory Access Control exemption for unlabeled peers;T@;@;0@@@#0U;
[iI"SO_ALLZONES;TI"#Socket::Constants::SO_ALLZONES;T;0o;;[o;	;[I"Bypass zone boundaries;T@;@;0@@@#0U;
[iI"SO_PEERSEC;TI""Socket::Constants::SO_PEERSEC;T;0o;;[o;	;[I"2Obtain the security credentials (Linux 2.6.2);T@;@;0@@@#0U;
[iI"SO_PASSSEC;TI""Socket::Constants::SO_PASSSEC;T;0o;;[o;	;[I"3Toggle security context passing (Linux 2.6.18);T@;@;0@@@#0U;
[iI"SO_MARK;TI"Socket::Constants::SO_MARK;T;0o;;[o;	;[I"7Set the mark for mark-based routing (Linux 2.6.25);T@;@;0@@@#0U;
[iI"SO_TIMESTAMPING;TI"'Socket::Constants::SO_TIMESTAMPING;T;0o;;[o;	;[I"BTime stamping of incoming and outgoing packets (Linux 2.6.30);T@;@;0@@@#0U;
[iI"SO_PROTOCOL;TI"#Socket::Constants::SO_PROTOCOL;T;0o;;[o;	;[I"/Protocol given for socket() (Linux 2.6.32);T@;@;0@@@#0U;
[iI"SO_DOMAIN;TI"!Socket::Constants::SO_DOMAIN;T;0o;;[o;	;[I"-Domain given for socket() (Linux 2.6.32);T@;@;0@@@#0U;
[iI"SO_RXQ_OVFL;TI"#Socket::Constants::SO_RXQ_OVFL;T;0o;;[o;	;[I"=Toggle cmsg for number of packets dropped (Linux 2.6.33);T@;@;0@@@#0U;
[iI"SO_WIFI_STATUS;TI"&Socket::Constants::SO_WIFI_STATUS;T;0o;;[o;	;[I",Toggle cmsg for wifi status (Linux 3.3);T@;@;0@@@#0U;
[iI"SO_PEEK_OFF;TI"#Socket::Constants::SO_PEEK_OFF;T;0o;;[o;	;[I"$Set the peek offset (Linux 3.4);T@;@;0@@@#0U;
[iI"
SO_NOFCS;TI" Socket::Constants::SO_NOFCS;T;0o;;[o;	;[I"&Set netns of a socket (Linux 3.4);T@;@;0@@@#0U;
[iI"SO_LOCK_FILTER;TI"&Socket::Constants::SO_LOCK_FILTER;T;0o;;[o;	;[I"5Lock the filter attached to a socket (Linux 3.9);T@;@;0@@@#0U;
[iI"SO_SELECT_ERR_QUEUE;TI"+Socket::Constants::SO_SELECT_ERR_QUEUE;T;0o;;[o;	;[I"GMake select() detect socket error queue with errorfds (Linux 3.10);T@;@;0@@@#0U;
[iI"SO_BUSY_POLL;TI"$Socket::Constants::SO_BUSY_POLL;T;0o;;[o;	;[I"KSet the threshold in microseconds for low latency polling (Linux 3.11);T@;@;0@@@#0U;
[iI"SO_MAX_PACING_RATE;TI"*Socket::Constants::SO_MAX_PACING_RATE;T;0o;;[o;	;[I"NCap the rate computed by transport layer. [bytes per second] (Linux 3.13);T@;@;0@@@#0U;
[iI"SO_BPF_EXTENSIONS;TI")Socket::Constants::SO_BPF_EXTENSIONS;T;0o;;[o;	;[I"0Query supported BPF extensions (Linux 3.14);T@;@;0@@@#0U;
[iI"SOPRI_INTERACTIVE;TI")Socket::Constants::SOPRI_INTERACTIVE;T;0o;;[o;	;[I" Interactive socket priority;T@;@;0@@@#0U;
[iI"SOPRI_NORMAL;TI"$Socket::Constants::SOPRI_NORMAL;T;0o;;[o;	;[I"Normal socket priority;T@;@;0@@@#0U;
[iI"SOPRI_BACKGROUND;TI"(Socket::Constants::SOPRI_BACKGROUND;T;0o;;[o;	;[I"Background socket priority;T@;@;0@@@#0U;
[iI"
IPX_TYPE;TI" Socket::Constants::IPX_TYPE;T;0o;;[;@;0@@@#0U;
[iI"TCP_NODELAY;TI"#Socket::Constants::TCP_NODELAY;T;0o;;[o;	;[I",Don't delay sending to coalesce packets;T@;@;0@@@#0U;
[iI"TCP_MAXSEG;TI""Socket::Constants::TCP_MAXSEG;T;0o;;[o;	;[I"Set maximum segment size;T@;@;0@@@#0U;
[iI"
TCP_CORK;TI" Socket::Constants::TCP_CORK;T;0o;;[o;	;[I"5Don't send partial frames (Linux 2.2, glibc 2.2);T@;@;0@@@#0U;
[iI"TCP_DEFER_ACCEPT;TI"(Socket::Constants::TCP_DEFER_ACCEPT;T;0o;;[o;	;[I"ODon't notify a listening socket until data is ready (Linux 2.4, glibc 2.2);T@;@;0@@@#0U;
[iI"
TCP_INFO;TI" Socket::Constants::TCP_INFO;T;0o;;[o;	;[I"BRetrieve information about this socket (Linux 2.4, glibc 2.2);T@;@;0@@@#0U;
[iI"TCP_KEEPCNT;TI"#Socket::Constants::TCP_KEEPCNT;T;0o;;[o;	;[I"cMaximum number of keepalive probes allowed before dropping a connection (Linux 2.4, glibc 2.2);T@;@;0@@@#0U;
[iI"TCP_KEEPIDLE;TI"$Socket::Constants::TCP_KEEPIDLE;T;0o;;[o;	;[I"FIdle time before keepalive probes are sent (Linux 2.4, glibc 2.2);T@;@;0@@@#0U;
[iI"TCP_KEEPINTVL;TI"%Socket::Constants::TCP_KEEPINTVL;T;0o;;[o;	;[I"9Time between keepalive probes (Linux 2.4, glibc 2.2);T@;@;0@@@#0U;
[iI"TCP_LINGER2;TI"#Socket::Constants::TCP_LINGER2;T;0o;;[o;	;[I"BLifetime of orphaned FIN_WAIT2 sockets (Linux 2.4, glibc 2.2);T@;@;0@@@#0U;
[iI"TCP_MD5SIG;TI""Socket::Constants::TCP_MD5SIG;T;0o;;[o;	;[I"7Use MD5 digests (RFC2385, Linux 2.6.20, glibc 2.7);T@;@;0@@@#0U;
[iI"TCP_NOOPT;TI"!Socket::Constants::TCP_NOOPT;T;0o;;[o;	;[I"Don't use TCP options;T@;@;0@@@#0U;
[iI"TCP_NOPUSH;TI""Socket::Constants::TCP_NOPUSH;T;0o;;[o;	;[I"'Don't push the last block of write;T@;@;0@@@#0U;
[iI"TCP_QUICKACK;TI"$Socket::Constants::TCP_QUICKACK;T;0o;;[o;	;[I"2Enable quickack mode (Linux 2.4.4, glibc 2.3);T@;@;0@@@#0U;
[iI"TCP_SYNCNT;TI""Socket::Constants::TCP_SYNCNT;T;0o;;[o;	;[I"TNumber of SYN retransmits before a connection is dropped (Linux 2.4, glibc 2.2);T@;@;0@@@#0U;
[iI"TCP_WINDOW_CLAMP;TI"(Socket::Constants::TCP_WINDOW_CLAMP;T;0o;;[o;	;[I"CClamp the size of the advertised window (Linux 2.4, glibc 2.2);T@;@;0@@@#0U;
[iI"TCP_FASTOPEN;TI"$Socket::Constants::TCP_FASTOPEN;T;0o;;[o;	;[I"AReduce step of the handshake process (Linux 3.7, glibc 2.18);T@;@;0@@@#0U;
[iI"TCP_CONGESTION;TI"&Socket::Constants::TCP_CONGESTION;T;0o;;[o;	;[I"?TCP congestion control algorithm (Linux 2.6.13, glibc 2.6);T@;@;0@@@#0U;
[iI"TCP_COOKIE_TRANSACTIONS;TI"/Socket::Constants::TCP_COOKIE_TRANSACTIONS;T;0o;;[o;	;[I"7TCP Cookie Transactions (Linux 2.6.33, glibc 2.18);T@;@;0@@@#0U;
[iI"TCP_QUEUE_SEQ;TI"%Socket::Constants::TCP_QUEUE_SEQ;T;0o;;[o;	;[I"@Sequence of a queue for repair mode (Linux 3.5, glibc 2.18);T@;@;0@@@#0U;
[iI"TCP_REPAIR;TI""Socket::Constants::TCP_REPAIR;T;0o;;[o;	;[I"(Repair mode (Linux 3.5, glibc 2.18);T@;@;0@@@#0U;
[iI"TCP_REPAIR_OPTIONS;TI"*Socket::Constants::TCP_REPAIR_OPTIONS;T;0o;;[o;	;[I"4Options for repair mode (Linux 3.5, glibc 2.18);T@;@;0@@@#0U;
[iI"TCP_REPAIR_QUEUE;TI"(Socket::Constants::TCP_REPAIR_QUEUE;T;0o;;[o;	;[I"2Queue for repair mode (Linux 3.5, glibc 2.18);T@;@;0@@@#0U;
[iI"TCP_THIN_DUPACK;TI"'Socket::Constants::TCP_THIN_DUPACK;T;0o;;[o;	;[I"TDuplicated acknowledgments handling for thin-streams (Linux 2.6.34, glibc 2.18);T@;@;0@@@#0U;
[iI"TCP_THIN_LINEAR_TIMEOUTS;TI"0Socket::Constants::TCP_THIN_LINEAR_TIMEOUTS;T;0o;;[o;	;[I"@Linear timeouts for thin-streams (Linux 2.6.34, glibc 2.18);T@;@;0@@@#0U;
[iI"TCP_TIMESTAMP;TI"%Socket::Constants::TCP_TIMESTAMP;T;0o;;[o;	;[I"*TCP timestamp (Linux 3.9, glibc 2.18);T@;@;0@@@#0U;
[iI"TCP_USER_TIMEOUT;TI"(Socket::Constants::TCP_USER_TIMEOUT;T;0o;;[o;	;[I"NMax timeout before a TCP connection is aborted (Linux 2.6.37, glibc 2.18);T@;@;0@@@#0U;
[iI"
UDP_CORK;TI" Socket::Constants::UDP_CORK;T;0o;;[o;	;[I"9Don't send partial frames (Linux 2.5.44, glibc 2.11);T@;@;0@@@#0U;
[iI"EAI_ADDRFAMILY;TI"&Socket::Constants::EAI_ADDRFAMILY;T;0o;;[o;	;[I".Address family for hostname not supported;T@;@;0@@@#0U;
[iI"EAI_AGAIN;TI"!Socket::Constants::EAI_AGAIN;T;0o;;[o;	;[I")Temporary failure in name resolution;T@;@;0@@@#0U;
[iI"EAI_BADFLAGS;TI"$Socket::Constants::EAI_BADFLAGS;T;0o;;[o;	;[I"Invalid flags;T@;@;0@@@#0U;
[iI"
EAI_FAIL;TI" Socket::Constants::EAI_FAIL;T;0o;;[o;	;[I"/Non-recoverable failure in name resolution;T@;@;0@@@#0U;
[iI"EAI_FAMILY;TI""Socket::Constants::EAI_FAMILY;T;0o;;[o;	;[I"!Address family not supported;T@;@;0@@@#0U;
[iI"EAI_MEMORY;TI""Socket::Constants::EAI_MEMORY;T;0o;;[o;	;[I"Memory allocation failure;T@;@;0@@@#0U;
[iI"EAI_NODATA;TI""Socket::Constants::EAI_NODATA;T;0o;;[o;	;[I"(No address associated with hostname;T@;@;0@@@#0U;
[iI"EAI_NONAME;TI""Socket::Constants::EAI_NONAME;T;0o;;[o;	;[I"(Hostname nor servname, or not known;T@;@;0@@@#0U;
[iI"EAI_OVERFLOW;TI"$Socket::Constants::EAI_OVERFLOW;T;0o;;[o;	;[I"Argument buffer overflow;T@;@;0@@@#0U;
[iI"EAI_SERVICE;TI"#Socket::Constants::EAI_SERVICE;T;0o;;[o;	;[I"+Servname not supported for socket type;T@;@;0@@@#0U;
[iI"EAI_SOCKTYPE;TI"$Socket::Constants::EAI_SOCKTYPE;T;0o;;[o;	;[I"Socket type not supported;T@;@;0@@@#0U;
[iI"EAI_SYSTEM;TI""Socket::Constants::EAI_SYSTEM;T;0o;;[o;	;[I"#System error returned in errno;T@;@;0@@@#0U;
[iI"EAI_BADHINTS;TI"$Socket::Constants::EAI_BADHINTS;T;0o;;[o;	;[I"Invalid value for hints;T@;@;0@@@#0U;
[iI"EAI_PROTOCOL;TI"$Socket::Constants::EAI_PROTOCOL;T;0o;;[o;	;[I"!Resolved protocol is unknown;T@;@;0@@@#0U;
[iI"EAI_MAX;TI"Socket::Constants::EAI_MAX;T;0o;;[o;	;[I"(Maximum error code from getaddrinfo;T@;@;0@@@#0U;
[iI"AI_PASSIVE;TI""Socket::Constants::AI_PASSIVE;T;0o;;[o;	;[I"#Get address to use with bind();T@;@;0@@@#0U;
[iI"AI_CANONNAME;TI"$Socket::Constants::AI_CANONNAME;T;0o;;[o;	;[I"Fill in the canonical name;T@;@;0@@@#0U;
[iI"AI_NUMERICHOST;TI"&Socket::Constants::AI_NUMERICHOST;T;0o;;[o;	;[I"!Prevent host name resolution;T@;@;0@@@#0U;
[iI"AI_NUMERICSERV;TI"&Socket::Constants::AI_NUMERICSERV;T;0o;;[o;	;[I"$Prevent service name resolution;T@;@;0@@@#0U;
[iI"AI_MASK;TI"Socket::Constants::AI_MASK;T;0o;;[o;	;[I">Valid flag mask for getaddrinfo (not for application use);T@;@;0@@@#0U;
[iI"AI_ALL;TI"Socket::Constants::AI_ALL;T;0o;;[o;	;[I"Allow all addresses;T@;@;0@@@#0U;
[iI"AI_V4MAPPED_CFG;TI"'Socket::Constants::AI_V4MAPPED_CFG;T;0o;;[o;	;[I";Accept IPv4 mapped addresses if the kernel supports it;T@;@;0@@@#0U;
[iI"AI_ADDRCONFIG;TI"%Socket::Constants::AI_ADDRCONFIG;T;0o;;[o;	;[I"+Accept only if any address is assigned;T@;@;0@@@#0U;
[iI"AI_V4MAPPED;TI"#Socket::Constants::AI_V4MAPPED;T;0o;;[o;	;[I"&Accept IPv4-mapped IPv6 addresses;T@;@;0@@@#0U;
[iI"AI_DEFAULT;TI""Socket::Constants::AI_DEFAULT;T;0o;;[o;	;[I""Default flags for getaddrinfo;T@;@;0@@@#0U;
[iI"NI_MAXHOST;TI""Socket::Constants::NI_MAXHOST;T;0o;;[o;	;[I"!Maximum length of a hostname;T@;@;0@@@#0U;
[iI"NI_MAXSERV;TI""Socket::Constants::NI_MAXSERV;T;0o;;[o;	;[I"%Maximum length of a service name;T@;@;0@@@#0U;
[iI"NI_NOFQDN;TI"!Socket::Constants::NI_NOFQDN;T;0o;;[o;	;[I"HAn FQDN is not required for local hosts, return only the local part;T@;@;0@@@#0U;
[iI"NI_NUMERICHOST;TI"&Socket::Constants::NI_NUMERICHOST;T;0o;;[o;	;[I"Return a numeric address;T@;@;0@@@#0U;
[iI"NI_NAMEREQD;TI"#Socket::Constants::NI_NAMEREQD;T;0o;;[o;	;[I"A name is required;T@;@;0@@@#0U;
[iI"NI_NUMERICSERV;TI"&Socket::Constants::NI_NUMERICSERV;T;0o;;[o;	;[I".Return the service name as a digit string;T@;@;0@@@#0U;
[iI"
NI_DGRAM;TI" Socket::Constants::NI_DGRAM;T;0o;;[o;	;[I"EThe service specified is a datagram service (looks up UDP ports);T@;@;0@@@#0U;
[iI"SHUT_RD;TI"Socket::Constants::SHUT_RD;T;0o;;[o;	;[I"-Shut down the reading side of the socket;T@;@;0@@@#0U;
[iI"SHUT_WR;TI"Socket::Constants::SHUT_WR;T;0o;;[o;	;[I"-Shut down the writing side of the socket;T@;@;0@@@#0U;
[iI"SHUT_RDWR;TI"!Socket::Constants::SHUT_RDWR;T;0o;;[o;	;[I"+Shut down the both sides of the socket;T@;@;0@@@#0U;
[iI"IPV6_JOIN_GROUP;TI"'Socket::Constants::IPV6_JOIN_GROUP;T;0o;;[o;	;[I"Join a group membership;T@;@;0@@@#0U;
[iI"IPV6_LEAVE_GROUP;TI"(Socket::Constants::IPV6_LEAVE_GROUP;T;0o;;[o;	;[I"Leave a group membership;T@;@;0@@@#0U;
[iI"IPV6_MULTICAST_HOPS;TI"+Socket::Constants::IPV6_MULTICAST_HOPS;T;0o;;[o;	;[I"IP6 multicast hops;T@;@;0@@@#0U;
[iI"IPV6_MULTICAST_IF;TI")Socket::Constants::IPV6_MULTICAST_IF;T;0o;;[o;	;[I"IP6 multicast interface;T@;@;0@@@#0U;
[iI"IPV6_MULTICAST_LOOP;TI"+Socket::Constants::IPV6_MULTICAST_LOOP;T;0o;;[o;	;[I"IP6 multicast loopback;T@;@;0@@@#0U;
[iI"IPV6_UNICAST_HOPS;TI")Socket::Constants::IPV6_UNICAST_HOPS;T;0o;;[o;	;[I"IP6 unicast hops;T@;@;0@@@#0U;
[iI"IPV6_V6ONLY;TI"#Socket::Constants::IPV6_V6ONLY;T;0o;;[o;	;[I"(Only bind IPv6 with a wildcard bind;T@;@;0@@@#0U;
[iI"IPV6_CHECKSUM;TI"%Socket::Constants::IPV6_CHECKSUM;T;0o;;[o;	;[I"$Checksum offset for raw sockets;T@;@;0@@@#0U;
[iI"IPV6_DONTFRAG;TI"%Socket::Constants::IPV6_DONTFRAG;T;0o;;[o;	;[I"Don't fragment packets;T@;@;0@@@#0U;
[iI"IPV6_DSTOPTS;TI"$Socket::Constants::IPV6_DSTOPTS;T;0o;;[o;	;[I"Destination option;T@;@;0@@@#0U;
[iI"IPV6_HOPLIMIT;TI"%Socket::Constants::IPV6_HOPLIMIT;T;0o;;[o;	;[I"Hop limit;T@;@;0@@@#0U;
[iI"IPV6_HOPOPTS;TI"$Socket::Constants::IPV6_HOPOPTS;T;0o;;[o;	;[I"Hop-by-hop option;T@;@;0@@@#0U;
[iI"IPV6_NEXTHOP;TI"$Socket::Constants::IPV6_NEXTHOP;T;0o;;[o;	;[I"Next hop address;T@;@;0@@@#0U;
[iI"IPV6_PATHMTU;TI"$Socket::Constants::IPV6_PATHMTU;T;0o;;[o;	;[I"Retrieve current path MTU;T@;@;0@@@#0U;
[iI"IPV6_PKTINFO;TI"$Socket::Constants::IPV6_PKTINFO;T;0o;;[o;	;[I"-Receive packet information with datagram;T@;@;0@@@#0U;
[iI"IPV6_RECVDSTOPTS;TI"(Socket::Constants::IPV6_RECVDSTOPTS;T;0o;;[o;	;[I")Receive all IP6 options for response;T@;@;0@@@#0U;
[iI"IPV6_RECVHOPLIMIT;TI")Socket::Constants::IPV6_RECVHOPLIMIT;T;0o;;[o;	;[I"$Receive hop limit with datagram;T@;@;0@@@#0U;
[iI"IPV6_RECVHOPOPTS;TI"(Socket::Constants::IPV6_RECVHOPOPTS;T;0o;;[o;	;[I"Receive hop-by-hop options;T@;@;0@@@#0U;
[iI"IPV6_RECVPKTINFO;TI"(Socket::Constants::IPV6_RECVPKTINFO;T;0o;;[o;	;[I":Receive destination IP address and incoming interface;T@;@;0@@@#0U;
[iI"IPV6_RECVRTHDR;TI"&Socket::Constants::IPV6_RECVRTHDR;T;0o;;[o;	;[I"Receive routing header;T@;@;0@@@#0U;
[iI"IPV6_RECVTCLASS;TI"'Socket::Constants::IPV6_RECVTCLASS;T;0o;;[o;	;[I"Receive traffic class;T@;@;0@@@#0U;
[iI"IPV6_RTHDR;TI""Socket::Constants::IPV6_RTHDR;T;0o;;[o;	;[I"-Allows removal of sticky routing headers;T@;@;0@@@#0U;
[iI"IPV6_RTHDRDSTOPTS;TI")Socket::Constants::IPV6_RTHDRDSTOPTS;T;0o;;[o;	;[I"8Allows removal of sticky destination options header;T@;@;0@@@#0U;
[iI"IPV6_RTHDR_TYPE_0;TI")Socket::Constants::IPV6_RTHDR_TYPE_0;T;0o;;[o;	;[I"Routing header type 0;T@;@;0@@@#0U;
[iI"IPV6_RECVPATHMTU;TI"(Socket::Constants::IPV6_RECVPATHMTU;T;0o;;[o;	;[I"+Receive current path MTU with datagram;T@;@;0@@@#0U;
[iI"IPV6_TCLASS;TI"#Socket::Constants::IPV6_TCLASS;T;0o;;[o;	;[I"Specify the traffic class;T@;@;0@@@#0U;
[iI"IPV6_USE_MIN_MTU;TI"(Socket::Constants::IPV6_USE_MIN_MTU;T;0o;;[o;	;[I"Use the minimum MTU size;T@;@;0@@@#0U;
[iI"INET_ADDRSTRLEN;TI"'Socket::Constants::INET_ADDRSTRLEN;T;0o;;[o;	;[I"-Maximum length of an IPv4 address string;T@;@;0@@@#0U;
[iI"INET6_ADDRSTRLEN;TI"(Socket::Constants::INET6_ADDRSTRLEN;T;0o;;[o;	;[I"-Maximum length of an IPv6 address string;T@;@;0@@@#0U;
[iI"
IFNAMSIZ;TI" Socket::Constants::IFNAMSIZ;T;0o;;[o;	;[I" Maximum interface name size;T@;@;0@@@#0U;
[iI"IF_NAMESIZE;TI"#Socket::Constants::IF_NAMESIZE;T;0o;;[o;	;[I" Maximum interface name size;T@;@;0@@@#0U;
[iI"SOMAXCONN;TI"!Socket::Constants::SOMAXCONN;T;0o;;[o;	;[I"@Maximum connection requests that may be queued for a socket;T@;@;0@@@#0U;
[iI"SCM_RIGHTS;TI""Socket::Constants::SCM_RIGHTS;T;0o;;[o;	;[I"Access rights;T@;@;0@@@#0U;
[iI"SCM_TIMESTAMP;TI"%Socket::Constants::SCM_TIMESTAMP;T;0o;;[o;	;[I"Timestamp (timeval);T@;@;0@@@#0U;
[iI"SCM_TIMESTAMPNS;TI"'Socket::Constants::SCM_TIMESTAMPNS;T;0o;;[o;	;[I"Timespec (timespec);T@;@;0@@@#0U;
[iI"SCM_TIMESTAMPING;TI"(Socket::Constants::SCM_TIMESTAMPING;T;0o;;[o;	;[I"-Timestamp (timespec list) (Linux 2.6.30);T@;@;0@@@#0U;
[iI"SCM_BINTIME;TI"#Socket::Constants::SCM_BINTIME;T;0o;;[o;	;[I"Timestamp (bintime);T@;@;0@@@#0U;
[iI"SCM_CREDENTIALS;TI"'Socket::Constants::SCM_CREDENTIALS;T;0o;;[o;	;[I"The sender's credentials;T@;@;0@@@#0U;
[iI"SCM_CREDS;TI"!Socket::Constants::SCM_CREDS;T;0o;;[o;	;[I"Process credentials;T@;@;0@@@#0U;
[iI"SCM_UCRED;TI"!Socket::Constants::SCM_UCRED;T;0o;;[o;	;[I"User credentials;T@;@;0@@@#0U;
[iI"SCM_WIFI_STATUS;TI"'Socket::Constants::SCM_WIFI_STATUS;T;0o;;[o;	;[I"Wifi status (Linux 3.3);T@;@;0@@@#0U;
[iI"LOCAL_PEERCRED;TI"&Socket::Constants::LOCAL_PEERCRED;T;0o;;[o;	;[I"Retrieve peer credentials;T@;@;0@@@#0U;
[iI"LOCAL_CREDS;TI"#Socket::Constants::LOCAL_CREDS;T;0o;;[o;	;[I"!Pass credentials to receiver;T@;@;0@@@#0U;
[iI"LOCAL_CONNWAIT;TI"&Socket::Constants::LOCAL_CONNWAIT;T;0o;;[o;	;[I""Connect blocks until accepted;T@;@;0@@@#0U;
[iI"IFF_802_1Q_VLAN;TI"'Socket::Constants::IFF_802_1Q_VLAN;T;0o;;[o;	;[I"802.1Q VLAN device;T@;@;0@@@#0U;
[iI"IFF_ALLMULTI;TI"$Socket::Constants::IFF_ALLMULTI;T;0o;;[o;	;[I""receive all multicast packets;T@;@;0@@@#0U;
[iI"IFF_ALTPHYS;TI"#Socket::Constants::IFF_ALTPHYS;T;0o;;[o;	;[I"&use alternate physical connection;T@;@;0@@@#0U;
[iI"IFF_AUTOMEDIA;TI"%Socket::Constants::IFF_AUTOMEDIA;T;0o;;[o;	;[I"auto media select active;T@;@;0@@@#0U;
[iI"IFF_BONDING;TI"#Socket::Constants::IFF_BONDING;T;0o;;[o;	;[I"bonding master or slave;T@;@;0@@@#0U;
[iI"IFF_BRIDGE_PORT;TI"'Socket::Constants::IFF_BRIDGE_PORT;T;0o;;[o;	;[I"device used as bridge port;T@;@;0@@@#0U;
[iI"IFF_BROADCAST;TI"%Socket::Constants::IFF_BROADCAST;T;0o;;[o;	;[I"broadcast address valid;T@;@;0@@@#0U;
[iI"IFF_CANTCONFIG;TI"&Socket::Constants::IFF_CANTCONFIG;T;0o;;[o;	;[I""unconfigurable using ioctl(2);T@;@;0@@@#0U;
[iI"IFF_DEBUG;TI"!Socket::Constants::IFF_DEBUG;T;0o;;[o;	;[I"turn on debugging;T@;@;0@@@#0U;
[iI"IFF_DISABLE_NETPOLL;TI"+Socket::Constants::IFF_DISABLE_NETPOLL;T;0o;;[o;	;[I" disable netpoll at run-time;T@;@;0@@@#0U;
[iI"IFF_DONT_BRIDGE;TI"'Socket::Constants::IFF_DONT_BRIDGE;T;0o;;[o;	;[I"%disallow bridging this ether dev;T@;@;0@@@#0U;
[iI"IFF_DORMANT;TI"#Socket::Constants::IFF_DORMANT;T;0o;;[o;	;[I"driver signals dormant;T@;@;0@@@#0U;
[iI"IFF_DRV_OACTIVE;TI"'Socket::Constants::IFF_DRV_OACTIVE;T;0o;;[o;	;[I"tx hardware queue is full;T@;@;0@@@#0U;
[iI"IFF_DRV_RUNNING;TI"'Socket::Constants::IFF_DRV_RUNNING;T;0o;;[o;	;[I"resources allocated;T@;@;0@@@#0U;
[iI"IFF_DYING;TI"!Socket::Constants::IFF_DYING;T;0o;;[o;	;[I"interface is winding down;T@;@;0@@@#0U;
[iI"IFF_DYNAMIC;TI"#Socket::Constants::IFF_DYNAMIC;T;0o;;[o;	;[I"*dialup device with changing addresses;T@;@;0@@@#0U;
[iI"IFF_EBRIDGE;TI"#Socket::Constants::IFF_EBRIDGE;T;0o;;[o;	;[I"ethernet bridging device;T@;@;0@@@#0U;
[iI"
IFF_ECHO;TI" Socket::Constants::IFF_ECHO;T;0o;;[o;	;[I"echo sent packets;T@;@;0@@@#0U;
[iI"IFF_ISATAP;TI""Socket::Constants::IFF_ISATAP;T;0o;;[o;	;[I"ISATAP interface (RFC4214);T@;@;0@@@#0U;
[iI"IFF_LINK0;TI"!Socket::Constants::IFF_LINK0;T;0o;;[o;	;[I"!per link layer defined bit 0;T@;@;0@@@#0U;
[iI"IFF_LINK1;TI"!Socket::Constants::IFF_LINK1;T;0o;;[o;	;[I"!per link layer defined bit 1;T@;@;0@@@#0U;
[iI"IFF_LINK2;TI"!Socket::Constants::IFF_LINK2;T;0o;;[o;	;[I"!per link layer defined bit 2;T@;@;0@@@#0U;
[iI"IFF_LIVE_ADDR_CHANGE;TI",Socket::Constants::IFF_LIVE_ADDR_CHANGE;T;0o;;[o;	;[I".hardware address change when it's running;T@;@;0@@@#0U;
[iI"IFF_LOOPBACK;TI"$Socket::Constants::IFF_LOOPBACK;T;0o;;[o;	;[I"loopback net;T@;@;0@@@#0U;
[iI"IFF_LOWER_UP;TI"$Socket::Constants::IFF_LOWER_UP;T;0o;;[o;	;[I"driver signals L1 up;T@;@;0@@@#0U;
[iI"IFF_MACVLAN_PORT;TI"(Socket::Constants::IFF_MACVLAN_PORT;T;0o;;[o;	;[I" device used as macvlan port;T@;@;0@@@#0U;
[iI"IFF_MASTER;TI""Socket::Constants::IFF_MASTER;T;0o;;[o;	;[I"master of a load balancer;T@;@;0@@@#0U;
[iI"IFF_MASTER_8023AD;TI")Socket::Constants::IFF_MASTER_8023AD;T;0o;;[o;	;[I"bonding master, 802.3ad.;T@;@;0@@@#0U;
[iI"IFF_MASTER_ALB;TI"&Socket::Constants::IFF_MASTER_ALB;T;0o;;[o;	;[I"!bonding master, balance-alb.;T@;@;0@@@#0U;
[iI"IFF_MASTER_ARPMON;TI")Socket::Constants::IFF_MASTER_ARPMON;T;0o;;[o;	;[I"#bonding master, ARP mon in use;T@;@;0@@@#0U;
[iI"IFF_MONITOR;TI"#Socket::Constants::IFF_MONITOR;T;0o;;[o;	;[I" user-requested monitor mode;T@;@;0@@@#0U;
[iI"IFF_MULTICAST;TI"%Socket::Constants::IFF_MULTICAST;T;0o;;[o;	;[I"supports multicast;T@;@;0@@@#0U;
[iI"IFF_NOARP;TI"!Socket::Constants::IFF_NOARP;T;0o;;[o;	;[I"#no address resolution protocol;T@;@;0@@@#0U;
[iI"IFF_NOTRAILERS;TI"&Socket::Constants::IFF_NOTRAILERS;T;0o;;[o;	;[I"avoid use of trailers;T@;@;0@@@#0U;
[iI"IFF_OACTIVE;TI"#Socket::Constants::IFF_OACTIVE;T;0o;;[o;	;[I"transmission in progress;T@;@;0@@@#0U;
[iI"IFF_OVS_DATAPATH;TI"(Socket::Constants::IFF_OVS_DATAPATH;T;0o;;[o;	;[I".device used as Open vSwitch datapath port;T@;@;0@@@#0U;
[iI"IFF_POINTOPOINT;TI"'Socket::Constants::IFF_POINTOPOINT;T;0o;;[o;	;[I"point-to-point link;T@;@;0@@@#0U;
[iI"IFF_PORTSEL;TI"#Socket::Constants::IFF_PORTSEL;T;0o;;[o;	;[I"can set media type;T@;@;0@@@#0U;
[iI"IFF_PPROMISC;TI"$Socket::Constants::IFF_PPROMISC;T;0o;;[o;	;[I" user-requested promisc mode;T@;@;0@@@#0U;
[iI"IFF_PROMISC;TI"#Socket::Constants::IFF_PROMISC;T;0o;;[o;	;[I"receive all packets;T@;@;0@@@#0U;
[iI"IFF_RENAMING;TI"$Socket::Constants::IFF_RENAMING;T;0o;;[o;	;[I"interface is being renamed;T@;@;0@@@#0U;
[iI"IFF_ROUTE;TI"!Socket::Constants::IFF_ROUTE;T;0o;;[o;	;[I"routing entry installed;T@;@;0@@@#0U;
[iI"IFF_RUNNING;TI"#Socket::Constants::IFF_RUNNING;T;0o;;[o;	;[I"resources allocated;T@;@;0@@@#0U;
[iI"IFF_SIMPLEX;TI"#Socket::Constants::IFF_SIMPLEX;T;0o;;[o;	;[I"!can't hear own transmissions;T@;@;0@@@#0U;
[iI"IFF_SLAVE;TI"!Socket::Constants::IFF_SLAVE;T;0o;;[o;	;[I"slave of a load balancer;T@;@;0@@@#0U;
[iI"IFF_SLAVE_INACTIVE;TI"*Socket::Constants::IFF_SLAVE_INACTIVE;T;0o;;[o;	;[I"'bonding slave not the curr. active;T@;@;0@@@#0U;
[iI"IFF_SLAVE_NEEDARP;TI")Socket::Constants::IFF_SLAVE_NEEDARP;T;0o;;[o;	;[I"need ARPs for validation;T@;@;0@@@#0U;
[iI"IFF_SMART;TI"!Socket::Constants::IFF_SMART;T;0o;;[o;	;[I"!interface manages own routes;T@;@;0@@@#0U;
[iI"IFF_STATICARP;TI"%Socket::Constants::IFF_STATICARP;T;0o;;[o;	;[I"static ARP;T@;@;0@@@#0U;
[iI"IFF_SUPP_NOFCS;TI"&Socket::Constants::IFF_SUPP_NOFCS;T;0o;;[o;	;[I"sending custom FCS;T@;@;0@@@#0U;
[iI"IFF_TEAM_PORT;TI"%Socket::Constants::IFF_TEAM_PORT;T;0o;;[o;	;[I"used as team port;T@;@;0@@@#0U;
[iI"IFF_TX_SKB_SHARING;TI"*Socket::Constants::IFF_TX_SKB_SHARING;T;0o;;[o;	;[I"sharing skbs on transmit;T@;@;0@@@#0U;
[iI"IFF_UNICAST_FLT;TI"'Socket::Constants::IFF_UNICAST_FLT;T;0o;;[o;	;[I"unicast filtering;T@;@;0@@@#0U;
[iI"IFF_UP;TI"Socket::Constants::IFF_UP;T;0o;;[o;	;[I"interface is up;T@;@;0@@@#0U;
[iI"IFF_WAN_HDLC;TI"$Socket::Constants::IFF_WAN_HDLC;T;0o;;[o;	;[I"WAN HDLC device;T@;@;0@@@#0U;
[iI"IFF_XMIT_DST_RELEASE;TI",Socket::Constants::IFF_XMIT_DST_RELEASE;T;0o;;[o;	;[I"9dev_hard_start_xmit() is allowed to release skb->dst;T@;@;0@@@#0U;
[iI"IFF_VOLATILE;TI"$Socket::Constants::IFF_VOLATILE;T;0o;;[o;	;[I"volatile flags;T@;@;0@@@#0U;
[iI"IFF_CANTCHANGE;TI"&Socket::Constants::IFF_CANTCHANGE;T;0o;;[o;	;[I"flags not changeable;T@;@;0@@@#0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[I"ext/socket/ancdata.c;TI"Socket;TcRDoc::NormalClassU:RDoc::NormalClass[iI"HTTPUnsupportedMediaType:ETI""Net::HTTPUnsupportedMediaType;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI",Net::HTTPUnsupportedMediaType::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPLengthRequired:ETI"Net::HTTPLengthRequired;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"&Net::HTTPLengthRequired::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"ProtoUnknownError:ETI"Net::ProtoUnknownError;TI"Net::ProtocolError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPResetContent:ETI"Net::HTTPResetContent;TI"Net::HTTPSuccess;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"$Net::HTTPResetContent::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"OpenTimeout:ETI"Net::OpenTimeout;TI"Timeout::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"QOpenTimeout, a subclass of Timeout::Error, is raised if a connection cannot ;TI"(be created within the open_timeout.;T:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"inspect:ETI"Net::WriteAdapter#inspect;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"WriteAdapter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
print:ETI"Net::WriteAdapter#print;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"WriteAdapter;TcRDoc::NormalClass0[I"Net::WriteAdapter;TFI"
write;TU:RDoc::NormalClass[iI"WriteAdapter:ETI"Net::WriteAdapter;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"The writer adapter class;T:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"new;TI"lib/net/protocol.rb;T[:protected[[:private[[I"
instance;T[[;[[I"<<;T@[I"inspect;T@[I"
print;T@[I"printf;T@[I"	puts;T@[I"
write;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"Net::WriteAdapter::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below000[I"(socket, method);T@FI"WriteAdapter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	puts:ETI"Net::WriteAdapter#puts;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below000[I"(str = '');T@FI"WriteAdapter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"printf:ETI"Net::WriteAdapter#printf;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"WriteAdapter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
write:ETI"Net::WriteAdapter#write;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below000[[I"
print;To;;	[;
@;0I"
(str);T@FI"WriteAdapter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"<<:ETI"Net::WriteAdapter#<<;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"WriteAdapter;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"HTTPFailedDependency:ETI"Net::HTTPFailedDependency;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"(Net::HTTPFailedDependency::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"SMTPSyntaxError:ETI"Net::SMTPSyntaxError;TI"Net::ProtoSyntaxError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"=Represents an SMTP command syntax error (error code 500);T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[I"SMTPError;To;;[;
@;0I"lib/net/smtp.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPInternalServerError:ETI"!Net::HTTPInternalServerError;TI"Net::HTTPServerError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[	I"444 No Response - Nginx ;TI" 449 Retry With - Microsoft ;TI":450 Blocked by Windows Parental Controls - Microsoft ;TI"&499 Client Closed Request - Nginx;T:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"
HAS_BODY;TI"+Net::HTTPInternalServerError::HAS_BODY;T:public0o;;[;
@;0@@cRDoc::NormalClass0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPLocked:ETI"Net::HTTPLocked;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"Net::HTTPLocked::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::Attr[iI"	data:ETI"Net::HTTPExceptions#data;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/exceptions.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPExceptions;TcRDoc::NormalModule0U:RDoc::Attr[iI"
response:ETI"!Net::HTTPExceptions#response;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/exceptions.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPExceptions;TcRDoc::NormalModule0U:RDoc::NormalModule[iI"HTTPExceptions:ETI"Net::HTTPExceptions;T0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I" Net::HTTP exception class. ;TI"HYou cannot use Net::HTTPExceptions directly; instead, you must use ;TI"its subclasses.;T:
@fileI"lib/net/http/exceptions.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"	data;TI"R;T:publicFI"lib/net/http/exceptions.rb;T[
I"
response;T@;F@[[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPMovedPermanently:ETI"Net::HTTPMovedPermanently;TI"Net::HTTPRedirection;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"(Net::HTTPMovedPermanently::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"SMTPUnknownError:ETI"Net::SMTPUnknownError;TI"Net::ProtoUnknownError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"0Unexpected reply code returned from server.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[I"SMTPError;To;;[;
@;0I"lib/net/smtp.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"SMTPFatalError:ETI"Net::SMTPFatalError;TI"Net::ProtoFatalError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"CRepresents a fatal SMTP error (error code 5xx, except for 500);T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[I"SMTPError;To;;[;
@;0I"lib/net/smtp.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPClientError:ETI"Net::HTTPClientError;TI"Net::HTTPResponse;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"#Net::HTTPClientError::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"EXCEPTION_TYPE;TI")Net::HTTPClientError::EXCEPTION_TYPE;T;0o;;[;	@;
0@@@0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPMovedTemporarily:ETI"Net::HTTPFound;TI"Net::HTTPRedirection;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"Net::HTTPFound::HAS_BODY;T:public0o;;[;	@;
0@I"HTTPFound;TcRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPForbidden:ETI"Net::HTTPForbidden;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"!Net::HTTPForbidden::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPVariantAlsoNegotiates:ETI"#Net::HTTPVariantAlsoNegotiates;TI"Net::HTTPServerError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"-Net::HTTPVariantAlsoNegotiates::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::Attr[iI"uri:ETI"Net::HTTPResponse#uri;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NThe URI used to fetch this response.  The response URI is only available ;TI"-if a URI was used to create the request.;T:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPResponse;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"
procdest:ETI"Net::HTTPResponse#procdest;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[I"(dest, block);T@FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"Net::HTTPResponse#inspect;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
body=:ETI"Net::HTTPResponse#body=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GBecause it may be necessary to modify the body, Eg, decompression ;TI""this method facilitates that.;T:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value);T@FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::Attr[iI"	code:ETI"Net::HTTPResponse#code;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DThe HTTP result code string. For example, '302'.  You can also ;TI"Fdetermine the response type by examining which response subclass ;TI"+the response object is an instance of.;T:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPResponse;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"read_body:ETI" Net::HTTPResponse#read_body;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Gets the entity body returned by the remote HTTP server.;To:RDoc::Markup::BlankLineo;
;	[I"?If a block is given, the body is passed to the block, and ;TI"Ithe body is provided in fragments, as it is read in from the socket.;T@o;
;	[I"BCalling this method a second or subsequent time for the same ;TI"<HTTPResponse object will return the value already read.;T@o:RDoc::Markup::Verbatim;	[I",http.request_get('/index.html') {|res|
;TI"  puts res.read_body
;TI"}
;TI"
;TI",http.request_get('/index.html') {|res|
;TI"/  p res.read_body.object_id   # 538149362
;TI"/  p res.read_body.object_id   # 538149362
;TI"}
;TI"
;TI"# using iterator
;TI",http.request_get('/index.html') {|res|
;TI""  res.read_body do |segment|
;TI"    print segment
;TI"  end
;TI"};T:@format0:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[I"(dest = nil, &block);T@(FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::Attr[iI"decode_content:ETI"%Net::HTTPResponse#decode_content;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CSet to true automatically when the request did not contain an ;TI"*Accept-Encoding header from the user.;T:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPResponse;TcRDoc::NormalClass0U:RDoc::Attr[iI"msg:ETI"Net::HTTPResponse#msg;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JThe HTTP result message sent by the server. For example, 'Not Found'.;T:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPResponse;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"HTTPResponse:ETI"Net::HTTPResponse;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"HTTP response class.;To:RDoc::Markup::BlankLineo;	;[I"NThis class wraps together the response header and the response body (the ;TI"entity requested).;T@o;	;[I"JIt mixes in the HTTPHeader module, which provides access to response ;TI"Iheader values both via hash-like methods and via individual readers.;T@o;	;[I"@Note that each possible HTTP response code defines its own ;TI"4HTTPResponse subclass.  These are listed below.;T@o;	;[I"IAll classes are defined under the Net module. Indentation indicates ;TI";inheritance.  For a list of the classes see Net::HTTP.;T:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I"lib/net/http/responses.rb;T;0;0;0[[
I"	code;TI"R;T:publicFI"lib/net/http/response.rb;T[
I"decode_content;TI"RW;T;
F@*[
I"http_version;T@);
F@*[
I"message;T@);
F@*[
I"msg;T@);
F@*[
I"uri;T@);
F@*[U:RDoc::Constant[iI"CODE_CLASS_TO_OBJ;TI")Net::HTTPResponse::CODE_CLASS_TO_OBJ;T;
0o;;[;@%;0@%@cRDoc::NormalClass0U;[iI"CODE_TO_OBJ;TI"#Net::HTTPResponse::CODE_TO_OBJ;T;
0o;;[;@%;0@%@@=0[[I"Net::HTTPHeader;To;;[o;	;[I"Hnext is to fix bug in RDoc, where the private inside class << self ;TI"spills out.;T;@";0@*[[I"
class;T[[;
[[I"body_permitted?;T@*[:protected[[:private[[I"each_response_header;T@*[I"read_status_line;T@*[I"response_class;T@*[I"
instance;T[[;
[[I"	body;T@*[I"
body=;T@*[I"entity;T@*[I"inspect;T@*[I"read_body;T@*[I"
value;T@*[;[[;[[I"
procdest;T@*[I"read_body_0;T@*[I"stream_check;T@*[[U:RDoc::Context::Section[i0o;;[;0;0[@"@%@%cRDoc::TopLevelU:RDoc::AnyMethod[iI"body_permitted?:ETI"'Net::HTTPResponse::body_permitted?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%true if the response has a body.;T:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::Attr[iI"http_version:ETI"#Net::HTTPResponse#http_version;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".The HTTP version supported by the server.;T:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPResponse;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"read_status_line:ETI"(Net::HTTPResponse::read_status_line;TT:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[I"(sock);T@FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::Attr[iI"message:ETI"Net::HTTPResponse#message;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JThe HTTP result message sent by the server. For example, 'Not Found'.;T:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPResponse;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"stream_check:ETI"#Net::HTTPResponse#stream_check;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"response_class:ETI"&Net::HTTPResponse::response_class;TT:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[I"(code);T@FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	body:ETI"Net::HTTPResponse#body;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I""Returns the full entity body.;To:RDoc::Markup::BlankLineo;
;	[I"ECalling this method a second or subsequent time will return the ;TI"string already read.;T@o:RDoc::Markup::Verbatim;	[
I",http.request_get('/index.html') {|res|
;TI"  puts res.body
;TI"}
;TI"
;TI",http.request_get('/index.html') {|res|
;TI"*  p res.body.object_id   # 538149362
;TI"*  p res.body.object_id   # 538149362
;TI"};T:@format0:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[[I"entity;To;;	[;@;0I"();T@FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"read_body_0:ETI""Net::HTTPResponse#read_body_0;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[I"(dest);T@FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_response_header:ETI",Net::HTTPResponse::each_response_header;TT:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below00I"key, value;T[I"(sock);T@FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
value:ETI"Net::HTTPResponse#value;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Raises an HTTP error if the response is not 2xx (success).;T:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPResponse;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"entity:ETI"Net::HTTPResponse#entity;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/response.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPResponse;TcRDoc::NormalClass0[I"Net::HTTPResponse;TFI"	body;TU:RDoc::NormalClass[iI"HTTPPermanentRedirect:ETI"Net::HTTPPermanentRedirect;TI"Net::HTTPRedirection;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI")Net::HTTPPermanentRedirect::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPGatewayTimeOut:ETI"Net::HTTPGatewayTimeOut;TI"Net::HTTPServerError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"&Net::HTTPGatewayTimeOut::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalModule[iI"SMTPError:ETI"Net::SMTPError;T0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I".Module mixed in to all SMTP error classes;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"ProtoFatalError:ETI"Net::ProtoFatalError;TI"Net::ProtocolError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPRequestURITooLarge:ETI"Net::HTTPRequestURITooLong;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI")Net::HTTPRequestURITooLong::HAS_BODY;T:public0o;;[;	@;
0@I"HTTPRequestURITooLong;TcRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPRedirection:ETI"Net::HTTPRedirection;TI"Net::HTTPResponse;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"#Net::HTTPRedirection::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"EXCEPTION_TYPE;TI")Net::HTTPRedirection::EXCEPTION_TYPE;T;I"Net::HTTPRetriableError;To;;[;	@;
0@@@0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPConflict:ETI"Net::HTTPConflict;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI" Net::HTTPConflict::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"proxyport:ETI"Net::HTTP#proxyport;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass0[I"Net::HTTP;TFI"proxy_port;TU:RDoc::AnyMethod[iI"
do_start:ETI"Net::HTTP#do_start;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Trace:ETI"Net::HTTP::Trace;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"<See Net::HTTPGenericRequest for attributes and methods.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Trace::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"'Net::HTTP::Trace::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"(Net::HTTP::Trace::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::Attr[iI"read_timeout:ETI"Net::HTTP#read_timeout;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"INumber of seconds to wait for one block to be read (via one read(2) ;TI"Dcall). Any number may be used, including Floats for fractional ;TI"Hseconds. If the HTTP object cannot read data in this many seconds, ;TI"Mit raises a Net::ReadTimeout exception. The default value is 60 seconds.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::Attr[iI"max_version:ETI"Net::HTTP#max_version;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MSets the maximum SSL version.  See OpenSSL::SSL::SSLContext#max_version=;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"
start:ETI"Net::HTTP::start;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ECreates a new Net::HTTP object, then additionally opens the TCP ;TI"!connection and HTTP session.;To:RDoc::Markup::BlankLineo;
;	[I"!Arguments are the following:;To:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"_address_ ;T;	[o;
;	[I")hostname or IP address of the server;To;;[I"_port_    ;T;	[o;
;	[I"port of the server;To;;[I"_p_addr_  ;T;	[o;
;	[I"address of proxy;To;;[I"_p_port_  ;T;	[o;
;	[I"port of proxy;To;;[I"_p_user_  ;T;	[o;
;	[I"user of proxy;To;;[I"_p_pass_  ;T;	[o;
;	[I"pass of proxy;To;;[I"_opt_     ;T;	[o;
;	[I"optional hash;T@o;
;	[I"2_opt_ sets following values by its accessor. ;TI"?The keys are ca_file, ca_path, cert, cert_store, ciphers, ;TI"Lclose_on_empty_response, key, open_timeout, read_timeout, ssl_timeout, ;TI"Jssl_version, use_ssl, verify_callback, verify_depth and verify_mode. ;TI"IIf you set :use_ssl as true, you can use https and default value of ;TI"5verify_mode is set as OpenSSL::SSL::VERIFY_PEER.;T@o;
;	[I"/If the optional block is given, the newly ;TI"Bcreated Net::HTTP object is passed to it and closed when the ;TI"Dblock finishes.  In this case, the return value of this method ;TI"Bis the return value of the block.  If no block is given, the ;TI"Greturn value of this method is the newly created Net::HTTP object ;TI"Jitself, and the caller is responsible for closing it upon completion ;TI"using the finish() method.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0I"�HTTP.start(address, port, p_addr, p_port, p_user, p_pass, &block)
HTTP.start(address, port=nil, p_addr=:ENV, p_port=nil, p_user=nil, p_pass=nil, opt, &block)
;TI"	http;T[I"(address, *arg);T@WFI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"is_version_1_2?:ETI"Net::HTTP::is_version_1_2?;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass0[I"Net::HTTP;TTI"version_1_2?;TU:RDoc::AnyMethod[iI"on_connect:ETI"Net::HTTP#on_connect;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
trace:ETI"Net::HTTP#trace;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Sends a TRACE request to the +path+ and gets a response, ;TI"as an HTTPResponse object.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(path, initheader = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"cert_store:ETI"Net::HTTP#cert_store;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Sets the X509::Store to verify peer certificate.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"proxyaddr:ETI"Net::HTTP#proxyaddr;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass0[I"Net::HTTP;TFI"proxy_address;TU:RDoc::AnyMethod[iI"continue_timeout=:ETI" Net::HTTP#continue_timeout=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Setter for the continue_timeout attribute.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(sec);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	head:ETI"Net::HTTP#head;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Gets only the header from +path+ on the connected-to host. ;TI"8+header+ is a Hash like { 'Accept' => '*/*', ... }.;To:RDoc::Markup::BlankLineo;
;	[I"4This method returns a Net::HTTPResponse object.;T@o;
;	[I"+This method never raises an exception.;T@o:RDoc::Markup::Verbatim;	[
I"response = nil
;TI"4Net::HTTP.start('some.www.server', 80) {|http|
;TI"+  response = http.head('/index.html')
;TI"}
;TI"p response['content-type'];T:@format0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(path, initheader = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Delete:ETI"Net::HTTP::Delete;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"=See Net::HTTPGenericRequest for attributes and methods. ;TI"&See Net::HTTP for usage examples.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Delete::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"(Net::HTTP::Delete::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI")Net::HTTP::Delete::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::Attr[iI"local_host:ETI"Net::HTTP#local_host;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5The local host used to establish the connection.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"proxy?:ETI"Net::HTTP#proxy?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9True if requests for this connection will be proxied;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"sspi_auth?:ETI"Net::HTTP#sspi_auth?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(res);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"D:ETI"Net::HTTP#D;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(msg);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"Net::HTTP#inspect;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"proxy_class?:ETI"Net::HTTP::proxy_class?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Freturns true if self is a class which was created by HTTP::Proxy.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"read_timeout=:ETI"Net::HTTP#read_timeout=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"+Setter for the read_timeout attribute.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(sec);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"end_transport:ETI"Net::HTTP#end_transport;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(req, res);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Patch:ETI"Net::HTTP::Patch;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"<See Net::HTTPGenericRequest for attributes and methods.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Patch::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"'Net::HTTP::Patch::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"(Net::HTTP::Patch::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"get:ETI"Net::HTTP::get;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ESends a GET request to the target and returns the HTTP response ;TI"9as a string.  The target can either be specified as ;TI"6(+uri+), or as (+host+, +path+, +port+ = 80); so:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Cprint Net::HTTP.get(URI('http://www.example.com/index.html'))
;T:@format0o;
;	[I"or:;T@o;;	[I":print Net::HTTP.get('www.example.com', '/index.html');T;
0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"*(uri_or_host, path = nil, port = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"proxy_port:ETI"Net::HTTP#proxy_port;TI"W;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::Attr[iI"proxy_pass:ETI"Net::HTTP#proxy_pass;TI"W;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"
head2:ETI"Net::HTTP#head2;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"%(path, initheader = nil, &block);T@FI"	HTTP;TcRDoc::NormalClass0[I"Net::HTTP;TFI"request_head;TU:RDoc::Attr[iI"proxy_pass:ETI"Net::HTTP::proxy_pass;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KUser password for accessing proxy. If Net::HTTP does not use a proxy, ;TI"	nil.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0T@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"	Move:ETI"Net::HTTP::Move;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"<See Net::HTTPGenericRequest for attributes and methods.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Move::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"&Net::HTTP::Move::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"'Net::HTTP::Move::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"	copy:ETI"Net::HTTP#copy;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Sends a COPY request to the +path+ and gets a response, ;TI"as an HTTPResponse object.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(path, initheader = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"proxy_user:ETI"Net::HTTP::proxy_user;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KUser name for accessing proxy. If Net::HTTP does not use a proxy, nil.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0T@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::Attr[iI"verify_callback:ETI"Net::HTTP#verify_callback;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HSets the verify callback for the server certification verification.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"Net::HTTP::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FCreates a new Net::HTTP object for the specified server address, ;TI"Jwithout opening the TCP connection or initializing the HTTP session. ;TI":The +address+ should be a DNS hostname or IP address.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address, port = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"max_retries:ETI"Net::HTTP#max_retries;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::Attr[iI"proxy_from_env:ETI"Net::HTTP#proxy_from_env;TI"W;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"	get2:ETI"Net::HTTP#get2;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(path, initheader = nil);T@FI"	HTTP;TcRDoc::NormalClass0[I"Net::HTTP;TFI"request_get;TU:RDoc::AnyMethod[iI"
propfind:ETI"Net::HTTP#propfind;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ASends a PROPFIND request to the +path+ and gets a response, ;TI"as an HTTPResponse object.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"6(path, body = nil, initheader = {'Depth' => '0'});T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Unlock:ETI"Net::HTTP::Unlock;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"<See Net::HTTPGenericRequest for attributes and methods.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Unlock::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"(Net::HTTP::Unlock::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI")Net::HTTP::Unlock::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::Attr[iI"keep_alive_timeout:ETI"!Net::HTTP#keep_alive_timeout;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I">Seconds to reuse the connection of the previous request. ;TI"<If the idle time is less than this Keep-Alive Timeout, ;TI"LNet::HTTP reuses the TCP/IP socket used by the previous communication. ;TI"$The default value is 2 seconds.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::Attr[iI"	cert:ETI"Net::HTTP#cert;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FSets an OpenSSL::X509::Certificate object as client certificate. ;TI"C(This method is appeared in Michal Rokos's OpenSSL extension).;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"sspi_auth:ETI"Net::HTTP#sspi_auth;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(req);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"address:ETI"Net::HTTP#address;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3The DNS host name or IP address to connect to.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"	post:ETI"Net::HTTP#post;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HPosts +data+ (must be a String) to +path+. +header+ must be a Hash ;TI"%like { 'Accept' => '*/*', ... }.;To:RDoc::Markup::BlankLineo;
;	[I"4This method returns a Net::HTTPResponse object.;T@o;
;	[	I"9If called with a block, yields each fragment of the ;TI"8entity body in turn as a string as it is read from ;TI"@the socket.  Note that in this case, the returned response ;TI"3object will *not* contain a (meaningful) body.;T@o;
;	[I""+dest+ argument is obsolete. ;TI",It still works but you must not use it.;T@o;
;	[I"(This method never raises exception.;T@o:RDoc::Markup::Verbatim;	[
I"=response = http.post('/cgi-bin/search.rb', 'query=foo')
;TI"
;TI"# using block
;TI"'File.open('result.txt', 'w') {|f|
;TI"=  http.post('/cgi-bin/search.rb', 'query=foo') do |str|
;TI"    f.write str
;TI"  end
;TI"}
;T:@format0o;
;	[I"9You should set Content-Type: header field for POST. ;TI"7If no Content-Type: field given, this method uses ;TI"4"application/x-www-form-urlencoded" by default.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below00I"body_segment;T[I"/(path, data, initheader = nil, dest = nil);T@/FI"	HTTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Post:ETI"Net::HTTP::Post;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"=See Net::HTTPGenericRequest for attributes and methods. ;TI"&See Net::HTTP for usage examples.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Post::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"&Net::HTTP::Post::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"'Net::HTTP::Post::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"edit_path:ETI"Net::HTTP#edit_path;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(path);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"ssl_version:ETI"Net::HTTP#ssl_version;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ESets the SSL version.  See OpenSSL::SSL::SSLContext#ssl_version=;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"	Lock:ETI"Net::HTTP::Lock;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"<See Net::HTTPGenericRequest for attributes and methods.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Lock::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"&Net::HTTP::Lock::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"'Net::HTTP::Lock::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"options:ETI"Net::HTTP#options;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Sends a OPTIONS request to the +path+ and gets a response, ;TI"as an HTTPResponse object.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(path, initheader = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
use_ssl?:ETI"Net::HTTP#use_ssl?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Returns true if SSL/TLS is being used with HTTP.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"max_retries=:ETI"Net::HTTP#max_retries=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GMaximum number of times to retry an idempotent request in case of ;TI"=Net::ReadTimeout, IOError, EOFError, Errno::ECONNRESET, ;TI"@Errno::ECONNABORTED, Errno::EPIPE, OpenSSL::SSL::SSLError, ;TI"Timeout::Error. ;TI"EShould be a non-negative integer number. Zero means no retries. ;TI"The default value is 1.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(retries);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"	port:ETI"Net::HTTP#port;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#The port number to connect to.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"request_post:ETI"Net::HTTP#request_post;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Sends a POST request to the +path+.;To:RDoc::Markup::BlankLineo;
;	[I"8Returns the response as a Net::HTTPResponse object.;T@o;
;	[I"CWhen called with a block, the block is passed an HTTPResponse ;TI"Eobject.  The body of that response will not have been read yet; ;TI"Gthe block can process it using HTTPResponse#read_body, if desired.;T@o;
;	[I"Returns the response.;T@o;
;	[I"0This method never raises Net::* exceptions.;T@o:RDoc::Markup::Verbatim;	[I"# example
;TI"Iresponse = http.request_post('/cgi-bin/nice.rb', 'datadatadata...')
;TI"p response.status
;TI"Eputs response.body          # body is already read in this case
;TI"
;TI"# using block
;TI"Jhttp.request_post('/cgi-bin/nice.rb', 'datadatadata...') {|response|
;TI"  p response.status
;TI""  p response['content-type']
;TI"5  response.read_body do |str|   # read body now
;TI"    print str
;TI"  end
;TI"};T:@format0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below00I"
response;T[[I"
post2;To;;	[;@,;0I"#(path, data, initheader = nil);T@,FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"ssl_timeout:ETI"Net::HTTP#ssl_timeout;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""Sets the SSL timeout seconds.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"	Head:ETI"Net::HTTP::Head;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"=See Net::HTTPGenericRequest for attributes and methods. ;TI"&See Net::HTTP for usage examples.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Head::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"&Net::HTTP::Head::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"'Net::HTTP::Head::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::Attr[iI"proxy_port:ETI"Net::HTTP::proxy_port;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GPort number of proxy host. If Net::HTTP does not use a proxy, nil.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0T@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"
Proxy:ETI"Net::HTTP::Proxy;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CCreates an HTTP proxy class which behaves like Net::HTTP, but ;TI"1performs all access via the specified proxy.;To:RDoc::Markup::BlankLineo;
;	[I"MThis class is obsolete.  You may pass these same parameters directly to ;TI"DNet::HTTP.new.  See Net::HTTP.new for details of the arguments.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I">(p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"get:ETI"Net::HTTP#get;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IRetrieves data from +path+ on the connected-to host which may be an ;TI"<absolute path String or a URI to extract the path from.;To:RDoc::Markup::BlankLineo;
;	[I"B+initheader+ must be a Hash like { 'Accept' => '*/*', ... }, ;TI"'and it defaults to an empty hash. ;TI"BIf +initheader+ doesn't have the key 'accept-encoding', then ;TI"Ca value of "gzip;q=1.0,deflate;q=0.6,identity;q=0.3" is used, ;TI"?so that gzip compression is used in preference to deflate ;TI"Acompression, which is used in preference to no compression. ;TI"FRuby doesn't have libraries to support the compress (Lempel-Ziv) ;TI"Ccompression, so that is not supported.  The intent of this is ;TI"?to reduce bandwidth by default.   If this routine sets up ;TI"@compression, then it does the decompression also, removing ;TI"9the header as well to prevent confusion.  Otherwise ;TI"'it leaves the body as it found it.;T@o;
;	[I"4This method returns a Net::HTTPResponse object.;T@o;
;	[	I"9If called with a block, yields each fragment of the ;TI"8entity body in turn as a string as it is read from ;TI"@the socket.  Note that in this case, the returned response ;TI"3object will *not* contain a (meaningful) body.;T@o;
;	[I""+dest+ argument is obsolete. ;TI",It still works but you must not use it.;T@o;
;	[I"+This method never raises an exception.;T@o:RDoc::Markup::Verbatim;	[
I"(response = http.get('/index.html')
;TI"
;TI"# using block
;TI"'File.open('result.txt', 'w') {|f|
;TI"#  http.get('/~foo/') do |str|
;TI"    f.write str
;TI"  end
;TI"};T:@format0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below00I"body_segment;T[I")(path, initheader = nil, dest = nil);T@8FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"version_1_2:ETI"Net::HTTP::version_1_2;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Turns on net/http 1.2 (Ruby 1.8) features. ;TI")Defaults to ON in Ruby 1.8 or later.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"verify_depth:ETI"Net::HTTP#verify_depth;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CSets the maximum depth for the certificate chain verification.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"Proppatch:ETI"Net::HTTP::Proppatch;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"<See Net::HTTPGenericRequest for attributes and methods.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"!Net::HTTP::Proppatch::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"+Net::HTTP::Proppatch::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI",Net::HTTP::Proppatch::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"request_get:ETI"Net::HTTP#request_get;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Sends a GET request to the +path+. ;TI"8Returns the response as a Net::HTTPResponse object.;To:RDoc::Markup::BlankLineo;
;	[	I"KWhen called with a block, passes an HTTPResponse object to the block. ;TI";The body of the response will not have been read yet; ;TI"<the block can process it using HTTPResponse#read_body, ;TI"if desired.;T@o;
;	[I"Returns the response.;T@o;
;	[I"0This method never raises Net::* exceptions.;T@o:RDoc::Markup::Verbatim;	[I"0response = http.request_get('/index.html')
;TI"5# The entity body is already read in this case.
;TI" p response['content-type']
;TI"puts response.body
;TI"
;TI"# Using a block
;TI"1http.request_get('/index.html') {|response|
;TI""  p response['content-type']
;TI"5  response.read_body do |str|   # read body now
;TI"    print str
;TI"  end
;TI"};T:@format0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below00I"
response;T[[I"	get2;To;;	[;@*;0I"(path, initheader = nil);T@*FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"verify_mode:ETI"Net::HTTP#verify_mode;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NSets the flags for server the certification verification at beginning of ;TI"SSL/TLS session.;To:RDoc::Markup::BlankLineo;
;	[I"KOpenSSL::SSL::VERIFY_NONE or OpenSSL::SSL::VERIFY_PEER are acceptable.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"get_response:ETI"Net::HTTP::get_response;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ESends a GET request to the target and returns the HTTP response ;TI"Kas a Net::HTTPResponse object.  The target can either be specified as ;TI"6(+uri+), or as (+host+, +path+, +port+ = 80); so:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Lres = Net::HTTP.get_response(URI('http://www.example.com/index.html'))
;TI"print res.body
;T:@format0o;
;	[I"or:;T@o;;	[I"Dres = Net::HTTP.get_response('www.example.com', '/index.html')
;TI"print res.body;T;
0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"2(uri_or_host, path = nil, port = nil, &block);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"ca_file:ETI"Net::HTTP#ca_file;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Sets path of a CA certification file in PEM format.;To:RDoc::Markup::BlankLineo;
;	[I"2The file can contain several CA certificates.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"newobj:ETI"Net::HTTP::newobj;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"e(address, port = nil, p_addr = :ENV, p_port = nil, p_user = nil, p_pass = nil, p_no_proxy = nil);T@FI"	HTTP;TcRDoc::NormalClass0[I"Net::HTTP;TTI"new;TU:RDoc::AnyMethod[iI"http_default_port:ETI"!Net::HTTP::http_default_port;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?The default port to use for HTTP requests; defaults to 80.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"delete:ETI"Net::HTTP#delete;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Sends a DELETE request to the +path+ and gets a response, ;TI"as an HTTPResponse object.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"1(path, initheader = {'Depth' => 'Infinity'});T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"send_entity:ETI"Net::HTTP#send_entity;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4Executes a request which uses a representation ;TI"and returns its body.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"1(path, data, initheader, dest, type, &block);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"get_print:ETI"Net::HTTP::get_print;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HGets the body text from the target and outputs it to $stdout.  The ;TI"'target can either be specified as ;TI"6(+uri+), or as (+host+, +path+, +port+ = 80); so:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"BNet::HTTP.get_print URI('http://www.example.com/index.html')
;T:@format0o;
;	[I"or:;T@o;;	[I"9Net::HTTP.get_print 'www.example.com', '/index.html';T;
0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"*(uri_or_host, path = nil, port = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unlock:ETI"Net::HTTP#unlock;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Sends a UNLOCK request to the +path+ and gets a response, ;TI"as an HTTPResponse object.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"#(path, body, initheader = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"proppatch:ETI"Net::HTTP#proppatch;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BSends a PROPPATCH request to the +path+ and gets a response, ;TI"as an HTTPResponse object.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"#(path, body, initheader = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"do_finish:ETI"Net::HTTP#do_finish;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"finish:ETI"Net::HTTP#finish;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Finishes the HTTP session and closes the TCP connection. ;TI"8Raises IOError if the session has not been started.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"post_form:ETI"Net::HTTP::post_form;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"7Posts HTML form data to the specified URI object. ;TI"MThe form data must be provided as a Hash mapping from String to String. ;TI"
Example:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"9{ "cmd" => "search", "q" => "ruby", "max" => "50" }
;T:@format0o;
;	[I"GThis method also does Basic Authentication iff +url+.user exists. ;TI">But userinfo for authentication is deprecated (RFC3986). ;TI"%So this feature will be removed.;T@o;
;	[I"
Example:;T@o;;	[
I"require 'net/http'
;TI"require 'uri'
;TI"
;TI"CNet::HTTP.post_form URI('http://www.example.com/search.cgi'),
;TI"9                    { "q" => "ruby", "max" => "50" };T;
0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(url, params);T@#FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"send_request:ETI"Net::HTTP#send_request;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Sends an HTTP request to the HTTP server. ;TI"1Also sends a DATA string if +data+ is given.;To:RDoc::Markup::BlankLineo;
;	[I"(Returns a Net::HTTPResponse object.;T@o;
;	[I"0This method never raises Net::* exceptions.;T@o:RDoc::Markup::Verbatim;	[I"8response = http.send_request('GET', '/index.html')
;TI"puts response.body;T:@format0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"+(name, path, data = nil, header = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"proxy_address:ETI"Net::HTTP::proxy_address;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CAddress of proxy host. If Net::HTTP does not use a proxy, nil.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0T@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::Attr[iI"close_on_empty_response:ETI"&Net::HTTP#close_on_empty_response;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::Attr[iI"continue_timeout:ETI"Net::HTTP#continue_timeout;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LSeconds to wait for 100 Continue response. If the HTTP object does not ;TI"Lreceive a response in this many seconds it sends the request body. The ;TI"default value is +nil+.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"
started?:ETI"Net::HTTP#started?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Returns true if the HTTP session has been started.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[[I"active?;To;;	[;@;0I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"ciphers:ETI"Net::HTTP#ciphers;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GSets the available ciphers.  See OpenSSL::SSL::SSLContext#ciphers=;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"	HTTP:ETI"Net::HTTP;TI"
Protocol;To:RDoc::Markup::Document:@parts[o;;[{S:RDoc::Markup::Heading:
leveli:	textI"!An HTTP client API for Ruby.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"GNet::HTTP provides a rich library which can be used to build HTTP ;TI"3user-agents.  For more details about HTTP see ;TI"3[RFC2616](http://www.ietf.org/rfc/rfc2616.txt);T@o;
;[I"FNet::HTTP is designed to work closely with URI.  URI::HTTP#host, ;TI"HURI::HTTP#port and URI::HTTP#request_uri are designed to work with ;TI"Net::HTTP.;T@o;
;[I"JIf you are only performing a few GET requests you should try OpenURI.;T@S;	;
i;I"Simple Examples;T@o;
;[I"8All examples assume you have loaded Net::HTTP with:;T@o:RDoc::Markup::Verbatim;[I"require 'net/http'
;T:@format0o;
;[I"MThis will also require 'uri' so you don't need to require it separately.;T@o;
;[I"CThe Net::HTTP methods in the following section do not persist ;TI"Lconnections.  They are not recommended if you are performing many HTTP ;TI"requests.;T@S;	;
i;I"GET;T@o;;[I"=Net::HTTP.get('example.com', '/index.html') # => String
;T;0S;	;
i;I"GET by URI;T@o;;[I"9uri = URI('http://example.com/index.html?count=10')
;TI"$Net::HTTP.get(uri) # => String
;T;0S;	;
i;I" GET with Dynamic Parameters;T@o;;[I"0uri = URI('http://example.com/index.html')
;TI"+params = { :limit => 10, :page => 3 }
;TI"-uri.query = URI.encode_www_form(params)
;TI"
;TI"'res = Net::HTTP.get_response(uri)
;TI"2puts res.body if res.is_a?(Net::HTTPSuccess)
;T;0S;	;
i;I"	POST;T@o;;[I"4uri = URI('http://www.example.com/search.cgi')
;TI"Bres = Net::HTTP.post_form(uri, 'q' => 'ruby', 'max' => '50')
;TI"puts res.body
;T;0S;	;
i;I"POST with Multiple Values;T@o;;[I"4uri = URI('http://www.example.com/search.cgi')
;TI"Lres = Net::HTTP.post_form(uri, 'q' => ['ruby', 'perl'], 'max' => '50')
;TI"puts res.body
;T;0S;	;
i;I"How to use Net::HTTP;T@o;
;[I"NThe following example code can be used as the basis of a HTTP user-agent ;TI"Cwhich can perform a variety of request types using persistent ;TI"connections.;T@o;;[I"<uri = URI('http://example.com/some_path?query=string')
;TI"
;TI"3Net::HTTP.start(uri.host, uri.port) do |http|
;TI"(  request = Net::HTTP::Get.new uri
;TI"
;TI"B  response = http.request request # Net::HTTPResponse object
;TI"	end
;T;0o;
;[	I"ONet::HTTP::start immediately creates a connection to an HTTP server which ;TI"Mis kept open for the duration of the block.  The connection will remain ;TI"Hopen for multiple requests in the block if the server indicates it ;TI"%supports persistent connections.;T@o;
;[I"PThe request types Net::HTTP supports are listed below in the section "HTTP ;TI"Request Classes".;T@o;
;[	I"NIf you wish to re-use a connection across multiple HTTP requests without ;TI"Nautomatically closing it you can use ::new instead of ::start.  #request ;TI"Pwill automatically open a connection to the server if one is not currently ;TI"?open.  You can manually close the connection with #finish.;T@o;
;[I"PFor all the Net::HTTP request objects and shortcut request methods you may ;TI"Osupply either a String for the request path or a URI from which Net::HTTP ;TI"#will extract the request path.;T@S;	;
i;I"Response Data;T@o;;[I"0uri = URI('http://example.com/index.html')
;TI"'res = Net::HTTP.get_response(uri)
;TI"
;TI"# Headers
;TI".res['Set-Cookie']            # => String
;TI"-res.get_fields('set-cookie') # => Array
;TI"-res.to_hash['set-cookie']    # => Array
;TI",puts "Headers: #{res.to_hash.inspect}"
;TI"
;TI"# Status
;TI"$puts res.code       # => '200'
;TI"#puts res.message    # => 'OK'
;TI"'puts res.class.name # => 'HTTPOK'
;TI"
;TI"# Body
;TI"3puts res.body if res.response_body_permitted?
;T;0S;	;
i;I"Following Redirection;T@o;
;[I"LEach Net::HTTPResponse object belongs to a class for its response code.;T@o;
;[
I"HFor example, all 2XX responses are instances of a Net::HTTPSuccess ;TI"Gsubclass, a 3XX response is an instance of a Net::HTTPRedirection ;TI"Osubclass and a 200 response is an instance of the Net::HTTPOK class.  For ;TI"Jdetails of response classes, see the section "HTTP Response Classes" ;TI"below.;T@o;
;[I"OUsing a case statement you can handle various types of responses properly:;T@o;;[I"$def fetch(uri_str, limit = 10)
;TI"/  # You should choose a better exception.
;TI"D  raise ArgumentError, 'too many HTTP redirects' if limit == 0
;TI"
;TI"7  response = Net::HTTP.get_response(URI(uri_str))
;TI"
;TI"  case response
;TI""  when Net::HTTPSuccess then
;TI"    response
;TI"&  when Net::HTTPRedirection then
;TI")    location = response['location']
;TI"*    warn "redirected to #{location}"
;TI"$    fetch(location, limit - 1)
;TI"  else
;TI"    response.value
;TI"  end
;TI"	end
;TI"
;TI"-print fetch('http://www.ruby-lang.org')
;T;0S;	;
i;I"	POST;T@o;
;[I"OA POST can be made using the Net::HTTP::Post request class.  This example ;TI"$creates a urlencoded POST body:;T@o;;[I"2uri = URI('http://www.example.com/todo.cgi')
;TI"$req = Net::HTTP::Post.new(uri)
;TI"Ereq.set_form_data('from' => '2005-01-01', 'to' => '2005-03-31')
;TI"
;TI"=res = Net::HTTP.start(uri.hostname, uri.port) do |http|
;TI"  http.request(req)
;TI"	end
;TI"
;TI"case res
;TI"1when Net::HTTPSuccess, Net::HTTPRedirection
;TI"  # OK
;TI"
else
;TI"  res.value
;TI"	end
;T;0o;
;[I"KAt this time Net::HTTP does not support multipart/form-data.  To send ;TI"8multipart/form-data use Net::HTTPRequest#body= and ;TI"$Net::HTTPRequest#content_type=:;T@o;;[I"$req = Net::HTTP::Post.new(uri)
;TI"req.body = multipart_data
;TI".req.content_type = 'multipart/form-data'
;T;0o;
;[I"NOther requests that can contain a body such as PUT can be created in the ;TI"Esame way using the corresponding request class (Net::HTTP::Put).;T@S;	;
i;I"Setting Headers;T@o;
;[	I"@The following example performs a conditional GET using the ;TI"MIf-Modified-Since header.  If the files has not been modified since the ;TI"Ptime in the header a Not Modified response will be returned.  See RFC 2616 ;TI"%section 9.3 for further details.;T@o;;[I"5uri = URI('http://example.com/cached_response')
;TI"(file = File.stat 'cached_response'
;TI"
;TI"#req = Net::HTTP::Get.new(uri)
;TI"3req['If-Modified-Since'] = file.mtime.rfc2822
;TI"
;TI";res = Net::HTTP.start(uri.hostname, uri.port) {|http|
;TI"  http.request(req)
;TI"}
;TI"
;TI")open 'cached_response', 'w' do |io|
;TI"  io.write res.body
;TI"(end if res.is_a?(Net::HTTPSuccess)
;T;0S;	;
i;I"Basic Authentication;T@o;
;[I"4Basic authentication is performed according to ;TI"3[RFC2617](http://www.ietf.org/rfc/rfc2617.txt);T@o;;[I":uri = URI('http://example.com/index.html?key=value')
;TI"
;TI"#req = Net::HTTP::Get.new(uri)
;TI"#req.basic_auth 'user', 'pass'
;TI"
;TI";res = Net::HTTP.start(uri.hostname, uri.port) {|http|
;TI"  http.request(req)
;TI"}
;TI"puts res.body
;T;0S;	;
i;I"Streaming Response Bodies;T@o;
;[I"LBy default Net::HTTP reads an entire response into memory.  If you are ;TI"Nhandling large files or wish to implement a progress bar you can instead ;TI"'stream the body directly to an IO.;T@o;;[I"0uri = URI('http://example.com/large_file')
;TI"
;TI"3Net::HTTP.start(uri.host, uri.port) do |http|
;TI"(  request = Net::HTTP::Get.new uri
;TI"
;TI"*  http.request request do |response|
;TI"(    open 'large_file', 'w' do |io|
;TI")      response.read_body do |chunk|
;TI"        io.write chunk
;TI"      end
;TI"
    end
;TI"  end
;TI"	end
;T;0S;	;
i;I"
HTTPS;T@o;
;[I"CHTTPS is enabled for an HTTP connection by Net::HTTP#use_ssl=.;T@o;;[I"Duri = URI('https://secure.example.com/some_path?query=string')
;TI"
;TI"ENet::HTTP.start(uri.host, uri.port, :use_ssl => true) do |http|
;TI"(  request = Net::HTTP::Get.new uri
;TI"B  response = http.request request # Net::HTTPResponse object
;TI"	end
;T;0o;
;[I"IOr if you simply want to make a GET request, you may pass in an URI ;TI"Fobject that has a HTTPS URL. Net::HTTP automatically turn on TLS ;TI"=verification if the URI object has a 'https' URI scheme.;T@o;;[I"'uri = URI('https://example.com/')
;TI"$Net::HTTP.get(uri) # => String
;T;0o;
;[I"OIn previous versions of Ruby you would need to require 'net/https' to use ;TI"#HTTPS. This is no longer true.;T@S;	;
i;I"Proxies;T@o;
;[I"GNet::HTTP will automatically create a proxy from the +http_proxy+ ;TI"Menvironment variable if it is present.  To disable use of +http_proxy+, ;TI"&pass +nil+ for the proxy address.;T@o;
;[I"(You may also create a custom proxy:;T@o;;[I"$proxy_addr = 'your.proxy.host'
;TI"proxy_port = 8080
;TI"
;TI"NNet::HTTP.new('example.com', nil, proxy_addr, proxy_port).start { |http|
;TI"/  # always proxy via your.proxy.addr:8080
;TI"}
;T;0o;
;[I"MSee Net::HTTP.new for further details and examples such as proxies that ;TI"%require a username and password.;T@S;	;
i;I"Compression;T@o;
;[I"NNet::HTTP automatically adds Accept-Encoding for compression of response ;TI"Obodies and automatically decompresses gzip and deflate responses unless a ;TI"Range header was sent.;T@o;
;[I"NCompression can be disabled through the Accept-Encoding: identity header.;T@S;	;
i;I"HTTP Request Classes;T@o;
;[I".Here is the HTTP request class hierarchy.;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"Net::HTTPRequest;To;;;;[o;;0;[o;
;[I"Net::HTTP::Get;To;;0;[o;
;[I"Net::HTTP::Head;To;;0;[o;
;[I"Net::HTTP::Post;To;;0;[o;
;[I"Net::HTTP::Patch;To;;0;[o;
;[I"Net::HTTP::Put;To;;0;[o;
;[I"Net::HTTP::Proppatch;To;;0;[o;
;[I"Net::HTTP::Lock;To;;0;[o;
;[I"Net::HTTP::Unlock;To;;0;[o;
;[I"Net::HTTP::Options;To;;0;[o;
;[I"Net::HTTP::Propfind;To;;0;[o;
;[I"Net::HTTP::Delete;To;;0;[o;
;[I"Net::HTTP::Move;To;;0;[o;
;[I"Net::HTTP::Copy;To;;0;[o;
;[I"Net::HTTP::Mkcol;To;;0;[o;
;[I"Net::HTTP::Trace;T@S;	;
i;I"HTTP Response Classes;T@o;
;[I"LHere is HTTP response class hierarchy.  All classes are defined in Net ;TI"4module and are subclasses of Net::HTTPResponse.;T@o;;:	NOTE;[?o;;[I"HTTPUnknownResponse;T;[o;
;[I""For unhandled HTTP extensions;To;;[I"HTTPInformation;T;[o;
;[I"1xx;To;;[I"HTTPContinue;T;[o;
;[I"100;To;;[I"HTTPSwitchProtocol;T;[o;
;[I"101;To;;[I"HTTPSuccess;T;[o;
;[I"2xx;To;;[I"HTTPOK;T;[o;
;[I"200;To;;[I"HTTPCreated;T;[o;
;[I"201;To;;[I"HTTPAccepted;T;[o;
;[I"202;To;;[I"$HTTPNonAuthoritativeInformation;T;[o;
;[I"203;To;;[I"HTTPNoContent;T;[o;
;[I"204;To;;[I"HTTPResetContent;T;[o;
;[I"205;To;;[I"HTTPPartialContent;T;[o;
;[I"206;To;;[I"HTTPMultiStatus;T;[o;
;[I"207;To;;[I"HTTPIMUsed;T;[o;
;[I"226;To;;[I"HTTPRedirection;T;[o;
;[I"3xx;To;;[I"HTTPMultipleChoices;T;[o;
;[I"300;To;;[I"HTTPMovedPermanently;T;[o;
;[I"301;To;;[I"HTTPFound;T;[o;
;[I"302;To;;[I"HTTPSeeOther;T;[o;
;[I"303;To;;[I"HTTPNotModified;T;[o;
;[I"304;To;;[I"HTTPUseProxy;T;[o;
;[I"305;To;;[I"HTTPTemporaryRedirect;T;[o;
;[I"307;To;;[I"HTTPClientError;T;[o;
;[I"4xx;To;;[I"HTTPBadRequest;T;[o;
;[I"400;To;;[I"HTTPUnauthorized;T;[o;
;[I"401;To;;[I"HTTPPaymentRequired;T;[o;
;[I"402;To;;[I"HTTPForbidden;T;[o;
;[I"403;To;;[I"HTTPNotFound;T;[o;
;[I"404;To;;[I"HTTPMethodNotAllowed;T;[o;
;[I"405;To;;[I"HTTPNotAcceptable;T;[o;
;[I"406;To;;[I"$HTTPProxyAuthenticationRequired;T;[o;
;[I"407;To;;[I"HTTPRequestTimeOut;T;[o;
;[I"408;To;;[I"HTTPConflict;T;[o;
;[I"409;To;;[I"
HTTPGone;T;[o;
;[I"410;To;;[I"HTTPLengthRequired;T;[o;
;[I"411;To;;[I"HTTPPreconditionFailed;T;[o;
;[I"412;To;;[I"HTTPRequestEntityTooLarge;T;[o;
;[I"413;To;;[I"HTTPRequestURITooLong;T;[o;
;[I"414;To;;[I"HTTPUnsupportedMediaType;T;[o;
;[I"415;To;;[I"%HTTPRequestedRangeNotSatisfiable;T;[o;
;[I"416;To;;[I"HTTPExpectationFailed;T;[o;
;[I"417;To;;[I"HTTPUnprocessableEntity;T;[o;
;[I"422;To;;[I"HTTPLocked;T;[o;
;[I"423;To;;[I"HTTPFailedDependency;T;[o;
;[I"424;To;;[I"HTTPUpgradeRequired;T;[o;
;[I"426;To;;[I"HTTPPreconditionRequired;T;[o;
;[I"428;To;;[I"HTTPTooManyRequests;T;[o;
;[I"429;To;;[I"$HTTPRequestHeaderFieldsTooLarge;T;[o;
;[I"431;To;;[I"#HTTPUnavailableForLegalReasons;T;[o;
;[I"451;To;;[I"HTTPServerError;T;[o;
;[I"5xx;To;;[I"HTTPInternalServerError;T;[o;
;[I"500;To;;[I"HTTPNotImplemented;T;[o;
;[I"501;To;;[I"HTTPBadGateway;T;[o;
;[I"502;To;;[I"HTTPServiceUnavailable;T;[o;
;[I"503;To;;[I"HTTPGatewayTimeOut;T;[o;
;[I"504;To;;[I"HTTPVersionNotSupported;T;[o;
;[I"505;To;;[I"HTTPInsufficientStorage;T;[o;
;[I"507;To;;[I"&HTTPNetworkAuthenticationRequired;T;[o;
;[I"511;T@o;
;[I"KThere is also the Net::HTTPBadResponse exception which is raised when ;TI"there is a protocol error.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[%[
I"proxy_address;TI"R;T:publicTI"lib/net/http.rb;T[
I"proxy_pass;T@D;T@E[
I"proxy_port;T@D;T@E[
I"proxy_user;T@D;T@E[
I"address;T@D;F@E[
I"ca_file;TI"RW;T;F@E[
I"ca_path;T@P;F@E[
I"	cert;T@P;F@E[
I"cert_store;T@P;F@E[
I"ciphers;T@P;F@E[
I"close_on_empty_response;T@P;F@E[
I"continue_timeout;T@D;F@E[
I"keep_alive_timeout;T@P;F@E[
I"key;T@P;F@E[
I"local_host;T@P;F@E[
I"local_port;T@P;F@E[
I"max_retries;T@D;F@E[
I"max_version;T@P;F@E[
I"min_version;T@P;F@E[
I"open_timeout;T@P;F@E[
I"	port;T@D;F@E[
I"proxy_address;TI"W;T;F@E[
I"proxy_from_env;T@q;F@E[
I"proxy_pass;T@q;F@E[
I"proxy_port;T@q;F@E[
I"proxy_user;T@q;F@E[
I"read_timeout;T@D;F@E[
I"ssl_timeout;T@P;F@E[
I"ssl_version;T@P;F@E[
I"verify_callback;T@P;F@E[
I"verify_depth;T@P;F@E[
I"verify_mode;T@P;F@E[	U:RDoc::Constant[iI"SSL_IVNAMES;TI"Net::HTTP::SSL_IVNAMES;T;0o;;[;@@;0@@@cRDoc::NormalClass0U;[iI"SSL_ATTRIBUTES;TI"Net::HTTP::SSL_ATTRIBUTES;T;0o;;[;@@;0@@@@�0U;[iI"+ENVIRONMENT_VARIABLE_IS_MULTIUSER_SAFE;TI"6Net::HTTP::ENVIRONMENT_VARIABLE_IS_MULTIUSER_SAFE;T;0o;;[;@@;0@@@@�0U;[iI"STATUS_CODES;TI"Net::HTTP::STATUS_CODES;T;0o;;[;I"lib/net/http/status.rb;T;0@�@@�0[[[I"
class;T[[;[[I"
Proxy;T@E[I"default_port;T@E[I"get;T@E[I"get_print;T@E[I"get_response;T@E[I"http_default_port;T@E[I"https_default_port;T@E[I"is_version_1_2?;T@E[I"new;T@E[I"newobj;T@E[I"	post;T@E[I"post_form;T@E[I"proxy_class?;T@E[I"
start;T@E[I"version_1_2;T@E[I"version_1_2?;T@E[:protected[[:private[[I"
instance;T[[;[/[I"active?;T@E[I"continue_timeout=;T@E[I"	copy;T@E[I"delete;T@E[I"finish;T@E[I"get;T@E[I"	get2;T@E[I"	head;T@E[I"
head2;T@E[I"inspect;T@E[I"	lock;T@E[I"max_retries=;T@E[I"
mkcol;T@E[I"	move;T@E[I"options;T@E[I"
patch;T@E[I"peer_cert;T@E[I"	post;T@E[I"
post2;T@E[I"
propfind;T@E[I"proppatch;T@E[I"proxy?;T@E[I"proxy_address;T@E[I"proxy_from_env?;T@E[I"proxy_pass;T@E[I"proxy_port;T@E[I"proxy_user;T@E[I"proxyaddr;T@E[I"proxyport;T@E[I"read_timeout=;T@E[I"request;T@E[I"request_get;T@E[I"request_head;T@E[I"request_post;T@E[I"send_request;T@E[I"set_debug_output;T@E[I"
start;T@E[I"
started?;T@E[I"
trace;T@E[I"unlock;T@E[I"
use_ssl=;T@E[I"
use_ssl?;T@E[;[[;[[I"D;T@E[I"addr_port;T@E[I"begin_transport;T@E[I"connect;T@E[I"do_finish;T@E[I"
do_start;T@E[I"edit_path;T@E[I"end_transport;T@E[I"keep_alive?;T@E[I"on_connect;T@E[I"send_entity;T@E[I"sspi_auth;T@E[I"sspi_auth?;T@E[I"transport_request;T@E[[U:RDoc::Context::Section[i0o;;[;0;0[@@I"$lib/net/http/generic_request.rb;TI" lib/net/http/proxy_delta.rb;TI"lib/net/http/requests.rb;T@�I"lib/open-uri.rb;TI"#lib/rubygems/remote_fetcher.rb;TI"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"active?:ETI"Net::HTTP#active?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass0[I"Net::HTTP;TFI"
started?;TU:RDoc::AnyMethod[iI"request_head:ETI"Net::HTTP#request_head;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ASends a HEAD request to the +path+ and returns the response ;TI"#as a Net::HTTPResponse object.;To:RDoc::Markup::BlankLineo;
;	[I"Returns the response.;T@o;
;	[I"0This method never raises Net::* exceptions.;T@o:RDoc::Markup::Verbatim;	[I"1response = http.request_head('/index.html')
;TI"p response['content-type'];T:@format0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[[I"
head2;To;;	[;@;0I"%(path, initheader = nil, &block);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"key:ETI"Net::HTTP#key;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Sets an OpenSSL::PKey::RSA or OpenSSL::PKey::DSA object. ;TI"C(This method is appeared in Michal Rokos's OpenSSL extension.);T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"
Mkcol:ETI"Net::HTTP::Mkcol;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"<See Net::HTTPGenericRequest for attributes and methods.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Mkcol::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"'Net::HTTP::Mkcol::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"(Net::HTTP::Mkcol::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"
Propfind:ETI"Net::HTTP::Propfind;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"<See Net::HTTPGenericRequest for attributes and methods.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI" Net::HTTP::Propfind::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"*Net::HTTP::Propfind::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"+Net::HTTP::Propfind::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"Options:ETI"Net::HTTP::Options;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"<See Net::HTTPGenericRequest for attributes and methods.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Options::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI")Net::HTTP::Options::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"*Net::HTTP::Options::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"
use_ssl=:ETI"Net::HTTP#use_ssl=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"Turn on/off SSL. ;TI"4This flag must be set before starting session. ;TI"8If you change use_ssl value after session started, ;TI"'a Net::HTTP object raises IOError.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(flag);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Get:ETI"Net::HTTP::Get;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"=See Net::HTTPGenericRequest for attributes and methods. ;TI"&See Net::HTTP for usage examples.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Get::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"%Net::HTTP::Get::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"&Net::HTTP::Get::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"request:ETI"Net::HTTP#request;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Sends an HTTPRequest object +req+ to the HTTP server.;To:RDoc::Markup::BlankLineo;
;	[I"HIf +req+ is a Net::HTTP::Post or Net::HTTP::Put request containing ;TI"Jdata, the data is also sent. Providing data for a Net::HTTP::Head or ;TI"8Net::HTTP::Get request results in an ArgumentError.;T@o;
;	[I"$Returns an HTTPResponse object.;T@o;
;	[	I"KWhen called with a block, passes an HTTPResponse object to the block. ;TI";The body of the response will not have been read yet; ;TI"<the block can process it using HTTPResponse#read_body, ;TI"if desired.;T@o;
;	[I"0This method never raises Net::* exceptions.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below00I"
response;T[I"(req, body = nil);T@ FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"ca_path:ETI"Net::HTTP#ca_path;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LSets path of a CA certification directory containing certifications in ;TI"PEM format.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::Attr[iI"proxy_address:ETI"Net::HTTP#proxy_address;TI"W;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"set_debug_output:ETI"Net::HTTP#set_debug_output;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I":*WARNING* This method opens a serious security hole. ;TI".Never use this method in production code.;To:RDoc::Markup::BlankLineo;
;	[I")Sets an output stream for debugging.;T@o:RDoc::Markup::Verbatim;	[I"$http = Net::HTTP.new(hostname)
;TI"#http.set_debug_output $stderr
;TI"http.start { .... };T:@format0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(output);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	post:ETI"Net::HTTP::post;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I",Posts data to the specified URI object.;To:RDoc::Markup::BlankLineo;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[I"require 'net/http'
;TI"require 'uri'
;TI"
;TI">Net::HTTP.post URI('http://www.example.com/api/search'),
;TI">               { "q" => "ruby", "max" => "50" }.to_json,
;TI"8               "Content-Type" => "application/json";T:@format0:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(url, data, header = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"addr_port:ETI"Net::HTTP#addr_port;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"
utils;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"proxy_from_env?:ETI"Net::HTTP#proxy_from_env?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MTrue if the proxy for this connection is determined from the environment;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"connect:ETI"Net::HTTP#connect;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"keep_alive?:ETI"Net::HTTP#keep_alive?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(req, res);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"https_default_port:ETI""Net::HTTP::https_default_port;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AThe default port to use for HTTPS requests; defaults to 443.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
patch:ETI"Net::HTTP#patch;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Sends a PATCH request to the +path+ and gets a response, ;TI"as an HTTPResponse object.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below00I"body_segment;T[I"/(path, data, initheader = nil, dest = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	lock:ETI"Net::HTTP#lock;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Sends a LOCK request to the +path+ and gets a response, ;TI"as an HTTPResponse object.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"#(path, body, initheader = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"min_version:ETI"Net::HTTP#min_version;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MSets the minimum SSL version.  See OpenSSL::SSL::SSLContext#min_version=;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"version_1_2?:ETI"Net::HTTP::version_1_2?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Returns true if net/http is in version 1.2 mode. ;TI"Defaults to true.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[[I"is_version_1_2?;To;;	[;@;0I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
post2:ETI"Net::HTTP#post2;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"#(path, data, initheader = nil);T@FI"	HTTP;TcRDoc::NormalClass0[I"Net::HTTP;TFI"request_post;TU:RDoc::AnyMethod[iI"peer_cert:ETI"Net::HTTP#peer_cert;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Returns the X.509 certificates the server presented.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_port:ETI"Net::HTTP::default_port;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?The default port to use for HTTP requests; defaults to 80.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	move:ETI"Net::HTTP#move;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Sends a MOVE request to the +path+ and gets a response, ;TI"as an HTTPResponse object.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"(path, initheader = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Put:ETI"Net::HTTP::Put;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"=See Net::HTTPGenericRequest for attributes and methods. ;TI"&See Net::HTTP for usage examples.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Put::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"%Net::HTTP::Put::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"&Net::HTTP::Put::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::Attr[iI"proxy_user:ETI"Net::HTTP#proxy_user;TI"W;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"	Copy:ETI"Net::HTTP::Copy;TI"Net::HTTPRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"<See Net::HTTPGenericRequest for attributes and methods.;T:
@fileI"lib/net/http/requests.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"METHOD;TI"Net::HTTP::Copy::METHOD;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"REQUEST_HAS_BODY;TI"&Net::HTTP::Copy::REQUEST_HAS_BODY;T;
0o;;[;
@;0@@@0U;[iI"RESPONSE_HAS_BODY;TI"'Net::HTTP::Copy::RESPONSE_HAS_BODY;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"
start:ETI"Net::HTTP#start;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"-Opens a TCP connection and HTTP session.;To:RDoc::Markup::BlankLineo;
;	[I"FWhen this method is called with a block, it passes the Net::HTTP ;TI"Iobject to the block, and closes the TCP connection and HTTP session ;TI"'after the block has been executed.;T@o;
;	[I"BWhen called with a block, it returns the return value of the ;TI"'block; otherwise, it returns self.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below00I"	http;T[I"();T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"transport_request:ETI" Net::HTTP#transport_request;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below00I"res;T[I"
(req);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"begin_transport:ETI"Net::HTTP#begin_transport;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(req);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"local_port:ETI"Net::HTTP#local_port;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5The local port used to establish the connection.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::Attr[iI"open_timeout:ETI"Net::HTTP#open_timeout;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"FNumber of seconds to wait for the connection to open. Any number ;TI"Gmay be used, including Floats for fractional seconds. If the HTTP ;TI"Gobject cannot open a connection in this many seconds, it raises a ;TI"ANet::OpenTimeout exception. The default value is 60 seconds.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"
mkcol:ETI"Net::HTTP#mkcol;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Sends a MKCOL request to the +path+ and gets a response, ;TI"as an HTTPResponse object.;T:
@fileI"lib/net/http.rb;T:0@omit_headings_from_table_of_contents_below000[I")(path, body = nil, initheader = nil);T@FI"	HTTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ProtoSyntaxError:ETI"Net::ProtoSyntaxError;TI"Net::ProtocolError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPRequest:ETI"Net::HTTPRequest;TI"Net::HTTPGenericRequest;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[	I"HTTP request class. ;TI"HThis class wraps together the request header and the request path. ;TI"LYou cannot use this class directly. Instead, you should use one of its ;TI"Bsubclasses: Net::HTTP::Get, Net::HTTP::Post, Net::HTTP::Head.;T:
@fileI"lib/net/http/request.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"new;TI"lib/net/http/request.rb;T[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"new:ETI"Net::HTTPRequest::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Creates an HTTP request object for +path+.;To:RDoc::Markup::BlankLineo;
;	[I"B+initheader+ are the default headers to use.  Net::HTTP adds ;TI"GAccept-Encoding to enable compression of the response body unless ;TI";Accept-Encoding or Range are supplied in +initheader+.;T:
@fileI"lib/net/http/request.rb;T:0@omit_headings_from_table_of_contents_below000[I"(path, initheader = nil);T@TI"HTTPRequest;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"HTTPServerException:ETI"Net::HTTPServerException;TI"Net::ProtoServerError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/exceptions.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"Net::HTTPExceptions;To;;[o:RDoc::Markup::Paragraph;[I"NWe cannot use the name "HTTPServerError", it is the name of the response.;T;	@;
0I"lib/net/http/exceptions.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"debug_output=:ETI"Net::SMTP#debug_output=;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"9WARNING: This method causes serious security holes. ;TI"(Use this method for only debugging.;To:RDoc::Markup::BlankLineo;
;	[I"-Set an output stream for debug logging. ;TI"&You must call this before #start.;T@o:RDoc::Markup::Verbatim;	[I"# example
;TI"&smtp = Net::SMTP.new(addr, port)
;TI"#smtp.set_debug_output $stderr
;TI"smtp.start do |smtp|
;TI"  ....
;TI"end;T:@format0:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[[I"set_debug_output;To;;	[;@;0I"
(arg);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
getok:ETI"Net::SMTP#getok;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(reqline);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
do_start:ETI"Net::SMTP#do_start;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"*(helo_domain, user, secret, authtype);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"open_message_stream:ETI""Net::SMTP#open_message_stream;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Opens a message writer stream and gives it to the block. ;TI"BThe stream is valid only in the block, and has these methods:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:	NOTE:@items[
o:RDoc::Markup::ListItem:@label[I"puts(str = '');T;	[o;
;	[I"outputs STR and CR LF.;To;;[I"print(str);T;	[o;
;	[I"outputs STR.;To;;[I"printf(fmt, *args);T;	[o;
;	[I" outputs sprintf(fmt,*args).;To;;[I"write(str);T;	[o;
;	[I"9outputs STR and returns the length of written bytes.;To;;[I"<<(str);T;	[o;
;	[I""outputs STR and returns self.;T@o;
;	[I"AIf a single CR ("\r") or LF ("\n") is found in the message, ;TI"Bit is converted to the CR LF pair.  You cannot send a binary ;TI"message with this method.;T@S:RDoc::Markup::Heading:
leveli:	textI"Parameters;T@o;
;	[I"B+from_addr+ is a String representing the source mail address.;T@o;
;	[I"H+to_addr+ is a String or Strings or Array of Strings, representing ;TI"/the destination mail address or addresses.;T@S;;i;I"Example;T@o:RDoc::Markup::Verbatim;	[I"7Net::SMTP.start('smtp.example.com', 25) do |smtp|
;TI"Q  smtp.open_message_stream('from@example.com', ['dest@example.com']) do |f|
;TI")    f.puts 'From: from@example.com'
;TI"'    f.puts 'To: dest@example.com'
;TI"(    f.puts 'Subject: test message'
;TI"    f.puts
;TI"*    f.puts 'This is a test message.'
;TI"  end
;TI"	end
;T:@format0S;;i;I"Errors;T@o;
;	[I"This method may raise:;T@o;;
:BULLET;[o;;0;	[o;
;	[I"Net::SMTPServerBusy;To;;0;	[o;
;	[I"Net::SMTPSyntaxError;To;;0;	[o;
;	[I"Net::SMTPFatalError;To;;0;	[o;
;	[I"Net::SMTPUnknownError;To;;0;	[o;
;	[I"Net::ReadTimeout;To;;0;	[o;
;	[I"IOError;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below00I"stream;T[[I"
ready;To;;	[;@u;0I"(from_addr, *to_addrs);T@uFI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"recv_response:ETI"Net::SMTP#recv_response;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"read_timeout:ETI"Net::SMTP#read_timeout;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DSeconds to wait while reading one block (by one read(2) call). ;TI"?If the read(2) call does not complete within this time, a ;TI"ANet::ReadTimeout is raised. The default value is 60 seconds.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::SMTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"check_auth_args:ETI"Net::SMTP#check_auth_args;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"1(user, secret, authtype = DEFAULT_AUTH_TYPE);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
start:ETI"Net::SMTP::start;TT:publico:RDoc::Markup::Document:@parts[ o:RDoc::Markup::Paragraph;	[I"?Creates a new Net::SMTP object and connects to the server.;To:RDoc::Markup::BlankLineo;
;	[I""This method is equivalent to:;T@o:RDoc::Markup::Verbatim;	[I"RNet::SMTP.new(address, port).start(helo_domain, account, password, authtype)
;T:@format0S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;;	[I"3Net::SMTP.start('your.smtp.server') do |smtp|
;TI"J  smtp.send_message msgstr, 'from@example.com', ['dest@example.com']
;TI"	end
;T;
0S;;i;I"Block Usage;T@o;
;	[
I"JIf called with a block, the newly-opened Net::SMTP object is yielded ;TI"Pto the block, and automatically closed when the block finishes.  If called ;TI"Gwithout a block, the newly-opened Net::SMTP object is returned to ;TI"Hthe caller, and it is the caller's responsibility to close it when ;TI"finished.;T@S;;i;I"Parameters;T@o;
;	[I"A+address+ is the hostname or ip address of your smtp server.;T@o;
;	[I">+port+ is the port to connect to; it defaults to port 25.;T@o;
;	[I"A+helo+ is the _HELO_ _domain_ provided by the client to the ;TI"@server (see overview comments); it defaults to 'localhost'.;T@o;
;	[
I"KThe remaining arguments are used for SMTP authentication, if required ;TI"Hor desired.  +user+ is the account name; +secret+ is your password ;TI"Ior other authentication token; and +authtype+ is the authentication ;TI"Gtype, one of :plain, :login, or :cram_md5.  See the discussion of ;TI"/SMTP Authentication in the overview notes.;T@S;;i;I"Errors;T@o;
;	[I"This method may raise:;T@o:RDoc::Markup::List:
@type:BULLET:@items[
o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"!Net::SMTPAuthenticationError;To;;0;	[o;
;	[I"Net::SMTPServerBusy;To;;0;	[o;
;	[I"Net::SMTPSyntaxError;To;;0;	[o;
;	[I"Net::SMTPFatalError;To;;0;	[o;
;	[I"Net::SMTPUnknownError;To;;0;	[o;
;	[I"Net::OpenTimeout;To;;0;	[o;
;	[I"Net::ReadTimeout;To;;0;	[o;
;	[I"IOError;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below00I"	smtp;T[I"X(address, port = nil, helo = 'localhost', user = nil, secret = nil, authtype = nil);T@gFI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new_internet_message_io:ETI"&Net::SMTP#new_internet_message_io;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"authenticate:ETI"Net::SMTP#authenticate;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"1(user, secret, authtype = DEFAULT_AUTH_TYPE);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"capable_auth_types:ETI"!Net::SMTP#capable_auth_types;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns supported authentication methods on this server. ;TI"<You cannot get valid value before opening SMTP session.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"Net::SMTP#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Provide human-readable stringification of class state.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"esmtp?:ETI"Net::SMTP#esmtp?;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"BSet whether to use ESMTP or not.  This should be done before ;TI"Ccalling #start.  Note that if #start is called in ESMTP mode, ;TI"?and the connection fails due to a ProtocolError, the SMTP ;TI"=object will automatically switch to plain SMTP mode and ;TI" retry (but not vice versa).;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::SMTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"send_mail:ETI"Net::SMTP#send_mail;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"#(msgstr, from_addr, *to_addrs);T@FI"	SMTP;TcRDoc::NormalClass0[I"Net::SMTP;TFI"send_message;TU:RDoc::AnyMethod[iI"rcptto:ETI"Net::SMTP#rcptto;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(to_addr);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	data:ETI"Net::SMTP#data;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I""This method sends a message. ;TI"2If +msgstr+ is given, sends it as a message. ;TI"7If block is given, yield a message writer stream. ;TI"7You must write message before the block is closed.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"# Example 1 (by string)
;TI"smtp.data(<<EndMessage)
;TI"From: john@example.com
;TI"To: betty@example.com
;TI"Subject: I found a bug
;TI"
;TI"Check vm.c:58879.
;TI"EndMessage
;TI"
;TI"# Example 2 (by block)
;TI"smtp.data {|f|
;TI"'  f.puts "From: john@example.com"
;TI"&  f.puts "To: betty@example.com"
;TI"'  f.puts "Subject: I found a bug"
;TI"  f.puts ""
;TI""  f.puts "Check vm.c:58879."
;TI"};T:@format0:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below00I"stream;T[I"(msgstr = nil);T@%FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"read_timeout=:ETI"Net::SMTP#read_timeout=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BSet the number of seconds to wait until timing-out a read(2) ;TI"
call.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(sec);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"disable_tls:ETI"Net::SMTP#disable_tls;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CDisables SMTP/TLS for this object.  Must be called before the ;TI"2connection is established to have any effect.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[[I"disable_ssl;To;;	[;@;0I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"capable_cram_md5_auth?:ETI"%Net::SMTP#capable_cram_md5_auth?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".true if server advertises AUTH CRAM-MD5. ;TI"<You cannot get valid value before opening SMTP session.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"
esmtp:ETI"Net::SMTP#esmtp;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"BSet whether to use ESMTP or not.  This should be done before ;TI"Ccalling #start.  Note that if #start is called in ESMTP mode, ;TI"?and the connection fails due to a ProtocolError, the SMTP ;TI"=object will automatically switch to plain SMTP mode and ;TI" retry (but not vice versa).;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::SMTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"enable_tls:ETI"Net::SMTP#enable_tls;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CEnables SMTP/TLS (SMTPS: SMTP over direct TLS connection) for ;TI"Gthis object.  Must be called before the connection is established ;TI"Ito have any effect.  +context+ is a OpenSSL::SSL::SSLContext object.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[[I"enable_ssl;To;;	[;@;0I")(context = SMTP.default_ssl_context);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Net::SMTP::new;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"$Creates a new Net::SMTP object.;To:RDoc::Markup::BlankLineo;
;	[I":+address+ is the hostname or ip address of your SMTP ;TI"?server.  +port+ is the port to connect to; it defaults to ;TI"
port 25.;T@o;
;	[I"@This method does not open the TCP connection.  You can use ;TI"ASMTP.start instead of SMTP.new if you want to do everything ;TI":at once.  Otherwise, follow SMTP.new with SMTP#start.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address, port = nil);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	quit:ETI"Net::SMTP#quit;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	SMTP:ETI"Net::SMTP;TI"Net::Protocol;To:RDoc::Markup::Document:@parts[o;;[/S:RDoc::Markup::Heading:
leveli:	textI"What is This Library?;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I":This library provides functionality to send internet ;TI"Fmail via SMTP, the Simple Mail Transfer Protocol. For details of ;TI"FSMTP itself, see [RFC2821] (http://www.ietf.org/rfc/rfc2821.txt).;T@S;	;
i;I"What is This Library NOT?;T@o;
;[
I"HThis library does NOT provide functions to compose internet mails. ;TI"HYou must create them by yourself. If you want better mail support, ;TI"9try RubyMail or TMail or search for alternatives in ;TI"8{RubyGems.org}[https://rubygems.org/] or {The Ruby ;TI"-Toolbox}[https://www.ruby-toolbox.com/].;T@o;
;[I"jFYI: the official documentation on internet mail is: [RFC2822] (http://www.ietf.org/rfc/rfc2822.txt).;T@S;	;
i;I"
Examples;T@S;	;
i;I"Sending Messages;T@o;
;[
I"KYou must open a connection to an SMTP server before sending messages. ;TI"KThe first argument is the address of your SMTP server, and the second ;TI"Pargument is the port number. Using SMTP.start with a block is the simplest ;TI"Kway to do this. This way, the SMTP connection is closed automatically ;TI"!after the block is executed.;T@o:RDoc::Markup::Verbatim;[	I"require 'net/smtp'
;TI"7Net::SMTP.start('your.smtp.server', 25) do |smtp|
;TI"6  # Use the SMTP object smtp only in this block.
;TI"	end
;T:@format0o;
;[I"@Replace 'your.smtp.server' with your SMTP server. Normally ;TI"@your system manager or internet provider supplies a server ;TI"
for you.;T@o;
;[I" Then you can send messages.;T@o;;[I"msgstr = <<END_OF_MESSAGE
;TI")From: Your Name <your@mail.address>
;TI"3To: Destination Address <someone@example.com>
;TI"Subject: test message
;TI"+Date: Sat, 23 Jun 2001 16:26:43 +0900
;TI"8Message-Id: <unique.message.id.string@example.com>
;TI"
;TI"This is a test message.
;TI"END_OF_MESSAGE
;TI"
;TI"require 'net/smtp'
;TI"7Net::SMTP.start('your.smtp.server', 25) do |smtp|
;TI"!  smtp.send_message msgstr,
;TI".                    'your@mail.address',
;TI"3                    'his_address@example.com'
;TI"	end
;T;0S;	;
i;I"Closing the Session;T@o;
;[I"HYou MUST close the SMTP session after sending messages, by calling ;TI"the #finish method:;T@o;;[	I"# using SMTP#finish
;TI"4smtp = Net::SMTP.start('your.smtp.server', 25)
;TI"<smtp.send_message msgstr, 'from@address', 'to@address'
;TI"smtp.finish
;T;0o;
;[I"LYou can also use the block form of SMTP.start/SMTP#start.  This closes ;TI"$the SMTP session automatically:;T@o;;[	I"&# using block form of SMTP.start
;TI"7Net::SMTP.start('your.smtp.server', 25) do |smtp|
;TI">  smtp.send_message msgstr, 'from@address', 'to@address'
;TI"	end
;T;0o;
;[I"MI strongly recommend this scheme.  This form is simpler and more robust.;T@S;	;
i;I"HELO domain;T@o;
;[
I"AIn almost all situations, you must provide a third argument ;TI"Hto SMTP.start/SMTP#start. This is the domain name which you are on ;TI"C(the host to send mail from). It is called the "HELO domain". ;TI"AThe SMTP server will judge whether it should send or reject ;TI"4the SMTP session by inspecting the HELO domain.;T@o;;[I"-Net::SMTP.start('your.smtp.server', 25,
;TI"8                'mail.from.domain') { |smtp| ... }
;T;0S;	;
i;I"SMTP Authentication;T@o;
;[	I"@The Net::SMTP class supports three authentication schemes; ;TI"BPLAIN, LOGIN and CRAM MD5.  (SMTP Authentication: [RFC2554]) ;TI"9To use SMTP authentication, pass extra arguments to ;TI"SMTP.start/SMTP#start.;T@o;;[I"
# PLAIN
;TI"ANet::SMTP.start('your.smtp.server', 25, 'mail.from.domain',
;TI">                'Your Account', 'Your Password', :plain)
;TI"
# LOGIN
;TI"ANet::SMTP.start('your.smtp.server', 25, 'mail.from.domain',
;TI">                'Your Account', 'Your Password', :login)
;TI"
;TI"# CRAM MD5
;TI"ANet::SMTP.start('your.smtp.server', 25, 'mail.from.domain',
;TI"@                'Your Account', 'Your Password', :cram_md5);T;0:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[
I"address;TI"R;T:publicFI"lib/net/smtp.rb;T[
I"
esmtp;TI"RW;T;F@�[
I"esmtp?;T@�;F@�[
I"open_timeout;T@�;F@�[
I"	port;T@�;F@�[
I"read_timeout;T@�;F@�[
U:RDoc::Constant[iI"
Revision;TI"Net::SMTP::Revision;T;0o;;[;@�;0@�@cRDoc::NormalClass0U;[iI"DEFAULT_AUTH_TYPE;TI"!Net::SMTP::DEFAULT_AUTH_TYPE;T;0o;;[o;
;[I"Authentication;T;@�;0@�@@�0U;[iI"
IMASK;TI"Net::SMTP::IMASK;T;0o;;[;@�;0@�@@�0U;[iI"
OMASK;TI"Net::SMTP::OMASK;T;0o;;[;@�;0@�@@�0U;[iI"CRAM_BUFSIZE;TI"Net::SMTP::CRAM_BUFSIZE;T;0o;;[;@�;0@�@@�0[[[I"
class;T[[;[[I"default_port;T@�[I"default_ssl_context;T@�[I"default_ssl_port;T@�[I"default_submission_port;T@�[I"default_tls_port;T@�[I"new;T@�[I"
start;T@�[:protected[[:private[[I"
instance;T[[;[/[I"auth_cram_md5;T@�[I"auth_login;T@�[I"auth_plain;T@�[I"authenticate;T@�[I"capable_auth_types;T@�[I"capable_cram_md5_auth?;T@�[I"capable_login_auth?;T@�[I"capable_plain_auth?;T@�[I"capable_starttls?;T@�[I"	data;T@�[I"debug_output=;T@�[I"disable_ssl;T@�[I"disable_starttls;T@�[I"disable_tls;T@�[I"	ehlo;T@�[I"enable_ssl;T@�[I"enable_starttls;T@�[I"enable_starttls_auto;T@�[I"enable_tls;T@�[I"finish;T@�[I"	helo;T@�[I"inspect;T@�[I"
mailfrom;T@�[I"open_message_stream;T@�[I"	quit;T@�[I"rcptto;T@�[I"rcptto_list;T@�[I"read_timeout=;T@�[I"
ready;T@�[I"	rset;T@�[I"send_mail;T@�[I"send_message;T@�[I"
sendmail;T@�[I"set_debug_output;T@�[I"	ssl?;T@�[I"
start;T@�[I"
started?;T@�[I"
starttls;T@�[I"starttls?;T@�[I"starttls_always?;T@�[I"starttls_auto?;T@�[I"	tls?;T@�[;[[;[[I"auth_capable?;T@�[I"auth_method;T@�[I"base64_encode;T@�[I"
capable?;T@�[I"check_auth_args;T@�[I"check_auth_continue;T@�[I"check_auth_method;T@�[I"check_auth_response;T@�[I"check_continue;T@�[I"check_response;T@�[I"cram_md5_response;T@�[I"cram_secret;T@�[I"
critical;T@�[I"do_finish;T@�[I"do_helo;T@�[I"
do_start;T@�[I"get_response;T@�[I"
getok;T@�[I"logging;T@�[I"new_internet_message_io;T@�[I"recv_response;T@�[I"ssl_socket;T@�[I"tcp_socket;T@�[I"tlsconnect;T@�[I"validate_line;T@�[[U:RDoc::Context::Section[i0o;;[;0;0[@�I"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"capable_starttls?:ETI" Net::SMTP#capable_starttls?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")true if server advertises STARTTLS. ;TI"<You cannot get valid value before opening SMTP session.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"address:ETI"Net::SMTP#address;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2The address of the SMTP server to connect to.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::SMTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"	ssl?:ETI"Net::SMTP#ssl?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass0[I"Net::SMTP;TFI"	tls?;TU:RDoc::AnyMethod[iI"validate_line:ETI"Net::SMTP#validate_line;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(line);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"continue?:ETI""Net::SMTP::Response#continue?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JDetermines whether the response received was a Positive Intermediate ;TI"reply (3xx reply code);T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Response;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Net::SMTP::Response::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JCreates a new instance of the Response class and sets the status and ;TI"string attributes;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(status, string);T@FI"
Response;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
parse:ETI"Net::SMTP::Response::parse;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MParses the received response and separates the reply code and the human ;TI"readable reply text;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"
Response;TcRDoc::NormalClass00U:RDoc::Attr[iI"string:ETI"Net::SMTP::Response#string;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7The human readable reply text of the SMTP response;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::SMTP::Response;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"
Response:ETI"Net::SMTP::Response;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[	I"MThis class represents a response received by the SMTP server. Instances ;TI"Nof this class are created by the SMTP class; they should not be directly ;TI"Gcreated by the user. For more information on SMTP responses, view ;TI"N{Section 4.2 of RFC 5321}[http://tools.ietf.org/html/rfc5321#section-4.2];T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"status;TI"R;T:publicFI"lib/net/smtp.rb;T[
I"string;T@;F@[[[[I"
class;T[[;[[I"new;T@[I"
parse;T@[:protected[[:private[[I"
instance;T[[;[[I"capabilities;T@[I"continue?;T@[I"cram_md5_challenge;T@[I"exception_class;T@[I"message;T@[I"status_type_char;T@[I"
success?;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::SMTP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
success?:ETI"!Net::SMTP::Response#success?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HDetermines whether the response received was a Positive Completion ;TI"reply (2xx reply code);T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Response;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"capabilities:ETI"%Net::SMTP::Response#capabilities;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"KReturns a hash of the human readable reply text in the response if it ;TI"Jis multiple lines. It does not return the first line. The key of the ;TI"Mhash is the first word the value of the hash is an array with each word ;TI"*thereafter being a value in the array;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Response;TcRDoc::NormalClass00U:RDoc::Attr[iI"status:ETI"Net::SMTP::Response#status;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4The three digit reply code of the SMTP response;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::SMTP::Response;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"message:ETI" Net::SMTP::Response#message;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4The first line of the human readable reply text;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Response;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"exception_class:ETI"(Net::SMTP::Response#exception_class;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LDetermines whether there was an error and raises the appropriate error ;TI",based on the reply code of the response;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Response;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"status_type_char:ETI")Net::SMTP::Response#status_type_char;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ITakes the first digit of the reply code to determine the status type;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Response;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"cram_md5_challenge:ETI"+Net::SMTP::Response#cram_md5_challenge;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MCreates a CRAM-MD5 challenge. You can view more information on CRAM-MD5 ;TI"9on Wikipedia: https://en.wikipedia.org/wiki/CRAM-MD5;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Response;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"cram_md5_response:ETI" Net::SMTP#cram_md5_response;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CRAM-MD5: [RFC2195];T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(secret, challenge);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"	port:ETI"Net::SMTP#port;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6The port number of the SMTP server to connect to.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::SMTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"check_auth_response:ETI""Net::SMTP#check_auth_response;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(res);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"disable_starttls:ETI"Net::SMTP#disable_starttls;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CDisables SMTP/TLS (STARTTLS) for this object.  Must be called ;TI"=before the connection is established to have any effect.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"check_response:ETI"Net::SMTP#check_response;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(res);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ssl_socket:ETI"Net::SMTP#ssl_socket;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(socket, context);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"capable_plain_auth?:ETI""Net::SMTP#capable_plain_auth?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"+true if server advertises AUTH PLAIN. ;TI"<You cannot get valid value before opening SMTP session.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	rset:ETI"Net::SMTP#rset;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Aborts the current mail transaction;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"cram_secret:ETI"Net::SMTP#cram_secret;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(secret, mask);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"starttls?:ETI"Net::SMTP#starttls?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Returns truth value if this object uses STARTTLS. ;TI";If this object always uses STARTTLS, returns :always. ;TI"MIf this object uses STARTTLS when the server support TLS, returns :auto.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"enable_ssl:ETI"Net::SMTP#enable_ssl;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I")(context = SMTP.default_ssl_context);T@FI"	SMTP;TcRDoc::NormalClass0[I"Net::SMTP;TFI"enable_tls;TU:RDoc::AnyMethod[iI"get_response:ETI"Net::SMTP#get_response;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(reqline);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_tls_port:ETI" Net::SMTP::default_tls_port;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(The default SMTPS port number, 465.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[[I"default_ssl_port;To;;	[;@;0I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
mailfrom:ETI"Net::SMTP#mailfrom;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(from_addr);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"auth_login:ETI"Net::SMTP#auth_login;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(user, secret);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	tls?:ETI"Net::SMTP#tls?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/true if this object uses SMTP/TLS (SMTPS).;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[[I"	ssl?;To;;	[;@;0I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"do_finish:ETI"Net::SMTP#do_finish;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"enable_starttls:ETI"Net::SMTP#enable_starttls;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Enables SMTP/TLS (STARTTLS) for this object. ;TI"4+context+ is a OpenSSL::SSL::SSLContext object.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I")(context = SMTP.default_ssl_context);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"do_helo:ETI"Net::SMTP#do_helo;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(helo_domain);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
ready:ETI"Net::SMTP#ready;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(from_addr, *to_addrs);T@FI"	SMTP;TcRDoc::NormalClass0[I"Net::SMTP;TFI"open_message_stream;TU:RDoc::AnyMethod[iI"finish:ETI"Net::SMTP#finish;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Finishes the SMTP session and closes TCP connection. ;TI"#Raises IOError if not started.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tcp_socket:ETI"Net::SMTP#tcp_socket;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address, port);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"starttls_always?:ETI"Net::SMTP#starttls_always?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'true if this object uses STARTTLS.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"starttls_auto?:ETI"Net::SMTP#starttls_auto?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Gtrue if this object uses STARTTLS when server advertises STARTTLS.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"check_continue:ETI"Net::SMTP#check_continue;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(res);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"logging:ETI"Net::SMTP#logging;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(msg);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tlsconnect:ETI"Net::SMTP#tlsconnect;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"check_auth_method:ETI" Net::SMTP#check_auth_method;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(type);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
started?:ETI"Net::SMTP#started?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"1+true+ if the SMTP session has been started.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"capable_login_auth?:ETI""Net::SMTP#capable_login_auth?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"+true if server advertises AUTH LOGIN. ;TI"<You cannot get valid value before opening SMTP session.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_ssl_port:ETI" Net::SMTP::default_ssl_port;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass0[I"Net::SMTP;TTI"default_tls_port;TU:RDoc::AnyMethod[iI"	helo:ETI"Net::SMTP#helo;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(domain);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
critical:ETI"Net::SMTP#critical;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below00I";T[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"send_message:ETI"Net::SMTP#send_message;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"HSends +msgstr+ as a message.  Single CR ("\r") and LF ("\n") found ;TI"Lin the +msgstr+, are converted into the CR LF pair.  You cannot send a ;TI"Cbinary message with this method. +msgstr+ should include both ;TI""the message headers and body.;To:RDoc::Markup::BlankLineo;
;	[I"B+from_addr+ is a String representing the source mail address.;T@o;
;	[I"H+to_addr+ is a String or Strings or Array of Strings, representing ;TI"/the destination mail address or addresses.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o:RDoc::Markup::Verbatim;	[
I"3Net::SMTP.start('smtp.example.com') do |smtp|
;TI"!  smtp.send_message msgstr,
;TI"-                    'from@example.com',
;TI"C                    ['dest@example.com', 'dest2@example.com']
;TI"	end
;T:@format0S;;
i;I"Errors;T@o;
;	[I"This method may raise:;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"Net::SMTPServerBusy;To;;0;	[o;
;	[I"Net::SMTPSyntaxError;To;;0;	[o;
;	[I"Net::SMTPFatalError;To;;0;	[o;
;	[I"Net::SMTPUnknownError;To;;0;	[o;
;	[I"Net::ReadTimeout;To;;0;	[o;
;	[I"IOError;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[[I"send_mail;To;;	[;@G;0[I"
sendmail;To;;	[;@G;0I"#(msgstr, from_addr, *to_addrs);T@GFI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"set_debug_output:ETI"Net::SMTP#set_debug_output;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(arg);T@FI"	SMTP;TcRDoc::NormalClass0[I"Net::SMTP;TFI"debug_output=;TU:RDoc::AnyMethod[iI"disable_ssl:ETI"Net::SMTP#disable_ssl;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass0[I"Net::SMTP;TFI"disable_tls;TU:RDoc::AnyMethod[iI"default_ssl_context:ETI"#Net::SMTP::default_ssl_context;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"auth_cram_md5:ETI"Net::SMTP#auth_cram_md5;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(user, secret);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"base64_encode:ETI"Net::SMTP#base64_encode;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"auth_method:ETI"Net::SMTP#auth_method;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(type);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"auth_capable?:ETI"Net::SMTP#auth_capable?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(type);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
capable?:ETI"Net::SMTP#capable?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(key);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rcptto_list:ETI"Net::SMTP#rcptto_list;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below00I";T[I"(to_addrs);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
sendmail:ETI"Net::SMTP#sendmail;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"#(msgstr, from_addr, *to_addrs);T@FI"	SMTP;TcRDoc::NormalClass0[I"Net::SMTP;TFI"send_message;TU:RDoc::AnyMethod[iI"default_port:ETI"Net::SMTP::default_port;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&The default SMTP port number, 25.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"enable_starttls_auto:ETI"#Net::SMTP#enable_starttls_auto;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DEnables SMTP/TLS (STARTTLS) for this object if server accepts. ;TI"4+context+ is a OpenSSL::SSL::SSLContext object.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I")(context = SMTP.default_ssl_context);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
start:ETI"Net::SMTP#start;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Opens a TCP connection and starts the SMTP session.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Parameters;T@o;
;	[I"H+helo+ is the _HELO_ _domain_ that you'll dispatch mails from; see ;TI"*the discussion in the overview notes.;T@o;
;	[
I"CIf both of +user+ and +secret+ are given, SMTP authentication ;TI"Ewill be attempted using the AUTH command.  +authtype+ specifies ;TI">the type of authentication to attempt; it must be one of ;TI"J:login, :plain, and :cram_md5.  See the notes on SMTP Authentication ;TI"in the overview.;T@S;;
i;I"Block Usage;T@o;
;	[	I"FWhen this methods is called with a block, the newly-started SMTP ;TI"Dobject is yielded to the block, and automatically closed after ;TI"=the block call finishes.  Otherwise, it is the caller's ;TI"7responsibility to close the session when finished.;T@S;;
i;I"Example;T@o;
;	[I"9This is very similar to the class method SMTP.start.;T@o:RDoc::Markup::Verbatim;	[
I"require 'net/smtp'
;TI"2smtp = Net::SMTP.new('smtp.mail.server', 25)
;TI"Dsmtp.start(helo_domain, account, password, authtype) do |smtp|
;TI"J  smtp.send_message msgstr, 'from@example.com', ['dest@example.com']
;TI"	end
;T:@format0o;
;	[	I"?The primary use of this method (as opposed to SMTP.start) ;TI"?is probably to set debugging (#set_debug_output) or ESMTP ;TI"9(#esmtp=), which must be done before the session is ;TI"
started.;T@S;;
i;I"Errors;T@o;
;	[I"DIf session has already been started, an IOError will be raised.;T@o;
;	[I"This method may raise:;T@o:RDoc::Markup::List:
@type:BULLET:@items[
o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"!Net::SMTPAuthenticationError;To;;0;	[o;
;	[I"Net::SMTPServerBusy;To;;0;	[o;
;	[I"Net::SMTPSyntaxError;To;;0;	[o;
;	[I"Net::SMTPFatalError;To;;0;	[o;
;	[I"Net::SMTPUnknownError;To;;0;	[o;
;	[I"Net::OpenTimeout;To;;0;	[o;
;	[I"Net::ReadTimeout;To;;0;	[o;
;	[I"IOError;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below00I"	smtp;T[I"C(helo = 'localhost', user = nil, secret = nil, authtype = nil);T@hFI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_submission_port:ETI"'Net::SMTP::default_submission_port;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2The default mail submission port number, 587.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"check_auth_continue:ETI""Net::SMTP#check_auth_continue;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(res);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
starttls:ETI"Net::SMTP#starttls;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	ehlo:ETI"Net::SMTP#ehlo;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(domain);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"open_timeout:ETI"Net::SMTP#open_timeout;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Seconds to wait while attempting to open a connection. ;TI"<If the connection cannot be opened within this time, a ;TI"ANet::OpenTimeout is raised. The default value is 30 seconds.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::SMTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"auth_plain:ETI"Net::SMTP#auth_plain;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(user, secret);T@FI"	SMTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"HTTPInformation:ETI"Net::HTTPInformation;TI"Net::HTTPResponse;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"#Net::HTTPInformation::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"EXCEPTION_TYPE;TI")Net::HTTPInformation::EXCEPTION_TYPE;T;I"Net::HTTPError;To;;[;	@;
0@@@0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalModule[iI"Net:ET@0o:RDoc::Markup::Document:@parts[	o;;[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/net/imap.rb;T;
0o;;[;	I"lib/net/pop.rb;T;
0o;;[;	I"lib/net/smtp.rb;T;
0;	0;
0[[	U:RDoc::Constant[iI"HTTPMultipleChoice;TI"Net::HTTPMultipleChoice;T:publicI"Net::HTTPMultipleChoices;To;;[;	I"lib/net/http/responses.rb;T;
0@@cRDoc::NormalModule0U;[iI"HTTPMovedTemporarily;TI"Net::HTTPMovedTemporarily;T;I"Net::HTTPFound;To;;[;	@;
0@@@ 0U;[iI"HTTPRequestURITooLarge;TI" Net::HTTPRequestURITooLarge;T;I"Net::HTTPRequestURITooLong;To;;[;	@;
0@@@ 0U;[iI"APOPSession;TI"Net::APOPSession;T;I"Net::APOP;To;;[o:RDoc::Markup::Paragraph;[I"OThis class is equivalent to POP3, except that it uses APOP authentication.;T;	@;
0@@@ 0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"lib/net/http.rb;TI"lib/net/http/exceptions.rb;TI"$lib/net/http/generic_request.rb;TI"lib/net/http/header.rb;TI" lib/net/http/proxy_delta.rb;TI"lib/net/http/request.rb;TI"lib/net/http/requests.rb;TI"lib/net/http/response.rb;T@I"lib/net/http/status.rb;T@@I"lib/net/protocol.rb;T@I"lib/open-uri.rb;TI"(lib/rubygems/gemcutter_utilities.rb;TI"#lib/rubygems/remote_fetcher.rb;TI"lib/rubygems/request.rb;TI"-lib/rubygems/request/connection_pools.rb;TI"#lib/rubygems/test_utilities.rb;TI"lib/webrick/httpproxy.rb;T@cRDoc::TopLevelU:RDoc::NormalClass[iI"POPBadResponse:ETI"Net::POPBadResponse;TI"Net::POPError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I")Unexpected response from the server.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPMultiStatus:ETI"Net::HTTPMultiStatus;TI"Net::HTTPSuccess;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"#Net::HTTPMultiStatus::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPContinue:ETI"Net::HTTPContinue;TI"Net::HTTPInformation;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI" Net::HTTPContinue::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPUpgradeRequired:ETI"Net::HTTPUpgradeRequired;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"5425 Unordered Collection - existed only in draft;T:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"
HAS_BODY;TI"'Net::HTTPUpgradeRequired::HAS_BODY;T:public0o;;[;
@;0@@cRDoc::NormalClass0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPUseProxy:ETI"Net::HTTPUseProxy;TI"Net::HTTPRedirection;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI" Net::HTTPUseProxy::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPSuccess:ETI"Net::HTTPSuccess;TI"Net::HTTPResponse;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"Net::HTTPSuccess::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"EXCEPTION_TYPE;TI"%Net::HTTPSuccess::EXCEPTION_TYPE;T;I"Net::HTTPError;To;;[;	@;
0@@@0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"APOPSession:ETI"Net::APOPSession;TI"Net::POP3;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"OThis class is equivalent to POP3, except that it uses APOP authentication.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"
apop?;TI"lib/net/pop.rb;T[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
apop?:ETI"Net::APOP#apop?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Always returns true.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	APOP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	APOP:ETI"Net::APOP;TI"Net::POP3;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"OThis class is equivalent to POP3, except that it uses APOP authentication.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"
apop?;TI"lib/net/pop.rb;T[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
apop?:ETI"Net::APOP#apop?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Always returns true.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	APOP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"FTPTempError:ETI"Net::FTPTempError;TI"Net::FTPError;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/net/ftp.rb;TI"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPCreated:ETI"Net::HTTPCreated;TI"Net::HTTPSuccess;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"Net::HTTPCreated::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"
FTPError:ETI"Net::FTPError;TI"StandardError;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/net/ftp.rb;TI"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPInsufficientStorage:ETI"!Net::HTTPInsufficientStorage;TI"Net::HTTPServerError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"+Net::HTTPInsufficientStorage::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPNotExtended:ETI"Net::HTTPNotExtended;TI"Net::HTTPServerError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"?509 Bandwidth Limit Exceeded - Apache bw/limited extension;T:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"
HAS_BODY;TI"#Net::HTTPNotExtended::HAS_BODY;T:public0o;;[;
@;0@@cRDoc::NormalClass0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"ProtoCommandError:ETI"Net::ProtoCommandError;TI"Net::ProtocolError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPExpectationFailed:ETI"Net::HTTPExpectationFailed;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI")Net::HTTPExpectationFailed::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"POPAuthenticationError:ETI" Net::POPAuthenticationError;TI"ProtoAuthError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"POP3 authentication error.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPRequestEntityTooLarge:ETI"#Net::HTTPRequestEntityTooLarge;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"-Net::HTTPRequestEntityTooLarge::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"ReadTimeout:ETI"Net::ReadTimeout;TI"Timeout::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"LReadTimeout, a subclass of Timeout::Error, is raised if a chunk of the ;TI"5response cannot be read within the read_timeout.;T:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPServiceUnavailable:ETI" Net::HTTPServiceUnavailable;TI"Net::HTTPServerError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"*Net::HTTPServiceUnavailable::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPPaymentRequired:ETI"Net::HTTPPaymentRequired;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"'Net::HTTPPaymentRequired::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPNotModified:ETI"Net::HTTPNotModified;TI"Net::HTTPRedirection;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"#Net::HTTPNotModified::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPMisdirectedRequest:ETI" Net::HTTPMisdirectedRequest;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"-418 I'm a teapot - RFC 2324; a joke RFC ;TI"$420 Enhance Your Calm - Twitter;T:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"
HAS_BODY;TI"*Net::HTTPMisdirectedRequest::HAS_BODY;T:public0o;;[;
@;0@@cRDoc::NormalClass0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"%HTTPRequestedRangeNotSatisfiable:ETI"*Net::HTTPRequestedRangeNotSatisfiable;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"4Net::HTTPRequestedRangeNotSatisfiable::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"FTPConnectionError:ETI"Net::FTPConnectionError;TI"Net::FTPError;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/net/ftp.rb;TI"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPMultipleChoice:ETI"Net::HTTPMultipleChoices;TI"Net::HTTPRedirection;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"'Net::HTTPMultipleChoices::HAS_BODY;T:public0o;;[;	@;
0@I"HTTPMultipleChoices;TcRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPVersionNotSupported:ETI"!Net::HTTPVersionNotSupported;TI"Net::HTTPServerError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"+Net::HTTPVersionNotSupported::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"SMTPAuthenticationError:ETI"!Net::SMTPAuthenticationError;TI"Net::ProtoAuthError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"-Represents an SMTP authentication error.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[I"SMTPError;To;;[;
@;0I"lib/net/smtp.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPBadResponse:ETI"Net::HTTPBadResponse;TI"StandardError;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/net/http.rb;TI"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPPreconditionRequired:ETI""Net::HTTPPreconditionRequired;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI",Net::HTTPPreconditionRequired::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"$HTTPProxyAuthenticationRequired:ETI")Net::HTTPProxyAuthenticationRequired;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"3Net::HTTPProxyAuthenticationRequired::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"&HTTPNetworkAuthenticationRequired:ETI"+Net::HTTPNetworkAuthenticationRequired;TI"Net::HTTPServerError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"5Net::HTTPNetworkAuthenticationRequired::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"SMTPUnsupportedCommand:ETI" Net::SMTPUnsupportedCommand;TI"Net::ProtocolError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"(Command is not supported on server.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[I"SMTPError;To;;[;
@;0I"lib/net/smtp.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"FTPProtoError:ETI"Net::FTPProtoError;TI"Net::FTPError;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/net/ftp.rb;TI"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPUnprocessableEntity:ETI"!Net::HTTPUnprocessableEntity;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"+Net::HTTPUnprocessableEntity::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPNotImplemented:ETI"Net::HTTPNotImplemented;TI"Net::HTTPServerError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"&Net::HTTPNotImplemented::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPUnknownResponse:ETI"Net::HTTPUnknownResponse;TI"Net::HTTPResponse;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"Ohttps://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml;T:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"
HAS_BODY;TI"'Net::HTTPUnknownResponse::HAS_BODY;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"EXCEPTION_TYPE;TI"-Net::HTTPUnknownResponse::EXCEPTION_TYPE;T;
I"Net::HTTPError;To;;[;
@;0@@@0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPIMUsed:ETI"Net::HTTPIMUsed;TI"Net::HTTPSuccess;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"Net::HTTPIMUsed::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPNotFound:ETI"Net::HTTPNotFound;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI" Net::HTTPNotFound::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"FTPPermError:ETI"Net::FTPPermError;TI"Net::FTPError;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/net/ftp.rb;TI"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"send_literal:ETI"Net::IMAP#send_literal;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(str, tag = nil);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"logout:ETI"Net::IMAP#logout;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DSends a LOGOUT command to inform the server that the client is ;TI"done with the connection.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ByeResponseError:ETI" Net::IMAP::ByeResponseError;TI"Net::IMAP::ResponseError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"DError raised upon a "BYE" response from the server, indicating ;TI"Fthat the client is not being allowed to login, or has been timed ;TI"out due to inactivity.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"send_list_data:ETI"Net::IMAP#send_list_data;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(list, tag = nil);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"start_tls_session:ETI" Net::IMAP#start_tls_session;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(params = {});T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"multipart?:ETI"(Net::IMAP::BodyTypeBasic#multipart?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BodyTypeBasic;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"media_subtype:ETI"+Net::IMAP::BodyTypeBasic#media_subtype;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Obsolete: use +subtype+ instead.  Calling this will ;TI"9generate a warning message to +stderr+, then return ;TI"the value of +subtype+.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BodyTypeBasic;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"BodyTypeBasic:ETI"Net::IMAP::BodyTypeBasic;TI"Struct.new(:media_type, :subtype,                                      :param, :content_id,                                      :description, :encoding, :size,                                      :md5, :disposition, :language,                                      :extension);To:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"KNet::IMAP::BodyTypeBasic represents basic body structures of messages.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli	:	textI"Fields:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"media_type;T;[o;	;[I"BReturns the content media type name as defined in [MIME-IMB].;T@o;;[I"subtype;T;[o;	;[I"?Returns the content subtype name as defined in [MIME-IMB].;T@o;;[I"
param;T;[o;	;[I"HReturns a hash that represents parameters as defined in [MIME-IMB].;T@o;;[I"content_id;T;[o;	;[I"EReturns a string giving the content id as defined in [MIME-IMB].;T@o;;[I"description;T;[o;	;[I"CReturns a string giving the content description as defined in ;TI"[MIME-IMB].;T@o;;[I"
encoding;T;[o;	;[I"IReturns a string giving the content transfer encoding as defined in ;TI"[MIME-IMB].;T@o;;[I"	size;T;[o;	;[I"<Returns a number giving the size of the body in octets.;T@o;;[I"md5;T;[o;	;[I"DReturns a string giving the body MD5 value as defined in [MD5].;T@o;;[I"disposition;T;[o;	;[I";Returns a Net::IMAP::ContentDisposition object giving ;TI"the content disposition.;T@o;;[I"
language;T;[o;	;[I"=Returns a string or an array of strings giving the body ;TI"2language value as defined in [LANGUAGE-TAGS].;T@o;;[I"extension;T;[o;	;[I"Returns extension data.;T@o;;[I"multipart?;T;[o;	;[I"Returns false.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"media_subtype;TI"lib/net/imap.rb;T[I"multipart?;T@~[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@nI"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"send_command:ETI"Net::IMAP#send_command;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(cmd, *args, &block);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_imaps_port:ETI""Net::IMAP::default_imaps_port;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass0[I"Net::IMAP;TTI"default_tls_port;TU:RDoc::AnyMethod[iI"multipart?:ETI",Net::IMAP::BodyTypeMultipart#multipart?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BodyTypeMultipart;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"media_subtype:ETI"/Net::IMAP::BodyTypeMultipart#media_subtype;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Obsolete: use +subtype+ instead.  Calling this will ;TI"9generate a warning message to +stderr+, then return ;TI"the value of +subtype+.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BodyTypeMultipart;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"BodyTypeMultipart:ETI"!Net::IMAP::BodyTypeMultipart;TI"�Struct.new(:media_type, :subtype,                                          :parts,                                          :param, :disposition, :language,                                          :extension);To:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"GNet::IMAP::BodyTypeMultipart represents multipart body structures ;TI"of messages.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli	:	textI"Fields:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[
o:RDoc::Markup::ListItem:@label[I"media_type;T;[o;	;[I"BReturns the content media type name as defined in [MIME-IMB].;T@o;;[I"subtype;T;[o;	;[I"?Returns the content subtype name as defined in [MIME-IMB].;T@o;;[I"
parts;T;[o;	;[I"Returns multiple parts.;T@o;;[I"
param;T;[o;	;[I"HReturns a hash that represents parameters as defined in [MIME-IMB].;T@o;;[I"disposition;T;[o;	;[I";Returns a Net::IMAP::ContentDisposition object giving ;TI"the content disposition.;T@o;;[I"
language;T;[o;	;[I"=Returns a string or an array of strings giving the body ;TI"2language value as defined in [LANGUAGE-TAGS].;T@o;;[I"extension;T;[o;	;[I"Returns extension data.;T@o;;[I"multipart?;T;[o;	;[I"Returns true.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"media_subtype;TI"lib/net/imap.rb;T[I"multipart?;T@f[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@QI"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
debug:ETI"Net::IMAP::debug;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns the debug mode.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"multipart?:ETI",Net::IMAP::BodyTypeExtension#multipart?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BodyTypeExtension;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"BodyTypeExtension:ETI"!Net::IMAP::BodyTypeExtension;TI"�Struct.new(:media_type, :subtype,                                          :params, :content_id,                                          :description, :encoding, :size);To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"multipart?;TI"lib/net/imap.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"uid_store:ETI"Net::IMAP#uid_store;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Similar to #store(), but +set+ contains unique identifiers.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(set, attr, flags);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"get_tagged_response:ETI""Net::IMAP#get_tagged_response;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag, cmd);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
uid_sort:ETI"Net::IMAP#uid_sort;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DSimilar to #sort(), but returns an array of unique identifiers.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"&(sort_keys, search_keys, charset);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"'Net::IMAP::PlainAuthenticator::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(user, password);T@FI"PlainAuthenticator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"process:ETI"*Net::IMAP::PlainAuthenticator#process;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(data);T@FI"PlainAuthenticator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"PlainAuthenticator:ETI""Net::IMAP::PlainAuthenticator;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"=Authenticator for the "PLAIN" authentication type.  See ;TI"#authenticate().;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"new;TI"lib/net/imap.rb;T[:protected[[:private[[I"
instance;T[[;[[I"process;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
login:ETI"Net::IMAP#login;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I">Sends a LOGIN command to identify the client and carries ;TI"@the plaintext +password+ authenticating this +user+.  Note ;TI">that, unlike calling #authenticate() with an +auth_type+ ;TI"Aof "LOGIN", #login() does *not* use the login authenticator.;To:RDoc::Markup::BlankLineo;
;	[I"DA Net::IMAP::NoResponseError is raised if authentication fails.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(user, password);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"authenticate:ETI"Net::IMAP#authenticate;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"?Sends an AUTHENTICATE command to authenticate the client. ;TI";The +auth_type+ parameter is a string that represents ;TI"Bthe authentication mechanism to be used. Currently Net::IMAP ;TI",supports the authentication mechanisms:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"6LOGIN:: login using cleartext user and password.
;TI"ACRAM-MD5:: login with cleartext user and encrypted password
;TI"?           (see [RFC-2195] for a full description).  This
;TI"C           mechanism requires that the server have the user's
;TI"8           password stored in clear-text password.
;T:@format0o;
;	[	I"HFor both of these mechanisms, there should be two +args+: username ;TI"Jand (cleartext) password.  A server may not support one or the other ;TI"Bof these mechanisms; check #capability() for a capability of ;TI".the form "AUTH=LOGIN" or "AUTH=CRAM-MD5".;T@o;
;	[I"HAuthentication is done using the appropriate authenticator object: ;TI"Gsee @@authenticators for more information on plugging in your own ;TI"authenticator.;T@o;
;	[I"For example:;T@o;;	[I"0imap.authenticate('LOGIN', user, password)
;T;
0o;
;	[I"DA Net::IMAP::NoResponseError is raised if authentication fails.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(auth_type, *args);T@-FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"create:ETI"Net::IMAP#create;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Sends a CREATE command to create a new +mailbox+.;To:RDoc::Markup::BlankLineo;
;	[I"HA Net::IMAP::NoResponseError is raised if a mailbox with that name ;TI"cannot be created.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getacl:ETI"Net::IMAP#getacl;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Send the GETACL command along with a specified +mailbox+. ;TI"<If this mailbox exists, an array containing objects of ;TI"0Net::IMAP::MailboxACLItem will be returned.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"search_internal:ETI"Net::IMAP#search_internal;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(cmd, keys, charset);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI")Net::IMAP::CramMD5Authenticator::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(user, password);T@FI"CramMD5Authenticator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"CramMD5Authenticator:ETI"$Net::IMAP::CramMD5Authenticator;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"@Authenticator for the "CRAM-MD5" authentication type.  See ;TI"#authenticate().;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"new;TI"lib/net/imap.rb;T[:protected[[:private[[I"
instance;T[[;[[I"process;T@[;
[[;[[I"
hmac_md5;T@[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"process:ETI",Net::IMAP::CramMD5Authenticator#process;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(challenge);T@FI"CramMD5Authenticator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
hmac_md5:ETI"-Net::IMAP::CramMD5Authenticator#hmac_md5;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(text, key);T@FI"CramMD5Authenticator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"send_string_data:ETI"Net::IMAP#send_string_data;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(str, tag = nil);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"FlagCountError:ETI"Net::IMAP::FlagCountError;TI"Net::IMAP::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I">Error raised when too many flags are interned to symbols.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"	lsub:ETI"Net::IMAP#lsub;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"FSends a LSUB command, and returns a subset of names from the set ;TI">of names that the user has declared as being "active" or ;TI"?"subscribed."  +refname+ and +mailbox+ are interpreted as ;TI"for #list(). ;TI">The return value is an array of +Net::IMAP::MailboxList+.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(refname, mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"put_string:ETI"Net::IMAP#put_string;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"record_response:ETI"Net::IMAP#record_response;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, data);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::Attr[iI"response_handlers:ETI" Net::IMAP#response_handlers;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#Returns all response handlers.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::IMAP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"generate_tag:ETI"Net::IMAP#generate_tag;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
fetch:ETI"Net::IMAP#fetch;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FSends a FETCH command to retrieve data associated with a message ;TI"in the mailbox.;To:RDoc::Markup::BlankLineo;
;	[
I"EThe +set+ parameter is a number or a range between two numbers, ;TI"Eor an array of those.  The number is a message sequence number, ;TI"Fwhere -1 represents a '*' for use in range notation like 100..-1 ;TI"Cbeing interpreted as '100:*'.  Beware that the +exclude_end?+ ;TI"Bproperty of a Range object is ignored, and the contents of a ;TI"Frange are independent of the order of the range endpoints as per ;TI"Bthe protocol specification, so 1...5, 5..1 and 5...1 are all ;TI"equivalent to 1..5.;T@o;
;	[I"D+attr+ is a list of attributes to fetch; see the documentation ;TI"=for Net::IMAP::FetchData for a list of valid attributes.;T@o;
;	[I"AThe return value is an array of Net::IMAP::FetchData or nil ;TI"A(instead of an empty array) if there is no matching message.;T@o;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"p imap.fetch(6..8, "UID")
;TI"@#=> [#<Net::IMAP::FetchData seqno=6, attr={"UID"=>98}>, \\
;TI"@     #<Net::IMAP::FetchData seqno=7, attr={"UID"=>99}>, \\
;TI">     #<Net::IMAP::FetchData seqno=8, attr={"UID"=>100}>]
;TI"6p imap.fetch(6, "BODY[HEADER.FIELDS (SUBJECT)]")
;TI"l#=> [#<Net::IMAP::FetchData seqno=6, attr={"BODY[HEADER.FIELDS (SUBJECT)]"=>"Subject: test\r\n\r\n"}>]
;TI"Cdata = imap.uid_fetch(98, ["RFC822.SIZE", "INTERNALDATE"])[0]
;TI"p data.seqno
;TI"#=> 6
;TI" p data.attr["RFC822.SIZE"]
;TI"
#=> 611
;TI"!p data.attr["INTERNALDATE"]
;TI"&#=> "12-Oct-2000 22:40:59 +0900"
;TI"p data.attr["UID"]
;TI"#=> 98;T:@format0:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(set, attr, mod = nil);T@6FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	copy:ETI"Net::IMAP#copy;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"FSends a COPY command to copy the specified message(s) to the end ;TI"Dof the specified destination +mailbox+. The +set+ parameter is ;TI"Ea number, an array of numbers, or a Range object. The number is ;TI"a message sequence number.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(set, mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"max_flag_count:ETI"Net::IMAP::max_flag_count;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Returns the max number of flags interned to symbols.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Net::IMAP::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ECreates a new Net::IMAP object and connects it to the specified ;TI"+host+.;To:RDoc::Markup::BlankLineo;
;	[I"@+options+ is an option hash, each key of which is a symbol.;T@o;
;	[I"The available options are:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"	port;T;	[o;
;	[I"BPort number (default value is 143 for imap, or 993 for imaps);To;;[I"ssl;T;	[o;
;	[I"<If options[:ssl] is true, then an attempt will be made ;TI"Fto use SSL (now TLS) to connect to the server.  For this to work ;TI"COpenSSL [OSSL] and the Ruby OpenSSL [RSSL] extensions need to ;TI"be installed. ;TI"0If options[:ssl] is a hash, it's passed to ;TI"7OpenSSL::SSL::SSLContext#set_params as parameters.;To;;[I"open_timeout;T;	[o;
;	[I"1Seconds to wait until a connection is opened;T@o;
;	[I" The most common errors are:;T@o;;
;;[
o;;[I"Errno::ECONNREFUSED;T;	[o;
;	[I"4Connection refused by +host+ or an intervening ;TI"firewall.;To;;[I"Errno::ETIMEDOUT;T;	[o;
;	[I"3Connection timed out (possibly due to packets ;TI"/being dropped by an intervening firewall).;To;;[I"Errno::ENETUNREACH;T;	[o;
;	[I"'There is no route to that network.;To;;[I"SocketError;T;	[o;
;	[I".Hostname not known or other socket error.;To;;[I" Net::IMAP::ByeResponseError;T;	[o;
;	[I"3The connected to the host was successful, but ;TI"!it immediately said goodbye.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0I"'Net::IMAP.new(host, options = {})
;T0[I"M(host, port_or_options = {}, usessl = false, certs = nil, verify = true);T@]TI"	IMAP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Error:ETI"Net::IMAP::Error;TI"StandardError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"Superclass of IMAP errors.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"sort_internal:ETI"Net::IMAP#sort_internal;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"+(cmd, sort_keys, search_keys, charset);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ResponseParseError:ETI""Net::IMAP::ResponseParseError;TI"Net::IMAP::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"CError raised when a response from the server is non-parseable.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"default_imap_port:ETI"!Net::IMAP::default_imap_port;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass0[I"Net::IMAP;TTI"default_port;TU:RDoc::AnyMethod[iI"	sort:ETI"Net::IMAP#sort;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I";Sends a SORT command to sort messages in the mailbox. ;TI"?Returns an array of message sequence numbers. For example:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"0p imap.sort(["FROM"], ["ALL"], "US-ASCII")
;TI"%#=> [1, 2, 3, 5, 6, 7, 8, 4, 9]
;TI"=p imap.sort(["DATE"], ["SUBJECT", "hello"], "US-ASCII")
;TI"#=> [6, 7, 8, 1]
;T:@format0o;
;	[I",See [SORT-THREAD-EXT] for more details.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"&(sort_keys, search_keys, charset);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"decode_utf7:ETI"Net::IMAP::decode_utf7;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"9Decode a string from modified UTF-7 format to UTF-8.;To:RDoc::Markup::BlankLineo;
;	[I"?UTF-7 is a 7-bit encoding of Unicode [UTF7].  IMAP uses a ;TI"?slightly modified version of this to encode mailbox names ;TI"?containing non-ASCII characters; see [IMAP] section 5.1.3.;T@o;
;	[I":Net::IMAP does _not_ automatically encode and decode ;TI"%mailbox names to and from UTF-7.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"receive_responses:ETI" Net::IMAP#receive_responses;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"subscribe:ETI"Net::IMAP#subscribe;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FSends a SUBSCRIBE command to add the specified +mailbox+ name to ;TI"Hthe server's set of "active" or "subscribed" mailboxes as returned ;TI"by #lsub().;To:RDoc::Markup::BlankLineo;
;	[I"CA Net::IMAP::NoResponseError is raised if +mailbox+ cannot be ;TI"<subscribed to; for instance, because it does not exist.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"idle_done:ETI"Net::IMAP#idle_done;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Leaves IDLE.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
uid_copy:ETI"Net::IMAP#uid_copy;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Similar to #copy(), but +set+ contains unique identifiers.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(set, mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"create_ssl_params:ETI" Net::IMAP#create_ssl_params;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"!(certs = nil, verify = true);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unsubscribe:ETI"Net::IMAP#unsubscribe;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HSends a UNSUBSCRIBE command to remove the specified +mailbox+ name ;TI"Afrom the server's set of "active" or "subscribed" mailboxes.;To:RDoc::Markup::BlankLineo;
;	[I"CA Net::IMAP::NoResponseError is raised if +mailbox+ cannot be ;TI"Junsubscribed from; for instance, because the client is not currently ;TI"subscribed to it.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append:ETI"Net::IMAP#append;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"BSends a APPEND command to append the +message+ to the end of ;TI"Athe +mailbox+. The optional +flags+ argument is an array of ;TI">flags initially passed to the new message.  The optional ;TI"G+date_time+ argument specifies the creation time to assign to the ;TI"3new message; it defaults to the current time. ;TI"For example:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Gimap.append("inbox", <<EOF.gsub(/\n/, "\r\n"), [:Seen], Time.now)
;TI"Subject: hello
;TI"From: shugo@ruby-lang.org
;TI"To: shugo@ruby-lang.org
;TI"
;TI"hello world
;TI"	EOF
;T:@format0o;
;	[I"@A Net::IMAP::NoResponseError is raised if the mailbox does ;TI"Cnot exist (it is not created automatically), or if the flags, ;TI"4date_time, or message arguments contain errors.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"5(mailbox, message, flags = nil, date_time = nil);T@"FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"validate_data:ETI"Net::IMAP#validate_data;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(data);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
setquota:ETI"Net::IMAP#setquota;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"ESends a SETQUOTA command along with the specified +mailbox+ and ;TI"F+quota+.  If +quota+ is nil, then +quota+ will be unset for that ;TI"Emailbox.  Typically one needs to be logged in as a server admin ;TI"Afor this to work.  The IMAP quota commands are described in ;TI"[RFC-2087].;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox, quota);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
getquota:ETI"Net::IMAP#getquota;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"@Sends the GETQUOTA command along with specified +mailbox+. ;TI"8If this mailbox exists, then an array containing a ;TI"7Net::IMAP::MailboxQuota object is returned.  This ;TI"9command is generally only available to server admin.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"NoResponseError:ETI"Net::IMAP::NoResponseError;TI"Net::IMAP::ResponseError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"CError raised upon a "NO" response from the server, indicating ;TI"Athat the client command could not be completed successfully.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"expunge:ETI"Net::IMAP#expunge;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FSends a EXPUNGE command to permanently remove from the currently ;TI"Cselected mailbox all messages that have the \Deleted flag set.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"send_data:ETI"Net::IMAP#send_data;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(data, tag = nil);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setacl:ETI"Net::IMAP#setacl;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"CSends the SETACL command along with +mailbox+, +user+ and the ;TI"I+rights+ that user is to have on that mailbox.  If +rights+ is nil, ;TI"Dthen that user will be stripped of any rights to that mailbox. ;TI"7The IMAP ACL commands are described in [RFC-2086].;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox, user, rights);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	noop:ETI"Net::IMAP#noop;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Sends a NOOP command to the server. It does nothing.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"store_internal:ETI"Net::IMAP#store_internal;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(cmd, set, attr, flags);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::Attr[iI"responses:ETI"Net::IMAP#responses;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Returns recorded untagged responses.  For example:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"imap.select("inbox")
;TI"$p imap.responses["EXISTS"][-1]
;TI"#=> 2
;TI")p imap.responses["UIDVALIDITY"][-1]
;TI"#=> 968263756;T:@format0:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::IMAP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"'Net::IMAP::LoginAuthenticator::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(user, password);T@FI"LoginAuthenticator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"LoginAuthenticator:ETI""Net::IMAP::LoginAuthenticator;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"=Authenticator for the "LOGIN" authentication type.  See ;TI"#authenticate().;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"STATE_USER;TI".Net::IMAP::LoginAuthenticator::STATE_USER;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"STATE_PASSWORD;TI"2Net::IMAP::LoginAuthenticator::STATE_PASSWORD;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[I"new;TI"lib/net/imap.rb;T[:protected[[:private[[I"
instance;T[[;
[[I"process;T@+[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;T@U:RDoc::AnyMethod[iI"process:ETI"*Net::IMAP::LoginAuthenticator#process;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(data);T@FI"LoginAuthenticator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"BadResponseError:ETI" Net::IMAP::BadResponseError;TI"Net::IMAP::ResponseError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"DError raised upon a "BAD" response from the server, indicating ;TI"Hthat the client command violated the IMAP protocol, or an internal ;TI"!server failure has occurred.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"search:ETI"Net::IMAP#search;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DSends a SEARCH command to search the mailbox for messages that ;TI"Fmatch the given searching criteria, and returns message sequence ;TI"@numbers.  +keys+ can either be a string holding the entire ;TI"Gsearch string, or a single-dimension array of search keywords and ;TI"@arguments.  The following are some common search criteria; ;TI".see [IMAP] section 6.4.4 for a full list.;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"<message set>;T;	[o;
;	[I"7a set of message sequence numbers.  ',' indicates ;TI"8an interval, ':' indicates a range.  For instance, ;TI"('2,10:12,15' means "2,10,11,12,15".;T@o;;[I"BEFORE <date>;T;	[o;
;	[I"4messages with an internal date strictly before ;TI"5<date>.  The date argument has a format similar ;TI"to 8-Aug-2002.;T@o;;[I"BODY <string>;T;	[o;
;	[I"6messages that contain <string> within their body.;T@o;;[I"CC <string>;T;	[o;
;	[I"4messages containing <string> in their CC field.;T@o;;[I"FROM <string>;T;	[o;
;	[I"8messages that contain <string> in their FROM field.;T@o;;[I"NEW;T;	[o;
;	[I"<messages with the \Recent, but not the \Seen, flag set.;T@o;;[I"NOT <search-key>;T;	[o;
;	[I"%negate the following search key.;T@o;;[I"!OR <search-key> <search-key>;T;	[o;
;	[I"#"or" two search keys together.;T@o;;[I"ON <date>;T;	[o;
;	[I"=messages with an internal date exactly equal to <date>, ;TI".which has a format similar to 8-Aug-2002.;T@o;;[I"SINCE <date>;T;	[o;
;	[I"7messages with an internal date on or after <date>.;T@o;;[I"SUBJECT <string>;T;	[o;
;	[I"-messages with <string> in their subject.;T@o;;[I"TO <string>;T;	[o;
;	[I".messages with <string> in their TO field.;T@o;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"7p imap.search(["SUBJECT", "hello", "NOT", "NEW"])
;TI"#=> [1, 6, 7, 8];T:@format0:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(keys, charset = nil);T@vFI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"disconnected?:ETI"Net::IMAP#disconnected?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Returns true if disconnected from the server.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rename:ETI"Net::IMAP#rename;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CSends a RENAME command to change the name of the +mailbox+ to ;TI"+newname+.;To:RDoc::Markup::BlankLineo;
;	[	I"BA Net::IMAP::NoResponseError is raised if a mailbox with the ;TI"@name +mailbox+ cannot be renamed to +newname+ for whatever ;TI"@reason; for instance, because +mailbox+ does not exist, or ;TI"@because there is already a mailbox with the name +newname+.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox, newname);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"select:ETI"Net::IMAP#select;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"CSends a SELECT command to select a +mailbox+ so that messages ;TI"&in the +mailbox+ can be accessed.;To:RDoc::Markup::BlankLineo;
;	[I"=After you have selected a mailbox, you may retrieve the ;TI"Dnumber of items in that mailbox from @responses["EXISTS"][-1], ;TI"Fand the number of recent messages from @responses["RECENT"][-1]. ;TI">Note that these values can change if new messages arrive ;TI"@during a session; see #add_response_handler() for a way of ;TI"detecting this event.;T@o;
;	[I"DA Net::IMAP::NoResponseError is raised if the mailbox does not ;TI"0exist or is for some reason non-selectable.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"fetch_internal:ETI"Net::IMAP#fetch_internal;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I" (cmd, set, attr, mod = nil);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
close:ETI"Net::IMAP#close;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DSends a CLOSE command to close the currently selected mailbox. ;TI"@The CLOSE command permanently removes from the mailbox all ;TI".messages that have the \Deleted flag set.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	list:ETI"Net::IMAP#list;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Sends a LIST command, and returns a subset of names from ;TI"<the complete set of all names available to the client. ;TI"B+refname+ provides a context (for instance, a base directory ;TI"Cin a directory-based mailbox hierarchy).  +mailbox+ specifies ;TI"@a mailbox or (via wildcards) mailboxes under that context. ;TI"@Two wildcards may be used in +mailbox+: '*', which matches ;TI"Gall characters *including* the hierarchy delimiter (for instance, ;TI"G'/' on a UNIX-hosted directory-based mailbox hierarchy); and '%', ;TI"Cwhich matches all characters *except* the hierarchy delimiter.;To:RDoc::Markup::BlankLineo;
;	[I"DIf +refname+ is empty, +mailbox+ is used directly to determine ;TI"@which mailboxes to match.  If +mailbox+ is empty, the root ;TI"@name of +refname+ and the hierarchy delimiter are returned.;T@o;
;	[I"KThe return value is an array of +Net::IMAP::MailboxList+. For example:;T@o:RDoc::Markup::Verbatim;	[I"imap.create("foo/bar")
;TI"imap.create("foo/baz")
;TI"p imap.list("", "foo/%")
;TI"Q#=> [#<Net::IMAP::MailboxList attr=[:Noselect], delim="/", name="foo/">, \\
;TI"`     #<Net::IMAP::MailboxList attr=[:Noinferiors, :Marked], delim="/", name="foo/bar">, \\
;TI"S     #<Net::IMAP::MailboxList attr=[:Noinferiors], delim="/", name="foo/baz">];T:@format0:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(refname, mailbox);T@'FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"format_date:ETI"Net::IMAP::format_date;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Formats +time+ as an IMAP-style date.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(time);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"copy_internal:ETI"Net::IMAP#copy_internal;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(cmd, set, mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"multipart?:ETI"'Net::IMAP::BodyTypeText#multipart?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BodyTypeText;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"BodyTypeText:ETI"Net::IMAP::BodyTypeText;TI"=Struct.new(:media_type, :subtype,                                     :param, :content_id,                                     :description, :encoding, :size,                                     :lines,                                     :md5, :disposition, :language,                                     :extension);To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"INet::IMAP::BodyTypeText represents TEXT body structures of messages.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli	:	textI"Fields:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"
lines;T;[o;	;[I"0Returns the size of the body in text lines.;T@o;	;[I"LAnd Net::IMAP::BodyTypeText has all fields of Net::IMAP::BodyTypeBasic.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"media_subtype;TI"lib/net/imap.rb;T[I"multipart?;T@5[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@ I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"media_subtype:ETI"*Net::IMAP::BodyTypeText#media_subtype;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Obsolete: use +subtype+ instead.  Calling this will ;TI"9generate a warning message to +stderr+, then return ;TI"the value of +subtype+.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BodyTypeText;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"send_quoted_string:ETI"!Net::IMAP#send_quoted_string;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
check:ETI"Net::IMAP#check;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"DSends a CHECK command to request a checkpoint of the currently ;TI">selected mailbox.  This performs implementation-specific ;TI";housekeeping; for instance, reconciling the mailbox's ;TI"!in-memory and on-disk state.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"send_number_data:ETI"Net::IMAP#send_number_data;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(num);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"DataFormatError:ETI"Net::IMAP::DataFormatError;TI"Net::IMAP::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"7Error raised when data is in the incorrect format.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::Attr[iI"
greeting:ETI"Net::IMAP#greeting;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Returns an initial greeting response from the server.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::IMAP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"get_response:ETI"Net::IMAP#get_response;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_tls_port:ETI" Net::IMAP::default_tls_port;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5The default port for IMAPS connections, port 993;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[[I"default_imaps_port;To;;	[;@;0[I"default_ssl_port;To;;	[;@;0I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"delete:ETI"Net::IMAP#delete;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4Sends a DELETE command to remove the +mailbox+.;To:RDoc::Markup::BlankLineo;
;	[I"HA Net::IMAP::NoResponseError is raised if a mailbox with that name ;TI"Hcannot be deleted, either because it does not exist or because the ;TI"2client does not have permission to delete it.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"status:ETI"Net::IMAP#status;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ESends a STATUS command, and returns the status of the indicated ;TI"A+mailbox+. +attr+ is a list of one or more attributes whose ;TI"Astatuses are to be requested.  Supported attributes include:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"7MESSAGES:: the number of messages in the mailbox.
;TI"<RECENT:: the number of recent messages in the mailbox.
;TI"<UNSEEN:: the number of unseen messages in the mailbox.
;T:@format0o;
;	[I";The return value is a hash of attributes. For example:;T@o;;	[I"4p imap.status("inbox", ["MESSAGES", "RECENT"])
;TI"'#=> {"RECENT"=>0, "MESSAGES"=>44}
;T;
0o;
;	[I"=A Net::IMAP::NoResponseError is raised if status values ;TI"@for +mailbox+ cannot be returned; for instance, because it ;TI"does not exist.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox, attr);T@"FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"thread_internal:ETI"Net::IMAP#thread_internal;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"+(cmd, algorithm, search_keys, charset);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tcp_socket:ETI"Net::IMAP#tcp_socket;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(host, port);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"!normalize_searching_criteria:ETI"+Net::IMAP#normalize_searching_criteria;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(keys);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"format_datetime:ETI"Net::IMAP::format_datetime;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Formats +time+ as an IMAP-style date-time.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(time);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"send_symbol_data:ETI"Net::IMAP#send_symbol_data;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(symbol);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"encode_utf7:ETI"Net::IMAP::encode_utf7;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Encode a string from UTF-8 format to modified UTF-7.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"capability:ETI"Net::IMAP#capability;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"9Sends a CAPABILITY command, and returns an array of ;TI"=capabilities that the server supports.  Each capability ;TI"5is a string.  See [IMAP] for a list of possible ;TI"capabilities.;To:RDoc::Markup::BlankLineo;
;	[
I"7Note that the Net::IMAP class does not modify its ;TI"<behaviour according to the capabilities of the server; ;TI"6it is up to the user of the class to ensure that ;TI":a certain capability is supported by a server before ;TI"using it.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"send_time_data:ETI"Net::IMAP#send_time_data;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(time);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
store:ETI"Net::IMAP#store;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"BSends a STORE command to alter data associated with messages ;TI"Din the mailbox, in particular their flags. The +set+ parameter ;TI"Fis a number, an array of numbers, or a Range object. Each number ;TI"Fis a message sequence number.  +attr+ is the name of a data item ;TI"<to store: 'FLAGS' will replace the message's flag list ;TI"Bwith the provided one, '+FLAGS' will add the provided flags, ;TI"@and '-FLAGS' will remove them.  +flags+ is a list of flags.;To:RDoc::Markup::BlankLineo;
;	[I"GThe return value is an array of Net::IMAP::FetchData. For example:;T@o:RDoc::Markup::Verbatim;	[	I".p imap.store(6..8, "+FLAGS", [:Deleted])
;TI"Q#=> [#<Net::IMAP::FetchData seqno=6, attr={"FLAGS"=>[:Seen, :Deleted]}>, \\
;TI"Q     #<Net::IMAP::FetchData seqno=7, attr={"FLAGS"=>[:Seen, :Deleted]}>, \\
;TI"M     #<Net::IMAP::FetchData seqno=8, attr={"FLAGS"=>[:Seen, :Deleted]}>];T:@format0:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(set, attr, flags);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_ssl_port:ETI" Net::IMAP::default_ssl_port;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass0[I"Net::IMAP;TTI"default_tls_port;TU:RDoc::AnyMethod[iI"	idle:ETI"Net::IMAP#idle;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KSends an IDLE command that waits for notifications of new or expunged ;TI"Amessages.  Yields responses from the server during the IDLE.;To:RDoc::Markup::BlankLineo;
;	[I"$Use #idle_done() to leave IDLE.;T@o;
;	[I"PIf +timeout+ is given, this method returns after +timeout+ seconds passed. ;TI"L+timeout+ can be used for keep-alive.  For example, the following code ;TI"/checks the connection for each 60 seconds.;T@o:RDoc::Markup::Verbatim;	[
I"
loop do
;TI"  imap.idle(60) do |res|
;TI"
    ...
;TI"  end
;TI"end;T:@format0:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"'(timeout = nil, &response_handler);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	IMAP:ETI"Net::IMAP;TI"
Protocol;To:RDoc::Markup::Document:@parts[o;;[0o:RDoc::Markup::Paragraph;[I"INet::IMAP implements Internet Message Access Protocol (IMAP) client ;TI"9functionality.  The protocol is described in [IMAP].;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"IMAP Overview;T@o;	;[I"AAn IMAP client connects to a server, and then authenticates ;TI">itself using either #authenticate() or #login().  Having ;TI"8authenticated itself, there is a range of commands ;TI">available to it.  Most work with mailboxes, which may be ;TI">arranged in an hierarchical namespace, and each of which ;TI"Acontains zero or more messages.  How this is implemented on ;TI"Bthe server is implementation-dependent; on a UNIX server, it ;TI"?will frequently be implemented as files in mailbox format ;TI"'within a hierarchy of directories.;T@o;	;[I"?To work on the messages within a mailbox, the client must ;TI"?first select that mailbox, using either #select() or (for ;TI"Eread-only access) #examine().  Once the client has successfully ;TI"?selected a mailbox, they enter _selected_ state, and that ;TI"?mailbox becomes the _current_ mailbox, on which mail-item ;TI")related commands implicitly operate.;T@o;	;[I">Messages have two sorts of identifiers: message sequence ;TI"numbers and UIDs.;T@o;	;[I"?Message sequence numbers number messages within a mailbox ;TI"@from 1 up to the number of items in the mailbox.  If a new ;TI">message arrives during a session, it receives a sequence ;TI"?number equal to the new size of the mailbox.  If messages ;TI"Bare expunged from the mailbox, remaining messages have their ;TI"7sequence numbers "shuffled down" to fill the gaps.;T@o;	;[
I"@UIDs, on the other hand, are permanently guaranteed not to ;TI"?identify another message within the same mailbox, even if ;TI"<the existing message is deleted.  UIDs are required to ;TI"?be assigned in ascending (but not necessarily sequential) ;TI"Border within a mailbox; this means that if a non-IMAP client ;TI"=rearranges the order of mailitems within a mailbox, the ;TI"=UIDs have to be reassigned.  An IMAP client thus cannot ;TI"rearrange message orders.;T@S;;i;
I"Examples of Usage;T@S;;i;
I"JList sender and subject of all recent messages in the default mailbox;T@o:RDoc::Markup::Verbatim;[I".imap = Net::IMAP.new('mail.example.com')
;TI"=imap.authenticate('LOGIN', 'joe_user', 'joes_password')
;TI"imap.examine('INBOX')
;TI"2imap.search(["RECENT"]).each do |message_id|
;TI"I  envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"]
;TI">  puts "#{envelope.from[0].name}: \t#{envelope.subject}"
;TI"	end
;T:@format0S;;i;
I"QMove all messages from April 2003 from "Mail/sent-mail" to "Mail/sent-apr03";T@o;;[I".imap = Net::IMAP.new('mail.example.com')
;TI"=imap.authenticate('LOGIN', 'joe_user', 'joes_password')
;TI"#imap.select('Mail/sent-mail')
;TI"-if not imap.list('Mail/', 'sent-apr03')
;TI"&  imap.create('Mail/sent-apr03')
;TI"	end
;TI"Ximap.search(["BEFORE", "30-Apr-2003", "SINCE", "1-Apr-2003"]).each do |message_id|
;TI"0  imap.copy(message_id, "Mail/sent-apr03")
;TI"4  imap.store(message_id, "+FLAGS", [:Deleted])
;TI"	end
;TI"imap.expunge
;T;0S;;i;
I"Thread Safety;T@o;	;[I"8Net::IMAP supports concurrent threads. For example,;T@o;;[I"3imap = Net::IMAP.new("imap.foo.net", "imap2")
;TI"6imap.authenticate("cram-md5", "bar", "password")
;TI"imap.select("inbox")
;TI">fetch_thread = Thread.start { imap.fetch(1..-1, "UID") }
;TI"4search_result = imap.search(["BODY", "hello"])
;TI"'fetch_result = fetch_thread.value
;TI"imap.disconnect
;T;0o;	;[I"OThis script invokes the FETCH command and the SEARCH command concurrently.;T@S;;i;
I"Errors;T@o;	;[I"LAn IMAP server can send three different types of responses to indicate ;TI"
failure:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"NO;T;[o;	;[I"Ethe attempted command could not be successfully completed.  For ;TI"Hinstance, the username/password used for logging in are incorrect; ;TI".the selected mailbox does not exist; etc.;T@o;;[I"BAD;T;[o;	;[I">the request from the client does not follow the server's ;TI"Cunderstanding of the IMAP protocol.  This includes attempting ;TI"Dcommands from the wrong client state; for instance, attempting ;TI"Cto perform a SEARCH command without having SELECTed a current ;TI"5mailbox.  It can also signal an internal server ;TI"1failure (such as a disk crash) has occurred.;T@o;;[I"BYE;T;[o;	;[I"Athe server is saying goodbye.  This can be part of a normal ;TI"Blogout sequence, and can be used as part of a login sequence ;TI"@to indicate that the server is (for some reason) unwilling ;TI"Eto accept your connection.  As a response to any other command, ;TI"Cit indicates either that the server is shutting down, or that ;TI"Fthe server is timing out the client connection due to inactivity.;T@o;	;[I">These three error response are represented by the errors ;TI"BNet::IMAP::NoResponseError, Net::IMAP::BadResponseError, and ;TI"ANet::IMAP::ByeResponseError, all of which are subclasses of ;TI"FNet::IMAP::ResponseError.  Essentially, all methods that involve ;TI"Gsending a request to the server can generate one of these errors. ;TI"BOnly the most pertinent instances have been documented below.;T@o;	;[
I"HBecause the IMAP class uses Sockets for communication, its methods ;TI"Dare also susceptible to the various errors that can occur when ;TI"?working with sockets.  These are generally represented as ;TI"EErrno errors.  For instance, any method that involves sending a ;TI"Erequest to the server and/or receiving a response from it could ;TI"Hraise an Errno::EPIPE error if the network connection unexpectedly ;TI"Jgoes down.  See the socket(7), ip(7), tcp(7), socket(2), connect(2), ;TI"and associated man pages.;T@o;	;[	I"GFinally, a Net::IMAP::DataFormatError is thrown if low-level data ;TI"Jis found to be in an incorrect format (for instance, when converting ;TI"Ebetween UTF-8 and UTF-16), and Net::IMAP::ResponseParseError is ;TI"2thrown if a server response is non-parseable.;T@S;;i;
I"References;T@o;;:
LABEL;[o;;[I"[IMAP];T;[o;;:UALPHA;[o;;0;[o;	;[I"ACrispin, "INTERNET MESSAGE ACCESS PROTOCOL - VERSION 4rev1",;To;	;[I"BRFC 2060, December 1996.  (Note: since obsoleted by RFC 3501);T@o;;[I"[LANGUAGE-TAGS];T;[o;	;[I"5Alvestrand, H., "Tags for the Identification of ;TI"&Languages", RFC 1766, March 1995.;T@o;;[I"
[MD5];T;[o;	;[I"AMyers, J., and M. Rose, "The Content-MD5 Header Field", RFC ;TI"1864, October 1995.;T@o;;[I"[MIME-IMB];T;[o;	;[I"@Freed, N., and N. Borenstein, "MIME (Multipurpose Internet ;TI"HMail Extensions) Part One: Format of Internet Message Bodies", RFC ;TI"2045, November 1996.;T@o;;[I"[RFC-822];T;[o;	;[I"ACrocker, D., "Standard for the Format of ARPA Internet Text ;TI"EMessages", STD 11, RFC 822, University of Delaware, August 1982.;T@o;;[I"[RFC-2087];T;[o;	;[I"@Myers, J., "IMAP4 QUOTA extension", RFC 2087, January 1997.;T@o;;[I"[RFC-2086];T;[o;	;[I">Myers, J., "IMAP4 ACL extension", RFC 2086, January 1997.;T@o;;[I"[RFC-2195];T;[o;	;[I"NKlensin, J., Catoe, R., and Krumviede, P., "IMAP/POP AUTHorize Extension ;TI">for Simple Challenge/Response", RFC 2195, September 1997.;T@o;;[I"[SORT-THREAD-EXT];T;[o;	;[I"FCrispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - SORT and THREAD ;TI"4Extensions", draft-ietf-imapext-sort, May 2003.;T@o;;[I"[OSSL];T;[o;	;[I"http://www.openssl.org;T@o;;[I"[RSSL];T;[o;	;[I"-http://savannah.gnu.org/projects/rubypki;T@o;;[I"[UTF7];T;[o;	;[I"OGoldsmith, D. and Davis, M., "UTF-7: A Mail-Safe Transformation Format of ;TI""Unicode", RFC 2152, May 1997.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[
[
I"client_thread;TI"RW;T:publicFI"lib/net/imap.rb;T[
I"
greeting;TI"R;T;F@[
I"open_timeout;T@;F@[
I"response_handlers;T@;F@[
I"responses;T@;F@[ U:RDoc::Constant[iI"	SEEN;TI"Net::IMAP::SEEN;T;0o;;[o;	;[I"-Flag indicating a message has been seen.;T;@;0@@cRDoc::NormalClass0U;[iI"
ANSWERED;TI"Net::IMAP::ANSWERED;T;0o;;[o;	;[I"1Flag indicating a message has been answered.;T;@;0@@@'0U;[iI"FLAGGED;TI"Net::IMAP::FLAGGED;T;0o;;[o;	;[I"FFlag indicating a message has been flagged for special or urgent ;TI"attention.;T;@;0@@@'0U;[iI"DELETED;TI"Net::IMAP::DELETED;T;0o;;[o;	;[I"CFlag indicating a message has been marked for deletion.  This ;TI"7will occur when the mailbox is closed or expunged.;T;@;0@@@'0U;[iI"
DRAFT;TI"Net::IMAP::DRAFT;T;0o;;[o;	;[I"KFlag indicating a message is only a draft or work-in-progress version.;T;@;0@@@'0U;[iI"RECENT;TI"Net::IMAP::RECENT;T;0o;;[o;	;[I"EFlag indicating that the message is "recent," meaning that this ;TI"Hsession is the first session in which the client has been notified ;TI"of this message.;T;@;0@@@'0U;[iI"NOINFERIORS;TI"Net::IMAP::NOINFERIORS;T;0o;;[o;	;[I"@Flag indicating that a mailbox context name cannot contain ;TI"children.;T;@;0@@@'0U;[iI"
NOSELECT;TI"Net::IMAP::NOSELECT;T;0o;;[o;	;[I"4Flag indicating that a mailbox is not selected.;T;@;0@@@'0U;[iI"MARKED;TI"Net::IMAP::MARKED;T;0o;;[o;	;[I"EFlag indicating that a mailbox has been marked "interesting" by ;TI"Cthe server; this commonly indicates that the mailbox contains ;TI"new messages.;T;@;0@@@'0U;[iI"
UNMARKED;TI"Net::IMAP::UNMARKED;T;0o;;[o;	;[I"EFlag indicating that the mailbox does not contains new messages.;T;@;0@@@'0U;[iI"DATE_MONTH;TI"Net::IMAP::DATE_MONTH;T;0o;;[;@;0@@@'0U;[iI"ContinuationRequest;TI"#Net::IMAP::ContinuationRequest;T;0o;;[
o;	;[I"MNet::IMAP::ContinuationRequest represents command continuation requests.;T@o;	;[	I"KThe command continuation request response is indicated by a "+" token ;TI"Kinstead of a tag.  This form of response indicates that the server is ;TI"Iready to accept the continuation of a command from the client.  The ;TI"2remainder of this response is a line of text.;T@o;;[I"8continue_req    ::= "+" SPACE (resp_text / base64)
;T;0S;;i	;
I"Fields:;T@o;;;;[o;;[I"	data;T;[o;	;[I"0Returns the data (Net::IMAP::ResponseText).;T@o;;[I"
raw_data;T;[o;	;[I"!Returns the raw data string.;T;@;0@@@'0U;[iI"UntaggedResponse;TI" Net::IMAP::UntaggedResponse;T;0o;;[
o;	;[I"?Net::IMAP::UntaggedResponse represents untagged responses.;T@o;	;[I"GData transmitted by the server to the client and status responses ;TI"Ithat do not indicate command completion are prefixed with the token ;TI","*", and are called untagged responses.;T@o;;[I"Fresponse_data   ::= "*" SPACE (resp_cond_state / resp_cond_bye /
;TI"H                    mailbox_data / message_data / capability_data)
;T;0S;;i	;
I"Fields:;T@o;;;;[o;;[I"	name;T;[o;	;[I";Returns the name, such as "FLAGS", "LIST", or "FETCH".;T@o;;[I"	data;T;[o;	;[I"8Returns the data such as an array of flag symbols, ;TI"+a ((<Net::IMAP::MailboxList>)) object.;T@o;;[I"
raw_data;T;[o;	;[I"!Returns the raw data string.;T;@;0@@@'0U;[iI"TaggedResponse;TI"Net::IMAP::TaggedResponse;T;0o;;[
o;	;[I";Net::IMAP::TaggedResponse represents tagged responses.;T@o;	;[I"DThe server completion result response indicates the success or ;TI"Ffailure of the operation.  It is tagged with the same tag as the ;TI".client command which began the operation.;T@o;;[
I"8response_tagged ::= tag SPACE resp_cond_state CRLF
;TI"
;TI"6tag             ::= 1*<any ATOM_CHAR except "+">
;TI"
;TI"?resp_cond_state ::= ("OK" / "NO" / "BAD") SPACE resp_text
;T;0S;;i	;
I"Fields:;T@o;;;;[	o;;[I"tag;T;[o;	;[I"Returns the tag.;T@o;;[I"	name;T;[o;	;[I"3Returns the name, one of "OK", "NO", or "BAD".;T@o;;[I"	data;T;[o;	;[I"9Returns the data. See ((<Net::IMAP::ResponseText>)).;T@o;;[I"
raw_data;T;[o;	;[I"!Returns the raw data string.;T;@;0@@@'0U;[iI"ResponseText;TI"Net::IMAP::ResponseText;T;0o;;[o;	;[I"<Net::IMAP::ResponseText represents texts of responses. ;TI"3The text may be prefixed by the response code.;T@o;;[I"Lresp_text       ::= ["[" resp_text_code "]" SPACE] (text_mime2 / text)
;TI"B                    ;; text SHOULD NOT begin with "[" or "="
;T;0S;;i	;
I"Fields:;T@o;;;;[o;;[I"	code;T;[o;	;[I"BReturns the response code. See ((<Net::IMAP::ResponseCode>)).;T@o;;[I"	text;T;[o;	;[I"Returns the text.;T;@;0@@@'0U;[iI"ResponseCode;TI"Net::IMAP::ResponseCode;T;0o;;[o;	;[I"7Net::IMAP::ResponseCode represents response codes.;T@o;;[I"-resp_text_code  ::= "ALERT" / "PARSE" /
;TI"I                    "PERMANENTFLAGS" SPACE "(" #(flag / "\*") ")" /
;TI"D                    "READ-ONLY" / "READ-WRITE" / "TRYCREATE" /
;TI"9                    "UIDVALIDITY" SPACE nz_number /
;TI"4                    "UNSEEN" SPACE nz_number /
;TI"C                    atom [SPACE 1*<any TEXT_CHAR except "]">]
;T;0S;;i	;
I"Fields:;T@o;;;;[o;;[I"	name;T;[o;	;[I"KReturns the name, such as "ALERT", "PERMANENTFLAGS", or "UIDVALIDITY".;T@o;;[I"	data;T;[o;	;[I"$Returns the data, if it exists.;T;@;0@@@'0U;[iI"MailboxList;TI"Net::IMAP::MailboxList;T;0o;;[o;	;[I"ENet::IMAP::MailboxList represents contents of the LIST response.;T@o;;[I"<mailbox_list    ::= "(" #("\Marked" / "\Noinferiors" /
;TI"I                    "\Noselect" / "\Unmarked" / flag_extension) ")"
;TI"I                    SPACE (<"> QUOTED_CHAR <"> / nil) SPACE mailbox
;T;0S;;i	;
I"Fields:;T@o;;;;[o;;[I"	attr;T;[o;	;[I"BReturns the name attributes. Each name attribute is a symbol ;TI"Icapitalized by String#capitalize, such as :Noselect (not :NoSelect).;T@o;;[I"
delim;T;[o;	;[I"%Returns the hierarchy delimiter.;T@o;;[I"	name;T;[o;	;[I"Returns the mailbox name.;T;@;0@@@'0U;[iI"MailboxQuota;TI"Net::IMAP::MailboxQuota;T;0o;;[o;	;[	I"GNet::IMAP::MailboxQuota represents contents of GETQUOTA response. ;TI"HThis object can also be a response to GETQUOTAROOT.  In the syntax ;TI"Ispecification below, the delimiter used with the "#" construct is a ;TI"single space (SPACE).;T@o;;[
I"1quota_list      ::= "(" #quota_resource ")"
;TI"
;TI"8quota_resource  ::= atom SPACE number SPACE number
;TI"
;TI"@quota_response  ::= "QUOTA" SPACE astring SPACE quota_list
;T;0S;;i	;
I"Fields:;T@o;;;;[o;;[I"mailbox;T;[o;	;[I"+The mailbox with the associated quota.;T@o;;[I"
usage;T;[o;	;[I"*Current storage usage of the mailbox.;T@o;;[I"
quota;T;[o;	;[I"(Quota limit imposed on the mailbox.;T;@;0@@@'0U;[iI"MailboxQuotaRoot;TI" Net::IMAP::MailboxQuotaRoot;T;0o;;[o;	;[I"ENet::IMAP::MailboxQuotaRoot represents part of the GETQUOTAROOT ;TI"Fresponse. (GETQUOTAROOT can also return Net::IMAP::MailboxQuota.);T@o;;[I"Gquotaroot_response ::= "QUOTAROOT" SPACE astring *(SPACE astring)
;T;0S;;i	;
I"Fields:;T@o;;;;[o;;[I"mailbox;T;[o;	;[I"+The mailbox with the associated quota.;T@o;;[I"quotaroots;T;[o;	;[I":Zero or more quotaroots that affect the quota on the ;TI"specified mailbox.;T;@;0@@@'0U;[iI"MailboxACLItem;TI"Net::IMAP::MailboxACLItem;T;0o;;[o;	;[I"CNet::IMAP::MailboxACLItem represents the response from GETACL.;T@o;;[
I"Nacl_data        ::= "ACL" SPACE mailbox *(SPACE identifier SPACE rights)
;TI"
;TI"!identifier      ::= astring
;TI"
;TI"!rights          ::= astring
;T;0S;;i	;
I"Fields:;T@o;;;;[o;;[I"	user;T;[o;	;[I"7Login name that has certain rights to the mailbox ;TI"0that was specified with the getacl command.;T@o;;[I"rights;T;[o;	;[I"5The access rights the indicated user has to the ;TI"
mailbox.;T;@;0@@@'0U;[iI"StatusData;TI"Net::IMAP::StatusData;T;0o;;[
o;	;[I"JNet::IMAP::StatusData represents the contents of the STATUS response.;T@S;;i	;
I"Fields:;T@o;;;;[o;;[I"mailbox;T;[o;	;[I"Returns the mailbox name.;T@o;;[I"	attr;T;[o;	;[I"IReturns a hash. Each key is one of "MESSAGES", "RECENT", "UIDNEXT", ;TI"5"UIDVALIDITY", "UNSEEN". Each value is a number.;T;@;0@@@'0U;[iI"FetchData;TI"Net::IMAP::FetchData;T;0o;;[
o;	;[I"HNet::IMAP::FetchData represents the contents of the FETCH response.;T@S;;i	;
I"Fields:;T@o;;;;[o;;[I"
seqno;T;[o;	;[I"*Returns the message sequence number. ;TI"J(Note: not the unique identifier, even for the UID command response.);T@o;;[I"	attr;T;[
o;	;[I"EReturns a hash. Each key is a data item name, and each value is ;TI"its value.;T@o;	;[I" The current data items are:;T@o;;;;[o;;[I"	BODY;T;[o;	;[I"4A form of BODYSTRUCTURE without extension data.;To;;[I"$BODY[<section>]<<origin_octet>>;T;[o;	;[I"DA string expressing the body contents of the specified section.;To;;[I"BODYSTRUCTURE;T;[o;	;[I"JAn object that describes the [MIME-IMB] body structure of a message. ;TI"<See Net::IMAP::BodyTypeBasic, Net::IMAP::BodyTypeText, ;TI">Net::IMAP::BodyTypeMessage, Net::IMAP::BodyTypeMultipart.;To;;[I"
ENVELOPE;T;[o;	;[I">A Net::IMAP::Envelope object that describes the envelope ;TI"structure of a message.;To;;[I"
FLAGS;T;[o;	;[I"IA array of flag symbols that are set for this message. Flag symbols ;TI"*are capitalized by String#capitalize.;To;;[I"INTERNALDATE;T;[o;	;[I"<A string representing the internal date of the message.;To;;[I"RFC822;T;[o;	;[I"Equivalent to BODY[].;To;;[I"RFC822.HEADER;T;[o;	;[I"%Equivalent to BODY.PEEK[HEADER].;To;;[I"RFC822.SIZE;T;[o;	;[I";A number expressing the [RFC-822] size of the message.;To;;[I"RFC822.TEXT;T;[o;	;[I"Equivalent to BODY[TEXT].;To;;[I"UID;T;[o;	;[I">A number expressing the unique identifier of the message.;T;@;0@@@'0U;[iI"
Envelope;TI"Net::IMAP::Envelope;T;0o;;[
o;	;[I"DNet::IMAP::Envelope represents envelope structures of messages.;T@S;;i	;
I"Fields:;T@o;;;;[o;;[I"	date;T;[o;	;[I"/Returns a string that represents the date.;T@o;;[I"subject;T;[o;	;[I"2Returns a string that represents the subject.;T@o;;[I"	from;T;[o;	;[I"EReturns an array of Net::IMAP::Address that represents the from.;T@o;;[I"sender;T;[o;	;[I"GReturns an array of Net::IMAP::Address that represents the sender.;T@o;;[I"
reply_to;T;[o;	;[I"IReturns an array of Net::IMAP::Address that represents the reply-to.;T@o;;[I"to;T;[o;	;[I"CReturns an array of Net::IMAP::Address that represents the to.;T@o;;[I"cc;T;[o;	;[I"CReturns an array of Net::IMAP::Address that represents the cc.;T@o;;[I"bcc;T;[o;	;[I"DReturns an array of Net::IMAP::Address that represents the bcc.;T@o;;[I"in_reply_to;T;[o;	;[I"6Returns a string that represents the in-reply-to.;T@o;;[I"message_id;T;[o;	;[I"5Returns a string that represents the message-id.;T;@;0@@@'0U;[iI"Address;TI"Net::IMAP::Address;T;0o;;[
o;	;[I"=Net::IMAP::Address represents electronic mail addresses.;T@S;;i	;
I"Fields:;T@o;;;;[	o;;[I"	name;T;[o;	;[I"/Returns the phrase from [RFC-822] mailbox.;T@o;;[I"
route;T;[o;	;[I"1Returns the route from [RFC-822] route-addr.;T@o;;[I"mailbox;T;[o;	;[I"+nil indicates end of [RFC-822] group. ;TI"?If non-nil and host is nil, returns [RFC-822] group name. ;TI"-Otherwise, returns [RFC-822] local-part.;T@o;;[I"	host;T;[o;	;[I"+nil indicates [RFC-822] group syntax. ;TI".Otherwise, returns [RFC-822] domain name.;T;@;0@@@'0U;[iI"ContentDisposition;TI""Net::IMAP::ContentDisposition;T;0o;;[
o;	;[I"INet::IMAP::ContentDisposition represents Content-Disposition fields.;T@S;;i	;
I"Fields:;T@o;;;;[o;;[I"
dsp_type;T;[o;	;[I""Returns the disposition type.;T@o;;[I"
param;T;[o;	;[I"JReturns a hash that represents parameters of the Content-Disposition ;TI"field.;T;@;0@@@'0U;[iI"ThreadMember;TI"Net::IMAP::ThreadMember;T;0o;;[
o;	;[I"?Net::IMAP::ThreadMember represents a thread-node returned ;TI"by Net::IMAP#thread.;T@S;;i	;
I"Fields:;T@o;;;;[o;;[I"
seqno;T;[o;	;[I")The sequence number of this message.;T@o;;[I"
children;T;[o;	;[I":An array of Net::IMAP::ThreadMember objects for mail ;TI"3items that are children of this in the thread.;T;@;0@@@'0U;[iI"RESPONSE_ERRORS;TI"Net::IMAP::RESPONSE_ERRORS;T;0o;;[;@;0@@@'0[[I"MonitorMixin;To;;[;@;0@[I"OpenSSL;To;;[;@;0@[I"SSL;To;;[;@;0@[[I"
class;T[[;[[I"add_authenticator;T@[I"
debug;T@[I"debug=;T@[I"decode_utf7;T@[I"default_imap_port;T@[I"default_imaps_port;T@[I"default_port;T@[I"default_ssl_port;T@[I"default_tls_port;T@[I"encode_utf7;T@[I"format_date;T@[I"format_datetime;T@[I"max_flag_count;T@[I"max_flag_count=;T@[I"new;T@[:protected[[:private[[I"
instance;T[[;[3[I"add_response_handler;T@[I"append;T@[I"authenticate;T@[I"capability;T@[I"
check;T@[I"
close;T@[I"	copy;T@[I"create;T@[I"delete;T@[I"disconnect;T@[I"disconnected?;T@[I"examine;T@[I"expunge;T@[I"
fetch;T@[I"getacl;T@[I"
getquota;T@[I"getquotaroot;T@[I"	idle;T@[I"idle_done;T@[I"	list;T@[I"
login;T@[I"logout;T@[I"	lsub;T@[I"	move;T@[I"	noop;T@[I"remove_response_handler;T@[I"rename;T@[I"search;T@[I"select;T@[I"setacl;T@[I"
setquota;T@[I"	sort;T@[I"
starttls;T@[I"status;T@[I"
store;T@[I"subscribe;T@[I"thread;T@[I"
uid_copy;T@[I"uid_fetch;T@[I"
uid_move;T@[I"uid_search;T@[I"
uid_sort;T@[I"uid_store;T@[I"uid_thread;T@[I"unsubscribe;T@[I"
xlist;T@[;[[;[[I"copy_internal;T@[I"create_ssl_params;T@[I"fetch_internal;T@[I"generate_tag;T@[I"get_response;T@[I"get_tagged_response;T@[I"!normalize_searching_criteria;T@[I"put_string;T@[I"receive_responses;T@[I"record_response;T@[I"search_internal;T@[I"send_command;T@[I"send_data;T@[I"send_list_data;T@[I"send_literal;T@[I"send_number_data;T@[I"send_quoted_string;T@[I"send_string_data;T@[I"send_symbol_data;T@[I"send_time_data;T@[I"sort_internal;T@[I"start_tls_session;T@[I"store_internal;T@[I"tcp_socket;T@[I"thread_internal;T@[I"validate_data;T@[[U:RDoc::Context::Section[i0o;;[;0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"uid_search:ETI"Net::IMAP#uid_search;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Similar to #search(), but returns unique identifiers.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(keys, charset = nil);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"multipart?:ETI"-Net::IMAP::BodyTypeAttachment#multipart?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BodyTypeAttachment;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"BodyTypeAttachment:ETI""Net::IMAP::BodyTypeAttachment;TI"XStruct.new(:media_type, :subtype,                                           :param);To:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"INet::IMAP::BodyTypeAttachment represents attachment body structures ;TI"of messages.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli	:	textI"Fields:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[	o:RDoc::Markup::ListItem:@label[I"media_type;T;[o;	;[I")Returns the content media type name.;T@o;;[I"subtype;T;[o;	;[I"Returns +nil+.;T@o;;[I"
param;T;[o;	;[I"/Returns a hash that represents parameters.;T@o;;[I"multipart?;T;[o;	;[I"Returns false.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"multipart?;TI"lib/net/imap.rb;T[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@3I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"remove_response_handler:ETI"&Net::IMAP#remove_response_handler;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""Removes the response handler.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(handler);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"max_flag_count=:ETI"Net::IMAP::max_flag_count=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Sets the max number of flags interned to symbols.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(count);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"debug=:ETI"Net::IMAP::debug=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Sets the debug mode.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(val);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
uid_move:ETI"Net::IMAP#uid_move;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Similar to #move(), but +set+ contains unique identifiers.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(set, mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"add_response_handler:ETI"#Net::IMAP#add_response_handler;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I":Adds a response handler. For example, to detect when ;TI"<the server sends a new EXISTS response (which normally ;TI"9indicates new messages being added to the mailbox), ;TI"3add the following handler after selecting the ;TI"
mailbox:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"(imap.add_response_handler { |resp|
;TI"O  if resp.kind_of?(Net::IMAP::UntaggedResponse) and resp.name == "EXISTS"
;TI"6    puts "Mailbox now has #{resp.data} messages"
;TI"  end
;TI"};T:@format0:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(handler = Proc.new);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::Attr[iI"client_thread:ETI"Net::IMAP#client_thread;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&The thread to receive exceptions.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::IMAP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"valid_mod_sequence_value?:ETI"7Net::IMAP::NumValidator::valid_mod_sequence_value?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PCheck is passed argument valid 'mod_sequence_value' in RFC 4551 terminology;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(num);T@FI"NumValidator;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"valid_nz_number?:ETI".Net::IMAP::NumValidator::valid_nz_number?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GCheck is passed argument valid 'nz_number' in RFC 3501 terminology;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(num);T@FI"NumValidator;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"ensure_nz_number:ETI".Net::IMAP::NumValidator::ensure_nz_number;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Ensure argument is 'nz_number' or raise DataFormatError;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(num);T@FI"NumValidator;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"valid_number?:ETI"+Net::IMAP::NumValidator::valid_number?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DCheck is passed argument valid 'number' in RFC 3501 terminology;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(num);T@FI"NumValidator;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"ensure_mod_sequence_value:ETI"7Net::IMAP::NumValidator::ensure_mod_sequence_value;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EEnsure argument is 'mod_sequence_value' or raise DataFormatError;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(num);T@FI"NumValidator;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"ensure_number:ETI"+Net::IMAP::NumValidator::ensure_number;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Ensure argument is 'number' or raise DataFormatError;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(num);T@FI"NumValidator;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"NumValidator:ETI"Net::IMAP::NumValidator;T0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"4Common validators of number and nz_number types;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"ensure_mod_sequence_value;TI"lib/net/imap.rb;T[I"ensure_number;T@[I"ensure_nz_number;T@[I"valid_mod_sequence_value?;T@[I"valid_number?;T@[I"valid_nz_number?;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
xlist:ETI"Net::IMAP#xlist;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Sends a XLIST command, and returns a subset of names from ;TI"<the complete set of all names available to the client. ;TI"B+refname+ provides a context (for instance, a base directory ;TI"Cin a directory-based mailbox hierarchy).  +mailbox+ specifies ;TI"@a mailbox or (via wildcards) mailboxes under that context. ;TI"@Two wildcards may be used in +mailbox+: '*', which matches ;TI"Gall characters *including* the hierarchy delimiter (for instance, ;TI"G'/' on a UNIX-hosted directory-based mailbox hierarchy); and '%', ;TI"Cwhich matches all characters *except* the hierarchy delimiter.;To:RDoc::Markup::BlankLineo;
;	[I"DIf +refname+ is empty, +mailbox+ is used directly to determine ;TI"@which mailboxes to match.  If +mailbox+ is empty, the root ;TI"@name of +refname+ and the hierarchy delimiter are returned.;T@o;
;	[I"FThe XLIST command is like the LIST command except that the flags ;TI"Ereturned refer to the function of the folder/mailbox, e.g. :Sent;T@o;
;	[I"KThe return value is an array of +Net::IMAP::MailboxList+. For example:;T@o:RDoc::Markup::Verbatim;	[I"imap.create("foo/bar")
;TI"imap.create("foo/baz")
;TI"p imap.xlist("", "foo/%")
;TI"Q#=> [#<Net::IMAP::MailboxList attr=[:Noselect], delim="/", name="foo/">, \\
;TI"`     #<Net::IMAP::MailboxList attr=[:Noinferiors, :Marked], delim="/", name="foo/bar">, \\
;TI"S     #<Net::IMAP::MailboxList attr=[:Noinferiors], delim="/", name="foo/baz">];T:@format0:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(refname, mailbox);T@+FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getquotaroot:ETI"Net::IMAP#getquotaroot;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"HSends the GETQUOTAROOT command along with the specified +mailbox+. ;TI"AThis command is generally available to both admin and user. ;TI"LIf this mailbox exists, it returns an array containing objects of type ;TI"=Net::IMAP::MailboxQuotaRoot and Net::IMAP::MailboxQuota.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"uid_thread:ETI"Net::IMAP#uid_thread;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ESimilar to #thread(), but returns unique identifiers instead of ;TI"message sequence numbers.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"&(algorithm, search_keys, charset);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_port:ETI"Net::IMAP::default_port;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4The default port for IMAP connections, port 143;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[[I"default_imap_port;To;;	[;@;0I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"uid_fetch:ETI"Net::IMAP#uid_fetch;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Similar to #fetch(), but +set+ contains unique identifiers.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(set, attr, mod = nil);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"thread:ETI"Net::IMAP#thread;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LSimilar to #search(), but returns message sequence numbers in threaded ;TI"Jformat, as a Net::IMAP::ThreadMember tree.  The supported algorithms ;TI"	are:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"ORDEREDSUBJECT;T;	[o;
;	[I";split into single-level threads according to subject, ;TI"ordered by date.;To;;[I"REFERENCES;T;	[o;
;	[I"Asplit into threads by parent/child relationships determined ;TI"*by which message is a reply to which.;T@o;
;	[I"CUnlike #search(), +charset+ is a required argument.  US-ASCII ;TI"!and UTF-8 are sample values.;T@o;
;	[I",See [SORT-THREAD-EXT] for more details.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"&(algorithm, search_keys, charset);T@*FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"add_authenticator:ETI"!Net::IMAP::add_authenticator;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DAdds an authenticator for Net::IMAP#authenticate.  +auth_type+ ;TI"?is the type of authentication this authenticator supports ;TI"@(for instance, "LOGIN").  The +authenticator+ is an object ;TI"Dwhich defines a process() method to handle authentication with ;TI"5the server.  See Net::IMAP::LoginAuthenticator, ;TI"LNet::IMAP::CramMD5Authenticator, and Net::IMAP::DigestMD5Authenticator ;TI"for examples.;To:RDoc::Markup::BlankLineo;
;	[I"DIf +auth_type+ refers to an existing authenticator, it will be ;TI"replaced by the new one.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(auth_type, authenticator);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	move:ETI"Net::IMAP#move;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"FSends a MOVE command to move the specified message(s) to the end ;TI"Dof the specified destination +mailbox+. The +set+ parameter is ;TI"Ea number, an array of numbers, or a Range object. The number is ;TI" a message sequence number. ;TI"8The IMAP MOVE extension is described in [RFC-6851].;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(set, mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"examine:ETI"Net::IMAP#examine;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DSends a EXAMINE command to select a +mailbox+ so that messages ;TI"Gin the +mailbox+ can be accessed.  Behaves the same as #select(), ;TI"Cexcept that the selected +mailbox+ is identified as read-only.;To:RDoc::Markup::BlankLineo;
;	[I"DA Net::IMAP::NoResponseError is raised if the mailbox does not ;TI"0exist or is for some reason non-examinable.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(mailbox);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
starttls:ETI"Net::IMAP#starttls;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Sends a STARTTLS command to start TLS session.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I""(options = {}, verify = true);T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::Attr[iI"open_timeout:ETI"Net::IMAP#open_timeout;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Seconds to wait until a connection is opened. ;TI"CIf the IMAP object cannot open a connection within this time, ;TI"Mit raises a Net::OpenTimeout exception. The default value is 30 seconds.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::IMAP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"+Net::IMAP::DigestMD5Authenticator::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"%(user, password, authname = nil);T@FI"DigestMD5Authenticator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"nc:ETI")Net::IMAP::DigestMD5Authenticator#nc;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(nonce);T@FI"DigestMD5Authenticator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
qdval:ETI",Net::IMAP::DigestMD5Authenticator#qdval;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I" some responses need quoting;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(k, v);T@FI"DigestMD5Authenticator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"DigestMD5Authenticator:ETI"&Net::IMAP::DigestMD5Authenticator;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"BAuthenticator for the "DIGEST-MD5" authentication type.  See ;TI"#authenticate().;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"STAGE_ONE;TI"1Net::IMAP::DigestMD5Authenticator::STAGE_ONE;T:public0o;;[;
@;0@@cRDoc::NormalClass0U;[iI"STAGE_TWO;TI"1Net::IMAP::DigestMD5Authenticator::STAGE_TWO;T;
0o;;[;
@;0@@@0[[[I"
class;T[[;
[[I"new;TI"lib/net/imap.rb;T[:protected[[:private[[I"
instance;T[[;
[[I"process;T@+[;[[;[[I"nc;T@+[I"
qdval;T@+[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;T@U:RDoc::AnyMethod[iI"process:ETI".Net::IMAP::DigestMD5Authenticator#process;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(challenge);T@FI"DigestMD5Authenticator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ResponseError:ETI"Net::IMAP::ResponseError;TI"Net::IMAP::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"CSuperclass of all errors used to encapsulate "fail" responses ;TI"from the server.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"
response;TI"RW;T:publicFI"lib/net/imap.rb;T[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI""Net::IMAP::ResponseError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"(response);T@TI"ResponseError;TcRDoc::NormalClass00U:RDoc::Attr[iI"
response:ETI"&Net::IMAP::ResponseError#response;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(The response that caused this error;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::IMAP::ResponseError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"multipart?:ETI"*Net::IMAP::BodyTypeMessage#multipart?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BodyTypeMessage;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"BodyTypeMessage:ETI"Net::IMAP::BodyTypeMessage;TI"^Struct.new(:media_type, :subtype,                                        :param, :content_id,                                        :description, :encoding, :size,                                        :envelope, :body, :lines,                                        :md5, :disposition, :language,                                        :extension);To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"VNet::IMAP::BodyTypeMessage represents MESSAGE/RFC822 body structures of messages.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli	:	textI"Fields:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"
envelope;T;[o;	;[I"AReturns a Net::IMAP::Envelope giving the envelope structure.;T@o;;[I"	body;T;[o;	;[I"1Returns an object giving the body structure.;T@o;	;[I"OAnd Net::IMAP::BodyTypeMessage has all methods of Net::IMAP::BodyTypeText.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"media_subtype;TI"lib/net/imap.rb;T[I"multipart?;T@<[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@'I"Net::IMAP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"media_subtype:ETI"-Net::IMAP::BodyTypeMessage#media_subtype;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Obsolete: use +subtype+ instead.  Calling this will ;TI"9generate a warning message to +stderr+, then return ;TI"the value of +subtype+.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BodyTypeMessage;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"disconnect:ETI"Net::IMAP#disconnect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"!Disconnects from the server.;T:
@fileI"lib/net/imap.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IMAP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"$HTTPRequestHeaderFieldsTooLarge:ETI")Net::HTTPRequestHeaderFieldsTooLarge;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"3Net::HTTPRequestHeaderFieldsTooLarge::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPTemporaryRedirect:ETI"Net::HTTPTemporaryRedirect;TI"Net::HTTPRedirection;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"(306 Switch Proxy - no longer unused;T:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"
HAS_BODY;TI")Net::HTTPTemporaryRedirect::HAS_BODY;T:public0o;;[;
@;0@@cRDoc::NormalClass0[[[I"
class;T[[;
[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPMethodNotAllowed:ETI"Net::HTTPMethodNotAllowed;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"(Net::HTTPMethodNotAllowed::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPTooManyRequests:ETI"Net::HTTPTooManyRequests;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"'Net::HTTPTooManyRequests::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPAccepted:ETI"Net::HTTPAccepted;TI"Net::HTTPSuccess;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI" Net::HTTPAccepted::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"
POPError:ETI"Net::POPError;TI"ProtocolError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I",Non-authentication POP3 protocol error ;TI"0(reply code "-ERR", except authentication).;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPPartialContent:ETI"Net::HTTPPartialContent;TI"Net::HTTPSuccess;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"&Net::HTTPPartialContent::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"EXCEPTION_TYPE:ETI"Net::HTTPError;TI"Net::ProtocolError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/exceptions.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"Net::HTTPExceptions;To;;[;	@;
0I"lib/net/http/exceptions.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"FTPReplyError:ETI"Net::FTPReplyError;TI"Net::FTPError;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/net/ftp.rb;TI"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPSwitchProtocol:ETI"Net::HTTPSwitchProtocol;TI"Net::HTTPInformation;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"&Net::HTTPSwitchProtocol::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"range=:ETI"Net::HTTPHeader#range=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(r, e = nil);T@FI"HTTPHeader;TcRDoc::NormalModule0[I"Net::HTTPHeader;TFI"set_range;TU:RDoc::AnyMethod[iI"get_fields:ETI"Net::HTTPHeader#get_fields;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::List:
@type:
LABEL:@items[o:RDoc::Markup::ListItem:@label[I"Ruby 1.8.3;T;	[o:RDoc::Markup::Paragraph;	[I"CReturns an array of header field strings corresponding to the ;TI"Gcase-insensitive +key+.  This method allows you to get duplicated ;TI"9header fields without any processing.  See also #[].;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I")p response.get_fields('Set-Cookie')
;TI"B  #=> ["session=al98axx; expires=Fri, 31-Dec-1999 23:58:23",
;TI"C       "query=rubyscript; expires=Fri, 31-Dec-1999 23:58:23"]
;TI"p response['Set-Cookie']
;TI"t  #=> "session=al98axx; expires=Fri, 31-Dec-1999 23:58:23, query=rubyscript; expires=Fri, 31-Dec-1999 23:58:23";T:@format0:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(key);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"basic_auth:ETI"Net::HTTPHeader#basic_auth;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Set the Authorization: header for "Basic" authorization.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(account, password);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"each_header:ETI" Net::HTTPHeader#each_header;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GIterates through the header names and values, passing in the name ;TI"*and value to the code block supplied.;To:RDoc::Markup::BlankLineo;
;	[I"0Returns an enumerator if no block is given.;T@o;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[I"Hresponse.header.each_header {|key,value| puts "#{key} = #{value}" };T:@format0:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below00I"key;T[[I"	each;To;;	[;@;0I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"each_name:ETI"Net::HTTPHeader#each_name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Iterates through the header names in the header, passing ;TI"(each header name to the code block.;To:RDoc::Markup::BlankLineo;
;	[I"0Returns an enumerator if no block is given.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below00I"key;T[[I"
each_key;To;;	[;@;
0I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"each_value:ETI"Net::HTTPHeader#each_value;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Iterates through header values, passing each value to the ;TI"code block.;To:RDoc::Markup::BlankLineo;
;	[I"0Returns an enumerator if no block is given.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below00I"
value;T[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"range_length:ETI"!Net::HTTPHeader#range_length;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BThe length of the range represented in Content-Range: header.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	key?:ETI"Net::HTTPHeader#key?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"!true if +key+ header exists.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(key);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
fetch:ETI"Net::HTTPHeader#fetch;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"IReturns the header field corresponding to the case-insensitive key. ;TI"FReturns the default value +args+, or the result of the block, or ;TI"Araises an IndexError if there's no header field named +key+ ;TI"See Hash#fetch;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below00I"key;T[I"(key, *args);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"basic_encode:ETI"!Net::HTTPHeader#basic_encode;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(account, password);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"set_range:ETI"Net::HTTPHeader#set_range;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I""Sets the HTTP Range: header. ;TI"9Accepts either a Range object as a single argument, ;TI"8or a beginning index and a length from that index. ;TI"
Example:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"req.range = (0..1023)
;TI"req.set_range 0, 1023;T:@format0:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[[I"range=;To;;	[;@;0I"(r, e = nil);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"each_capitalized_name:ETI"*Net::HTTPHeader#each_capitalized_name;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I">Iterates through the header names in the header, passing ;TI"0capitalized header names to the code block.;To:RDoc::Markup::BlankLineo;
;	[I"<Note that header names are capitalized systematically; ;TI"?capitalization may not match that used by the remote HTTP ;TI"server in its response.;T@o;
;	[I"0Returns an enumerator if no block is given.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below00I"key;T[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"each_capitalized:ETI"%Net::HTTPHeader#each_capitalized;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"KAs for #each_header, except the keys are provided in capitalized form.;To:RDoc::Markup::BlankLineo;
;	[I"<Note that header names are capitalized systematically; ;TI"?capitalization may not match that used by the remote HTTP ;TI"server in its response.;T@o;
;	[I"0Returns an enumerator if no block is given.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below00I"capitalize(k), join(', ');T[[I"canonical_each;To;;	[;@;
0I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"add_field:ETI"Net::HTTPHeader#add_field;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::List:
@type:
LABEL:@items[o:RDoc::Markup::ListItem:@label[I"Ruby 1.8.3;T;	[o:RDoc::Markup::Paragraph;	[I"KAdds a value to a named header field, instead of replacing its value. ;TI"-Second argument +val+ must be a String. ;TI"(See also #[]=, #[] and #get_fields.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*request.add_field 'X-My-Header', 'a'
;TI"3p request['X-My-Header']              #=> "a"
;TI"5p request.get_fields('X-My-Header')   #=> ["a"]
;TI"*request.add_field 'X-My-Header', 'b'
;TI"6p request['X-My-Header']              #=> "a, b"
;TI":p request.get_fields('X-My-Header')   #=> ["a", "b"]
;TI"*request.add_field 'X-My-Header', 'c'
;TI"9p request['X-My-Header']              #=> "a, b, c"
;TI">p request.get_fields('X-My-Header')   #=> ["a", "b", "c"];T:@format0:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(key, val);T@"FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"capitalize:ETI"Net::HTTPHeader#capitalize;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"content_length:ETI"#Net::HTTPHeader#content_length;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IReturns an Integer object which represents the HTTP Content-Length: ;TI";header field, or +nil+ if that field was not provided.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"type_params:ETI" Net::HTTPHeader#type_params;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HAny parameters specified for the content type, returned as a Hash. ;TI"FFor example, a header of Content-Type: text/html; charset=EUC-JP ;TI"Bwould result in type_params returning {'charset' => 'EUC-JP'};T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
sub_type:ETI"Net::HTTPHeader#sub_type;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Returns a content type string such as "html". ;TI"JThis method returns nil if Content-Type: header field does not exist ;TI":or sub-type is not given (e.g. "Content-Type: text").;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"proxy_basic_auth:ETI"%Net::HTTPHeader#proxy_basic_auth;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Set Proxy-Authorization: header for "Basic" authorization.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(account, password);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"content_length=:ETI"$Net::HTTPHeader#content_length=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(len);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"[]:ETI"Net::HTTPHeader#[];TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IReturns the header field corresponding to the case-insensitive key. ;TI"BFor example, a key of "Content-Type" might return "text/html";T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(key);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"content_range:ETI""Net::HTTPHeader#content_range;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"MReturns a Range object which represents the value of the Content-Range: ;TI"header field. ;TI"CFor a partial entity body, this indicates where this fragment ;TI"@fits inside the full entity body, as range of byte offsets.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"connection_keep_alive?:ETI"+Net::HTTPHeader#connection_keep_alive?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"delete:ETI"Net::HTTPHeader#delete;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Removes a header field, specified by case-insensitive key.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(key);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"connection_close?:ETI"&Net::HTTPHeader#connection_close?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"content_type:ETI"!Net::HTTPHeader#content_type;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Returns a content type string such as "text/html". ;TI"JThis method returns nil if Content-Type: header field does not exist.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
set_form:ETI"Net::HTTPHeader#set_form;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I" Set an HTML form data set. ;TI"G+params+ is the form data set; it is an Array of Arrays or a Hash ;TI"7+enctype is the type to encode the form data set. ;TI"EIt is application/x-www-form-urlencoded or multipart/form-data. ;TI"9+formopt+ is an optional hash to specify the detail.;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"
boundary;T;	[o;
;	[I"*the boundary of the multipart message;To;;[I"charset;T;	[o;
;	[I"=the charset of the message. All names and the values of ;TI"0non-file fields are encoded as the charset.;T@o;
;	[I"BEach item of params is an array and contains following items:;To;;
;;[o;;[I"+name+;T;	[o;
;	[I"the name of the field;To;;[I"+value+;T;	[o;
;	[I"<the value of the field, it should be a String or a File;To;;[I"
+opt+;T;	[o;
;	[I"7an optional hash to specify additional information;T@o;
;	[I"2Each item is a file field or a normal field. ;TI"CIf +value+ is a File object or the +opt+ have a filename key, ;TI")the item is treated as a file field.;T@o;
;	[I"FIf Transfer-Encoding is set as chunked, this send the request in ;TI"Echunked encoding. Because chunked encoding is HTTP/1.1 feature, ;TI"Gyou must confirm the server to support HTTP/1.1 before sending it.;T@o;
;	[I"
Example:;To:RDoc::Markup::Verbatim;	[I"4http.set_form([["q", "ruby"], ["lang", "en"]])
;T:@format0o;
;	[I"6See also RFC 2388, RFC 2616, HTML 4.01, and HTML5;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"F(params, enctype='application/x-www-form-urlencoded', formopt={});T@QFI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"to_hash:ETI"Net::HTTPHeader#to_hash;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DReturns a Hash consisting of header names and array of values. ;TI"
e.g. ;TI"%{"cache-control" => ["private"],;To:RDoc::Markup::Verbatim;	[I"&"content-type" => ["text/html"],
;TI"1"date" => ["Wed, 22 Jun 2005 22:11:50 GMT"]};T:@format0:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"canonical_each:ETI"#Net::HTTPHeader#canonical_each;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule0[I"Net::HTTPHeader;TFI"each_capitalized;TU:RDoc::AnyMethod[iI"[]=:ETI"Net::HTTPHeader#[]=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ESets the header field corresponding to the case-insensitive key.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(key, val);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"initialize_http_header:ETI"+Net::HTTPHeader#initialize_http_header;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(initheader);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"set_form_data:ETI""Net::HTTPHeader#set_form_data;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"7Set header fields and a body from HTML form data. ;TI".+params+ should be an Array of Arrays or ;TI"'a Hash containing HTML form data. ;TI"9Optional argument +sep+ means data record separator.;To:RDoc::Markup::BlankLineo;
;	[I"HValues are URL encoded as necessary and the content-type is set to ;TI"&application/x-www-form-urlencoded;T@o;
;	[I"
Example:;To:RDoc::Markup::Verbatim;	[I"6http.form_data = {"q" => "ruby", "lang" => "en"}
;TI"@http.form_data = {"q" => ["ruby", "perl"], "lang" => "en"}
;TI"=http.set_form_data({"q" => "ruby", "lang" => "en"}, ';');T:@format0:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[[I"form_data=;To;;	[;@;0I"(params, sep = '&');T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
chunked?:ETI"Net::HTTPHeader#chunked?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"EReturns "true" if the "transfer-encoding" header is present and ;TI"Bset to "chunked".  This is an HTTP/1.1 feature, allowing the ;TI">the content to be sent in "chunks" without at the outset ;TI"'stating the entire content length.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"set_field:ETI"Net::HTTPHeader#set_field;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(key, val);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"content_type=:ETI""Net::HTTPHeader#content_type=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(type, params = {});T@FI"HTTPHeader;TcRDoc::NormalModule0[I"Net::HTTPHeader;TFI"set_content_type;TU:RDoc::NormalModule[iI"HTTPHeader:ETI"Net::HTTPHeader;T0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"CThe HTTPHeader module defines methods for reading and writing ;TI"HTTP headers.;To:RDoc::Markup::BlankLineo;	;[
I"BIt is used as a mixin by other classes, to provide hash-like ;TI"Faccess to HTTP header values. Unlike raw hash access, HTTPHeader ;TI"Aprovides access via case-insensitive keys. It also provides ;TI"Dmethods for accessing commonly-used HTTP header values in more ;TI"convenient formats.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[+[I"[];TI"lib/net/http/header.rb;T[I"[]=;T@.[I"add_field;T@.[I"basic_auth;T@.[I"canonical_each;T@.[I"
chunked?;T@.[I"connection_close?;T@.[I"connection_keep_alive?;T@.[I"content_length;T@.[I"content_length=;T@.[I"content_range;T@.[I"content_type;T@.[I"content_type=;T@.[I"delete;T@.[I"	each;T@.[I"each_capitalized;T@.[I"each_capitalized_name;T@.[I"each_header;T@.[I"
each_key;T@.[I"each_name;T@.[I"each_value;T@.[I"
fetch;T@.[I"form_data=;T@.[I"get_fields;T@.[I"initialize_http_header;T@.[I"	key?;T@.[I"main_type;T@.[I"proxy_basic_auth;T@.[I"
range;T@.[I"range=;T@.[I"range_length;T@.[I"set_content_type;T@.[I"
set_form;T@.[I"set_form_data;T@.[I"set_range;T@.[I"
sub_type;T@.[I"to_hash;T@.[I"type_params;T@.[;[[;[	[I"append_field_value;T@.[I"basic_encode;T@.[I"capitalize;T@.[I"set_field;T@.[[U:RDoc::Context::Section[i0o;;[;0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"	each:ETI"Net::HTTPHeader#each;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule0[I"Net::HTTPHeader;TFI"each_header;TU:RDoc::AnyMethod[iI"set_content_type:ETI"%Net::HTTPHeader#set_content_type;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I".Sets the content type in an HTTP header. ;TI"FThe +type+ should be a full HTTP content type, e.g. "text/html". ;TI"FThe +params+ are an optional Hash of parameters to add after the ;TI"3content type, e.g. {'charset' => 'iso-8859-1'};T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[[I"content_type=;To;;	[;@;0I"(type, params = {});T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
range:ETI"Net::HTTPHeader#range;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BReturns an Array of Range objects which represent the Range: ;TI"<HTTP header field, or +nil+ if there is no such header.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
each_key:ETI"Net::HTTPHeader#each_key;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule0[I"Net::HTTPHeader;TFI"each_name;TU:RDoc::AnyMethod[iI"form_data=:ETI"Net::HTTPHeader#form_data=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(params, sep = '&');T@FI"HTTPHeader;TcRDoc::NormalModule0[I"Net::HTTPHeader;TFI"set_form_data;TU:RDoc::AnyMethod[iI"main_type:ETI"Net::HTTPHeader#main_type;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Returns a content type string such as "text". ;TI"JThis method returns nil if Content-Type: header field does not exist.;T:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"append_field_value:ETI"'Net::HTTPHeader#append_field_value;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/http/header.rb;T:0@omit_headings_from_table_of_contents_below000[I"(ary, val);T@FI"HTTPHeader;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"HTTPRequestTimeOut:ETI"Net::HTTPRequestTimeOut;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"&Net::HTTPRequestTimeOut::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"ProtoAuthError:ETI"Net::ProtoAuthError;TI"Net::ProtocolError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPUnauthorized:ETI"Net::HTTPUnauthorized;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"$Net::HTTPUnauthorized::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"ProtoRetriableError:ETI"Net::ProtoRetriableError;TI"Net::ProtocolError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"
HTTPGone:ETI"Net::HTTPGone;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"Net::HTTPGone::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPHeaderSyntaxError:ETI"Net::HTTPHeaderSyntaxError;TI"StandardError;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/net/http.rb;TI"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"ProtocolError:ETI"Net::ProtocolError;TI"StandardError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"SMTPServerBusy:ETI"Net::SMTPServerBusy;TI"Net::ProtoServerError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I">Represents SMTP error code 420 or 450, a temporary error.;T:
@fileI"lib/net/smtp.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[I"SMTPError;To;;[;
@;0I"lib/net/smtp.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPFatalError:ETI"Net::HTTPFatalError;TI"Net::ProtoFatalError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/exceptions.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"Net::HTTPExceptions;To;;[;	@;
0I"lib/net/http/exceptions.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPNoContent:ETI"Net::HTTPNoContent;TI"Net::HTTPSuccess;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"!Net::HTTPNoContent::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"#HTTPUnavailableForLegalReasons:ETI"(Net::HTTPUnavailableForLegalReasons;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"2Net::HTTPUnavailableForLegalReasons::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPSeeOther:ETI"Net::HTTPSeeOther;TI"Net::HTTPRedirection;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI" Net::HTTPSeeOther::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPNotAcceptable:ETI"Net::HTTPNotAcceptable;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"%Net::HTTPNotAcceptable::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPBadGateway:ETI"Net::HTTPBadGateway;TI"Net::HTTPServerError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI""Net::HTTPBadGateway::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPServerError:ETI"Net::HTTPServerError;TI"Net::HTTPResponse;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"#Net::HTTPServerError::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"EXCEPTION_TYPE;TI")Net::HTTPServerError::EXCEPTION_TYPE;T;0o;;[;	@;
0@@@0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"delete_all:ETI"Net::POP3#delete_all;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"(Deletes all messages on the server.;To:RDoc::Markup::BlankLineo;
;	[I"LIf called with a block, yields each message in turn before deleting it.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o:RDoc::Markup::Verbatim;	[I"n = 1
;TI"pop.delete_all do |m|
;TI"&  File.open("inbox/#{n}") do |f|
;TI"    f.write m.pop
;TI"  end
;TI"  n += 1
;TI"	end
;T:@format0o;
;	[I"6This method raises a POPError if an error occurs.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below00I"message;T[I"();T@ FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_mail:ETI"Net::POP3#each_mail;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"9Yields each message to the passed-in block in turn. ;TI"Equivalent to:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I""pop3.mails.each do |popmail|
;TI"  ....
;TI"	end
;T:@format0o;
;	[I"6This method raises a POPError if an error occurs.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below00I"message;T[[I"	each;To;;	[;@;0I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
use_ssl?:ETI"Net::POP3::use_ssl?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-returns +true+ if POP3.ssl_params is set;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
reset:ETI"Net::POP3#reset;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HResets the session.  This clears all "deleted" marks from messages.;To:RDoc::Markup::BlankLineo;
;	[I"6This method raises a POPError if an error occurs.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::Attr[iI"read_timeout:ETI"Net::POP3#read_timeout;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DSeconds to wait until reading one block (by one read(1) call). ;TI"CIf the POP3 object cannot complete a read() within this time, ;TI"Mit raises a Net::ReadTimeout exception. The default value is 60 seconds.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::POP3;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"
start:ETI"Net::POP3::start;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"FCreates a new POP3 object and open the connection.  Equivalent to;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"CNet::POP3.new(address, port, isapop).start(account, password)
;T:@format0o;
;	[I"HIf +block+ is provided, yields the newly-opened POP3 object to it, ;TI";and automatically closes it at the end of the session.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;;	[I"=Net::POP3.start(addr, port, account, password) do |pop|
;TI"  pop.each_mail do |m|
;TI"    file.write m.pop
;TI"    m.delete
;TI"  end
;TI"end;T;
0:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below00I"pop;T[I"I(address, port = nil, account = nil, password = nil, isapop = false);T@ FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	APOP:ETI"Net::POP3::APOP;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DReturns the APOP class if +isapop+ is true; otherwise, returns ;TI"!the POP class.  For example:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"# Example 1
;TI"5pop = Net::POP3::APOP($is_apop).new(addr, port)
;TI"
;TI"# Example 2
;TI":Net::POP3::APOP($is_apop).start(addr, port) do |pop|
;TI"  ....
;TI"end;T:@format0:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(isapop);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"n_mails:ETI"Net::POP3#n_mails;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Returns the number of messages on the POP server.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"Net::POP3#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Provide human-readable stringification of class state.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"read_timeout=:ETI"Net::POP3#read_timeout=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Set the read timeout.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(sec);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_pop3_port:ETI"!Net::POP3::default_pop3_port;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4The default port for POP3 connections, port 110;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	POP3:ETI"Net::POP3;TI"
Protocol;To:RDoc::Markup::Document:@parts[o;;[.S:RDoc::Markup::Heading:
leveli:	textI"What is This Library?;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"8This library provides functionality for retrieving ;TI"Eemail via POP3, the Post Office Protocol version 3. For details ;TI"Bof POP3, see [RFC1939] (http://www.ietf.org/rfc/rfc1939.txt).;T@S;	;
i;I"
Examples;T@S;	;
i;I"Retrieving Messages;T@o;
;[I"FThis example retrieves messages from the server and deletes them ;TI"on the server.;T@o;
;[	I"DMessages are written to files named 'inbox/1', 'inbox/2', .... ;TI"BReplace 'pop.example.com' with your POP3 server address, and ;TI"C'YourAccount' and 'YourPassword' with the appropriate account ;TI"
details.;T@o:RDoc::Markup::Verbatim;[I"require 'net/pop'
;TI"
;TI",pop = Net::POP3.new('pop.example.com')
;TI"@pop.start('YourAccount', 'YourPassword')             # (1)
;TI"if pop.mails.empty?
;TI"  puts 'No mail.'
;TI"
else
;TI"
  i = 0
;TI"@  pop.each_mail do |m|   # or "pop.mails.each ..."   # (2)
;TI"-    File.open("inbox/#{i}", 'w') do |f|
;TI"      f.write m.pop
;TI"
    end
;TI"    m.delete
;TI"    i += 1
;TI"  end
;TI".  puts "#{pop.mails.size} mails popped."
;TI"	end
;TI"@pop.finish                                           # (3)
;T:@format0o:RDoc::Markup::List:
@type:NUMBER:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"0Call Net::POP3#start and start POP session.;To;;0;[o;
;[I"?Access messages by using POP3#each_mail and/or POP3#mails.;To;;0;[o;
;[I"NClose POP session by calling POP3#finish or use the block form of #start.;T@S;	;
i;I"Shortened Code;T@o;
;[I"JThe example above is very verbose. You can shorten the code by using ;TI"Hsome utility methods. First, the block form of Net::POP3.start can ;TI"=be used instead of POP3.new, POP3#start and POP3#finish.;T@o;;[I"require 'net/pop'
;TI"
;TI"-Net::POP3.start('pop.example.com', 110,
;TI"=                'YourAccount', 'YourPassword') do |pop|
;TI"  if pop.mails.empty?
;TI"    puts 'No mail.'
;TI"  else
;TI"    i = 0
;TI":    pop.each_mail do |m|   # or "pop.mails.each ..."
;TI"/      File.open("inbox/#{i}", 'w') do |f|
;TI"        f.write m.pop
;TI"      end
;TI"      m.delete
;TI"      i += 1
;TI"
    end
;TI"0    puts "#{pop.mails.size} mails popped."
;TI"  end
;TI"	end
;T;0o;
;[I"BPOP3#delete_all is an alternative for #each_mail and #delete.;T@o;;[I"require 'net/pop'
;TI"
;TI"-Net::POP3.start('pop.example.com', 110,
;TI"=                'YourAccount', 'YourPassword') do |pop|
;TI"  if pop.mails.empty?
;TI"    puts 'No mail.'
;TI"  else
;TI"    i = 1
;TI"    pop.delete_all do |m|
;TI"/      File.open("inbox/#{i}", 'w') do |f|
;TI"        f.write m.pop
;TI"      end
;TI"      i += 1
;TI"
    end
;TI"  end
;TI"	end
;T;0o;
;[I")And here is an even shorter example.;T@o;;[I"require 'net/pop'
;TI"
;TI"i = 0
;TI"2Net::POP3.delete_all('pop.example.com', 110,
;TI"@                     'YourAccount', 'YourPassword') do |m|
;TI"+  File.open("inbox/#{i}", 'w') do |f|
;TI"    f.write m.pop
;TI"  end
;TI"  i += 1
;TI"	end
;T;0S;	;
i;I"Memory Space Issues;T@o;
;[I"@All the examples above get each message as one big string. ;TI"This example avoids this.;T@o;;[I"require 'net/pop'
;TI"
;TI"i = 1
;TI"2Net::POP3.delete_all('pop.example.com', 110,
;TI"@                     'YourAccount', 'YourPassword') do |m|
;TI"+  File.open("inbox/#{i}", 'w') do |f|
;TI"?    m.pop do |chunk|    # get a message little by little.
;TI"      f.write chunk
;TI"
    end
;TI"    i += 1
;TI"  end
;TI"	end
;T;0S;	;
i;I"Using APOP;T@o;
;[I"7The net/pop library supports APOP authentication. ;TI"JTo use APOP, use the Net::APOP class instead of the Net::POP3 class. ;TI"CYou can use the utility method, Net::POP3.APOP(). For example:;T@o;;[I"require 'net/pop'
;TI"
;TI"2# Use APOP authentication if $isapop == true
;TI"@pop = Net::POP3.APOP($isapop).new('apop.example.com', 110)
;TI"7pop.start('YourAccount', 'YourPassword') do |pop|
;TI"'  # Rest of the code is the same.
;TI"	end
;T;0S;	;
i;I"6Fetch Only Selected Mail Using 'UIDL' POP Command;T@o;
;[I"5If your POP server provides UIDL functionality, ;TI";you can grab only selected mails from the POP server. ;TI"	e.g.;T@o;;[I"def need_pop?( id )
;TI"/  # determine if we need pop this mail...
;TI"	end
;TI"
;TI"-Net::POP3.start('pop.example.com', 110,
;TI"?                'Your account', 'Your password') do |pop|
;TI"C  pop.mails.select { |m| need_pop?(m.unique_id) }.each do |m|
;TI"    do_something(m.pop)
;TI"  end
;TI"	end
;T;0o;
;[I"NThe POPMail#unique_id() method returns the unique-id of the message as a ;TI"=String. Normally the unique-id is a hash of the message.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[
I"address;TI"R;T:publicFI"lib/net/pop.rb;T[
I"open_timeout;TI"RW;T;F@�[
I"read_timeout;T@�;F@�[U:RDoc::Constant[iI"
Revision;TI"Net::POP3::Revision;T;0o;;[o;
;[I"!svn revision of this library;T;@�;0@�@cRDoc::NormalClass0[[[I"
class;T[[;[[I"	APOP;T@�[I"auth_only;T@�[I"
certs;T@�[I"create_ssl_params;T@�[I"default_pop3_port;T@�[I"default_pop3s_port;T@�[I"default_port;T@�[I"delete_all;T@�[I"disable_ssl;T@�[I"enable_ssl;T@�[I"foreach;T@�[I"new;T@�[I"ssl_params;T@�[I"
start;T@�[I"
use_ssl?;T@�[I"verify;T@�[:protected[[:private[[I"
instance;T[[;[[I"active?;T@�[I"
apop?;T@�[I"auth_only;T@�[I"delete_all;T@�[I"disable_ssl;T@�[I"	each;T@�[I"each_mail;T@�[I"enable_ssl;T@�[I"finish;T@�[I"inspect;T@�[I"logging;T@�[I"
mails;T@�[I"n_bytes;T@�[I"n_mails;T@�[I"	port;T@�[I"read_timeout=;T@�[I"
reset;T@�[I"set_debug_output;T@�[I"
start;T@�[I"
started?;T@�[I"
use_ssl?;T@�[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@�I"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"Net::POP3::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Creates a new POP3 object.;To:RDoc::Markup::BlankLineo;
;	[I"A+address+ is the hostname or ip address of your POP3 server.;T@o;
;	[I"3The optional +port+ is the port to connect to.;T@o;
;	[I"FThe optional +isapop+ specifies whether this connection is going ;TI"8to use APOP authentication; it defaults to +false+.;T@o;
;	[I"4This method does *not* open the TCP connection.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"'(addr, port = nil, isapop = false);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"enable_ssl:ETI"Net::POP3::enable_ssl;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'Enable SSL for all new instances. ;TI":+params+ is passed to OpenSSL::SSLContext#set_params.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0I"&Net::POP.enable_ssl(params = {})
;T0[I"(*args);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::Attr[iI"address:ETI"Net::POP3#address;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"The address to connect to.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::POP3;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"auth_only:ETI"Net::POP3#auth_only;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Starts a pop3 session, attempts authentication, and quits. ;TI"BThis method must not be called while POP3 session is opened. ;TI"GThis method raises POPAuthenticationError if authentication fails.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"(account, password);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"verify:ETI"Net::POP3::verify;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?returns whether verify_mode is enable from POP3.ssl_params;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
use_ssl?:ETI"Net::POP3#use_ssl?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I" does this instance use SSL?;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ssl_params:ETI"Net::POP3::ssl_params;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"returns the SSL Parameters;To:RDoc::Markup::BlankLineo;
;	[I"see also POP3.enable_ssl;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	port:ETI"Net::POP3#port;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#The port number to connect to.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
mails:ETI"Net::POP3#mails;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"DReturns an array of Net::POPMail objects, representing all the ;TI"Emessages on the server.  This array is renewed when the session ;TI"Grestarts; otherwise, it is fetched from the server the first time ;TI"?this method is called (directly or indirectly) and cached.;To:RDoc::Markup::BlankLineo;
;	[I"6This method raises a POPError if an error occurs.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"delete_all:ETI"Net::POP3::delete_all;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CStarts a POP3 session and deletes all messages on the server. ;TI"FIf a block is given, each POPMail object is yielded to it before ;TI"being deleted.;To:RDoc::Markup::BlankLineo;
;	[I"IThis method raises a POPAuthenticationError if authentication fails.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o:RDoc::Markup::Verbatim;	[	I"2Net::POP3.delete_all('pop.example.com', 110,
;TI"@                     'YourAccount', 'YourPassword') do |m|
;TI"  file.write m.pop
;TI"end;T:@format0:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"Q(address, port = nil, account = nil, password = nil, isapop = false, &block);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"enable_ssl:ETI"Net::POP3#enable_ssl;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"MEnables SSL for this instance.  Must be called before the connection is ;TI"%established to have any effect. ;TI"R+params[:port]+ is port to establish the SSL connection on; Defaults to 995. ;TI"I+params+ (except :port) is passed to OpenSSL::SSLContext#set_params.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0I"&Net::POP#enable_ssl(params = {})
;T0[I"5(verify_or_params = {}, certs = nil, port = nil);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_pop3s_port:ETI""Net::POP3::default_pop3s_port;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5The default port for POP3S connections, port 995;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
apop?:ETI"Net::POP3#apop?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Does this instance use APOP authentication?;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"finish:ETI"Net::POP3#finish;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Finishes a POP3 session and closes TCP connection.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"logging:ETI"Net::POP3#logging;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"debugging output for +msg+;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(msg);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"create_ssl_params:ETI"!Net::POP3::create_ssl_params;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Constructs proper parameters from arguments;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I")(verify_or_params = {}, certs = nil);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
started?:ETI"Net::POP3#started?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I",+true+ if the POP3 session has started.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[[I"active?;To;;	[;@;0I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"active?:ETI"Net::POP3#active?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass0[I"Net::POP3;TFI"
started?;TU:RDoc::AnyMethod[iI"auth_only:ETI"Net::POP3::auth_only;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Opens a POP3 session, attempts authentication, and quits.;To:RDoc::Markup::BlankLineo;
;	[I"GThis method raises POPAuthenticationError if authentication fails.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example: normal POP3;T@o:RDoc::Markup::Verbatim;	[I"1Net::POP3.auth_only('pop.example.com', 110,
;TI"8                    'YourAccount', 'YourPassword')
;T:@format0S;;
i;I"Example: APOP;T@o;;	[I"1Net::POP3.auth_only('pop.example.com', 110,
;TI"=                    'YourAccount', 'YourPassword', true);T;0:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"I(address, port = nil, account = nil, password = nil, isapop = false);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"disable_ssl:ETI"Net::POP3::disable_ssl;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'Disable SSL for all new instances.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"foreach:ETI"Net::POP3::foreach;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"BStarts a POP3 session and iterates over each POPMail object, ;TI"!yielding it to the +block+. ;TI""This method is equivalent to:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"@Net::POP3.start(address, port, account, password) do |pop|
;TI"  pop.each_mail do |m|
;TI"    yield m
;TI"  end
;TI"	end
;T:@format0o;
;	[I"IThis method raises a POPAuthenticationError if authentication fails.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;;	[
I"/Net::POP3.foreach('pop.example.com', 110,
;TI"=                  'YourAccount', 'YourPassword') do |m|
;TI"  file.write m.pop
;TI"  m.delete if $DELETE
;TI"end;T;
0:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below00I"message;T[I"I(address, port = nil, account = nil, password = nil, isapop = false);T@$FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"set_debug_output:ETI"Net::POP3#set_debug_output;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<*WARNING*: This method causes a serious security hole. ;TI"(Use this method only for debugging.;To:RDoc::Markup::BlankLineo;
;	[I"(Set an output stream for debugging.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o:RDoc::Markup::Verbatim;	[
I"$pop = Net::POP.new(addr, port)
;TI""pop.set_debug_output $stderr
;TI")pop.start(account, passwd) do |pop|
;TI"  ....
;TI"end;T:@format0:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(arg);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"disable_ssl:ETI"Net::POP3#disable_ssl;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'Disable SSL for all new instances.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	each:ETI"Net::POP3#each;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass0[I"Net::POP3;TFI"each_mail;TU:RDoc::AnyMethod[iI"n_bytes:ETI"Net::POP3#n_bytes;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KReturns the total size in bytes of all the messages on the POP server.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_port:ETI"Net::POP3::default_port;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"returns the port for POP3;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
start:ETI"Net::POP3#start;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"Starts a POP3 session.;To:RDoc::Markup::BlankLineo;
;	[I"BWhen called with block, gives a POP3 object to the block and ;TI"2closes the session after block call finishes.;T@o;
;	[I"IThis method raises a POPAuthenticationError if authentication fails.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below00I"pop;T[I"(account, password);T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
certs:ETI"Net::POP3::certs;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":returns the :ca_file or :ca_path from POP3.ssl_params;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	POP3;TcRDoc::NormalClass00U:RDoc::Attr[iI"open_timeout:ETI"Net::POP3#open_timeout;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Seconds to wait until a connection is opened. ;TI"CIf the POP3 object cannot open a connection within this time, ;TI"Mit raises a Net::OpenTimeout exception. The default value is 30 seconds.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::POP3;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"HTTPBadRequest:ETI"Net::HTTPBadRequest;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI""Net::HTTPBadRequest::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"EXCEPTION_TYPE:ETI"Net::HTTPRetriableError;TI"Net::ProtoRetriableError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/exceptions.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"Net::HTTPExceptions;To;;[;	@;
0I"lib/net/http/exceptions.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"ProtoServerError:ETI"Net::ProtoServerError;TI"Net::ProtocolError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Net;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"HTTPAlreadyReported:ETI"Net::HTTPAlreadyReported;TI"Net::HTTPSuccess;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"'Net::HTTPAlreadyReported::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"	uidl:ETI"Net::POPMail#uidl;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"POPMail;TcRDoc::NormalClass0[I"Net::POPMail;TFI"unique_id;TU:RDoc::Attr[iI"length:ETI"Net::POPMail#length;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")The length of the message in octets.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::POPMail;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"inspect:ETI"Net::POPMail#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Provide human-readable stringification of class state.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"POPMail;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pop:ETI"Net::POPMail#pop;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"CThis method fetches the message.  If called with a block, the ;TI"Emessage is yielded to the block one chunk at a time.  If called ;TI"Iwithout a block, the message is returned as a String.  The optional ;TI"D+dest+ argument will be prepended to the returned String; this ;TI"&argument is essentially obsolete.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Example without block;T@o:RDoc::Markup::Verbatim;	[I"(POP3.start('pop.example.com', 110,
;TI"8           'YourAccount', 'YourPassword') do |pop|
;TI"
  n = 1
;TI"#  pop.mails.each do |popmail|
;TI"-    File.open("inbox/#{n}", 'w') do |f|
;TI"      f.write popmail.pop
;TI"
    end
;TI"    popmail.delete
;TI"    n += 1
;TI"  end
;TI"	end
;T:@format0S;;
i;I"Example with block;T@o;;	[I"(POP3.start('pop.example.com', 110,
;TI"8           'YourAccount', 'YourPassword') do |pop|
;TI"
  n = 1
;TI"#  pop.mails.each do |popmail|
;TI"-    File.open("inbox/#{n}", 'w') do |f|
;TI"2      popmail.pop do |chunk|            ####
;TI"        f.write chunk
;TI"      end
;TI"
    end
;TI"    n += 1
;TI"  end
;TI"	end
;T;0o;
;	[I"6This method raises a POPError if an error occurs.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below00I"message_chunk;T[[I"all;To;;	[;@5;0[I"	mail;To;;	[;@5;0I"( dest = +'' );T@5FI"POPMail;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	mail:ETI"Net::POPMail#mail;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"( dest = +'' );T@FI"POPMail;TcRDoc::NormalClass0[I"Net::POPMail;TFI"pop;TU:RDoc::Attr[iI"	size:ETI"Net::POPMail#size;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")The length of the message in octets.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::POPMail;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"POPMail:ETI"Net::POPMail;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"EThis class represents a message which exists on the POP server. ;TI"HInstances of this class are created by the POP3 class; they should ;TI")not be directly created by the user.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"length;TI"R;T:publicFI"lib/net/pop.rb;T[
I"number;T@;F@[
I"	size;T@;F@[[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"all;T@[I"delete;T@[I"delete!;T@[I"
deleted?;T@[I"header;T@[I"inspect;T@[I"	mail;T@[I"pop;T@[I"top;T@[I"	uidl;T@[I"unique_id;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"unique_id:ETI"Net::POPMail#unique_id;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"+Returns the unique-id of the message. ;TI"<Normally the unique-id is a hash string of the message.;To:RDoc::Markup::BlankLineo;
;	[I"6This method raises a POPError if an error occurs.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[[I"	uidl;To;;	[;@;
0I"();T@FI"POPMail;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
deleted?:ETI"Net::POPMail#deleted?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'True if the mail has been deleted.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"POPMail;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"delete:ETI"Net::POPMail#delete;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DMarks a message for deletion on the server.  Deletion does not ;TI"Bactually occur until the end of the session; deletion may be ;TI"Acancelled for _all_ marked messages by calling POP3#reset().;To:RDoc::Markup::BlankLineo;
;	[I"6This method raises a POPError if an error occurs.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o:RDoc::Markup::Verbatim;	[I"(POP3.start('pop.example.com', 110,
;TI"8           'YourAccount', 'YourPassword') do |pop|
;TI"
  n = 1
;TI"#  pop.mails.each do |popmail|
;TI"-    File.open("inbox/#{n}", 'w') do |f|
;TI"      f.write popmail.pop
;TI"
    end
;TI"%    popmail.delete         ####
;TI"    n += 1
;TI"  end
;TI"end;T:@format0:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[[I"delete!;To;;	[;@#;0I"();T@#FI"POPMail;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"top:ETI"Net::POPMail#top;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I":Fetches the message header and +lines+ lines of body.;To:RDoc::Markup::BlankLineo;
;	[I".The optional +dest+ argument is obsolete.;T@o;
;	[I"6This method raises a POPError if an error occurs.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"(lines, dest = +'');T@FI"POPMail;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"delete!:ETI"Net::POPMail#delete!;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"POPMail;TcRDoc::NormalClass0[I"Net::POPMail;TFI"delete;TU:RDoc::AnyMethod[iI"all:ETI"Net::POPMail#all;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"( dest = +'' );T@FI"POPMail;TcRDoc::NormalClass0[I"Net::POPMail;TFI"pop;TU:RDoc::AnyMethod[iI"header:ETI"Net::POPMail#header;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I" Fetches the message header.;To:RDoc::Markup::BlankLineo;
;	[I".The optional +dest+ argument is obsolete.;T@o;
;	[I"6This method raises a POPError if an error occurs.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below000[I"(dest = +'');T@FI"POPMail;TcRDoc::NormalClass00U:RDoc::Attr[iI"number:ETI"Net::POPMail#number;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6The sequence number of the message on the server.;T:
@fileI"lib/net/pop.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::POPMail;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"HTTPProcessing:ETI"Net::HTTPProcessing;TI"Net::HTTPInformation;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI""Net::HTTPProcessing::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"ProtocRetryError:ETI"Net::ProtocRetryError;TI"Net::ProtocolError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/protocol.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Net;TcRDoc::NormalModuleU:RDoc::Attr[iI"body_stream:ETI"(Net::HTTPGenericRequest#body_stream;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPGenericRequest;TcRDoc::NormalClass0U:RDoc::Attr[iI"uri:ETI" Net::HTTPGenericRequest#uri;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPGenericRequest;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"body_stream=:ETI")Net::HTTPGenericRequest#body_stream=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"(input);T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"body_exist?:ETI"(Net::HTTPGenericRequest#body_exist?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"$Net::HTTPGenericRequest#inspect;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"request_body_permitted?:ETI"4Net::HTTPGenericRequest#request_body_permitted?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI" send_request_with_body_data:ETI"8Net::HTTPGenericRequest#send_request_with_body_data;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"(sock, ver, path, params);T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"flush_buffer:ETI")Net::HTTPGenericRequest#flush_buffer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"(out, buf, chunked_p);T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
body=:ETI""Net::HTTPGenericRequest#body=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"!Net::HTTPGenericRequest::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"9(m, reqbody, resbody, uri_or_path, initheader = nil);T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"write_header:ETI")Net::HTTPGenericRequest#write_header;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"(sock, ver, path);T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::Attr[iI"decode_content:ETI"+Net::HTTPGenericRequest#decode_content;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MAutomatically set to false if the user sets the Accept-Encoding header. ;TI"FThis indicates they wish to handle Content-encoding in responses ;TI"themselves.;T:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPGenericRequest;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI" supply_default_content_type:ETI"8Net::HTTPGenericRequest#supply_default_content_type;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"quote_string:ETI")Net::HTTPGenericRequest#quote_string;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"(str, charset);T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"encode_multipart_form_data:ETI"7Net::HTTPGenericRequest#encode_multipart_form_data;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"(out, params, opt);T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::Attr[iI"	path:ETI"!Net::HTTPGenericRequest#path;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPGenericRequest;TcRDoc::NormalClass0U:RDoc::Attr[iI"	body:ETI"!Net::HTTPGenericRequest#body;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPGenericRequest;TcRDoc::NormalClass0U:RDoc::Attr[iI"method:ETI"#Net::HTTPGenericRequest#method;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::HTTPGenericRequest;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI""send_request_with_body_stream:ETI":Net::HTTPGenericRequest#send_request_with_body_stream;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"(sock, ver, path, f);T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"response_body_permitted?:ETI"5Net::HTTPGenericRequest#response_body_permitted?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"send_request_with_body:ETI"3Net::HTTPGenericRequest#send_request_with_body;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"(sock, ver, path, body);T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"HTTPGenericRequest:ETI"Net::HTTPGenericRequest;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"@HTTPGenericRequest is the parent of the HTTPRequest class. ;TI"=Do not use this directly; use a subclass of HTTPRequest.;To:RDoc::Markup::BlankLineo;	;[I"MMixes in the HTTPHeader module to provide easier access to HTTP headers.;T:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[
I"	body;TI"R;T:publicFI"$lib/net/http/generic_request.rb;T[
I"body_stream;T@;
F@[
I"decode_content;T@;
F@[
I"method;T@;
F@[
I"	path;T@;
F@[
I"uri;T@;
F@[[[I"Net::HTTPHeader;To;;[;@;0@[[I"
class;T[[;
[[I"new;T@[:protected[[:private[[I"
instance;T[[;
[[I"
body=;T@[I"body_exist?;T@[I"body_stream=;T@[I"inspect;T@[I"request_body_permitted?;T@[I"response_body_permitted?;T@[;[[;[[I"encode_multipart_form_data;T@[I"flush_buffer;T@[I"quote_string;T@[I"send_request_with_body;T@[I" send_request_with_body_data;T@[I""send_request_with_body_stream;T@[I" supply_default_content_type;T@[I"wait_for_continue;T@[I"write_header;T@[[U:RDoc::Context::Section[i0o;;[;0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"wait_for_continue:ETI".Net::HTTPGenericRequest#wait_for_continue;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NWaits up to the continue timeout for a response from the server provided ;TI"Gwe're speaking HTTP 1.1 and are expecting a 100-continue response.;T:
@fileI"$lib/net/http/generic_request.rb;T:0@omit_headings_from_table_of_contents_below000[I"(sock, ver);T@FI"HTTPGenericRequest;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"$HTTPNonAuthoritativeInformation:ETI")Net::HTTPNonAuthoritativeInformation;TI"Net::HTTPSuccess;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"3Net::HTTPNonAuthoritativeInformation::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPOK:ETI"Net::HTTPOK;TI"Net::HTTPSuccess;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"Net::HTTPOK::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"retrbinary:ETI"Net::FTP#retrbinary;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"MPuts the connection into binary (image) mode, issues the given command, ;TI"Jand fetches the data returned, passing it to the associated block in ;TI"Kchunks of +blocksize+ characters. Note that +cmd+ is a server command ;TI"(such as "RETR myfile").;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"	data;T[I"((cmd, blocksize, rest_offset = nil);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"storbinary:ETI"Net::FTP#storbinary;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"PPuts the connection into binary (image) mode, issues the given server-side ;TI"Ocommand (such as "STOR myfile"), and sends the contents of the file named ;TI"M+file+ to the server. If the optional block is given, it also passes it ;TI"3the data, in chunks of +blocksize+ characters.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"	data;T[I".(cmd, file, blocksize, rest_offset = nil);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"retrlines:ETI"Net::FTP#retrlines;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"OPuts the connection into ASCII (text) mode, issues the given command, and ;TI"Ppasses the resulting data, one line at a time, to the associated block. If ;TI"Nno block is given, prints the lines. Note that +cmd+ is a server command ;TI"(such as "RETR myfile").;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"	line;T[I"
(cmd);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"start_tls_session:ETI"Net::FTP#start_tls_session;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(sock);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_passive=:ETI"Net::FTP::default_passive=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?When +true+, connections are in passive mode per default. ;TI"Default: +true+.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ls:ETI"Net::FTP#ls;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"FTP;TcRDoc::NormalClass0[I"
Net::FTP;TFI"	list;TU:RDoc::Attr[iI"read_timeout:ETI"Net::FTP#read_timeout;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"INumber of seconds to wait for one block to be read (via one read(2) ;TI"Dcall). Any number may be used, including Floats for fractional ;TI"Gseconds. If the FTP object cannot read data in this many seconds, ;TI"Kit raises a Timeout::Error exception. The default value is 60 seconds.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
Net::FTP;TcRDoc::NormalClass0U:RDoc::Attr[iI"resume:ETI"Net::FTP#resume;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MSets or retrieves the +resume+ status, which decides whether incomplete ;TI";transfers are resumed or restarted.  Default: +false+.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
Net::FTP;TcRDoc::NormalClass0U:RDoc::Attr[iI"binary:ETI"Net::FTP#binary;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KWhen +true+, transfers are performed in binary mode.  Default: +true+.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
Net::FTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"sendcmd:ETI"Net::FTP#sendcmd;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Sends a command and returns the response.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(cmd);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"system:ETI"Net::FTP#system;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I" Returns system information.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"FTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"ssl_handshake_timeout:ETI"#Net::FTP#ssl_handshake_timeout;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"ANumber of seconds to wait for the TLS handshake. Any number ;TI"Fmay be used, including Floats for fractional seconds. If the FTP ;TI"Gobject cannot complete the TLS handshake in this many seconds, it ;TI"Fraises a Net::OpenTimeout exception. The default value is +nil+. ;TI"IIf +ssl_handshake_timeout+ is +nil+, +open_timeout+ is used instead.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
Net::FTP;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"BufferedSocket:ETI"Net::FTP::BufferedSocket;TI"BufferedIO;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/net/ftp.rb;TI"
Net::FTP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"	acct:ETI"Net::FTP#acct;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Sends the ACCT command.;To:RDoc::Markup::BlankLineo;
;	[I"8This is a less common FTP command, to send account ;TI"5information if the destination host requires it.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(account);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
login:ETI"Net::FTP#login;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Logs in to the remote host.  The session must have been ;TI"Dpreviously connected.  If +user+ is the string "anonymous" and ;TI"Fthe +password+ is +nil+, "anonymous@" is used as a password.  If ;TI"Dthe +acct+ parameter is not +nil+, an FTP ACCT command is sent ;TI"Cfollowing the successful login.  Raises an exception on error ;TI",(typically <tt>Net::FTPPermError</tt>).;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"3(user = "anonymous", passwd = nil, acct = nil);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"NullSocket:ETI"Net::FTP::NullSocket;TI"Object;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/net/ftp.rb;TI"
Net::FTP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"read_timeout=:ETI"Net::FTP#read_timeout=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"+Setter for the read_timeout attribute.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(sec);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	site:ETI"Net::FTP#site;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Issues a SITE command.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(arg);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Net::FTP::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PCreates and returns a new +FTP+ object. If a +host+ is given, a connection ;TI"
is made.;To:RDoc::Markup::BlankLineo;
;	[I"@+options+ is an option hash, each key of which is a symbol.;T@o;
;	[I"The available options are:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"	port;T;	[o;
;	[I"&Port number (default value is 21);To;;[I"ssl;T;	[o;
;	[I"<If options[:ssl] is true, then an attempt will be made ;TI">to use SSL (now TLS) to connect to the server.  For this ;TI"8to work OpenSSL [OSSL] and the Ruby OpenSSL [RSSL] ;TI"=extensions need to be installed.  If options[:ssl] is a ;TI">hash, it's passed to OpenSSL::SSL::SSLContext#set_params ;TI"as parameters.;To;;[I"private_data_connection;T;	[o;
;	[I"0If true, TLS is used for data connections. ;TI"0Default: +true+ when options[:ssl] is true.;To;;[I"
username;T;	[o;
;	[I">Username for login.  If options[:username] is the string ;TI"6"anonymous" and the options[:password] is +nil+, ;TI"("anonymous@" is used as a password.;To;;[I"
password;T;	[o;
;	[I"Password for login.;To;;[I"account;T;	[o;
;	[I""Account information for ACCT.;To;;[I"passive;T;	[o;
;	[I">When +true+, the connection is in passive mode. Default: ;TI"+true+.;To;;[I"open_timeout;T;	[o;
;	[I";Number of seconds to wait for the connection to open. ;TI"<See Net::FTP#open_timeout for details.  Default: +nil+.;To;;[I"read_timeout;T;	[o;
;	[I"9Number of seconds to wait for one block to be read. ;TI";See Net::FTP#read_timeout for details.  Default: +60+.;To;;[I"ssl_handshake_timeout;T;	[o;
;	[	I"+Number of seconds to wait for the TLS ;TI"handshake. ;TI",See Net::FTP#ssl_handshake_timeout for ;TI"details.  Default: +nil+.;To;;[I"debug_mode;T;	[o;
;	[I"8When +true+, all traffic to and from the server is ;TI"-written to +$stdout+.  Default: +false+.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0I",Net::FTP.new(host = nil, options = {})
;T0[I"A(host = nil, user_or_options = {}, passwd = nil, acct = nil);T@tTI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	quit:ETI"Net::FTP#quit;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Exits the FTP session.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	mlsd:ETI"Net::FTP#mlsd;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns an array of the entries of the directory specified by ;TI"+pathname+. ;TI"IEach entry has the facts (e.g., size, last modification time, etc.) ;TI"and the pathname. ;TI";If a block is given, it iterates through the listing. ;TI"@If +pathname+ is omitted, the current directory is assumed.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"
entry;T[I"(pathname = nil);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"BufferedSSLSocket:ETI" Net::FTP::BufferedSSLSocket;TI"Net::FTP::BufferedSocket;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/net/ftp.rb;TI"
Net::FTP;TcRDoc::NormalClassU:RDoc::Attr[iI"
lastresp:ETI"Net::FTP#lastresp;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%The server's last response code.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
Net::FTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"getdir:ETI"Net::FTP#getdir;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"FTP;TcRDoc::NormalClass0[I"
Net::FTP;TFI"pwd;TU:RDoc::Attr[iI"welcome:ETI"Net::FTP#welcome;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""The server's welcome message.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
Net::FTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"	noop:ETI"Net::FTP#noop;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Issues a NOOP command.;To:RDoc::Markup::BlankLineo;
;	[I"+Does nothing except return a response.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"parse_mlsx_entry:ETI"Net::FTP#parse_mlsx_entry;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(entry);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	nlst:ETI"Net::FTP#nlst;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Returns an array of filenames in the remote directory.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(dir = nil);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
mkdir:ETI"Net::FTP#mkdir;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I" Creates a remote directory.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(dirname);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rename:ETI"Net::FTP#rename;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""Renames a file on the server.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(fromname, toname);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"last_response_code:ETI" Net::FTP#last_response_code;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%The server's last response code.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
Net::FTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"dir:ETI"Net::FTP#dir;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"FTP;TcRDoc::NormalClass0[I"
Net::FTP;TFI"	list;TU:RDoc::AnyMethod[iI"	size:ETI"Net::FTP#size;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Returns the size of the given (remote) filename.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(filename);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
close:ETI"Net::FTP#close;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NCloses the connection.  Further operations are impossible until you open ;TI"$a new connection with #connect.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"get:ETI"Net::FTP#get;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IRetrieves +remotefile+ in whatever mode the session is set (text or ;TI"3binary).  See #gettextfile and #getbinaryfile.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"	data;T[I"W(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	list:ETI"Net::FTP#list;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OReturns an array of file information in the directory (the output is like ;TI"E`ls -l`).  If a block is given, it iterates through the listing.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"	line;T[[I"ls;To;;	[;@;0[I"dir;To;;	[;@;0I"(*args);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"passive:ETI"Net::FTP#passive;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FWhen +true+, the connection is in passive mode.  Default: +true+.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
Net::FTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"
mtime:ETI"Net::FTP#mtime;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MReturns the last modification time of the (remote) file.  If +local+ is ;TI"G+true+, it is returned as a local time, otherwise it's a UTC time.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(filename, local = false);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
chdir:ETI"Net::FTP#chdir;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"$Changes the (remote) directory.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(dirname);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
abort:ETI"Net::FTP#abort;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Aborts the previous command (ABOR command).;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"voidcmd:ETI"Net::FTP#voidcmd;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Sends a command and expect a response beginning with '2'.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(cmd);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"delete:ETI"Net::FTP#delete;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""Deletes a file on the server.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(filename);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"binary=:ETI"Net::FTP#binary=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2A setter to toggle transfers in binary mode. ;TI"*+newmode+ is either +true+ or +false+;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(newmode);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"status:ETI"Net::FTP#status;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Returns the status (STAT command). ;TI"Npathname - when stat is invoked with pathname as a parameter it acts like;To:RDoc::Markup::Verbatim;	[I"8list but alot faster and over the same tcp session.;T:@format0:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(pathname = nil);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
rmdir:ETI"Net::FTP#rmdir;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I" Removes a remote directory.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(dirname);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"set_socket:ETI"Net::FTP#set_socket;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Set the socket used to connect to the FTP server.;To:RDoc::Markup::BlankLineo;
;	[I"8May raise FTPReplyError if +get_greeting+ is false.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I" (sock, get_greeting = true);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"puttextfile:ETI"Net::FTP#puttextfile;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"RTransfers +localfile+ to the server in ASCII (text) mode, storing the result ;TI"Pin +remotefile+. If callback or an associated block is supplied, calls it, ;TI"8passing in the transmitted data one line at a time.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"	line;T[I"7(localfile, remotefile = File.basename(localfile));T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	mlst:ETI"Net::FTP#mlst;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IReturns data (e.g., size, last modification time, entry type, etc.) ;TI":about the file or directory specified by +pathname+. ;TI"@If +pathname+ is omitted, the current directory is assumed.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(pathname = nil);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	open:ETI"Net::FTP::open;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IA synonym for <tt>FTP.new</tt>, but with a mandatory host parameter.;To:RDoc::Markup::BlankLineo;
;	[I"NIf a block is given, it is passed the +FTP+ object, which will be closed ;TI"=when the block finishes, or when an exception is raised.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"ftp;T[I"(host, *args);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	mdtm:ETI"Net::FTP#mdtm;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OReturns the raw last modification time of the (remote) file in the format ;TI"%"YYYYMMDDhhmmss" (MDTM command).;To:RDoc::Markup::BlankLineo;
;	[I"4Use +mtime+ if you want a parsed Time instance.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(filename);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"gettextfile:ETI"Net::FTP#gettextfile;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"HRetrieves +remotefile+ in ASCII (text) mode, storing the result in ;TI"+localfile+. ;TI"4If +localfile+ is nil, returns retrieved data. ;TI"AIf a block is supplied, it is passed the retrieved data one ;TI"line at a time.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"	line;T[I"8(remotefile, localfile = File.basename(remotefile));T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"putbinaryfile:ETI"Net::FTP#putbinaryfile;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OTransfers +localfile+ to the server in binary mode, storing the result in ;TI"P+remotefile+. If a block is supplied, calls it, passing in the transmitted ;TI" data in +blocksize+ chunks.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"	data;T[I"V(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"closed?:ETI"Net::FTP#closed?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"1Returns +true+ iff the connection is closed.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_passive:ETI"Net::FTP::default_passive;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?When +true+, connections are in passive mode per default. ;TI"Default: +true+.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	help:ETI"Net::FTP#help;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Issues the HELP command.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(arg = nil);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"storlines:ETI"Net::FTP#storlines;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"NPuts the connection into ASCII (text) mode, issues the given server-side ;TI"Icommand (such as "STOR myfile"), and sends the contents of the file ;TI"Nnamed +file+ to the server, one line at a time. If the optional block is ;TI"(given, it also passes it the lines.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"	line;T[I"(cmd, file);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"connect:ETI"Net::FTP#connect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"NEstablishes an FTP connection to host, optionally overriding the default ;TI"Jport. If the environment variable +SOCKS_SERVER+ is set, sets up the ;TI"Fconnection through a SOCKS proxy. Raises an exception (typically ;TI"K<tt>Errno::ECONNREFUSED</tt>) if the connection cannot be established.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(host, port = FTP_PORT);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"debug_mode:ETI"Net::FTP#debug_mode;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@When +true+, all traffic to and from the server is written ;TI"%to +$stdout+.  Default: +false+.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
Net::FTP;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"FTP:ETI"
Net::FTP;TI"
Protocol;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[	I"KThis class implements the File Transfer Protocol.  If you have used a ;TI"Ocommand-line FTP program, and are familiar with the commands, you will be ;TI"Nable to use this class easily.  Some extra features are included to take ;TI"-advantage of Ruby's style and strengths.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Example;T@o:RDoc::Markup::Verbatim;[I"require 'net/ftp'
;T:@format0S;;i;
I"Example 1;T@o;;[I"'ftp = Net::FTP.new('example.com')
;TI"ftp.login
;TI"0files = ftp.chdir('pub/lang/ruby/contrib')
;TI"files = ftp.list('n*')
;TI"9ftp.getbinaryfile('nif.rb-0.91.gz', 'nif.gz', 1024)
;TI"ftp.close
;T;0S;;i;
I"Example 2;T@o;;[I"+Net::FTP.open('example.com') do |ftp|
;TI"  ftp.login
;TI"2  files = ftp.chdir('pub/lang/ruby/contrib')
;TI"  files = ftp.list('n*')
;TI";  ftp.getbinaryfile('nif.rb-0.91.gz', 'nif.gz', 1024)
;TI"	end
;T;0S;;i;
I"Major Methods;T@o;	;[I"EThe following are the methods most likely to be useful to users:;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"
FTP.open;To;;0;[o;	;[I"#getbinaryfile;To;;0;[o;	;[I"#gettextfile;To;;0;[o;	;[I"#putbinaryfile;To;;0;[o;	;[I"#puttextfile;To;;0;[o;	;[I"#chdir;To;;0;[o;	;[I"
#nlst;To;;0;[o;	;[I"
#size;To;;0;[o;	;[I"#rename;To;;0;[o;	;[I"#delete;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[
I"binary;TI"R;T:publicFI"lib/net/ftp.rb;T[
I"debug_mode;TI"RW;T;F@l[
I"last_response;T@k;F@l[
I"last_response_code;T@k;F@l[
I"
lastresp;T@k;F@l[
I"open_timeout;T@o;F@l[
I"passive;T@o;F@l[
I"read_timeout;T@k;F@l[
I"resume;T@o;F@l[
I"ssl_handshake_timeout;T@o;F@l[
I"welcome;T@k;F@l[U:RDoc::Constant[iI"CASE_DEPENDENT_PARSER;TI"$Net::FTP::CASE_DEPENDENT_PARSER;T;0o;;[;@g;0@g@cRDoc::NormalClass0U;[iI"CASE_INDEPENDENT_PARSER;TI"&Net::FTP::CASE_INDEPENDENT_PARSER;T;0o;;[;@g;0@g@@�0U;[iI"DECIMAL_PARSER;TI"Net::FTP::DECIMAL_PARSER;T;0o;;[;@g;0@g@@�0U;[iI"OCTAL_PARSER;TI"Net::FTP::OCTAL_PARSER;T;0o;;[;@g;0@g@@�0U;[iI"TIME_PARSER;TI"Net::FTP::TIME_PARSER;T;0o;;[;@g;0@g@@�0U;[iI"FACT_PARSERS;TI"Net::FTP::FACT_PARSERS;T;0o;;[;@g;0@g@@�0[[I"MonitorMixin;To;;[;@g;0@l[I"OpenSSL;To;;[;@g;0@l[I"SSL;To;;[;@g;0@l[[I"
class;T[[;[	[I"default_passive;T@l[I"default_passive=;T@l[I"new;T@l[I"	open;T@l[:protected[[:private[[I"
instance;T[[;[0[I"
abort;T@l[I"	acct;T@l[I"binary=;T@l[I"
chdir;T@l[I"
close;T@l[I"closed?;T@l[I"connect;T@l[I"delete;T@l[I"dir;T@l[I"get;T@l[I"getbinaryfile;T@l[I"getdir;T@l[I"gettextfile;T@l[I"	help;T@l[I"	list;T@l[I"
login;T@l[I"ls;T@l[I"	mdtm;T@l[I"
mkdir;T@l[I"	mlsd;T@l[I"	mlst;T@l[I"
mtime;T@l[I"	nlst;T@l[I"	noop;T@l[I"put;T@l[I"putbinaryfile;T@l[I"puttextfile;T@l[I"pwd;T@l[I"	quit;T@l[I"read_timeout=;T@l[I"rename;T@l[I"retrbinary;T@l[I"retrlines;T@l[I"
rmdir;T@l[I"sendcmd;T@l[I"set_socket;T@l[I"	site;T@l[I"	size;T@l[I"status;T@l[I"storbinary;T@l[I"storlines;T@l[I"system;T@l[I"voidcmd;T@l[;[[;[
[I"parse_mlsx_entry;T@l[I"parse_pasv_ipv4_host;T@l[I"parse_pasv_ipv6_host;T@l[I"parse_pasv_port;T@l[I"start_tls_session;T@l[[U:RDoc::Context::Section[i0o;;[;0;0[@gI"Net;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"getbinaryfile:ETI"Net::FTP#getbinaryfile;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"ORetrieves +remotefile+ in binary mode, storing the result in +localfile+. ;TI"4If +localfile+ is nil, returns retrieved data. ;TI"LIf a block is supplied, it is passed the retrieved data in +blocksize+ ;TI"chunks.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below00I"	data;T[I"W(remotefile, localfile = File.basename(remotefile), blocksize = DEFAULT_BLOCKSIZE);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"parse_pasv_ipv4_host:ETI""Net::FTP#parse_pasv_ipv4_host;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
file?:ETI"Net::FTP::MLSxEntry#file?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns +true+ if the entry is a file (i.e., the value of the type ;TI"fact is file).;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"purgeable?:ETI"#Net::FTP::MLSxEntry#purgeable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GReturns +true+ if the objects in the directory may be deleted, or ;TI"!the directory may be purged.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"appendable?:ETI"$Net::FTP::MLSxEntry#appendable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns +true+ if the APPE command may be applied to the file.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Net::FTP::MLSxEntry::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(facts, pathname);T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"renamable?:ETI"#Net::FTP::MLSxEntry#renamable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DReturns +true+ if the file or directory may be renamed by RNFR.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"directory?:ETI"#Net::FTP::MLSxEntry#directory?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns +true+ if the entry is a directory (i.e., the value of the ;TI"&type fact is dir, cdir, or pdir).;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"listable?:ETI""Net::FTP::MLSxEntry#listable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FReturns +true+ if the listing commands, LIST, NLST, and MLSD are ;TI"applied to the directory.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::Attr[iI"
facts:ETI"Net::FTP::MLSxEntry#facts;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::FTP::MLSxEntry;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"creatable?:ETI"#Net::FTP::MLSxEntry#creatable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FReturns +true+ if files may be created in the directory by STOU, ;TI"STOR, APPE, and RNTO.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"deletable?:ETI"#Net::FTP::MLSxEntry#deletable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns +true+ if the file or directory may be deleted by DELE/RMD.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"writable?:ETI""Net::FTP::MLSxEntry#writable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns +true+ if the STOR command may be applied to the file.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"directory_makable?:ETI"+Net::FTP::MLSxEntry#directory_makable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns +true+ if the MKD command may be used to create a new ;TI"$directory within the directory.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"enterable?:ETI"#Net::FTP::MLSxEntry#enterable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns +true+ if the directory may be entered by CWD/CDUP.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"MLSxEntry:ETI"Net::FTP::MLSxEntry;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I">MLSxEntry represents an entry in responses of MLST/MLSD. ;TI"IEach entry has the facts (e.g., size, last modification time, etc.) ;TI"and the pathname.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"
facts;TI"R;T:publicFI"lib/net/ftp.rb;T[
I"
pathname;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[I"appendable?;T@[I"creatable?;T@[I"deletable?;T@[I"directory?;T@[I"directory_makable?;T@[I"enterable?;T@[I"
file?;T@[I"listable?;T@[I"purgeable?;T@[I"readable?;T@[I"renamable?;T@[I"writable?;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"
Net::FTP;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"readable?:ETI""Net::FTP::MLSxEntry#readable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns +true+ if the RETR command may be applied to the file.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"MLSxEntry;TcRDoc::NormalClass00U:RDoc::Attr[iI"
pathname:ETI"!Net::FTP::MLSxEntry#pathname;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Net::FTP::MLSxEntry;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"parse_pasv_port:ETI"Net::FTP#parse_pasv_port;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pwd:ETI"Net::FTP#pwd;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Returns the current remote directory.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[[I"getdir;To;;	[;@;0I"();T@FI"FTP;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"parse_pasv_ipv6_host:ETI""Net::FTP#parse_pasv_ipv6_host;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"last_response:ETI"Net::FTP#last_response;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I" The server's last response.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
Net::FTP;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"put:ETI"Net::FTP#put;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MTransfers +localfile+ to the server in whatever mode the session is set ;TI"<(text or binary).  See #puttextfile and #putbinaryfile.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below000[I"^(localfile, remotefile = File.basename(localfile), blocksize = DEFAULT_BLOCKSIZE, &block);T@FI"FTP;TcRDoc::NormalClass00U:RDoc::Attr[iI"open_timeout:ETI"Net::FTP#open_timeout;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"FNumber of seconds to wait for the connection to open. Any number ;TI"Fmay be used, including Floats for fractional seconds. If the FTP ;TI"Gobject cannot open a connection in this many seconds, it raises a ;TI"<Net::OpenTimeout exception. The default value is +nil+.;T:
@fileI"lib/net/ftp.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
Net::FTP;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"HTTPPreconditionFailed:ETI" Net::HTTPPreconditionFailed;TI"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"*Net::HTTPPreconditionFailed::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPLoopDetected:ETI"Net::HTTPLoopDetected;TI"Net::HTTPServerError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"$Net::HTTPLoopDetected::HAS_BODY;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"FrozenError:ET@I"RuntimeError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"?Raised when there is an attempt to modify a frozen object.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;[I"[1, 2, 3].freeze << 4
;T:@format0o;	;[I"#<em>raises the exception:</em>;T@o;;[I"+FrozenError: can't modify frozen Array;T;0:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"private_call?:ETI" NoMethodError#private_call?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"NoMethodError;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"NoMethodError::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"HConstruct a NoMethodError exception for a method of the given name ;TI"Ecalled with the given arguments. The name may be accessed using ;TI"Dthe <code>#name</code> method on the resulting object, and the ;TI"3arguments using the <code>#args</code> method.;T:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0I"DNoMethodError.new([msg, *, name [, args]])  -> no_method_error
;T0[I"(*args);T@FI"NoMethodError;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	args:ETI"NoMethodError#args;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Return the arguments passed in as the third parameter to ;TI"the constructor.;T:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0I""no_method_error.args  -> obj
;T0[I"();T@FI"NoMethodError;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"NoMethodError:ET@I"NameError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"HRaised when a method is called on a receiver which doesn't have it ;TI"=defined and also fails to respond with +method_missing+.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;[I""hello".to_ary
;T:@format0o;	;[I"#<em>raises the exception:</em>;T@o;;[I"@NoMethodError: undefined method `to_ary' for "hello":String;T;0:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"new;TI"error.c;T[:protected[[:private[[I"
instance;T[[;[[I"	args;T@'[I"private_call?;T@'[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"eof:ETI"
ARGF#eof;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OReturns true if the current file in +ARGF+ is at end of file, i.e. it has ;TI"Lno data to read. The stream must be opened for reading or an +IOError+ ;TI"will be raised.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"!$ echo "eof" | ruby argf.rb
;TI"
;TI")ARGF.eof?                 #=> false
;TI"3.times { ARGF.readchar }
;TI")ARGF.eof?                 #=> false
;TI"(ARGF.readchar             #=> "\n"
;TI"'ARGF.eof?                 #=> true;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"<ARGF.eof?  -> true or false
ARGF.eof   -> true or false;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"read_nonblock:ETI"ARGF#read_nonblock;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LReads at most _maxlen_ bytes from the ARGF stream in non-blocking mode.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.read_nonblock(maxlen[, options])              -> string
ARGF.read_nonblock(maxlen, outbuf[, options])      -> outbuf
;T0[I"(p1, p2 = v2, p3 = {});T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
readchar:ETI"ARGF#readchar;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"OReads the next character from +ARGF+ and returns it as a +String+. Raises ;TI"Kan +EOFError+ after the last character of the last file has been read.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[
I"$ echo "foo" > file
;TI"$ ruby argf.rb file
;TI"
;TI"ARGF.readchar  #=> "f"
;TI"ARGF.readchar  #=> "o"
;TI"ARGF.readchar  #=> "o"
;TI"ARGF.readchar  #=> "\n"
;TI"6ARGF.readchar  #=> end of file reached (EOFError);T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"%ARGF.readchar  -> String or nil
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"lineno=:ETI"ARGF#lineno=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FSets the line number of +ARGF+ as a whole to the given +Integer+.;To:RDoc::Markup::BlankLineo;
;	[I"M+ARGF+ sets the line number automatically as you read data, so normally ;TI"Oyou will not need to set it explicitly. To access the current line number ;TI"use +ARGF.lineno+.;T@o;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[
I"ARGF.lineno      #=> 0
;TI"-ARGF.readline    #=> "This is line 1\n"
;TI"ARGF.lineno      #=> 1
;TI"ARGF.lineno = 0  #=> 0
;TI"ARGF.lineno      #=> 0;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"'ARGF.lineno = integer  -> integer
;T0[I"	(p1);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
readline:ETI"ARGF#readline;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Returns the next line from the current file in +ARGF+.;To:RDoc::Markup::BlankLineo;
;	[I"FBy default lines are assumed to be separated by <code>$/</code>; ;TI"Jto use a different character as a separator, supply it as a +String+ ;TI"for the _sep_ argument.;T@o;
;	[I"NThe optional _limit_ argument specifies how many characters of each line ;TI"7to return. By default all characters are returned.;T@o;
;	[I"4An +EOFError+ is raised at the end of the file.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"qARGF.readline(sep=$/)     -> string
ARGF.readline(limit)      -> string
ARGF.readline(sep, limit) -> string
;T0[I"(*args);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_byte:ETI"ARGF#each_byte;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Iterates over each byte of each file in +ARGV+. ;TI"<A byte is returned as an +Integer+ in the range 0..255.;To:RDoc::Markup::BlankLineo;
;	[
I"OThis method allows you to treat the files supplied on the command line as ;TI"Ma single file consisting of the concatenation of each named file. After ;TI"Nthe last byte of the first file has been returned, the first byte of the ;TI"Hsecond file is returned. The +ARGF.filename+ method can be used to ;TI"0determine the filename of the current byte.;T@o;
;	[I"=If no block is given, an enumerator is returned instead.;T@o;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I".ARGF.bytes.to_a  #=> [35, 32, ... 95, 10];T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"�ARGF.bytes     {|byte| block }  -> ARGF
ARGF.bytes                      -> an_enumerator
ARGF.each_byte {|byte| block }  -> ARGF
ARGF.each_byte                  -> an_enumerator
;T0[I"();T@ FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
binmode?:ETI"ARGF#binmode?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"KReturns true if +ARGF+ is being read in binary mode; false otherwise. ;TI".To enable binary mode use +ARGF.binmode+.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"ARGF.binmode?  #=> false
;TI"ARGF.binmode
;TI"ARGF.binmode?  #=> true;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"%ARGF.binmode?  -> true or false
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"ARGF#inspect;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	ARGF;TcRDoc::NormalClass0[@FI"	to_s;TU:RDoc::AnyMethod[iI"
print:ETI"ARGF#print;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Writes the given object(s) to <em>ios</em>. Returns +nil+.;To:RDoc::Markup::BlankLineo;
;	[	I",The stream must be opened for writing. ;TI"HEach given object that isn't a string will be converted by calling ;TI"#its <code>to_s</code> method. ;TI"KWhen called without arguments, prints the contents of <code>$_</code>.;T@o;
;	[	I"CIf the output field separator (<code>$,</code>) is not +nil+, ;TI"%it is inserted between objects. ;TI"EIf the output record separator (<code>$\\</code>) is not +nil+, ;TI""it is appended to the output.;T@o:RDoc::Markup::Verbatim;	[I"3$stdout.print("This is ", 100, " percent.\n")
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"This is 100 percent.;T;
0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"Cios.print               -> nil
ios.print(obj, ...)     -> nil
;T0[I"(*args);T@$FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_a:ETI"ARGF#to_a;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReads +ARGF+'s current file in its entirety, returning an +Array+ of its ;TI"Mlines, one line per element. Lines are assumed to be separated by _sep_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"lines = ARGF.readlines
;TI"5lines[0]                #=> "This is line one\n";T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"aARGF.to_a(sep=$/)     -> array
ARGF.to_a(limit)      -> array
ARGF.to_a(sep, limit) -> array;T0[I"(*args);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inplace_mode:ETI"ARGF#inplace_mode;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns the file extension appended to the names of modified files under ;TI"Min-place edit mode. This value can be set using +ARGF.inplace_mode=+ or ;TI"0passing the +-i+ switch to the Ruby binary.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I""ARGF.inplace_mode  -> String
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inplace_mode=:ETI"ARGF#inplace_mode=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PSets the filename extension for in-place editing mode to the given String. ;TI"IEach file being edited has this value appended to its filename. The ;TI"0modified file is saved under this new name.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"$ ruby argf.rb file.txt
;TI"
;TI" ARGF.inplace_mode = '.bak'
;TI"ARGF.each_line do |line|
;TI"#  print line.sub("foo","bar")
;TI"	end
;T:@format0o;
;	[I"MEach line of _file.txt_ has the first occurrence of "foo" replaced with ;TI"?"bar", then the new line is written out to _file.txt.bak_.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"&ARGF.inplace_mode = ext  -> ARGF
;T0[I"	(p1);T@ FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"internal_encoding:ETI"ARGF#internal_encoding;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FReturns the internal encoding for strings read from +ARGF+ as an ;TI"+Encoding+ object.;To:RDoc::Markup::BlankLineo;
;	[
I"PIf +ARGF.set_encoding+ has been called with two encoding names, the second ;TI"Ois returned. Otherwise, if +Encoding.default_external+ has been set, that ;TI"Ivalue is returned. Failing that, if a default external encoding was ;TI"Kspecified on the command-line, that value is used. If the encoding is ;TI" unknown, +nil+ is returned.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"*ARGF.internal_encoding   -> encoding
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
readbyte:ETI"ARGF#readbyte;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"PReads the next 8-bit byte from ARGF and returns it as an +Integer+. Raises ;TI"Fan +EOFError+ after the last byte of the last file has been read.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[
I"$ echo "foo" > file
;TI"$ ruby argf.rb file
;TI"
;TI"ARGF.readbyte  #=> 102
;TI"ARGF.readbyte  #=> 111
;TI"ARGF.readbyte  #=> 111
;TI"ARGF.readbyte  #=> 10
;TI"6ARGF.readbyte  #=> end of file reached (EOFError);T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.readbyte  -> Integer
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	puts:ETI"ARGF#puts;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"1Writes the given object(s) to <em>ios</em>. ;TI"8Writes a newline after any that do not already end ;TI",with a newline sequence. Returns +nil+.;To:RDoc::Markup::BlankLineo;
;	[
I",The stream must be opened for writing. ;TI"JIf called with an array argument, writes each element on a new line. ;TI"FEach given object that isn't a string or array will be converted ;TI"#by calling its +to_s+ method. ;TI";If called without arguments, outputs a single newline.;T@o:RDoc::Markup::Verbatim;	[I"/$stdout.puts("this", "is", ["a", "test"])
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[	I"
this
;TI"is
;TI"a
;TI"
test
;T;
0o;
;	[I"?Note that +puts+ always uses newlines and is not affected ;TI"7by the output record separator (<code>$\\</code>).;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I""ios.puts(obj, ...)    -> nil
;T0[I"(*args);T@(FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	eof?:ETI"ARGF#eof?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OReturns true if the current file in +ARGF+ is at end of file, i.e. it has ;TI"Lno data to read. The stream must be opened for reading or an +IOError+ ;TI"will be raised.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"!$ echo "eof" | ruby argf.rb
;TI"
;TI")ARGF.eof?                 #=> false
;TI"3.times { ARGF.readchar }
;TI")ARGF.eof?                 #=> false
;TI"(ARGF.readchar             #=> "\n"
;TI"'ARGF.eof?                 #=> true;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I" ARGF.eof?  -> true or false;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_i:ETI"ARGF#to_i;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns an integer representing the numeric file descriptor for ;TI"Othe current file. Raises an +ArgumentError+ if there isn't a current file.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"ARGF.fileno    #=> 3;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.to_i      -> integer;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"codepoints:ETI"ARGF#codepoints;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@This is a deprecated alias for <code>each_codepoint</code>.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	file:ETI"ARGF#file;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I";Returns the current file as an +IO+ or +File+ object. ;TI"D<code>$stdin</code> is returned when the current file is STDIN.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[
I"$ echo "foo" > foo
;TI"$ echo "bar" > bar
;TI"
;TI"$ ruby argf.rb foo bar
;TI"
;TI"$ARGF.file      #=> #<File:foo>
;TI"!ARGF.read(5)   #=> "foo\nb"
;TI"#ARGF.file      #=> #<File:bar>;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"%ARGF.file  -> IO or File object
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	argv:ETI"ARGF#argv;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"KReturns the +ARGV+ array, which contains the arguments passed to your ;TI"script, one per element.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"!$ ruby argf.rb -v glark.txt
;TI"
;TI"(ARGF.argv   #=> ["-v", "glark.txt"];T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.argv  -> ARGV
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	putc:ETI"ARGF#putc;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"NIf <i>obj</i> is <code>Numeric</code>, write the character whose code is ;TI"/the least-significant byte of <i>obj</i>. ;TI"EIf <i>obj</i> is <code>String</code>, write the first character ;TI"$of <i>obj</i> to <em>ios</em>. ;TI"-Otherwise, raise <code>TypeError</code>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"$stdout.putc "A"
;TI"$stdout.putc 65
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"AA;T;
0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ios.putc(obj)    -> obj
;T0[I"	(p1);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	tell:ETI"ARGF#tell;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IReturns the current offset (in bytes) of the current file in +ARGF+.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"ARGF.pos    #=> 0
;TI"*ARGF.gets   #=> "This is line one\n"
;TI"ARGF.pos    #=> 17;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.tell  -> Integer;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getbyte:ETI"ARGF#getbyte;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"OGets the next 8-bit byte (0..255) from +ARGF+. Returns +nil+ if called at ;TI"the end of the stream.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[
I"$ echo "foo" > file
;TI"$ ruby argf.rb file
;TI"
;TI"ARGF.getbyte #=> 102
;TI"ARGF.getbyte #=> 111
;TI"ARGF.getbyte #=> 111
;TI"ARGF.getbyte #=> 10
;TI"ARGF.getbyte #=> nil;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"%ARGF.getbyte  -> Integer or nil
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
close:ETI"ARGF#close;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"NCloses the current file and skips to the next file in ARGV. If there are ;TI"Nno more files to open, just closes the current file. +STDIN+ will not be ;TI"closed.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"$ ruby argf.rb foo bar
;TI"
;TI"ARGF.filename  #=> "foo"
;TI"ARGF.close
;TI"ARGF.filename  #=> "bar"
;TI"ARGF.close;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.close  -> ARGF
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_char:ETI"ARGF#each_char;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"9Iterates over each character of each file in +ARGF+.;To:RDoc::Markup::BlankLineo;
;	[I"OThis method allows you to treat the files supplied on the command line as ;TI"Ma single file consisting of the concatenation of each named file. After ;TI"Gthe last character of the first file has been returned, the first ;TI"Ncharacter of the second file is returned. The +ARGF.filename+ method can ;TI"Nbe used to determine the name of the file in which the current character ;TI"
appears.;T@o;
;	[I"=If no block is given, an enumerator is returned instead.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"^ARGF.each_char {|char| block }  -> ARGF
ARGF.each_char                  -> an_enumerator
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"printf:ETI"ARGF#printf;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EFormats and writes to <em>ios</em>, converting parameters under ;TI"Ccontrol of the format string. See <code>Kernel#sprintf</code> ;TI"for details.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"5ios.printf(format_string [, obj, ...])   -> nil
;T0[I"(*args);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
filename:ETI"ARGF#filename;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"LReturns the current filename. "-" is returned when the current file is ;TI"STDIN.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"$ echo "foo" > foo
;TI"$ echo "bar" > bar
;TI"$ echo "glark" > glark
;TI"
;TI""$ ruby argf.rb foo bar glark
;TI"
;TI"ARGF.filename  #=> "foo"
;TI"!ARGF.read(5)   #=> "foo\nb"
;TI"ARGF.filename  #=> "bar"
;TI"ARGF.skip
;TI"ARGF.filename  #=> "glark";T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.filename  -> String;T0[I"();T@ FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pos:ETI"
ARGF#pos;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IReturns the current offset (in bytes) of the current file in +ARGF+.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"ARGF.pos    #=> 0
;TI"*ARGF.gets   #=> "This is line one\n"
;TI"ARGF.pos    #=> 17;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.pos   -> Integer;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"external_encoding:ETI"ARGF#external_encoding;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"OReturns the external encoding for files read from +ARGF+ as an +Encoding+ ;TI"Nobject. The external encoding is the encoding of the text as stored in a ;TI"Nfile. Contrast with +ARGF.internal_encoding+, which is the encoding used ;TI"(to represent this text within Ruby.;To:RDoc::Markup::BlankLineo;
;	[I":To set the external encoding use +ARGF.set_encoding+.;T@o;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"3ARGF.external_encoding  #=>  #<Encoding:UTF-8>;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"*ARGF.external_encoding   -> encoding
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_s:ETI"ARGF#to_s;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns "ARGF".;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.to_s  -> String
;T0[[I"inspect;To;;	[;@;0I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	pos=:ETI"ARGF#pos=;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"DSeeks to the position given by _position_ (in bytes) in +ARGF+.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"ARGF.pos = 17
;TI")ARGF.gets   #=> "This is line two\n";T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"%ARGF.pos = position  -> Integer
;T0[I"	(p1);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
write:ETI"ARGF#write;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%Writes _string_ if inplace mode.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"%ARGF.write(string)   -> integer
;T0[I"	(p1);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_codepoint:ETI"ARGF#each_codepoint;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"9Iterates over each codepoint of each file in +ARGF+.;To:RDoc::Markup::BlankLineo;
;	[I"OThis method allows you to treat the files supplied on the command line as ;TI"Ma single file consisting of the concatenation of each named file. After ;TI"Gthe last codepoint of the first file has been returned, the first ;TI"Ncodepoint of the second file is returned. The +ARGF.filename+ method can ;TI"Nbe used to determine the name of the file in which the current codepoint ;TI"
appears.;T@o;
;	[I"=If no block is given, an enumerator is returned instead.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"rARGF.each_codepoint {|codepoint| block }  -> ARGF
ARGF.each_codepoint                       -> an_enumerator
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	skip:ETI"ARGF#skip;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"NSets the current file to the next file in ARGV. If there aren't any more ;TI"files it has no effect.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[	I"$ ruby argf.rb foo bar
;TI"ARGF.filename  #=> "foo"
;TI"ARGF.skip
;TI"ARGF.filename  #=> "bar";T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.skip  -> ARGF
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	path:ETI"ARGF#path;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"LReturns the current filename. "-" is returned when the current file is ;TI"STDIN.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"$ echo "foo" > foo
;TI"$ echo "bar" > bar
;TI"$ echo "glark" > glark
;TI"
;TI""$ ruby argf.rb foo bar glark
;TI"
;TI"ARGF.filename  #=> "foo"
;TI"!ARGF.read(5)   #=> "foo\nb"
;TI"ARGF.filename  #=> "bar"
;TI"ARGF.skip
;TI"ARGF.filename  #=> "glark";T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.path      -> String;T0[I"();T@ FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
to_io:ETI"ARGF#to_io;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"JReturns an +IO+ object representing the current file. This will be a ;TI"E+File+ object unless the current file is a stream such as STDIN.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I")ARGF.to_io    #=> #<File:glark.txt>
;TI"$ARGF.to_io    #=> #<IO:<STDIN>>;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.to_io     -> IO
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	seek:ETI"ARGF#seek;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OSeeks to offset _amount_ (an +Integer+) in the +ARGF+ stream according to ;TI"<the value of _whence_. See IO#seek for further details.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"2ARGF.seek(amount, whence=IO::SEEK_SET)  -> 0
;T0[I"(*args);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"fileno:ETI"ARGF#fileno;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns an integer representing the numeric file descriptor for ;TI"Othe current file. Raises an +ArgumentError+ if there isn't a current file.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"ARGF.fileno    #=> 3;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.fileno    -> integer;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	read:ETI"ARGF#read;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"IReads _length_ bytes from ARGF. The files named on the command line ;TI"Kare concatenated and treated as a single file by this method, so when ;TI"Ocalled without arguments the contents of this pseudo file are returned in ;TI"their entirety.;To:RDoc::Markup::BlankLineo;
;	[I"6_length_ must be a non-negative integer or +nil+.;T@o;
;	[I"=If _length_ is a positive integer, +read+ tries to read ;TI":_length_ bytes without any conversion (binary mode). ;TI"LIt returns +nil+ if an EOF is encountered before anything can be read. ;TI"LFewer than _length_ bytes are returned if an EOF is encountered during ;TI"the read. ;TI"HIn the case of an integer _length_, the resulting string is always ;TI"in ASCII-8BIT encoding.;T@o;
;	[I"<If _length_ is omitted or is +nil+, it reads until EOF ;TI"<and the encoding conversion is applied, if applicable. ;TI"MA string is returned even if EOF is encountered before any data is read.;T@o;
;	[I"GIf _length_ is zero, it returns an empty string (<code>""</code>).;T@o;
;	[	I"3If the optional _outbuf_ argument is present, ;TI">it must reference a String, which will receive the data. ;TI"LThe _outbuf_ will contain only the received data after the method call ;TI".even if it is not empty at the beginning.;T@o;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[
I" $ echo "small" > small.txt
;TI" $ echo "large" > large.txt
;TI"&$ ./glark.rb small.txt large.txt
;TI"
;TI"'ARGF.read      #=> "small\nlarge"
;TI"'ARGF.read(200) #=> "small\nlarge"
;TI"ARGF.read(2)   #=> "sm"
;TI"ARGF.read(0)   #=> ""
;T:@format0o;
;	[
I"CNote that this method behaves like the fread() function in C. ;TI"GThis means it retries to invoke read(2) system calls to read data ;TI" with the specified length. ;TI"AIf you need the behavior like a single read(2) system call, ;TI"5consider ARGF#readpartial or ARGF#read_nonblock.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"AARGF.read([length [, outbuf]])    -> string, outbuf, or nil
;T0[I"(p1 = v1, p2 = v2);T@@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	gets:ETI"ARGF#gets;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Returns the next line from the current file in +ARGF+.;To:RDoc::Markup::BlankLineo;
;	[I"FBy default lines are assumed to be separated by <code>$/</code>; ;TI"Jto use a different character as a separator, supply it as a +String+ ;TI"for the _sep_ argument.;T@o;
;	[I"NThe optional _limit_ argument specifies how many characters of each line ;TI"7to return. By default all characters are returned.;T@o;
;	[I"5See IO.readlines for details about getline_args.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"�ARGF.gets(sep=$/ [, getline_args])     -> string or nil
ARGF.gets(limit [, getline_args])      -> string or nil
ARGF.gets(sep, limit [, getline_args]) -> string or nil
;T0[I"(*args);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
bytes:ETI"ARGF#bytes;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";This is a deprecated alias for <code>each_byte</code>.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"binmode:ETI"ARGF#binmode;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NPuts +ARGF+ into binary mode. Once a stream is in binary mode, it cannot ;TI"Hbe reset to non-binary mode. This option has the following effects:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"$Newline conversion is disabled.;To;;0;	[o;
;	[I"%Encoding conversion is disabled.;To;;0;	[o;
;	[I"&Content is treated as ASCII-8BIT.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.binmode  -> ARGF
;T0[I"();T@!FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"closed?:ETI"ARGF#closed?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PReturns _true_ if the current file has been closed; _false_ otherwise. Use ;TI"5+ARGF.close+ to actually close the current file.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"$ARGF.closed?  -> true or false
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rewind:ETI"ARGF#rewind;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EPositions the current file to the beginning of input, resetting ;TI"+ARGF.lineno+ to zero.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I".ARGF.readline   #=> "This is line one\n"
;TI"ARGF.rewind     #=> 0
;TI"ARGF.lineno     #=> 0
;TI"-ARGF.readline   #=> "This is line one\n";T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.rewind   -> 0
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"readlines:ETI"ARGF#readlines;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReads +ARGF+'s current file in its entirety, returning an +Array+ of its ;TI"Mlines, one line per element. Lines are assumed to be separated by _sep_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"lines = ARGF.readlines
;TI"5lines[0]                #=> "This is line one\n";T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"pARGF.readlines(sep=$/)     -> array
ARGF.readlines(limit)      -> array
ARGF.readlines(sep, limit) -> array;T0[I"(*args);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
chars:ETI"ARGF#chars;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";This is a deprecated alias for <code>each_char</code>.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	ARGF:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"P+ARGF+ is a stream designed for use in scripts that process files given as ;TI"3command-line arguments or passed in via STDIN.;To:RDoc::Markup::BlankLineo;	;[I"MThe arguments passed to your script are stored in the +ARGV+ Array, one ;TI"Iargument per element. +ARGF+ assumes that any arguments that aren't ;TI":filenames have been removed from +ARGV+. For example:;T@o:RDoc::Markup::Verbatim;[
I"*$ ruby argf.rb --verbose file1 file2
;TI"
;TI"/ARGV  #=> ["--verbose", "file1", "file2"]
;TI")option = ARGV.shift #=> "--verbose"
;TI""ARGV  #=> ["file1", "file2"]
;T:@format0o;	;[I"PYou can now use +ARGF+ to work with a concatenation of each of these named ;TI"Jfiles. For instance, +ARGF.read+ will return the contents of _file1_ ;TI")followed by the contents of _file2_.;T@o;	;[I"LAfter a file in +ARGV+ has been read +ARGF+ removes it from the Array. ;TI"?Thus, after all files have been read +ARGV+ will be empty.;T@o;	;[	I"OYou can manipulate +ARGV+ yourself to control what +ARGF+ operates on. If ;TI"Qyou remove a file from +ARGV+, it is ignored by +ARGF+; if you add files to ;TI"M+ARGV+, they are treated as if they were named on the command line. For ;TI"
example:;T@o;;[
I"ARGV.replace ["file1"]
;TI"@ARGF.readlines # Returns the contents of file1 as an Array
;TI"ARGV           #=> []
;TI"%ARGV.replace ["file2", "file3"]
;TI">ARGF.read      # Returns the contents of file2 and file3
;T;0o;	;[I"MIf +ARGV+ is empty, +ARGF+ acts as if it contained STDIN, i.e. the data ;TI"'piped to your script. For example:;T@o;;[I",$ echo "glark" | ruby -e 'p ARGF.read'
;TI""glark\n";T;0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[I"Enumerable;To;;[;
@<;0I"	io.c;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[;[I"	argv;T@D[I"binmode;T@D[I"
binmode?;T@D[I"
bytes;T@D[I"
chars;T@D[I"
close;T@D[I"closed?;T@D[I"codepoints;T@D[I"	each;T@D[I"each_byte;T@D[I"each_char;T@D[I"each_codepoint;T@D[I"each_line;T@D[I"eof;T@D[I"	eof?;T@D[I"external_encoding;T@D[I"	file;T@D[I"
filename;T@D[I"fileno;T@D[I"getbyte;T@D[I"	getc;T@D[I"	gets;T@D[I"inplace_mode;T@D[I"inplace_mode=;T@D[I"inspect;T@D[I"internal_encoding;T@D[I"lineno;T@D[I"lineno=;T@D[I"
lines;T@D[I"	path;T@D[I"pos;T@D[I"	pos=;T@D[I"
print;T@D[I"printf;T@D[I"	putc;T@D[I"	puts;T@D[I"	read;T@D[I"read_nonblock;T@D[I"
readbyte;T@D[I"
readchar;T@D[I"
readline;T@D[I"readlines;T@D[I"readpartial;T@D[I"rewind;T@D[I"	seek;T@D[I"set_encoding;T@D[I"	skip;T@D[I"	tell;T@D[I"	to_a;T@D[I"	to_i;T@D[I"
to_io;T@D[I"	to_s;T@D[I"to_write_io;T@D[I"
write;T@D[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@<@<cRDoc::TopLevelU:RDoc::AnyMethod[iI"to_write_io:ETI"ARGF#to_write_io;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GReturns IO instance tied to _ARGF_ for writing if inplace mode is ;TI"
enabled.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.to_write_io  -> io
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	each:ETI"ARGF#each;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns an enumerator which iterates over each line (separated by _sep_, ;TI"Jwhich defaults to your platform's newline character) of each file in ;TI"N+ARGV+. If a block is supplied, each line in turn will be yielded to the ;TI"1block, otherwise an enumerator is returned. ;TI"JThe optional _limit_ argument is an +Integer+ specifying the maximum ;TI"Mlength of each line; longer lines will be split according to this limit.;To:RDoc::Markup::BlankLineo;
;	[I"OThis method allows you to treat the files supplied on the command line as ;TI"Ma single file consisting of the concatenation of each named file. After ;TI"Nthe last line of the first file has been returned, the first line of the ;TI"Psecond file is returned. The +ARGF.filename+ and +ARGF.lineno+ methods can ;TI"Nbe used to determine the filename of the current line and line number of ;TI"#the whole input, respectively.;T@o;
;	[I"MFor example, the following code prints out each line of each named file ;TI"Jprefixed with its line number, displaying the filename once per file:;T@o:RDoc::Markup::Verbatim;	[	I"ARGF.each_line do |line|
;TI"3  puts ARGF.filename if ARGF.file.lineno == 1
;TI"+  puts "#{ARGF.file.lineno}: #{line}"
;TI"	end
;T:@format0o;
;	[I"NWhile the following code prints only the first file's name at first, and ;TI"Cthe contents with line number counted through all named files.;T@o;;	[	I"ARGF.each_line do |line|
;TI".  puts ARGF.filename if ARGF.lineno == 1
;TI"&  puts "#{ARGF.lineno}: #{line}"
;TI"end;T;
0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"[ARGF.each(sep=$/)             {|line| block }  -> ARGF
ARGF.each(sep=$/, limit)      {|line| block }  -> ARGF
ARGF.each(...)                                 -> an_enumerator
ARGF.each_line(sep=$/)        {|line| block }  -> ARGF
ARGF.each_line(sep=$/, limit) {|line| block }  -> ARGF
ARGF.each_line(...)                            -> an_enumerator;T0[I"(*args);T@0FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	getc:ETI"ARGF#getc;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PReads the next character from +ARGF+ and returns it as a +String+. Returns ;TI"$+nil+ at the end of the stream.;To:RDoc::Markup::BlankLineo;
;	[I"P+ARGF+ treats the files named on the command line as a single file created ;TI"Pby concatenating their contents. After returning the last character of the ;TI"Nfirst file, it returns the first character of the second file, and so on.;T@o;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"$ echo "foo" > file
;TI"$ ruby argf.rb file
;TI"
;TI"ARGF.getc  #=> "f"
;TI"ARGF.getc  #=> "o"
;TI"ARGF.getc  #=> "o"
;TI"ARGF.getc  #=> "\n"
;TI"ARGF.getc  #=> nil
;TI"ARGF.getc  #=> nil;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"!ARGF.getc  -> String or nil
;T0[I"();T@#FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"lineno:ETI"ARGF#lineno;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"DReturns the current line number of ARGF as a whole. This value ;TI"-can be set manually with +ARGF.lineno=+.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[I"ARGF.lineno   #=> 0
;TI"*ARGF.readline #=> "This is line 1\n"
;TI"ARGF.lineno   #=> 1;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"ARGF.lineno  -> integer
;T0[I"();T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
lines:ETI"ARGF#lines;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";This is a deprecated alias for <code>each_line</code>.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"set_encoding:ETI"ARGF#set_encoding;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MIf single argument is specified, strings read from ARGF are tagged with ;TI"the encoding specified.;To:RDoc::Markup::BlankLineo;
;	[	I"OIf two encoding names separated by a colon are given, e.g. "ascii:utf-8", ;TI"Nthe read string is converted from the first encoding (external encoding) ;TI"Mto the second encoding (internal encoding), then tagged with the second ;TI"encoding.;T@o;
;	[I"OIf two arguments are specified, they must be encoding objects or encoding ;TI"Inames. Again, the first specifies the external encoding; the second ;TI"%specifies the internal encoding.;T@o;
;	[I"KIf the external encoding and the internal encoding are specified, the ;TI"Poptional +Hash+ argument can be used to adjust the conversion process. The ;TI"Lstructure of this hash is explained in the String#encode documentation.;T@o;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[	I"IARGF.set_encoding('ascii')         # Tag the input as US-ASCII text
;TI"FARGF.set_encoding(Encoding::UTF_8) # Tag the input as UTF-8 text
;TI"LARGF.set_encoding('utf-8','ascii') # Transcode the input from US-ASCII
;TI"3                                   # to UTF-8.;T:@format0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"�ARGF.set_encoding(ext_enc)                -> ARGF
ARGF.set_encoding("ext_enc:int_enc")      -> ARGF
ARGF.set_encoding(ext_enc, int_enc)       -> ARGF
ARGF.set_encoding("ext_enc:int_enc", opt) -> ARGF
ARGF.set_encoding(ext_enc, int_enc, opt)  -> ARGF
;T0[I"(*args);T@)FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"readpartial:ETI"ARGF#readpartial;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"7Reads at most _maxlen_ bytes from the ARGF stream.;To:RDoc::Markup::BlankLineo;
;	[	I"3If the optional _outbuf_ argument is present, ;TI">it must reference a String, which will receive the data. ;TI"LThe _outbuf_ will contain only the received data after the method call ;TI".even if it is not empty at the beginning.;T@o;
;	[
I"<It raises <code>EOFError</code> on end of ARGF stream. ;TI"=Since ARGF stream is a concatenation of multiple files, ;TI",internally EOF is occur for each file. ;TI"MARGF.readpartial returns empty strings for EOFs except the last one and ;TI"3raises <code>EOFError</code> for the last one.;T:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"eARGF.readpartial(maxlen)              -> string
ARGF.readpartial(maxlen, outbuf)      -> outbuf
;T0[I"(*args);T@FI"	ARGF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_line:ETI"ARGF#each_line;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns an enumerator which iterates over each line (separated by _sep_, ;TI"Jwhich defaults to your platform's newline character) of each file in ;TI"N+ARGV+. If a block is supplied, each line in turn will be yielded to the ;TI"1block, otherwise an enumerator is returned. ;TI"JThe optional _limit_ argument is an +Integer+ specifying the maximum ;TI"Mlength of each line; longer lines will be split according to this limit.;To:RDoc::Markup::BlankLineo;
;	[I"OThis method allows you to treat the files supplied on the command line as ;TI"Ma single file consisting of the concatenation of each named file. After ;TI"Nthe last line of the first file has been returned, the first line of the ;TI"Psecond file is returned. The +ARGF.filename+ and +ARGF.lineno+ methods can ;TI"Nbe used to determine the filename of the current line and line number of ;TI"#the whole input, respectively.;T@o;
;	[I"MFor example, the following code prints out each line of each named file ;TI"Jprefixed with its line number, displaying the filename once per file:;T@o:RDoc::Markup::Verbatim;	[	I"ARGF.each_line do |line|
;TI"3  puts ARGF.filename if ARGF.file.lineno == 1
;TI"+  puts "#{ARGF.file.lineno}: #{line}"
;TI"	end
;T:@format0o;
;	[I"NWhile the following code prints only the first file's name at first, and ;TI"Cthe contents with line number counted through all named files.;T@o;;	[	I"ARGF.each_line do |line|
;TI".  puts ARGF.filename if ARGF.lineno == 1
;TI"&  puts "#{ARGF.lineno}: #{line}"
;TI"end;T;
0:
@fileI"	io.c;T:0@omit_headings_from_table_of_contents_below0I"�ARGF.each_line(sep=$/)        {|line| block }  -> ARGF
ARGF.each_line(sep=$/, limit) {|line| block }  -> ARGF
ARGF.each_line(...)                            -> an_enumerator;T0[I"(*args);T@0FI"	ARGF;TcRDoc::NormalClass00U:RDoc::TopLevel[	iI"maintainers.rdoc:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[3S:RDoc::Markup::Heading:
leveli:	textI"Maintainers;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"XThis page describes the current module, library, and extension maintainers of Ruby.;T@
S;	;
i;I"Module Maintainers;T@
o;
;[I"CA module maintainer is responsible for a certain part of Ruby.;T@
o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"wThe maintainer fixes bugs of the part. Particularly, they should fix security vulnerabilities as soon as possible.;To;;0;[o;
;[I"@They handle issues related the module on the Redmine or ML.;To;;0;[o;
;[I"CThey may be discharged by the 3 months rule [ruby-core:25764].;To;;0;[o;
;[I"XThey have commit right to Ruby's repository to modify their part in the repository.;To;;0;[o;
;[I"@They have "developer" role on the Redmine to modify issues.;To;;0;[o;
;[I"They have authority to decide the feature of their part. But they should always respect discussions on ruby-core/ruby-dev.;T@
o;
;[	I"RA submaintainer of a module is like a maintainer. But The submaintainer does ;TI"Unot have authority to change/add a feature on his/her part. They need consensus ;TI"Oon ruby-core/ruby-dev before changing/adding. Some of submaintainers have ;TI" commit right, others don't.;T@
S;	;
i;I".Language core features including security;T@
o;
;[I"Yukihiro Matsumoto (matz);T@
S;	;
i;I"Evaluator;T@
o;
;[I"Koichi Sasada (ko1);T@
S;	;
i;I"Core classes;T@
o;
;[I"Yukihiro Matsumoto (matz);T@
S;	;
i;I"Documentation;T@
o;
;[I"Zachary Scott (zzak);T@
S;	;
i;I"!Standard Library Maintainers;T@
S;	;
i;I"Libraries;T@
o;;:
LABEL;[Co;;[I"lib/English.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/abbrev.rb;T;[o;
;[I"Akinori MUSHA (knu);To;;[I"lib/base64.rb;T;[o;
;[I"Yusuke Endoh (mame);To;;[I"lib/benchmark.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/cgi.rb, lib/cgi/*;T;[o;
;[I"Takeyuki Fujioka (xibbar);To;;[I"lib/drb.rb, lib/drb/*;T;[o;
;[I"Masatoshi SEKI (seki);To;;[I"lib/debug.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/delegate.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/e2mmap.rb;T;[o;
;[I"Keiju ISHITSUKA (keiju);To;;[I"lib/erb.rb;T;[o;
;[I"5Masatoshi SEKI (seki), Takashi Kokubun (k0kubun);To;;[I"lib/find.rb;T;[o;
;[I"Kazuki Tsujimoto (ktsj);To;;[I"lib/forwardable.rb;T;[o;
;[I"Keiju ISHITSUKA (keiju);To;;[I"lib/getoptlong.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/ipaddr.rb;T;[o;
;[I"Akinori MUSHA (knu);To;;[I"lib/irb.rb, lib/irb/*;T;[o;
;[I"Keiju ISHITSUKA (keiju);To;;[I"lib/logger.rb;T;[o;
;[I"Naotoshi Seo (sonots);To;;[I"lib/matrix.rb;T;[o;
;[I"%Marc-Andre Lafortune (marcandre);To;;[I"lib/mkmf.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/monitor.rb;T;[o;
;[I"Shugo Maeda (shugo);To;;[I"lib/mutex_m.rb;T;[o;
;[I"Keiju ISHITSUKA (keiju);To;;[I"lib/net/ftp.rb;T;[o;
;[I"Shugo Maeda (shugo);To;;[I"lib/net/imap.rb;T;[o;
;[I"Shugo Maeda (shugo);To;;[I"&lib/net/http.rb, lib/net/https.rb;T;[o;
;[I"NARUSE, Yui (naruse);To;;[I"lib/net/pop.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/net/protocol.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/net/smtp.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/observer.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/open-uri.rb;T;[o;
;[I"Tanaka Akira (akr);To;;[I"lib/open3.rb;T;[o;
;[I"_unmaintained_;To;;[I"$lib/optparse.rb, lib/optparse/*;T;[o;
;[I"Nobuyuki Nakada (nobu);To;;[I"lib/ostruct.rb;T;[o;
;[I"%Marc-Andre Lafortune (marcandre);To;;[I"lib/pp.rb;T;[o;
;[I"Tanaka Akira (akr);To;;[I"lib/prettyprint.rb;T;[o;
;[I"Tanaka Akira (akr);To;;[I"lib/prime.rb;T;[o;
;[I"Yuki Sonoda (yugui);To;;[I"lib/profile.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/profiler.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/pstore.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/racc/*;T;[o;
;[I"!Aaron Patterson (tenderlove);To;;[I"lib/resolv-replace.rb;T;[o;
;[I"Tanaka Akira (akr);To;;[I"lib/resolv.rb;T;[o;
;[I"Tanaka Akira (akr);To;;[I"lib/rexml/*;T;[o;
;[I"Kouhei Sutou (kou);To;;[I"lib/rinda/*;T;[o;
;[I"Masatoshi SEKI (seki);To;;[I"lib/rss.rb, lib/rss/*;T;[o;
;[I"Kouhei Sutou (kou);To;;[I"4lib/rubygems.rb, lib/ubygems.rb, lib/rubygems/*;T;[o;
;[I"2Eric Hodel (drbrain), Hiroshi SHIBATA (hsbt) ;TI")https://github.com/rubygems/rubygems;To;;[I"lib/set.rb;T;[o;
;[I"Akinori MUSHA (knu);To;;[I"lib/securerandom.rb;T;[o;
;[I"Tanaka Akira (akr);To;;[I"lib/shell.rb, lib/shell/*;T;[o;
;[I"Keiju ISHITSUKA (keiju);To;;[I"lib/shellwords.rb;T;[o;
;[I"Akinori MUSHA (knu);To;;[I"lib/singleton.rb;T;[o;
;[I"Yukihiro Matsumoto (matz);To;;[I"lib/sync.rb;T;[o;
;[I"Keiju ISHITSUKA (keiju);To;;[I"lib/tempfile.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/tmpdir.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/thwait.rb;T;[o;
;[I"Keiju ISHITSUKA (keiju);To;;[I"lib/time.rb;T;[o;
;[I"Tanaka Akira (akr);To;;[I"lib/timeout.rb;T;[o;
;[I"Yukihiro Matsumoto (matz);To;;[I"lib/tracer.rb;T;[o;
;[I"Keiju ISHITSUKA (keiju);To;;[I"lib/tsort.rb;T;[o;
;[I"Tanaka Akira (akr);To;;[I"lib/un.rb;T;[o;
;[I"WATANABE Hirofumi (eban);To;;[I"6lib/unicode_normalize.rb, lib/unicode_normalize/*;T;[o;
;[I"Martin J. Dürst;To;;[I"lib/uri.rb, lib/uri/*;T;[o;
;[I"YAMADA, Akira (akira);To;;[I"lib/weakref.rb;T;[o;
;[I"_unmaintained_;To;;[I"lib/yaml.rb, lib/yaml/*;T;[o;
;[I"9Aaron Patterson (tenderlove), Hiroshi SHIBATA (hsbt);T@
S;	;
i;I"Extensions;T@
o;;;;[o;;[I"ext/cgi;T;[o;
;[I"Nobuyoshi Nakada (nobu);To;;[I"ext/continuation;T;[o;
;[I"Koichi Sasada (ko1);To;;[I"ext/coverage;T;[o;
;[I"Yusuke Endoh (mame);To;;[I"ext/digest, ext/digest/*;T;[o;
;[I"Akinori MUSHA (knu);To;;[I"ext/fiber;T;[o;
;[I"Koichi Sasada (ko1);To;;[I"ext/io/nonblock;T;[o;
;[I"Nobuyuki Nakada (nobu);To;;[I"ext/io/wait;T;[o;
;[I"Nobuyuki Nakada (nobu);To;;[I"ext/nkf;T;[o;
;[I"NARUSE, Yui (narse);To;;[I"ext/objspace;T;[o;
;[I"_unmaintained_;To;;[I"ext/pathname;T;[o;
;[I"Tanaka Akira (akr);To;;[I"ext/pty;T;[o;
;[I"_unmaintained_;To;;[I"
ext/racc;T;[o;
;[I"!Aaron Patterson (tenderlove);To;;[I"ext/readline;T;[o;
;[I"TAKAO Kouji (kouji);To;;[I"ext/ripper;T;[o;
;[I"_unmaintained_;To;;[I"ext/socket;T;[o;;;;[o;;0;[o;
;[I"Tanaka Akira (akr);To;;0;[o;
;[I"%API change needs matz's approval;To;;[I"ext/syslog;T;[o;
;[I"Akinori MUSHA (knu);To;;[I"ext/win32;T;[o;
;[I"NAKAMURA Usaku (usa);To;;[I"ext/win32ole;T;[o;
;[I"Masaki Suketa (suke);T@
S;	;
i;I"Default gems Maintainers;T@
S;	;
i;I"Libraries;T@
o;;;;[o;;[I"lib/cmath.rb;T;[o;
;[I"_unmaintained_ ;TI""https://github.com/ruby/cmath;To;;[I"lib/csv.rb;T;[o;
;[I"!James Edward Gray II (jeg2) ;TI" https://github.com/ruby/csv;To;;[I"lib/fileutils.rb;T;[o;
;[I"_unmaintained_ ;TI"&https://github.com/ruby/fileutils;To;;[I"lib/rdoc.rb, lib/rdoc/*;T;[o;
;[I"2Eric Hodel (drbrain), Hiroshi SHIBATA (hsbt) ;TI"!https://github.com/ruby/rdoc;To;;[I"lib/scanf.rb;T;[o;
;[I"David A. Black (dblack) ;TI""https://github.com/ruby/scanf;To;;[I""lib/webrick.rb, lib/webrick/*;T;[o;
;[I"Eric Wong (normalperson) ;TI" https://bugs.ruby-lang.org/;T@
S;	;
i;I"Extensions;T@
o;;;;[o;;[I"ext/bigdecimal;T;[o;
;[I"Kenta Murata (mrkn) ;TI"'https://github.com/ruby/bigdecimal;To;;[I"
ext/date;T;[o;
;[I"_unmaintained_ ;TI"!https://github.com/ruby/date;To;;[I"ext/dbm;T;[o;
;[I"_unmaintained_ ;TI" https://github.com/ruby/dbm;To;;[I"ext/etc;T;[o;
;[I"_unmaintained_ ;TI" https://github.com/ruby/etc;To;;[I"ext/fcntl;T;[o;
;[I"_unmaintained_ ;TI""https://github.com/ruby/fcntl;To;;[I"ext/fiddle;T;[o;
;[I""Aaron Patterson (tenderlove) ;TI"#https://github.com/ruby/fiddle;To;;[I"
ext/gdbm;T;[o;
;[I"Yukihiro Matsumoto (matz) ;TI"!https://github.com/ruby/gdbm;To;;[I"ext/io/console;T;[o;
;[I"Nobuyuki Nakada (nobu) ;TI"'https://github.com/ruby/io-console;To;;[I"
ext/json;T;[o;
;[I"2NARUSE, Yui (naruse), Hiroshi SHIBATA (hsbt) ;TI""https://github.com/flori/json;To;;[I"ext/openssl;T;[o;
;[I"Kazuki Yamaguchi (rhe) ;TI"$https://github.com/ruby/openssl;To;;[I"ext/psych;T;[o;
;[I"9Aaron Patterson (tenderlove), Hiroshi SHIBATA(hsbt) ;TI""https://github.com/ruby/psych;To;;[I"
ext/sdbm;T;[o;
;[I"Yukihiro Matsumoto (matz) ;TI"!https://github.com/ruby/sdbm;To;;[I"ext/stringio;T;[o;
;[I"Nobuyuki Nakada (nobu) ;TI"%https://github.com/ruby/stringio;To;;[I"ext/strscan;T;[o;
;[I"_unmaintained_ ;TI"$https://github.com/ruby/strscan;To;;[I"
ext/zlib;T;[o;
;[I"_unmaintained_ ;TI"!https://github.com/ruby/zlib;T@
S;	;
i;I"'Bundled gems upstream repositories;T@
o;;;;[o;;[I"did_you_mean;T;[o;
;[I"+https://github.com/yuki24/did_you_mean;To;;[I"
minitest;T;[o;
;[I"*https://github.com/seattlerb/minitest;To;;[I"net-telnet;T;[o;
;[I"'https://github.com/ruby/net-telnet;To;;[I"power_assert;T;[o;
;[I"*https://github.com/k-tsj/power_assert;To;;[I"	rake;T;[o;
;[I"!https://github.com/ruby/rake;To;;[I"test-unit;T;[o;
;[I"+https://github.com/test-unit/test-unit;To;;[I"xmlrpc;T;[o;
;[I"#https://github.com/ruby/xmlrpc;T:
@file@:0@omit_headings_from_table_of_contents_below0U:RDoc::AnyMethod[iI"new:ETI"SystemExit::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LCreate a new +SystemExit+ exception with the given status and message. ;TI"+Status is true, false, or an integer. ;TI"*If status is not given, true is used.;T:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0I"�SystemExit.new              -> system_exit
SystemExit.new(status)      -> system_exit
SystemExit.new(status, msg) -> system_exit
SystemExit.new(msg)         -> system_exit
;T0[I"(*args);T@FI"SystemExit;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
success?:ETI"SystemExit#success?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Returns +true+ if exiting successful, +false+ if not.;T:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0I",system_exit.success?  -> true or false
;T0[I"();T@FI"SystemExit;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"status:ETI"SystemExit#status;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Return the status value associated with this system exit.;T:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0I"%system_exit.status   -> integer
;T0[I"();T@FI"SystemExit;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"SystemExit:ET@I"Exception;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"@Raised by +exit+ to initiate the termination of the script.;T:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"new;TI"error.c;T[:protected[[:private[[I"
instance;T[[;[[I"status;T@[I"
success?;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::NormalClass[iI"HTTPMultipleChoice:ET@I"Net::HTTPRedirection;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI"'Net::HTTPMultipleChoices::HAS_BODY;T:public0o;;[;	@
;
0@
I"HTTPMultipleChoices;TcRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
@
cRDoc::TopLevelU:RDoc::NormalClass[iI"GDBMFatalError:ET@I"Exception;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"ext/gdbm/gdbm.c;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
@
cRDoc::TopLevelU:RDoc::NormalClass[iI"StandardError:ET@I"Exception;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"FThe most standard error types are subclasses of StandardError. A ;TI"Grescue clause without an explicit Exception class will rescue all ;TI"%StandardErrors (and only those).;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;[	I"
def foo
;TI"  raise "Oups"
;TI"	end
;TI"&foo rescue "Hello"   #=> "Hello"
;T:@format0o;	;[I"On the other hand:;T@o;;[I"*require 'does/not/exist' rescue "Hi"
;T;0o;	;[I"#<em>raises the exception:</em>;T@o;;[I"6LoadError: no such file to load -- does/not/exist;T;0:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@%@%cRDoc::TopLevelU:RDoc::Attr[iI"	path:ETI"LoadError#path;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"the path failed to load;To:RDoc::Markup::BlankLine:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0F@I"LoadError;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"LoadError:ET@I"ScriptError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"IRaised when a file required (a Ruby script, extension library, ...) ;TI"fails to load.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;[I"(require 'this/file/does/not/exist'
;T:@format0o;	;[I"#<em>raises the exception:</em>;T@o;;[I"@LoadError: no such file to load -- this/file/does/not/exist;T;0:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"	path;TI"R;T:publicFI"error.c;T[[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::TopLevel[	iI"security.rdoc:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[[S:RDoc::Markup::Heading:
leveli:	textI"Ruby Security;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"TThe Ruby programming language is large and complex and there are many security ;TI"Lpitfalls often encountered by newcomers and experienced Rubyists alike.;T@
o;
;[I"RThis document aims to discuss many of these pitfalls and provide more secure ;TI"#alternatives where applicable.;T@
o;
;[I"UPlease check the full list of publicly known CVEs and how to correctly report a ;TI"Hsecurity vulnerability, at: https://www.ruby-lang.org/en/security/ ;TI"EJapanese version is here: https://www.ruby-lang.org/ja/security/;T@
o;
;[	I"ASecurity vulnerabilities should be reported via an email to ;TI"4mailto:security@ruby-lang.org ({the PGP public ;TI"Ukey}[https://www.ruby-lang.org/security.asc]), which is a private mailing list. ;TI"5Reported problems will be published after fixes.;T@
S;	;
i;I"<code>$SAFE</code>;T@
o;
;[I"TRuby provides a mechanism to restrict what operations can be performed by Ruby ;TI"9code in the form of the <code>$SAFE</code> variable.;T@
o;
;[I"UHowever, <code>$SAFE</code> does not provide a secure environment for executing ;TI"untrusted code.;T@
o;
;[	I"UIf you need to execute untrusted code, you should use an operating system level ;TI"Jsandboxing mechanism. On Linux, ptrace or LXC can be used to sandbox ;TI"Opotentially malicious code. Other similar mechanisms exist on every major ;TI"operating system.;T@
S;	;
i;I"+Marshal.load+;T@
o;
;[I"URuby's +Marshal+ module provides methods for serializing and deserializing Ruby ;TI"3object trees to and from a binary data format.;T@
o;
;[	I"NNever use +Marshal.load+ to deserialize untrusted or user supplied data. ;TI"NBecause +Marshal+ can deserialize to almost any Ruby object and has full ;TI"Rcontrol over instance variables, it is possible to craft a malicious payload ;TI"6that executes code shortly after deserialization.;T@
o;
;[	I"RIf you need to deserialize untrusted data, you should use JSON as it is only ;TI"Ucapable of returning 'primitive' types such as strings, arrays, hashes, numbers ;TI"Oand nil. If you need to deserialize other classes, you should handle this ;TI";manually. Never deserialize to a user specified class.;T@
S;	;
i;I"	YAML;T@
o;
;[I"RYAML is a popular human readable data serialization format used by many Ruby ;TI"Nprograms for configuration and database persistence of Ruby object trees.;T@
o;
;[I"RSimilar to +Marshal+, it is able to deserialize into arbitrary Ruby classes. ;TI"KFor example, the following YAML data will create an +ERB+ object when ;TI"deserialized:;T@
o:RDoc::Markup::Verbatim;[I"!ruby/object:ERB
;TI"src: puts `uname`
;T:@format0o;
;[I"RBecause of this, many of the security considerations applying to Marshal are ;TI"Lalso applicable to YAML. Do not use YAML to deserialize untrusted data.;T@
S;	;
i;I"Symbols;T@
o;
;[
I"USymbols are often seen as syntax sugar for simple strings, but they play a much ;TI"Pmore crucial role. The MRI Ruby implementation uses Symbols internally for ;TI"Rmethod, variable and constant names. The reason for this is that symbols are ;TI"Ssimply integers with names attached to them, so they are faster to look up in ;TI"hashtables.;T@
o;
;[I"OStarting in version 2.2, most symbols can be garbage collected; these are ;TI"Lcalled <i>mortal</i> symbols. Most symbols you create (e.g. by calling ;TI"+to_sym+) are mortal.;T@
o;
;[I"P<i>Immortal</i> symbols on the other hand will never be garbage collected. ;TI"*They are created when modifying code:;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"3defining a method (e.g. with +define_method+),;To;;0;[o;
;[I"Fsetting an instance variable (e.g. with +instance_variable_set+),;To;;0;[o;
;[I"<creating a variable or constant (e.g. with +const_set+);To;
;[	I"LC extensions that have not been updated and are still calling `SYM2ID` ;TI"#will create immortal symbols. ;TI"IBugs in 2.2.0: +send+ and +__send__+ also created immortal symbols, ;TI"Gand calling methods with keyword arguments could also create some.;T@
o;
;[	I"KDon't create immortal symbols from user inputs. Otherwise, this would ;TI"Rallow a user to mount a denial of service attack against your application by ;TI"Sflooding it with unique strings, which will cause memory to grow indefinitely ;TI"Muntil the Ruby process is killed or causes the system to slow to a halt.;T@
o;
;[I"TWhile it might not be a good idea to call these with user inputs, methods that ;TI"<used to be vulnerable such as +to_sym+, +respond_to?+, ;TI"Q+method+, +instance_variable_get+, +const_get+, etc. are no longer a threat.;T@
S;	;
i;I"Regular expressions;T@
o;
;[	I"RRuby's regular expression syntax has some minor differences when compared to ;TI"Tother languages. In Ruby, the <code>^</code> and <code>$</code> anchors do not ;TI"Urefer to the beginning and end of the string, rather the beginning and end of a ;TI"*line*.;T@
o;
;[	I"?This means that if you're using a regular expression like ;TI"S<code>/^[a-z]+$/</code> to restrict a string to only letters, an attacker can ;TI"Ubypass this check by passing a string containing a letter, then a newline, then ;TI""any string of their choosing.;T@
o;
;[I"RIf you want to match the beginning and end of the entire string in Ruby, use ;TI"the anchors +\A+ and +\z+.;T@
S;	;
i;I"+eval+;T@
o;
;[I"=Never pass untrusted or user controlled input to +eval+.;T@
o;
;[	I"NUnless you are implementing a REPL like +irb+ or +pry+, +eval+ is almost ;TI"Ucertainly not what you want. Do not attempt to filter user input before passing ;TI"Sit to +eval+ - this approach is fraught with danger and will most likely open ;TI"Jyour application up to a serious remote code execution vulnerability.;T@
S;	;
i;I"+send+;T@
o;
;[I"U'Global functions' in Ruby (+puts+, +exit+, etc.) are actually private instance ;TI"Qmethods on +Object+. This means it is possible to invoke these methods with ;TI"A+send+, even if the call to +send+ has an explicit receiver.;T@
o;
;[I"RFor example, the following code snippet writes "Hello world" to the terminal:;T@
o;;[I""1.send(:puts, "Hello world")
;T;0o;
;[I"SYou should never call +send+ with user supplied input as the first parameter. ;TI">Doing so can introduce a denial of service vulnerability:;T@
o;;[I"6foo.send(params[:bar]) # params[:bar] is "exit!"
;T;0o;
;[I"OIf an attacker can control the first two arguments to +send+, remote code ;TI"execution is possible:;T@
o;;[I"J# params is { :a => "eval", :b => "...ruby code to be executed..." }
;TI"&foo.send(params[:a], params[:b])
;T;0o;
;[I"SWhen dispatching a method call based on user input, carefully verify that the ;TI"Qmethod name. If possible, check it against a whitelist of safe method names.;T@
o;
;[I"ONote that the use of +public_send+ is also dangerous, as +send+ itself is ;TI"public:;T@
o;;[I"E1.public_send("send", "eval", "...ruby code to be executed...")
;T;0S;	;
i;I"DRb;T@
o;
;[I"UAs DRb allows remote clients to invoke arbitrary methods, it is not suitable to ;TI"!expose to untrusted clients.;T@
o;
;[I"TWhen using DRb, try to avoid exposing it over the network if possible. If this ;TI"Uisn't possible and you need to expose DRb to the world, you *must* configure an ;TI"<appropriate security policy with <code>DRb::ACL</code>.;T:
@file@:0@omit_headings_from_table_of_contents_below0U:RDoc::AnyMethod[iI"
find_all:ETI"Enumerable#find_all;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Returns an array containing all elements of +enum+ ;TI"6for which the given +block+ returns a true value.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an Enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I":(1..10).find_all { |i|  i % 3 == 0 }   #=> [3, 6, 9]
;TI"
;TI";[1,2,3,4,5].select { |num|  num.even?  }   #=> [2, 4]
;T:@format0o;
;	[I" See also Enumerable#reject.;T:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Zenum.find_all { |obj| block } -> array
enum.find_all                 -> an_enumerator;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"zip:ETI"Enumerable#zip;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"ATakes one element from <i>enum</i> and merges corresponding ;TI"Celements from each <i>args</i>.  This generates a sequence of ;TI"F<em>n</em>-element arrays, where <em>n</em> is one more than the ;TI"Gcount of arguments.  The length of the resulting sequence will be ;TI"G<code>enum#size</code>.  If the size of any argument is less than ;TI"F<code>enum#size</code>, <code>nil</code> values are supplied. If ;TI"Fa block is given, it is invoked for each output array, otherwise ;TI"$an array of arrays is returned.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"a = [ 4, 5, 6 ]
;TI"b = [ 7, 8, 9 ]
;TI"
;TI";a.zip(b)                 #=> [[4, 7], [5, 8], [6, 9]]
;TI"D[1, 2, 3].zip(a, b)      #=> [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
;TI"9[1, 2].zip(a, b)         #=> [[1, 4, 7], [2, 5, 8]]
;TI"Ja.zip([1, 2], [8])       #=> [[4, 1, 8], [5, 2, nil], [6, nil, nil]]
;TI"
;TI"c = []
;TI"-a.zip(b) { |x, y| c << x + y }  #=> nil
;TI"5c                               #=> [11, 13, 15];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"ienum.zip(arg, ...)                  -> an_array_of_array
enum.zip(arg, ...) { |arr| block }  -> nil
;T0[I"(*args);T@#FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"minmax_by:ETI"Enumerable#minmax_by;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I";Returns a two element array containing the objects in ;TI"P<i>enum</i> that correspond to the minimum and maximum values respectively ;TI"from the given block.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"!a = %w(albatross dog horse)
;TI"<a.minmax_by { |x| x.length }   #=> ["dog", "albatross"];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"benum.minmax_by { |obj| block } -> [min, max]
enum.minmax_by                 -> an_enumerator
;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"take_while:ETI"Enumerable#take_while;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"LPasses elements to the block until the block returns +nil+ or +false+, ;TI"Ethen stops iterating and returns an array of all prior elements.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"a = [1, 2, 3, 4, 5, 0]
;TI",a.take_while { |i| i < 3 }   #=> [1, 2];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"_enum.take_while { |obj| block } -> array
enum.take_while                 -> an_enumerator
;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
chunk:ETI"Enumerable#chunk;TF:publico:RDoc::Markup::Document:@parts[ o:RDoc::Markup::Paragraph;	[I"KEnumerates over the items, chunking them together based on the return ;TI"value of the block.;To:RDoc::Markup::BlankLineo;
;	[I"QConsecutive elements which return the same block value are chunked together.;T@o;
;	[I"BFor example, consecutive even numbers and odd numbers can be ;TI"chunked as follows.;T@o:RDoc::Markup::Verbatim;	[I"3[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5].chunk { |n|
;TI"  n.even?
;TI"}.each { |even, ary|
;TI"  p [even, ary]
;TI"}
;TI"#=> [false, [3, 1]]
;TI"#   [true, [4]]
;TI"#   [false, [1, 5, 9]]
;TI"#   [true, [2, 6]]
;TI"#   [false, [5, 3, 5]]
;T:@format0o;
;	[I"EThis method is especially useful for sorted series of elements. ;TI"@The following example counts words for each initial letter.;T@o;;	[I"9open("/usr/share/dict/words", "r:iso-8859-1") { |f|
;TI"Q  f.chunk { |line| line.ord }.each { |ch, lines| p [ch.chr, lines.length] }
;TI"}
;TI"#=> ["\n", 1]
;TI"#   ["A", 1327]
;TI"#   ["B", 1372]
;TI"#   ["C", 1507]
;TI"#   ["D", 791]
;TI"
#   ...
;T;
0o;
;	[I"3The following key values have special meaning:;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"K+nil+ and +:_separator+ specifies that the elements should be dropped.;To;;0;	[o;
;	[I"F+:_alone+ specifies that the element should be chunked by itself.;T@o;
;	[I"IAny other symbols that begin with an underscore will raise an error:;T@o;;	[I")items.chunk { |item| :_underscore }
;TI"I#=> RuntimeError: symbols beginning with an underscore are reserved
;T;
0o;
;	[I"A+nil+ and +:_separator+ can be used to ignore some elements.;T@o;
;	[I"RFor example, the sequence of hyphens in svn log can be eliminated as follows:;T@o;;	[I"sep = "-"*72 + "\n"
;TI"&IO.popen("svn log README") { |f|
;TI"  f.chunk { |line|
;TI"    line != sep || nil
;TI"  }.each { |_, lines|
;TI"    pp lines
;TI"	  }
;TI"}
;TI"U#=> ["r20018 | knu | 2008-10-29 13:20:42 +0900 (Wed, 29 Oct 2008) | 2 lines\n",
;TI"#    "\n",
;TI"D#    "* README, README.ja: Update the portability section.\n",
;TI"#    "\n"]
;TI"U#   ["r16725 | knu | 2008-05-31 23:34:23 +0900 (Sat, 31 May 2008) | 2 lines\n",
;TI"#    "\n",
;TI"F#    "* README, README.ja: Add a note about default C flags.\n",
;TI"#    "\n"]
;TI"
#   ...
;T;
0o;
;	[I"BParagraphs separated by empty lines can be parsed as follows:;T@o;;	[
I"+File.foreach("README").chunk { |line|
;TI"   /\A\s*\z/ !~ line || nil
;TI"}.each { |_, lines|
;TI"  pp lines
;TI"}
;T;
0o;
;	[I"@+:_alone+ can be used to force items into their own chunk. ;TI"FFor example, you can put lines that contain a URL by themselves, ;TI"9and chunk the rest of the lines together, like this:;T@o;;	[I"pattern = /http/
;TI"open(filename) { |f|
;TI"O  f.chunk { |line| line =~ pattern ? :_alone : true }.each { |key, lines|
;TI"    pp lines
;TI"	  }
;TI"}
;T;
0o;
;	[I"HIf no block is given, an enumerator to `chunk` is returned instead.;T:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Eenum.chunk { |elt| ... }                       -> an_enumerator
;T0[I"();T@{FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	take:ETI"Enumerable#take;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Returns first n elements from <i>enum</i>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"a = [1, 2, 3, 4, 5, 0]
;TI")a.take(3)             #=> [1, 2, 3]
;TI"1a.take(30)            #=> [1, 2, 3, 4, 5, 0];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I")enum.take(n)               -> array
;T0[I"	(p1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"reduce:ETI"Enumerable#reduce;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Combines all elements of <i>enum</i> by applying a binary ;TI">operation, specified by a block or a symbol that names a ;TI"method or operator.;To:RDoc::Markup::BlankLineo;
;	[I"DThe <i>inject</i> and <i>reduce</i> methods are aliases. There ;TI")is no performance benefit to either.;T@o;
;	[I"BIf you specify a block, then for each element in <i>enum</i> ;TI"Mthe block is passed an accumulator value (<i>memo</i>) and the element. ;TI"JIf you specify a symbol instead, then each element in the collection ;TI"8will be passed to the named method of <i>memo</i>. ;TI"GIn either case, the result becomes the new value for <i>memo</i>. ;TI"HAt the end of the iteration, the final value of <i>memo</i> is the ;TI"!return value for the method.;T@o;
;	[I"OIf you do not explicitly specify an <i>initial</i> value for <i>memo</i>, ;TI"Gthen the first element of collection is used as the initial value ;TI"of <i>memo</i>.;T@o:RDoc::Markup::Verbatim;	[I"# Sum some numbers
;TI";(5..10).reduce(:+)                             #=> 45
;TI"%# Same using a block and inject
;TI";(5..10).inject { |sum, n| sum + n }            #=> 45
;TI"# Multiply some numbers
;TI"?(5..10).reduce(1, :*)                          #=> 151200
;TI"# Same using a block
;TI"?(5..10).inject(1) { |product, n| product * n } #=> 151200
;TI"# find the longest word
;TI";longest = %w{ cat sheep bear }.inject do |memo, word|
;TI"0   memo.length > word.length ? memo : word
;TI"	end
;TI"?longest                                        #=> "sheep";T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"�enum.reduce(initial, sym) -> obj
enum.reduce(sym)          -> obj
enum.reduce(initial) { |memo, obj| block }  -> obj
enum.reduce          { |memo, obj| block }  -> obj;T0[I"(p1 = v1, p2 = v2);T@2FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	to_a:ETI"Enumerable#to_a;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Returns an array containing the items in <i>enum</i>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"A(1..7).to_a                       #=> [1, 2, 3, 4, 5, 6, 7]
;TI"J{ 'a'=>1, 'b'=>2, 'c'=>3 }.to_a   #=> [["a", 1], ["b", 2], ["c", 3]]
;TI"
;TI"require 'prime'
;TI"7Prime.entries 10                  #=> [2, 3, 5, 7];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"#enum.to_a(*args)      -> array;T0[I"(*args);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
first:ETI"Enumerable#first;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns the first element, or the first +n+ elements, of the enumerable. ;TI"RIf the enumerable is empty, the first form returns <code>nil</code>, and the ;TI"(second form returns an empty array.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I")%w[foo bar baz].first     #=> "foo"
;TI"2%w[foo bar baz].first(2)  #=> ["foo", "bar"]
;TI"9%w[foo bar baz].first(10) #=> ["foo", "bar", "baz"]
;TI"'[].first                  #=> nil
;TI"%[].first(10)              #=> [];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Cenum.first       ->  obj or nil
enum.first(n)    ->  an_array
;T0[I"(*args);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	grep:ETI"Enumerable#grep;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"@Returns an array of every element in <i>enum</i> for which ;TI"I<code>Pattern === element</code>. If the optional <em>block</em> is ;TI"Fsupplied, each matching element is passed to it, and the block's ;TI"*result is stored in the output array.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"=(1..100).grep 38..44   #=> [38, 39, 40, 41, 42, 43, 44]
;TI"c = IO.constants
;TI"Bc.grep(/SEEK/)         #=> [:SEEK_SET, :SEEK_CUR, :SEEK_END]
;TI"2res = c.grep(/SEEK/) { |v| IO.const_get(v) }
;TI")res                    #=> [0, 1, 2];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"_enum.grep(pattern)                  -> array
enum.grep(pattern) { |obj| block }  -> array
;T0[I"	(p1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
group_by:ETI"Enumerable#group_by;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"MGroups the collection by result of the block.  Returns a hash where the ;TI"Ekeys are the evaluated result from the block and the values are ;TI"Earrays of elements in the collection that correspond to the key.;To:RDoc::Markup::BlankLineo;
;	[I"4If no block is given an enumerator is returned.;T@o:RDoc::Markup::Verbatim;	[I"H(1..6).group_by { |i| i%3 }   #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]};T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"\enum.group_by { |obj| block } -> a_hash
enum.group_by                 -> an_enumerator
;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"slice_after:ETI"Enumerable#slice_after;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Creates an enumerator for each chunked elements. ;TI"?The ends of chunks are defined by _pattern_ and the block.;To:RDoc::Markup::BlankLineo;
;	[I"PIf <code>_pattern_ === _elt_</code> returns <code>true</code> or the block ;TI"Hreturns <code>true</code> for the element, the element is end of a ;TI"chunk.;T@o;
;	[I"SThe <code>===</code> and _block_ is called from the first element to the last ;TI"element of _enum_.;T@o;
;	[I"DThe result enumerator yields the chunked elements as an array. ;TI"/So +each+ method can be called as follows:;T@o:RDoc::Markup::Verbatim;	[I"2enum.slice_after(pattern).each { |ary| ... }
;TI"8enum.slice_after { |elt| bool }.each { |ary| ... }
;T:@format0o;
;	[I"BOther methods of the Enumerator class and Enumerable module, ;TI"*such as +map+, etc., are also usable.;T@o;
;	[I"GFor example, continuation lines (lines end with backslash) can be ;TI"concatenated as follows:;T@o;;	[I":lines = ["foo\n", "bar\\\n", "baz\n", "\n", "qux\n"]
;TI"*e = lines.slice_after(/(?<!\\)\n\z/)
;TI"p e.to_a
;TI">#=> [["foo\n"], ["bar\\\n", "baz\n"], ["\n"], ["qux\n"]]
;TI"Np e.map {|ll| ll[0...-1].map {|l| l.sub(/\\\n\z/, "") }.join + ll.last }
;TI",#=>["foo\n", "barbaz\n", "\n", "qux\n"];T;
0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"genum.slice_after(pattern)       -> an_enumerator
enum.slice_after { |elt| bool } -> an_enumerator
;T0[I"	(p1);T@1FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	sort:ETI"Enumerable#sort;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns an array containing the items in <i>enum</i> sorted.;To:RDoc::Markup::BlankLineo;
;	[I"@Comparisons for the sort will be done using the items' own ;TI"?<code><=></code> operator or using an optional code block.;T@o;
;	[I"JThe block must implement a comparison between +a+ and +b+ and return ;TI"Gan integer less than 0 when +b+ follows +a+, +0+ when +a+ and +b+ ;TI"Gare equivalent, or an integer greater than 0 when +a+ follows +b+.;T@o;
;	[I"LThe result is not guaranteed to be stable.  When the comparison of two ;TI"Felements returns +0+, the order of the elements is unpredictable.;T@o:RDoc::Markup::Verbatim;	[I"B%w(rhea kea flea).sort           #=> ["flea", "kea", "rhea"]
;TI"J(1..10).sort { |a, b| b <=> a }  #=> [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
;T:@format0o;
;	[I"HSee also Enumerable#sort_by. It implements a Schwartzian transform ;TI"Ewhich is useful when key computation or comparison is expensive.;T:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Menum.sort                  -> array
enum.sort { |a, b| block } -> array
;T0[I"();T@$FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"inject:ETI"Enumerable#inject;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Combines all elements of <i>enum</i> by applying a binary ;TI">operation, specified by a block or a symbol that names a ;TI"method or operator.;To:RDoc::Markup::BlankLineo;
;	[I"DThe <i>inject</i> and <i>reduce</i> methods are aliases. There ;TI")is no performance benefit to either.;T@o;
;	[I"BIf you specify a block, then for each element in <i>enum</i> ;TI"Mthe block is passed an accumulator value (<i>memo</i>) and the element. ;TI"JIf you specify a symbol instead, then each element in the collection ;TI"8will be passed to the named method of <i>memo</i>. ;TI"GIn either case, the result becomes the new value for <i>memo</i>. ;TI"HAt the end of the iteration, the final value of <i>memo</i> is the ;TI"!return value for the method.;T@o;
;	[I"OIf you do not explicitly specify an <i>initial</i> value for <i>memo</i>, ;TI"Gthen the first element of collection is used as the initial value ;TI"of <i>memo</i>.;T@o:RDoc::Markup::Verbatim;	[I"# Sum some numbers
;TI";(5..10).reduce(:+)                             #=> 45
;TI"%# Same using a block and inject
;TI";(5..10).inject { |sum, n| sum + n }            #=> 45
;TI"# Multiply some numbers
;TI"?(5..10).reduce(1, :*)                          #=> 151200
;TI"# Same using a block
;TI"?(5..10).inject(1) { |product, n| product * n } #=> 151200
;TI"# find the longest word
;TI";longest = %w{ cat sheep bear }.inject do |memo, word|
;TI"0   memo.length > word.length ? memo : word
;TI"	end
;TI"?longest                                        #=> "sheep";T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"�enum.inject(initial, sym) -> obj
enum.inject(sym)          -> obj
enum.inject(initial) { |memo, obj| block }  -> obj
enum.inject          { |memo, obj| block }  -> obj;T0[I"(p1 = v1, p2 = v2);T@2FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
none?:ETI"Enumerable#none?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[	I"JPasses each element of the collection to the given block. The method ;TI"Lreturns <code>true</code> if the block never returns <code>true</code> ;TI"Qfor all elements. If the block is not given, <code>none?</code> will return ;TI"F<code>true</code> only if none of the collection members is true.;To:RDoc::Markup::BlankLineo;
;	[I"BIf instead a pattern is supplied, the method returns whether ;TI"I<code>pattern === element</code> for none of the collection members.;T@o:RDoc::Markup::Verbatim;	[
I"A%w{ant bear cat}.none? { |word| word.length == 5 } #=> true
;TI"B%w{ant bear cat}.none? { |word| word.length >= 4 } #=> false
;TI"A%w{ant bear cat}.none?(/d/)                        #=> true
;TI"B[1, 3.14, 42].none?(Float)                         #=> false
;TI"A[].none?                                           #=> true
;TI"A[nil].none?                                        #=> true
;TI"A[nil, false].none?                                 #=> true
;TI"A[nil, false, true].none?                           #=> false;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"eenum.none? [{ |obj| block }]   -> true or false
enum.none?(pattern)            -> true or false
;T0[I"(*args);T@ FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"min_by:ETI"Enumerable#min_by;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I">Returns the object in <i>enum</i> that gives the minimum ;TI" value from the given block.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"!a = %w(albatross dog horse)
;TI"+a.min_by { |x| x.length }   #=> "dog"
;T:@format0o;
;	[I"EIf the +n+ argument is given, minimum +n+ elements are returned ;TI"Fas an array. These +n+ elements are sorted by the value from the ;TI"given block.;T@o;;	[I"!a = %w[albatross dog horse]
;TI"7p a.min_by(2) {|x| x.length } #=> ["dog", "horse"];T;
0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"�enum.min_by {|obj| block }      -> obj
enum.min_by                     -> an_enumerator
enum.min_by(n) {|obj| block }   -> array
enum.min_by(n)                  -> an_enumerator
;T0[I"(p1 = v1);T@ FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"each_with_object:ETI" Enumerable#each_with_object;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"AIterates the given block for each element with an arbitrary ;TI":object given, and returns the initially given object.;To:RDoc::Markup::BlankLineo;
;	[I"1If no block is given, returns an enumerator.;T@o:RDoc::Markup::Verbatim;	[I">evens = (1..10).each_with_object([]) { |i, a| a << i*2 }
;TI"-#=> [2, 4, 6, 8, 10, 12, 14, 16, 18, 20];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"�enum.each_with_object(obj) { |(*args), memo_obj| ... }  ->  obj
enum.each_with_object(obj)                              ->  an_enumerator
;T0[I"	(p1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"Enumerable:ET@0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[
I"HThe <code>Enumerable</code> mixin provides collection classes with ;TI"Fseveral traversal and searching methods, and with the ability to ;TI"Dsort. The class must provide a method <code>each</code>, which ;TI"5yields successive members of the collection. If ;TI"8<code>Enumerable#max</code>, <code>#min</code>, or ;TI"I<code>#sort</code> is used, the objects in the collection must also ;TI"Himplement a meaningful <code><=></code> operator, as these methods ;TI";rely on an ordering between members of the collection.;T:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0o;;[;
I"lib/set.rb;T;0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[=[I"	all?;TI"enum.c;T[I"	any?;T@.[I"
chunk;T@.[I"chunk_while;T@.[I"collect;T@.[I"collect_concat;T@.[I"
count;T@.[I"
cycle;T@.[I"detect;T@.[I"	drop;T@.[I"drop_while;T@.[I"each_cons;T@.[I"each_entry;T@.[I"each_slice;T@.[I"each_with_index;T@.[I"each_with_object;T@.[I"entries;T@.[I"	find;T@.[I"
find_all;T@.[I"find_index;T@.[I"
first;T@.[I"
flat_map;T@.[I"	grep;T@.[I"grep_v;T@.[I"
group_by;T@.[I"
include?;T@.[I"inject;T@.[I"	lazy;TI"enumerator.c;T[I"map;T@.[I"max;T@.[I"max_by;T@.[I"member?;T@.[I"min;T@.[I"min_by;T@.[I"minmax;T@.[I"minmax_by;T@.[I"
none?;T@.[I"	one?;T@.[I"partition;T@.[I"reduce;T@.[I"reject;T@.[I"reverse_each;T@.[I"select;T@.[I"slice_after;T@.[I"slice_before;T@.[I"slice_when;T@.[I"	sort;T@.[I"sort_by;T@.[I"sum;T@.[I"	take;T@.[I"take_while;T@.[I"	to_a;T@.[I"	to_h;T@.[I"to_set;TI"lib/set.rb;T[I"	uniq;T@.[I"zip;T@.[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"enumerator.c;T@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"
include?:ETI"Enumerable#include?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns <code>true</code> if any member of <i>enum</i> equals ;TI":<i>obj</i>. Equality is tested using <code>==</code>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"7IO.constants.include? :SEEK_SET          #=> true
;TI"8IO.constants.include? :SEEK_NO_FURTHER   #=> false
;TI"6IO.constants.member? :SEEK_SET          #=> true
;TI"6IO.constants.member? :SEEK_NO_FURTHER   #=> false;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I",enum.include?(obj)     -> true or false;T0[I"	(p1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	drop:ETI"Enumerable#drop;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HDrops first n elements from <i>enum</i>, and returns rest elements ;TI"in an array.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"a = [1, 2, 3, 4, 5, 0]
;TI"(a.drop(3)             #=> [4, 5, 0];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I")enum.drop(n)               -> array
;T0[I"	(p1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"collect:ETI"Enumerable#collect;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"IReturns a new array with the results of running <em>block</em> once ;TI"&for every element in <i>enum</i>.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"3(1..4).map { |i| i*i }      #=> [1, 4, 9, 16]
;TI"A(1..4).collect { "cat"  }   #=> ["cat", "cat", "cat", "cat"];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Xenum.collect { |obj| block } -> array
enum.collect                 -> an_enumerator;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	lazy:ETI"Enumerable#lazy;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I";Returns a lazy enumerator, whose methods map/collect, ;TI"Pflat_map/collect_concat, select/find_all, reject, grep, grep_v, zip, take, ;TI"Btake_while, drop, and drop_while enumerate values only on an ;TI"Cas-needed basis.  However, if a block is given to zip, values ;TI" are enumerated immediately.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;
;	[I"5The following program finds pythagorean triples:;T@o:RDoc::Markup::Verbatim;	[I"def pythagorean_triples
;TI"/  (1..Float::INFINITY).lazy.flat_map {|z|
;TI"    (1..z).flat_map {|x|
;TI"      (x..z).select {|y|
;TI"!        x**2 + y**2 == z**2
;TI"      }.map {|y|
;TI"        [x, y, z]
;TI"
      }
;TI"    }
;TI"	  }
;TI"	end
;TI"*# show first ten pythagorean triples
;TI"Mp pythagorean_triples.take(10).force # take is lazy, so force is needed
;TI";p pythagorean_triples.first(10)      # first is eager
;TI".# show pythagorean triples less than 100
;TI">p pythagorean_triples.take_while { |*, z| z < 100 }.force;T:@format0:
@fileI"enumerator.c;T:0@omit_headings_from_table_of_contents_below0I"e.lazy -> lazy_enumerator
;T0[I"();T@*FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"reverse_each:ETI"Enumerable#reverse_each;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"HBuilds a temporary array and traverses that array in reverse order.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"'  (1..3).reverse_each { |v| p v }
;TI"
;TI"produces:
;TI"
;TI"	  3
;TI"	  2
;TI"  1;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"tenum.reverse_each(*args) { |item| block } ->  enum
enum.reverse_each(*args)                  ->  an_enumerator
;T0[I"(*args);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	one?:ETI"Enumerable#one?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[
I"JPasses each element of the collection to the given block. The method ;TI"Freturns <code>true</code> if the block returns <code>true</code> ;TI"Lexactly once. If the block is not given, <code>one?</code> will return ;TI"H<code>true</code> only if exactly one of the collection members is ;TI"
true.;To:RDoc::Markup::BlankLineo;
;	[I"BIf instead a pattern is supplied, the method returns whether ;TI"H<code>pattern === element</code> for exactly one collection member.;T@o:RDoc::Markup::Verbatim;	[
I"A%w{ant bear cat}.one? { |word| word.length == 4 }  #=> true
;TI"B%w{ant bear cat}.one? { |word| word.length > 4 }   #=> false
;TI"B%w{ant bear cat}.one? { |word| word.length < 4 }   #=> false
;TI"B%w{ant bear cat}.one?(/t/)                         #=> false
;TI"B[ nil, true, 99 ].one?                             #=> false
;TI"A[ nil, true, false ].one?                          #=> true
;TI"A[ nil, true, 99 ].one?(Integer)                    #=> true
;TI"A[].one?                                            #=> false;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"cenum.one? [{ |obj| block }]   -> true or false
enum.one?(pattern)            -> true or false
;T0[I"(*args);T@!FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"max:ETI"Enumerable#max;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns the object in _enum_ with the maximum value. The ;TI"Gfirst form assumes all objects implement <code>Comparable</code>; ;TI":the second uses the block to return <em>a <=> b</em>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"!a = %w(albatross dog horse)
;TI"9a.max                                   #=> "horse"
;TI"=a.max { |a, b| a.length <=> b.length }  #=> "albatross"
;T:@format0o;
;	[I"EIf the +n+ argument is given, maximum +n+ elements are returned ;TI"-as an array, sorted in descending order.;T@o;;	[	I"!a = %w[albatross dog horse]
;TI"Da.max(2)                                  #=> ["horse", "dog"]
;TI"Ja.max(2) {|a, b| a.length <=> b.length }  #=> ["albatross", "horse"]
;TI"<[5, 1, 3, 4, 2].max(3)                    #=> [5, 4, 3];T;
0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"�enum.max                     -> obj
enum.max { |a, b| block }    -> obj
enum.max(n)                  -> array
enum.max(n) { |a, b| block } -> array
;T0[I"(p1 = v1);T@ FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"collect_concat:ETI"Enumerable#collect_concat;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"BReturns a new array with the concatenated results of running ;TI":<em>block</em> once for every element in <i>enum</i>.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"L[1, 2, 3, 4].flat_map { |e| [e, -e] } #=> [1, -1, 2, -2, 3, -3, 4, -4]
;TI"K[[1, 2], [3, 4]].flat_map { |e| e + [100] } #=> [1, 2, 100, 3, 4, 100];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"fenum.collect_concat { |obj| block } -> array
enum.collect_concat                 -> an_enumerator;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"select:ETI"Enumerable#select;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Returns an array containing all elements of +enum+ ;TI"6for which the given +block+ returns a true value.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an Enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I":(1..10).find_all { |i|  i % 3 == 0 }   #=> [3, 6, 9]
;TI"
;TI";[1,2,3,4,5].select { |num|  num.even?  }   #=> [2, 4]
;T:@format0o;
;	[I" See also Enumerable#reject.;T:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Zenum.select   { |obj| block } -> array
enum.select                   -> an_enumerator;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"each_cons:ETI"Enumerable#each_cons;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"@Iterates the given block for each array of consecutive <n> ;TI"<elements.  If no block is given, returns an enumerator.;To:RDoc::Markup::BlankLineo;
;	[I"
e.g.:;To:RDoc::Markup::Verbatim;	[I"&(1..10).each_cons(3) { |a| p a }
;TI"# outputs below
;TI"[1, 2, 3]
;TI"[2, 3, 4]
;TI"[3, 4, 5]
;TI"[4, 5, 6]
;TI"[5, 6, 7]
;TI"[6, 7, 8]
;TI"[7, 8, 9]
;TI"[8, 9, 10];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Senum.each_cons(n) { ... } ->  nil
enum.each_cons(n)         ->  an_enumerator
;T0[I"	(p1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"sum:ETI"Enumerable#sum;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Returns the sum of elements in an Enumerable.;To:RDoc::Markup::BlankLineo;
;	[I"?If a block is given, the block is applied to each element ;TI"before addition.;T@o;
;	[I"5If <i>enum</i> is empty, it returns <i>init</i>.;T@o;
;	[I"For example:;T@o:RDoc::Markup::Verbatim;	[	I"6{ 1 => 10, 2 => 20 }.sum {|k, v| k * v }  #=> 50
;TI"6(1..10).sum                               #=> 55
;TI"7(1..10).sum {|v| v * 2 }                  #=> 110
;TI"=[Object.new].each.sum                     #=> TypeError
;T:@format0o;
;	[I"8This method can be used for non-numeric objects by ;TI"#explicit <i>init</i> argument.;T@o;;	[I"G{ 1 => 10, 2 => 20 }.sum([])                   #=> [1, 10, 2, 20]
;TI">"a\nb\nc".each_line.lazy.map(&:chomp).sum("")  #=> "abc"
;T;
0o;
;	[I"FEnumerable#sum method may not respect method redefinition of "+" ;TI"methods such as Integer#+.;T:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"_enum.sum(init=0)                   -> number
enum.sum(init=0) {|e| expr }       -> number
;T0[I"(p1 = v1);T@+FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
count:ETI"Enumerable#count;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"@Returns the number of items in +enum+ through enumeration. ;TI"AIf an argument is given, the number of items in +enum+ that ;TI"?are equal to +item+ are counted.  If a block is given, it ;TI"9counts the number of elements yielding a true value.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"ary = [1, 2, 4, 2]
;TI"#ary.count               #=> 4
;TI"#ary.count(2)            #=> 2
;TI""ary.count{ |x| x%2==0 } #=> 3;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"kenum.count                 -> int
enum.count(item)           -> int
enum.count { |obj| block } -> int
;T0[I"	(p1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	all?:ETI"Enumerable#all?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"JPasses each element of the collection to the given block. The method ;TI":returns <code>true</code> if the block never returns ;TI"H<code>false</code> or <code>nil</code>. If the block is not given, ;TI"JRuby adds an implicit block of <code>{ |obj| obj }</code> which will ;TI"Jcause #all? to return +true+ when none of the collection members are ;TI"+false+ or +nil+.;To:RDoc::Markup::BlankLineo;
;	[I"BIf instead a pattern is supplied, the method returns whether ;TI"B<code>pattern === element</code> for every collection member.;T@o:RDoc::Markup::Verbatim;	[I"@%w[ant bear cat].all? { |word| word.length >= 3 } #=> true
;TI"A%w[ant bear cat].all? { |word| word.length >= 4 } #=> false
;TI"A%w[ant bear cat].all?(/t/)                        #=> false
;TI"@[1, 2i, 3.14].all?(Numeric)                       #=> true
;TI"A[nil, true, 99].all?                              #=> false
;TI"?[].all?                                           #=> true;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"eenum.all? [{ |obj| block } ]   -> true or false
enum.all?(pattern)             -> true or false
;T0[I"(*args);T@ FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"chunk_while:ETI"Enumerable#chunk_while;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Creates an enumerator for each chunked elements. ;TI"7The beginnings of chunks are defined by the block.;To:RDoc::Markup::BlankLineo;
;	[
I";This method split each chunk using adjacent elements, ;TI"#_elt_before_ and _elt_after_, ;TI"!in the receiver enumerator. ;TI"IThis method split chunks between _elt_before_ and _elt_after_ where ;TI"*the block returns <code>false</code>.;T@o;
;	[I"IThe block is called the length of the receiver enumerator minus one.;T@o;
;	[I"DThe result enumerator yields the chunked elements as an array. ;TI"/So +each+ method can be called as follows:;T@o:RDoc::Markup::Verbatim;	[I"Jenum.chunk_while { |elt_before, elt_after| bool }.each { |ary| ... }
;T:@format0o;
;	[I"BOther methods of the Enumerator class and Enumerable module, ;TI"2such as +to_a+, +map+, etc., are also usable.;T@o;
;	[I"NFor example, one-by-one increasing subsequence can be chunked as follows:;T@o;;	[I"+a = [1,2,4,9,10,11,12,15,16,19,20,21]
;TI"*b = a.chunk_while {|i, j| i+1 == j }
;TI"Ip b.to_a #=> [[1, 2], [4], [9, 10, 11, 12], [15, 16], [19, 20, 21]]
;TI"@c = b.map {|a| a.length < 3 ? a : "#{a.first}-#{a.last}" }
;TI"6p c #=> [[1, 2], [4], "9-12", [15, 16], "19-21"]
;TI"d = c.join(",")
;TI"&p d #=> "1,2,4,9-12,15,16,19-21"
;T;
0o;
;	[I"GIncreasing (non-decreasing) subsequence can be chunked as follows:;T@o;;	[I"(a = [0, 9, 2, 2, 3, 2, 7, 5, 9, 5]
;TI"+p a.chunk_while {|i, j| i <= j }.to_a
;TI"2#=> [[0, 9], [2, 2, 3], [2, 7], [5, 9], [5]]
;T;
0o;
;	[I"8Adjacent evens and odds can be chunked as follows: ;TI"0(Enumerable#chunk is another way to do it.);T@o;;	[I"(a = [7, 5, 9, 2, 0, 7, 9, 4, 2, 0]
;TI"7p a.chunk_while {|i, j| i.even? == j.even? }.to_a
;TI"0#=> [[7, 5, 9], [2, 0], [7, 9], [4, 2, 0]]
;T;
0o;
;	[I"JEnumerable#slice_when does the same, except splitting when the block ;TI"=returns <code>true</code> instead of <code>false</code>.;T:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Genum.chunk_while {|elt_before, elt_after| bool } -> an_enumerator
;T0[I"();T@FFI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	uniq:ETI"Enumerable#uniq;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns a new array by removing duplicate values in +self+.;To:RDoc::Markup::BlankLineo;
;	[I"See also Array#uniq.;T:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Menum.uniq                -> new_ary
enum.uniq { |item| ... } -> new_ary
;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"min:ETI"Enumerable#min;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns the object in _enum_ with the minimum value. The ;TI"Gfirst form assumes all objects implement <code>Comparable</code>; ;TI":the second uses the block to return <em>a <=> b</em>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"!a = %w(albatross dog horse)
;TI"=a.min                                   #=> "albatross"
;TI"7a.min { |a, b| a.length <=> b.length }  #=> "dog"
;T:@format0o;
;	[I"EIf the +n+ argument is given, minimum +n+ elements are returned ;TI"as a sorted array.;T@o;;	[	I"!a = %w[albatross dog horse]
;TI"Ha.min(2)                                  #=> ["albatross", "dog"]
;TI"Da.min(2) {|a, b| a.length <=> b.length }  #=> ["dog", "horse"]
;TI"<[5, 1, 3, 4, 2].min(3)                    #=> [1, 2, 3];T;
0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"�enum.min                     -> obj
enum.min { |a, b| block }    -> obj
enum.min(n)                  -> array
enum.min(n) { |a, b| block } -> array
;T0[I"(p1 = v1);T@ FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
flat_map:ETI"Enumerable#flat_map;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"BReturns a new array with the concatenated results of running ;TI":<em>block</em> once for every element in <i>enum</i>.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"L[1, 2, 3, 4].flat_map { |e| [e, -e] } #=> [1, -1, 2, -2, 3, -3, 4, -4]
;TI"K[[1, 2], [3, 4]].flat_map { |e| e + [100] } #=> [1, 2, 100, 3, 4, 100];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"fenum.flat_map       { |obj| block } -> array
enum.flat_map                       -> an_enumerator;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"find_index:ETI"Enumerable#find_index;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[	I"FCompares each entry in <i>enum</i> with <em>value</em> or passes ;TI"Gto <em>block</em>.  Returns the index for the first for which the ;TI"Bevaluated value is non-false.  If no object matches, returns ;TI"<code>nil</code>;To:RDoc::Markup::BlankLineo;
;	[I"OIf neither block nor argument is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"D(1..10).find_index  { |i| i % 5 == 0 and i % 7 == 0 }  #=> nil
;TI"C(1..100).find_index { |i| i % 5 == 0 and i % 7 == 0 }  #=> 34
;TI"B(1..100).find_index(50)                                #=> 49;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"�enum.find_index(value)          -> int or nil
enum.find_index { |obj| block } -> int or nil
enum.find_index                 -> an_enumerator
;T0[I"	(p1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"drop_while:ETI"Enumerable#drop_while;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"DDrops elements up to, but not including, the first element for ;TI"Cwhich the block returns +nil+ or +false+ and returns an array ;TI"'containing the remaining elements.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"a = [1, 2, 3, 4, 5, 0]
;TI"2a.drop_while { |i| i < 3 }   #=> [3, 4, 5, 0];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"aenum.drop_while { |obj| block }  -> array
enum.drop_while                  -> an_enumerator
;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"map:ETI"Enumerable#map;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"IReturns a new array with the results of running <em>block</em> once ;TI"&for every element in <i>enum</i>.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"3(1..4).map { |i| i*i }      #=> [1, 4, 9, 16]
;TI"A(1..4).collect { "cat"  }   #=> ["cat", "cat", "cat", "cat"];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Xenum.map     { |obj| block } -> array
enum.map                     -> an_enumerator;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"each_slice:ETI"Enumerable#each_slice;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EIterates the given block for each slice of <n> elements.  If no ;TI"+block is given, returns an enumerator.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"'(1..10).each_slice(3) { |a| p a }
;TI"# outputs below
;TI"[1, 2, 3]
;TI"[4, 5, 6]
;TI"[7, 8, 9]
;TI"	[10];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Wenum.each_slice(n) { ... }  ->  nil
enum.each_slice(n)          ->  an_enumerator
;T0[I"	(p1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"reject:ETI"Enumerable#reject;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns an array for all elements of +enum+ for which the given ;TI"(+block+ returns <code>false</code>.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an Enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"E(1..10).reject { |i|  i % 3 == 0 }   #=> [1, 2, 4, 5, 7, 8, 10]
;TI"
;TI">[1, 2, 3, 4, 5].reject { |num| num.even? } #=> [1, 3, 5]
;T:@format0o;
;	[I""See also Enumerable#find_all.;T:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Wenum.reject { |obj| block } -> array
enum.reject                 -> an_enumerator
;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"member?:ETI"Enumerable#member?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns <code>true</code> if any member of <i>enum</i> equals ;TI":<i>obj</i>. Equality is tested using <code>==</code>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"7IO.constants.include? :SEEK_SET          #=> true
;TI"8IO.constants.include? :SEEK_NO_FURTHER   #=> false
;TI"6IO.constants.member? :SEEK_SET          #=> true
;TI"6IO.constants.member? :SEEK_NO_FURTHER   #=> false;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I",enum.member?(obj)      -> true or false;T0[I"	(p1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"detect:ETI"Enumerable#detect;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[	I"EPasses each entry in <i>enum</i> to <em>block</em>. Returns the ;TI"9first for which <em>block</em> is not false.  If no ;TI"Hobject matches, calls <i>ifnone</i> and returns its result when it ;TI"9is specified, or returns <code>nil</code> otherwise.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"6(1..100).detect  => #<Enumerator: 1..100:detect>
;TI"4(1..100).find    => #<Enumerator: 1..100:find>
;TI"
;TI"B(1..10).detect   { |i| i % 5 == 0 and i % 7 == 0 }   #=> nil
;TI"B(1..10).find     { |i| i % 5 == 0 and i % 7 == 0 }   #=> nil
;TI"A(1..100).detect  { |i| i % 5 == 0 and i % 7 == 0 }   #=> 35
;TI"@(1..100).find    { |i| i % 5 == 0 and i % 7 == 0 }   #=> 35;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"wenum.detect(ifnone = nil) { |obj| block } -> obj or nil
enum.detect(ifnone = nil)                 -> an_enumerator;T0[I"(p1 = v1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"each_entry:ETI"Enumerable#each_entry;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"FCalls <i>block</i> once for each element in +self+, passing that ;TI"Ielement as a parameter, converting multiple values from yield to an ;TI"array.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"class Foo
;TI"  include Enumerable
;TI"  def each
;TI"    yield 1
;TI"    yield 1, 2
;TI"    yield
;TI"  end
;TI"	end
;TI"#Foo.new.each_entry{ |o| p o }
;T:@format0o;
;	[I"produces:;T@o;;	[I"1
;TI"[1, 2]
;TI"nil;T;
0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"`enum.each_entry { |obj| block }  -> enum
enum.each_entry                  -> an_enumerator
;T0[I"(*args);T@'FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"to_set:ETI"Enumerable#to_set;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BMakes a set from the enumerable object with given arguments. ;TI"1Needs to +require "set"+ to use this method.;T:
@fileI"lib/set.rb;T:0@omit_headings_from_table_of_contents_below000[I"!(klass = Set, *args, &block);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"each_with_index:ETI"Enumerable#each_with_index;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"FCalls <em>block</em> with two arguments, the item and its index, ;TI"Gfor each item in <i>enum</i>.  Given arguments are passed through ;TI"to #each().;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[
I"hash = Hash.new
;TI"8%w(cat dog wombat).each_with_index { |item, index|
;TI"  hash[item] = index
;TI"}
;TI"1hash   #=> {"cat"=>0, "dog"=>1, "wombat"=>2};T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"~enum.each_with_index(*args) { |obj, i| block } ->  enum
enum.each_with_index(*args)                    ->  an_enumerator
;T0[I"(*args);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	to_h:ETI"Enumerable#to_h;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns the result of interpreting <i>enum</i> as a list of ;TI"!<tt>[key, value]</tt> pairs.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*%i[hello world].each_with_index.to_h
;TI"&  # => {:hello => 0, :world => 1};T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"enum.to_h(*args)  -> hash
;T0[I"(*args);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
cycle:ETI"Enumerable#cycle;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"GCalls <i>block</i> for each element of <i>enum</i> repeatedly _n_ ;TI"Dtimes or forever if none or +nil+ is given.  If a non-positive ;TI"Hnumber is given or the collection is empty, does nothing.  Returns ;TI"@+nil+ if the loop has finished without getting interrupted.;To:RDoc::Markup::BlankLineo;
;	[I"EEnumerable#cycle saves elements in an internal array so changes ;TI"8to <i>enum</i> after the first pass have no effect.;T@o;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"a = ["a", "b", "c"]
;TI"Ca.cycle { |x| puts x }  # print, a, b, c, a, b, c,.. forever.
;TI":a.cycle(2) { |x| puts x }  # print, a, b, c, a, b, c.;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"eenum.cycle(n=nil) { |obj| block }  ->  nil
enum.cycle(n=nil)                  ->  an_enumerator
;T0[I"(p1 = v1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	find:ETI"Enumerable#find;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[	I"EPasses each entry in <i>enum</i> to <em>block</em>. Returns the ;TI"9first for which <em>block</em> is not false.  If no ;TI"Hobject matches, calls <i>ifnone</i> and returns its result when it ;TI"9is specified, or returns <code>nil</code> otherwise.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"6(1..100).detect  => #<Enumerator: 1..100:detect>
;TI"4(1..100).find    => #<Enumerator: 1..100:find>
;TI"
;TI"B(1..10).detect   { |i| i % 5 == 0 and i % 7 == 0 }   #=> nil
;TI"B(1..10).find     { |i| i % 5 == 0 and i % 7 == 0 }   #=> nil
;TI"A(1..100).detect  { |i| i % 5 == 0 and i % 7 == 0 }   #=> 35
;TI"@(1..100).find    { |i| i % 5 == 0 and i % 7 == 0 }   #=> 35;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"wenum.find(ifnone = nil)   { |obj| block } -> obj or nil
enum.find(ifnone = nil)                   -> an_enumerator;T0[I"(p1 = v1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"minmax:ETI"Enumerable#minmax;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"DReturns a two element array which contains the minimum and the ;TI"Bmaximum value in the enumerable.  The first form assumes all ;TI"Dobjects implement <code>Comparable</code>; the second uses the ;TI"&block to return <em>a <=> b</em>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"!a = %w(albatross dog horse)
;TI"Ja.minmax                                  #=> ["albatross", "horse"]
;TI"Ga.minmax { |a, b| a.length <=> b.length } #=> ["dog", "albatross"];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"[enum.minmax                  -> [min, max]
enum.minmax { |a, b| block } -> [min, max]
;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"slice_when:ETI"Enumerable#slice_when;TF:publico:RDoc::Markup::Document:@parts[ o:RDoc::Markup::Paragraph;	[I"6Creates an enumerator for each chunked elements. ;TI"7The beginnings of chunks are defined by the block.;To:RDoc::Markup::BlankLineo;
;	[
I";This method split each chunk using adjacent elements, ;TI"#_elt_before_ and _elt_after_, ;TI"!in the receiver enumerator. ;TI"IThis method split chunks between _elt_before_ and _elt_after_ where ;TI")the block returns <code>true</code>.;T@o;
;	[I"IThe block is called the length of the receiver enumerator minus one.;T@o;
;	[I"DThe result enumerator yields the chunked elements as an array. ;TI"/So +each+ method can be called as follows:;T@o:RDoc::Markup::Verbatim;	[I"Ienum.slice_when { |elt_before, elt_after| bool }.each { |ary| ... }
;T:@format0o;
;	[I"BOther methods of the Enumerator class and Enumerable module, ;TI"2such as +to_a+, +map+, etc., are also usable.;T@o;
;	[I"NFor example, one-by-one increasing subsequence can be chunked as follows:;T@o;;	[I"+a = [1,2,4,9,10,11,12,15,16,19,20,21]
;TI")b = a.slice_when {|i, j| i+1 != j }
;TI"Ip b.to_a #=> [[1, 2], [4], [9, 10, 11, 12], [15, 16], [19, 20, 21]]
;TI"@c = b.map {|a| a.length < 3 ? a : "#{a.first}-#{a.last}" }
;TI"6p c #=> [[1, 2], [4], "9-12", [15, 16], "19-21"]
;TI"d = c.join(",")
;TI"&p d #=> "1,2,4,9-12,15,16,19-21"
;T;
0o;
;	[I"LNear elements (threshold: 6) in sorted array can be chunked as follows:;T@o;;	[I"1a = [3, 11, 14, 25, 28, 29, 29, 41, 55, 57]
;TI"-p a.slice_when {|i, j| 6 < j - i }.to_a
;TI";#=> [[3], [11, 14], [25, 28, 29, 29], [41], [55, 57]]
;T;
0o;
;	[I"GIncreasing (non-decreasing) subsequence can be chunked as follows:;T@o;;	[I"(a = [0, 9, 2, 2, 3, 2, 7, 5, 9, 5]
;TI")p a.slice_when {|i, j| i > j }.to_a
;TI"2#=> [[0, 9], [2, 2, 3], [2, 7], [5, 9], [5]]
;T;
0o;
;	[I"8Adjacent evens and odds can be chunked as follows: ;TI"0(Enumerable#chunk is another way to do it.);T@o;;	[I"(a = [7, 5, 9, 2, 0, 7, 9, 4, 2, 0]
;TI"6p a.slice_when {|i, j| i.even? != j.even? }.to_a
;TI"0#=> [[7, 5, 9], [2, 0], [7, 9], [4, 2, 0]]
;T;
0o;
;	[I"WParagraphs (non-empty lines with trailing empty lines) can be chunked as follows: ;TI"2(See Enumerable#chunk to ignore empty lines.);T@o;;	[I"8lines = ["foo\n", "bar\n", "\n", "baz\n", "qux\n"]
;TI"Gp lines.slice_when {|l1, l2| /\A\s*\z/ =~ l1 && /\S/ =~ l2 }.to_a
;TI"8#=> [["foo\n", "bar\n", "\n"], ["baz\n", "qux\n"]]
;T;
0o;
;	[I"KEnumerable#chunk_while does the same, except splitting when the block ;TI"=returns <code>false</code> instead of <code>true</code>.;T:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"Fenum.slice_when {|elt_before, elt_after| bool } -> an_enumerator
;T0[I"();T@WFI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"entries:ETI"Enumerable#entries;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Returns an array containing the items in <i>enum</i>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"A(1..7).to_a                       #=> [1, 2, 3, 4, 5, 6, 7]
;TI"J{ 'a'=>1, 'b'=>2, 'c'=>3 }.to_a   #=> [["a", 1], ["b", 2], ["c", 3]]
;TI"
;TI"require 'prime'
;TI"7Prime.entries 10                  #=> [2, 3, 5, 7];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"#enum.entries(*args)   -> array;T0[I"(*args);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"max_by:ETI"Enumerable#max_by;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns the object in <i>enum</i> that gives the maximum ;TI" value from the given block.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"!a = %w(albatross dog horse)
;TI"1a.max_by { |x| x.length }   #=> "albatross"
;T:@format0o;
;	[I"EIf the +n+ argument is given, maximum +n+ elements are returned ;TI"Fas an array. These +n+ elements are sorted by the value from the ;TI"&given block, in descending order.;T@o;;	[I"!a = %w[albatross dog horse]
;TI"<a.max_by(2) {|x| x.length } #=> ["albatross", "horse"]
;T;
0o;
;	[I"Genum.max_by(n) can be used to implement weighted random sampling. ;TI"=Following example implements and use Enumerable#wsample.;T@o;;	[-I"module Enumerable
;TI"#  # weighted random sampling.
;TI"	  #
;TI"0  # Pavlos S. Efraimidis, Paul G. Spirakis
;TI"3  # Weighted random sampling with a reservoir
;TI"(  # Information Processing Letters
;TI",  # Volume 97, Issue 5 (16 March 2006)
;TI"  def wsample(n)
;TI"6    self.max_by(n) {|v| rand ** (1.0/yield(v)) }
;TI"  end
;TI"	end
;TI"e = (-20..20).to_a*10000
;TI"a = e.wsample(20000) {|x|
;TI"3  Math.exp(-(x/5.0)**2) # normal distribution
;TI"}
;TI""# a is 20000 samples from e.
;TI"p a.length #=> 20000
;TI"h = a.group_by {|x| x }
;TI"D-10.upto(10) {|x| puts "*" * (h[x].length/30.0).to_i if h[x] }
;TI"#=> *
;TI"
#   ***
;TI"#   ******
;TI"#   ***********
;TI"#   ******************
;TI"'#   *****************************
;TI"3#   *****************************************
;TI">#   ****************************************************
;TI"I#   ***************************************************************
;TI"N#   ********************************************************************
;TI"Q#   ***********************************************************************
;TI"Q#   ***********************************************************************
;TI"H#   **************************************************************
;TI">#   ****************************************************
;TI"1#   ***************************************
;TI"%#   ***************************
;TI"#   ******************
;TI"#   ***********
;TI"#   *******
;TI"
#   ***
;TI"
#   *;T;
0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"�enum.max_by {|obj| block }      -> obj
enum.max_by                     -> an_enumerator
enum.max_by(n) {|obj| block }   -> obj
enum.max_by(n)                  -> an_enumerator
;T0[I"(p1 = v1);T@NFI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"grep_v:ETI"Enumerable#grep_v;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Inverted version of Enumerable#grep. ;TI"@Returns an array of every element in <i>enum</i> for which ;TI"*not <code>Pattern === element</code>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"3(1..10).grep_v 2..5   #=> [1, 6, 7, 8, 9, 10]
;TI"-res =(1..10).grep_v(2..5) { |v| v * 2 }
;TI"7res                    #=> [2, 12, 14, 16, 18, 20];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"cenum.grep_v(pattern)                  -> array
enum.grep_v(pattern) { |obj| block }  -> array
;T0[I"	(p1);T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"sort_by:ETI"Enumerable#sort_by;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DSorts <i>enum</i> using a set of keys generated by mapping the ;TI"3values in <i>enum</i> through the given block.;To:RDoc::Markup::BlankLineo;
;	[I"JThe result is not guaranteed to be stable.  When two keys are equal, ;TI">the order of the corresponding elements is unpredictable.;T@o;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"7%w{apple pear fig}.sort_by { |word| word.length }
;TI"0              #=> ["fig", "pear", "apple"]
;T:@format0o;
;	[	I"EThe current implementation of <code>sort_by</code> generates an ;TI"Harray of tuples containing the original collection element and the ;TI"Imapped value. This makes <code>sort_by</code> fairly expensive when ;TI"the keysets are simple.;T@o;;	[
I"require 'benchmark'
;TI"
;TI"*a = (1..100000).map { rand(100000) }
;TI"
;TI"Benchmark.bm(10) do |b|
;TI"&  b.report("Sort")    { a.sort }
;TI"3  b.report("Sort by") { a.sort_by { |a| a } }
;TI"	end
;T;
0o;
;	[I"<em>produces:</em>;T@o;;	[I",user     system      total        real
;TI"=Sort        0.180000   0.000000   0.180000 (  0.175469)
;TI"=Sort by     1.980000   0.040000   2.020000 (  2.013586)
;T;
0o;
;	[I"JHowever, consider the case where comparing the keys is a non-trivial ;TI"Ioperation. The following code sorts some files on modification time ;TI".using the basic <code>sort</code> method.;T@o;;	[I"files = Dir["*"]
;TI"Lsorted = files.sort { |a, b| File.new(a).mtime <=> File.new(b).mtime }
;TI"2sorted   #=> ["mon", "tues", "wed", "thurs"]
;T;
0o;
;	[	I"FThis sort is inefficient: it generates two new <code>File</code> ;TI"Hobjects during every comparison. A slightly better technique is to ;TI"Juse the <code>Kernel#test</code> method to generate the modification ;TI"times directly.;T@o;;	[
I"files = Dir["*"]
;TI""sorted = files.sort { |a, b|
;TI"#  test(?M, a) <=> test(?M, b)
;TI"}
;TI"2sorted   #=> ["mon", "tues", "wed", "thurs"]
;T;
0o;
;	[I"HThis still generates many unnecessary <code>Time</code> objects. A ;TI"Fmore efficient technique is to cache the sort keys (modification ;TI"Etimes in this case) before the sort. Perl users often call this ;TI"Aapproach a Schwartzian transform, after Randal Schwartz. We ;TI"Aconstruct a temporary array, where each element is an array ;TI"Jcontaining our sort key along with the filename. We sort this array, ;TI"3and then extract the filename from the result.;T@o;;	[	I"%sorted = Dir["*"].collect { |f|
;TI"   [test(?M, f), f]
;TI"!}.sort.collect { |f| f[1] }
;TI"2sorted   #=> ["mon", "tues", "wed", "thurs"]
;T;
0o;
;	[I"?This is exactly what <code>sort_by</code> does internally.;T@o;;	[I"3sorted = Dir["*"].sort_by { |f| test(?M, f) }
;TI"1sorted   #=> ["mon", "tues", "wed", "thurs"];T;
0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"]enum.sort_by { |obj| block }   -> array
enum.sort_by                   -> an_enumerator
;T0[I"();T@`FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	any?:ETI"Enumerable#any?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"JPasses each element of the collection to the given block. The method ;TI"Greturns <code>true</code> if the block ever returns a value other ;TI"Fthan <code>false</code> or <code>nil</code>. If the block is not ;TI"Kgiven, Ruby adds an implicit block of <code>{ |obj| obj }</code> that ;TI"Iwill cause #any? to return +true+ if at least one of the collection ;TI"%members is not +false+ or +nil+.;To:RDoc::Markup::BlankLineo;
;	[I"BIf instead a pattern is supplied, the method returns whether ;TI"@<code>pattern === element</code> for any collection member.;T@o:RDoc::Markup::Verbatim;	[I"@%w[ant bear cat].any? { |word| word.length >= 3 } #=> true
;TI"@%w[ant bear cat].any? { |word| word.length >= 4 } #=> true
;TI"A%w[ant bear cat].any?(/d/)                        #=> false
;TI"@[nil, true, 99].any?(Integer)                     #=> true
;TI"@[nil, true, 99].any?                              #=> true
;TI"@[].any?                                           #=> false;T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"cenum.any? [{ |obj| block }]   -> true or false
enum.any?(pattern)            -> true or false
;T0[I"(*args);T@ FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"slice_before:ETI"Enumerable#slice_before;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Creates an enumerator for each chunked elements. ;TI"EThe beginnings of chunks are defined by _pattern_ and the block.;To:RDoc::Markup::BlankLineo;
;	[I"PIf <code>_pattern_ === _elt_</code> returns <code>true</code> or the block ;TI"Nreturns <code>true</code> for the element, the element is beginning of a ;TI"chunk.;T@o;
;	[I"SThe <code>===</code> and _block_ is called from the first element to the last ;TI"Eelement of _enum_.  The result for the first element is ignored.;T@o;
;	[I"DThe result enumerator yields the chunked elements as an array. ;TI"/So +each+ method can be called as follows:;T@o:RDoc::Markup::Verbatim;	[I"3enum.slice_before(pattern).each { |ary| ... }
;TI"9enum.slice_before { |elt| bool }.each { |ary| ... }
;T:@format0o;
;	[I"BOther methods of the Enumerator class and Enumerable module, ;TI"2such as +to_a+, +map+, etc., are also usable.;T@o;
;	[I"IFor example, iteration over ChangeLog entries can be implemented as ;TI"
follows:;T@o;;	[I"'# iterate over ChangeLog entries.
;TI"open("ChangeLog") { |f|
;TI"0  f.slice_before(/\A\S/).each { |e| pp e }
;TI"}
;TI"
;TI"B# same as above.  block is used instead of pattern argument.
;TI"open("ChangeLog") { |f|
;TI"C  f.slice_before { |line| /\A\S/ === line }.each { |e| pp e }
;TI"}
;T;
0o;
;	[I"@"svn proplist -R" produces multiline output for each file. ;TI"$They can be chunked as follows:;T@o;;	[
I"@IO.popen([{"LC_ALL"=>"C"}, "svn", "proplist", "-R"]) { |f|
;TI"?  f.lines.slice_before(/\AProp/).each { |lines| p lines }
;TI"}
;TI"E#=> ["Properties on '.':\n", "  svn:ignore\n", "  svk:merge\n"]
;TI">#   ["Properties on 'goruby.c':\n", "  svn:eol-style\n"]
;TI"T#   ["Properties on 'complex.c':\n", "  svn:mime-type\n", "  svn:eol-style\n"]
;TI"@#   ["Properties on 'regparse.c':\n", "  svn:eol-style\n"]
;TI"
#   ...
;T;
0o;
;	[	I"BIf the block needs to maintain state over multiple elements, ;TI""local variables can be used. ;TI"OFor example, three or more consecutive increasing numbers can be squashed ;TI"5as follows (see +chunk_while+ for a better way):;T@o;;	[I"a = [0, 2, 3, 4, 6, 7, 9]
;TI"prev = a[0]
;TI"p a.slice_before { |e|
;TI"  prev, prev2 = e, prev
;TI"  prev2 + 1 != e
;TI"}.map { |es|
;TI"@  es.length <= 2 ? es.join(",") : "#{es.first}-#{es.last}"
;TI"}.join(",")
;TI"#=> "0,2-4,6,7,9"
;T;
0o;
;	[	I"6However local variables should be used carefully ;TI";if the result enumerator is enumerated twice or more. ;TI"EThe local variables should be initialized for each enumeration. ;TI")Enumerator.new can be used to do it.;T@o;;	[,I"D# Word wrapping.  This assumes all characters have same width.
;TI"#def wordwrap(words, maxwidth)
;TI"  Enumerator.new {|y|
;TI"2    # cols is initialized in Enumerator.new.
;TI"    cols = 0
;TI""    words.slice_before { |w|
;TI""      cols += 1 if cols != 0
;TI"      cols += w.length
;TI"      if maxwidth < cols
;TI"        cols = w.length
;TI"        true
;TI"      else
;TI"        false
;TI"      end
;TI"#    }.each {|ws| y.yield ws }
;TI"	  }
;TI"	end
;TI"#text = (1..20).to_a.join(" ")
;TI",enum = wordwrap(text.split(/\s+/), 10)
;TI"puts "-"*10
;TI"?enum.each { |ws| puts ws.join(" ") } # first enumeration.
;TI"puts "-"*10
;TI"cenum.each { |ws| puts ws.join(" ") } # second enumeration generates same result as the first.
;TI"puts "-"*10
;TI"#=> ----------
;TI"#   1 2 3 4 5
;TI"#   6 7 8 9 10
;TI"#   11 12 13
;TI"#   14 15 16
;TI"#   17 18 19
;TI"#   20
;TI"#   ----------
;TI"#   1 2 3 4 5
;TI"#   6 7 8 9 10
;TI"#   11 12 13
;TI"#   14 15 16
;TI"#   17 18 19
;TI"#   20
;TI"#   ----------
;T;
0o;
;	[I"Dmbox contains series of mails which start with Unix From line. ;TI"BSo each mail can be extracted by slice before Unix From line.;T@o;;	["I"# parse mbox
;TI"open("mbox") { |f|
;TI"  f.slice_before { |line|
;TI""    line.start_with? "From "
;TI"  }.each { |mail|
;TI"     unix_from = mail.shift
;TI"    i = mail.index("\n")
;TI"    header = mail[0...i]
;TI"     body = mail[(i+1)..-1]
;TI"'    body.pop if body.last == "\n"
;TI"O    fields = header.slice_before { |line| !" \t".include?(line[0]) }.to_a
;TI"    p unix_from
;TI"    pp fields
;TI"    pp body
;TI"	  }
;TI"}
;TI"
;TI"M# split mails in mbox (slice before Unix From line after an empty line)
;TI"open("mbox") { |f|
;TI"  emp = true
;TI"  f.slice_before { |line|
;TI"    prevemp = emp
;TI"    emp = line == "\n"
;TI".    prevemp && line.start_with?("From ")
;TI"  }.each { |mail|
;TI"'    mail.pop if mail.last == "\n"
;TI"    pp mail
;TI"	  }
;TI"};T;
0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"�enum.slice_before(pattern)                             -> an_enumerator
enum.slice_before { |elt| bool }                       -> an_enumerator
;T0[I"	(p1);T@�FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"partition:ETI"Enumerable#partition;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I">Returns two arrays, the first containing the elements of ;TI"C<i>enum</i> for which the block evaluates to true, the second ;TI"containing the rest.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"A(1..6).partition { |v| v.even? }  #=> [[2, 4, 6], [1, 3, 5]];T:@format0:
@fileI"enum.c;T:0@omit_headings_from_table_of_contents_below0I"senum.partition { |obj| block } -> [ true_array, false_array ]
enum.partition                 -> an_enumerator
;T0[I"();T@FI"Enumerable;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"shellwords:ETI"Shellwords#shellwords;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below000[I"(line);T@FI"Shellwords;TcRDoc::NormalModule0[@FI"shellsplit;TU:RDoc::AnyMethod[iI"escape:ETI"Shellwords::escape;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"Shellwords;TcRDoc::NormalModule0[@TI"shellescape;TU:RDoc::AnyMethod[iI"shellsplit:ETI"Shellwords#shellsplit;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FSplits a string into an array of tokens in the same way the UNIX ;TI"Bourne shell does.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"5argv = Shellwords.split('here are "two words"')
;TI"+argv #=> ["here", "are", "two words"]
;T:@format0o;
;	[I"CNote, however, that this is not a command line parser.  Shell ;TI"@metacharacters except for the single and double quotes and ;TI"'backslash are not treated as such.;T@o;;	[I"7argv = Shellwords.split('ruby my_prog.rb | less')
;TI"2argv #=> ["ruby", "my_prog.rb", "|", "less"]
;T;
0o;
;	[I"7String#shellsplit is a shortcut for this function.;T@o;;	[I".argv = 'here are "two words"'.shellsplit
;TI"*argv #=> ["here", "are", "two words"];T;
0:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below000[[I"shellwords;To;;	[;@$;0[I"
split;To;;	[;@$;0I"(line);T@$FI"Shellwords;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"Shellwords:ET@0o:RDoc::Markup::Document:@parts[o;;['S:RDoc::Markup::Heading:
leveli:	textI"3Manipulates strings like the UNIX Bourne shell;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"IThis module manipulates strings according to the word parsing rules ;TI"of the UNIX Bourne shell.;T@o;
;[I"GThe shellwords() function was originally a port of shellwords.pl, ;TI"Ibut modified to conform to the Shell & Utilities volume of the IEEE ;TI"'Std 1003.1-2008, 2016 Edition [1].;T@S;	;
i;I"
Usage;T@o;
;[I"QYou can use Shellwords to parse a string into a Bourne shell friendly Array.;T@o:RDoc::Markup::Verbatim;[	I"require 'shellwords'
;TI"
;TI"3argv = Shellwords.split('three blind "mice"')
;TI")argv #=> ["three", "blind", "mice"]
;T:@format0o;
;[I"COnce you've required Shellwords, you can use the #split alias ;TI"String#shellsplit.;T@o;;[I"*argv = "see how they run".shellsplit
;TI",argv #=> ["see", "how", "they", "run"]
;T;0o;
;[I"2Be careful you don't leave a quote unmatched.;T@o;;[I">argv = "they all ran after the farmer's wife".shellsplit
;TI"9     #=> ArgumentError: Unmatched double quote: ...
;T;0o;
;[I"IIn this case, you might want to use Shellwords.escape, or its alias ;TI"String#shellescape.;T@o;
;[I"RThis method will escape the String for you to safely use with a Bourne shell.;T@o;;[I"/argv = Shellwords.escape("special's.txt")
;TI" argv #=> "special\\'s.txt"
;TI"system("cat " + argv)
;T;0o;
;[I"LShellwords also comes with a core extension for Array, Array#shelljoin.;T@o;;[I"argv = %w{ls -lta lib}
;TI"system(argv.shelljoin)
;T;0o;
;[I"SYou can use this method to create an escaped string out of an array of tokens ;TI"Lseparated by a space. In this example we used the literal shortcut for ;TI"Array.new.;T@S;	;
i;I"Authors;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"Wakou Aoyama;To;;0;[o;
;[I"%Akinori MUSHA <knu@iDaemons.org>;T@S;	;
i;I"Contact;To;;;;[o;;0;[o;
;[I":Akinori MUSHA <knu@iDaemons.org> (current maintainer);T@S;	;
i;I"Resources;T@o;
;[I"�1: {IEEE Std 1003.1-2008, 2016 Edition, the Shell & Utilities volume}[http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html];T:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[I"escape;TI"lib/shellwords.rb;T[I"	join;T@r[I"shellescape;T@r[I"shelljoin;T@r[I"shellsplit;T@r[I"shellwords;T@r[I"
split;T@r[:protected[[:private[[I"
instance;T[[;[[;[[;[	[@v@r[@x@r[@z@r[@|@r[[U:RDoc::Context::Section[i0o;;[;0;0[@f@fcRDoc::TopLevelU:RDoc::AnyMethod[iI"shellwords:ETI"Shellwords::shellwords;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below000[I"(line);T@FI"Shellwords;TcRDoc::NormalModule0[@FI"shellsplit;TU:RDoc::AnyMethod[iI"shellescape:ETI"Shellwords#shellescape;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FEscapes a string so that it can be safely used in a Bourne shell ;TI"Fcommand line.  +str+ can be a non-string object that responds to ;TI"+to_s+.;To:RDoc::Markup::BlankLineo;
;	[I"DNote that a resulted string should be used unquoted and is not ;TI"<intended for use in double quotes nor in single quotes.;T@o:RDoc::Markup::Verbatim;	[I"Eargv = Shellwords.escape("It's better to give than to receive")
;TI"Bargv #=> "It\\'s\\ better\\ to\\ give\\ than\\ to\\ receive"
;T:@format0o;
;	[I"9String#shellescape is a shorthand for this function.;T@o;;	[I">argv = "It's better to give than to receive".shellescape
;TI"Bargv #=> "It\\'s\\ better\\ to\\ give\\ than\\ to\\ receive"
;TI"
;TI"2# Search files in lib for method definitions
;TI"pattern = "^[ \t]*def "
;TI"=open("| grep -Ern #{pattern.shellescape} lib") { |grep|
;TI"  grep.each_line { |line|
;TI"9    file, lineno, matched_line = line.split(':', 3)
;TI"    # ...
;TI"	  }
;TI"}
;T;
0o;
;	[I"IIt is the caller's responsibility to encode the string in the right ;TI"Bencoding for the shell environment where this string is used.;T@o;
;	[I"LMultibyte characters are treated as multibyte characters, not as bytes.;T@o;
;	[I"BReturns an empty quoted String if +str+ has a length of zero.;T:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below000[[I"escape;To;;	[;@3;0I"
(str);T@3FI"Shellwords;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"shellsplit:ETI"Shellwords::shellsplit;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FSplits a string into an array of tokens in the same way the UNIX ;TI"Bourne shell does.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"5argv = Shellwords.split('here are "two words"')
;TI"+argv #=> ["here", "are", "two words"]
;T:@format0o;
;	[I"CNote, however, that this is not a command line parser.  Shell ;TI"@metacharacters except for the single and double quotes and ;TI"'backslash are not treated as such.;T@o;;	[I"7argv = Shellwords.split('ruby my_prog.rb | less')
;TI"2argv #=> ["ruby", "my_prog.rb", "|", "less"]
;T;
0o;
;	[I"7String#shellsplit is a shortcut for this function.;T@o;;	[I".argv = 'here are "two words"'.shellsplit
;TI"*argv #=> ["here", "are", "two words"];T;
0:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below000[[I"shellwords;To;;	[;@$;0[I"
split;To;;	[;@$;0I"(line);T@$FI"Shellwords;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"shelljoin:ETI"Shellwords#shelljoin;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ABuilds a command line string from an argument list, +array+.;To:RDoc::Markup::BlankLineo;
;	[I"MAll elements are joined into a single string with fields separated by a ;TI"Ospace, where each element is escaped for the Bourne shell and stringified ;TI"using +to_s+.;T@o:RDoc::Markup::Verbatim;	[I"Iary = ["There's", "a", "time", "and", "place", "for", "everything"]
;TI"!argv = Shellwords.join(ary)
;TI":argv #=> "There\\'s a time and place for everything"
;T:@format0o;
;	[I"5Array#shelljoin is a shortcut for this function.;T@o;;	[I",ary = ["Don't", "rock", "the", "boat"]
;TI"argv = ary.shelljoin
;TI"&argv #=> "Don\\'t rock the boat"
;T;
0o;
;	[I"RYou can also mix non-string objects in the elements as allowed in Array#join.;T@o;;	[I"-output = `#{['ps', '-p', $$].shelljoin}`;T;
0:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below000[[I"	join;To;;	[;@';0I"(array);T@'FI"Shellwords;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"shellescape:ETI"Shellwords::shellescape;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FEscapes a string so that it can be safely used in a Bourne shell ;TI"Fcommand line.  +str+ can be a non-string object that responds to ;TI"+to_s+.;To:RDoc::Markup::BlankLineo;
;	[I"DNote that a resulted string should be used unquoted and is not ;TI"<intended for use in double quotes nor in single quotes.;T@o:RDoc::Markup::Verbatim;	[I"Eargv = Shellwords.escape("It's better to give than to receive")
;TI"Bargv #=> "It\\'s\\ better\\ to\\ give\\ than\\ to\\ receive"
;T:@format0o;
;	[I"9String#shellescape is a shorthand for this function.;T@o;;	[I">argv = "It's better to give than to receive".shellescape
;TI"Bargv #=> "It\\'s\\ better\\ to\\ give\\ than\\ to\\ receive"
;TI"
;TI"2# Search files in lib for method definitions
;TI"pattern = "^[ \t]*def "
;TI"=open("| grep -Ern #{pattern.shellescape} lib") { |grep|
;TI"  grep.each_line { |line|
;TI"9    file, lineno, matched_line = line.split(':', 3)
;TI"    # ...
;TI"	  }
;TI"}
;T;
0o;
;	[I"IIt is the caller's responsibility to encode the string in the right ;TI"Bencoding for the shell environment where this string is used.;T@o;
;	[I"LMultibyte characters are treated as multibyte characters, not as bytes.;T@o;
;	[I"BReturns an empty quoted String if +str+ has a length of zero.;T:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below000[[I"escape;To;;	[;@3;0I"
(str);T@3FI"Shellwords;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
split:ETI"Shellwords::split;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below000[I"(line);T@FI"Shellwords;TcRDoc::NormalModule0[@TI"shellsplit;TU:RDoc::AnyMethod[iI"	join:ETI"Shellwords::join;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below000[I"(array);T@FI"Shellwords;TcRDoc::NormalModule0[@TI"shelljoin;TU:RDoc::AnyMethod[iI"shelljoin:ETI"Shellwords::shelljoin;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ABuilds a command line string from an argument list, +array+.;To:RDoc::Markup::BlankLineo;
;	[I"MAll elements are joined into a single string with fields separated by a ;TI"Ospace, where each element is escaped for the Bourne shell and stringified ;TI"using +to_s+.;T@o:RDoc::Markup::Verbatim;	[I"Iary = ["There's", "a", "time", "and", "place", "for", "everything"]
;TI"!argv = Shellwords.join(ary)
;TI":argv #=> "There\\'s a time and place for everything"
;T:@format0o;
;	[I"5Array#shelljoin is a shortcut for this function.;T@o;;	[I",ary = ["Don't", "rock", "the", "boat"]
;TI"argv = ary.shelljoin
;TI"&argv #=> "Don\\'t rock the boat"
;T;
0o;
;	[I"RYou can also mix non-string objects in the elements as allowed in Array#join.;T@o;;	[I"-output = `#{['ps', '-p', $$].shelljoin}`;T;
0:
@fileI"lib/shellwords.rb;T:0@omit_headings_from_table_of_contents_below000[[I"	join;To;;	[;@';0I"(array);T@'FI"Shellwords;TcRDoc::NormalModule00U:RDoc::TopLevel[	iI"contributing.rdoc:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[�S:RDoc::Markup::Heading:
leveli:	textI"Contributing to Ruby;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"TRuby has a vast and friendly community with hundreds of people contributing to ;TI"Pa thriving open-source ecosystem. This guide is designed to cover ways for ;TI"/participating in the development of CRuby.;T@
o;
;[I"PThere are plenty of ways for you to help even if you're not ready to write ;TI"Tcode or documentation.  You can help by reporting issues, testing patches, and ;TI"5trying out beta releases with your applications.;T@
S;	;
i;I"How To Report;T@
o;
;[	I"OIf you've encountered a bug in Ruby please report it to the redmine issue ;TI"Utracker available at {bugs.ruby-lang.org}[https://bugs.ruby-lang.org/].  Do not ;TI"@report security vulnerabilities here, there is a {separate ;TI"Cchannel}[rdoc-label:label-Reporting+Security+Issues] for them.;T@
o;
;[I"QThere are a few simple steps you should follow in order to receive feedback ;TI"on your ticket.;T@
o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"If you haven't already, ;TI"R{sign up for an account}[https://bugs.ruby-lang.org/account/register] on the ;TI"bug tracker.;To;;0;[o;
;[I"Try the latest version.;T@
o;
;[I"LIf you aren't already using the latest version, try installing a newer ;TI"stable release. See ;TI"A{Downloading Ruby}[https://www.ruby-lang.org/en/downloads/].;To;;0;[o;
;[I"<Look to see if anyone already reported your issue, try ;TI"S{searching on redmine}[https://bugs.ruby-lang.org/projects/ruby-trunk/issues] ;TI"for your problem.;To;;0;[o;
;[I"7If you can't find a ticket addressing your issue, ;TI"S{create a new one}[https://bugs.ruby-lang.org/projects/ruby-trunk/issues/new].;To;;0;[o;
;[I"QChoose the target version, usually current. Bugs will be first fixed in the ;TI"Ocurrent release and then {backported}[rdoc-label:label-Backport+Requests].;To;;0;[o;
;[I"HFill in the Ruby version you're using when experiencing this issue ;TI"(<code>ruby -v</code>).;To;;0;[o;
;[I"QAttach any logs or reproducible programs to provide additional information. ;TI"9Reproducible scripts should be as small as possible.;To;;0;[o;
;[I"QBriefly describe your problem.  A 2-3 sentence description will help give a ;TI"quick response.;To;;0;[o;
;[I"NPick a category, such as core for common problems, or lib for a standard ;TI"
library.;To;;0;[o;
;[I"Check the {Maintainers ;TI"Qlist}[https://bugs.ruby-lang.org/projects/ruby/wiki/Maintainers] and assign ;TI"Lthe ticket if there is an active maintainer for the library or feature.;To;;0;[o;
;[I"JIf the ticket doesn't have any replies after 10 days, you can send a ;TI"reminder.;To;;0;[o;
;[I"RPlease reply to feedback requests. If a bug report doesn't get any feedback, ;TI"#it'll eventually get rejected.;T@
S;	;
i;I"*Reporting to downstream distributions;T@
o;
;[I"\You can report downstream issues for the following distributions via their bug tracker:;T@
o;;;;[
o;;0;[o;
;[I"M{debian}[http://bugs.debian.org/cgi-bin/pkgreport.cgi?src=ruby-defaults];To;;0;[o;
;[I"I{freebsd}[http://www.freebsd.org/cgi/query-pr-summary.cgi?text=ruby];To;;0;[o;
;[I"|{redhat}[https://bugzilla.redhat.com/buglist.cgi?bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_status=MODIFIED];To;;0;[o;
;[I"e{macports}[http://trac.macports.org/query?status=assigned&status=new&status=reopened&port=~ruby];To;;0;[o;
;[I"1etc (add your distribution bug tracker here);T@
S;	;
i;I"Platform Maintainers;T@
o;
;[I"SFor platform specific bugs in Ruby, you can assign your ticket to the current ;TI"(maintainer for a specific platform.;T@
o;
;[I"<The current active platform maintainers are as follows:;T@
o;;:
LABEL;[o;;[I" mswin64 (Microsoft Windows);T;[o;
;[I"NAKAMURA Usaku (usa);To;;[I")mingw32 (Minimalist GNU for Windows);T;[o;
;[I"Nobuyoshi Nakada (nobu);To;;[I"IA-64 (Debian GNU/Linux);T;[o;
;[I" TAKANO Mitsuhiro (takano32);To;;[I"AIX;T;[o;
;[I"Yutaka Kanemoto (kanemoto);To;;[I"FreeBSD;T;[o;
;[I"Akinori MUSHA (knu);To;;[I"Solaris;T;[o;
;[I"Naohisa Goto (ngoto);To;;[I"RHEL, CentOS;T;[o;
;[I"KOSAKI Motohiro kosaki;To;;[I"
macOS;T;[o;
;[I"Kenta Murata (mrkn);To;;[I"%cygwin, bcc32, djgpp, wince, ...;T;[o;
;[I"none. (Maintainer WANTED);T@
S;	;
i;I"Reporting Security Issues;T@
o;
;[I"RSecurity vulnerabilities receive special treatment since they may negatively ;TI"Qaffect many users. There is a private mailing list that all security issues ;TI"Eshould be reported to and will be handled discretely. Email the ;TI"Pmailto:security@ruby-lang.org list and the problem will be published after ;TI"Tfixes have been released. You can also encrypt the issue using {the PGP public ;TI"?key}[https://www.ruby-lang.org/security.asc] for the list.;T@
S;	;
i;I"Reporting Other Issues;T@
o;
;[I"TIf you're having an issue with the website, or maybe the mailing list, you can ;TI"7contact the webmaster to help resolve the problem.;T@
o;
;[I"The current webmaster is:;T@
o;;;;[o;;0;[o;
;[I"Hiroshi SHIBATA (hsbt);T@
o;
;[I"TYou can also report issues with the ruby-lang.org website on the issue tracker:;T@
o;;;;[o;;0;[o;
;[I"F{issue tracker}[https://github.com/ruby/www.ruby-lang.org/issues];T@
S;	;
i;I"Resolve Existing Issues;T@
o;
;[	I"OAs a next step beyond reporting issues you can help the core team resolve ;TI"Pexisting issues. If you check the Everyone's Issues list in GitHub Issues, ;TI"Tyou will find a lot of issues already requiring attention. What can you do for ;TI""these? Quite a bit, actually:;T@
o;
;[	I"QWhen a bug report goes for a while without any feedback, it goes to the bug ;TI">graveyard which is unfortunate. If you check the {issues ;TI"Ulist}[https://bugs.ruby-lang.org/projects/ruby-trunk/issues] you will find lots ;TI"/of delinquent bugs that require attention.;T@
o;
;[I"SYou can help by verifying the existing tickets, try to reproduce the reported ;TI"Pissue on your own and comment if you still experience the bug. Some issues ;TI"Slack attention because of too much ambiguity, to help you can narrow down the ;TI"Pproblem and provide more specific details or instructions to reproduce the ;TI"Qbug. You might also try contributing a failing test in the form of a patch, ;TI"-which we will cover later in this guide.;T@
o;
;[	I"NIt may also help to try out patches other contributors have submitted to ;TI"Oredmine, if gone without notice. In this case the +patch+ command is your ;TI"Sfriend, see <code>man patch</code> for more information. Basically this would ;TI"go something like this:;T@
o:RDoc::Markup::Verbatim;[I"cd path/to/ruby/trunk
;TI"patch -p0 < path/to/patch
;T:@format0o;
;[
I"SYou will then be prompted to apply the patch with the associated files. After ;TI"Sbuilding ruby again, you should try to run the tests and verify if the change ;TI"Sactually worked or fixed the bug. It's important to provide valuable feedback ;TI"Ton the patch that can help reach the overall goal, try to answer some of these ;TI"questions:;T@
o;;;;[	o;;0;[o;
;[I"(What do you like about this change?;To;;0;[o;
;[I"#What would you do differently?;To;;0;[o;
;[I"/Are there any other edge cases not tested?;To;;0;[o;
;[I"FIs there any documentation that would be affected by this change?;T@
o;
;[	I"RIf you can answer some or all of these questions, you're on the right track. ;TI"QIf your comment simply says "+1", then odds are that other reviewers aren't ;TI"Ogoing to take it too seriously. Show that you took the time to review the ;TI"patch.;T@
S;	;
i;I"How To Request Features;T@
o;
;[I"SIf there's a new feature that you want to see added to Ruby, you will need to ;TI"Dwrite a convincing proposal and patch to implement the feature.;T@
o;
;[
I"3For new features in CRuby, use the {'Feature' ;TI"_tracker}[https://bugs.ruby-lang.org/projects/ruby-trunk/issues?set_filter=1&tracker_id=2] ;TI"Son ruby-trunk. For non-CRuby dependent features, features that would apply to ;TI"Talternate Ruby implementations such as JRuby and Rubinius, use the {CommonRuby ;TI"?tracker}[https://bugs.ruby-lang.org/projects/common-ruby].;T@
o;
;[	I"NWhen writing a proposal be sure to check for previous discussions on the ;TI"Rtopic and have a solid use case. You will need to be persuasive and convince ;TI"TMatz on your new feature. You should also consider the potential compatibility ;TI".issues that this new feature might raise.;T@
o;
;[
I"QConsider making your feature into a gem, and if there are enough people who ;TI"Rbenefit from your feature it could help persuade ruby-core. Although feature ;TI"Orequests can seem like an alluring way to contribute to Ruby, often these ;TI"Sdiscussions can lead nowhere and exhaust time and energy that could be better ;TI",spent fixing bugs. Choose your battles.;T@
o;
;[I"LA good template for a feature proposal should look something like this:;T@
o;;;;[o;;[I"
Abstract;T;[o;
;[I"Summary of your feature;To;;[I"Background;T;[o;
;[I"LDescribe current behavior and why it is problem. Related work, such as ;TI"Dsolutions in other language helps us to understand the problem.;To;;[I"
Proposal;T;[o;
;[I"&Describe your proposal in details;To;;[I"Details;T;[o;
;[I"/If it has complicated feature, describe it;To;;[I"Usecase;T;[o;
;[I">How would your feature be used? Who will benefit from it?;To;;[I"Discussion;T;[o;
;[I"JDiscuss about this proposal. A list of pros and cons will help start ;TI"discussion.;To;;[I"Limitation;T;[o;
;[I" Limitation of your proposal;To;;[I"!Another alternative proposal;T;[o;
;[I"3If there are alternative proposals, show them.;To;;[I"
See also;T;[o;
;[I")Links to the other related resources;T@
S;	;
i;I"Slideshow;T@
o;
;[I"�At the Ruby Developer Meeting in Japan, committers discuss Feature Proposals together in Tokyo. We will judge proposals and then accept, reject, or give feedback for them. ;TI"ZIf you have a stalled proposal, making a slide to submit is good way to get feedback.;T@
o;
;[I"Slides should be:;T@
o;;;;[o;;0;[o;
;[I"One-page slide;To;;0;[o;
;[I"*Include a corresponding ticket number;To;;0;[o;
;[I"4MUST include a figure and/or short example code;To;;0;[o;
;[I"ZSHOULD have less sentence in natural language (try to write less than 140 characters);To;;0;[o;
;[I"XIt is RECOMMENDED to itemize: motivation/use case, proposal, pros/cons, corner case;To;;0;[o;
;[I",PDF or Image (Web browsers can show it);T@
o;
;[I"Please note:;T@
o;;;;[o;;0;[o;
;[I"rEven if the proposal is generally acceptable, it won't be accepted without writing corner cases in the ticket;To;;0;[o;
;[I"4Slide's example: DevelopersMeeting20130727Japan;T@
S;	;
i;I"Backport Requests;T@
o;
;[
I"RWhen a new version of Ruby is released, it starts at patch level 0 (p0), and ;TI"Qbugs will be fixed first on the trunk branch. If it's determined that a bug ;TI"Pexists in a previous version of Ruby that is still in the bug fix stage of ;TI"Tmaintenance, then a patch will be backported. After the maintenance stage of a ;TI"Oparticular Ruby version ends, it goes into "security fix only" mode which ;TI"Qmeans only security related vulnerabilities will be backported. Versions in ;TI"NEnd-of-life (EOL) will not receive any updates and it is recommended you ;TI"!upgrade as soon as possible.;T@
o;
;[I"TIf a major security issue is found or after a certain amount of time since the ;TI"Flast patch level release, a new patch-level release will be made.;T@
o;
;[	I"QWhen submitting a backport request please confirm the bug has been fixed in ;TI"Qnewer versions and exists in maintenance mode versions. There is a backport ;TI"Qtracker for each major version still in maintenance where you can request a ;TI"@particular revision merged in the affected version of Ruby.;T@
o;
;[I"QEach major version of Ruby has a release manager that should be assigned to ;TI"Phandle backport requests. You can find the list of release managers on the ;TI"N{wiki}[https://bugs.ruby-lang.org/projects/ruby/wiki/ReleaseEngineering].;T@
S;	;
i;I"
Branches;T@
o;
;[I":Status and maintainers of branches are listed on the ;TI"N{wiki}[https://bugs.ruby-lang.org/projects/ruby/wiki/ReleaseEngineering].;T@
S;	;
i;I"Running tests;T@
o;
;[I"SIn order to help resolve existing issues and contributing patches to Ruby you ;TI"+need to be able to run the test suite.;T@
o;
;[
I"ICRuby uses subversion for source control, you can find installation ;TI"Dinstructions and lots of great info to learn subversion on the ;TI"S{svnbook.red-bean.com}[http://svnbook.red-bean.com/]. For other resources see ;TI"%the {ruby-core documentation on ;TI"Gruby-lang.org}[https://www.ruby-lang.org/en/community/ruby-core/].;T@
o;
;[	I"9This guide will use git for contributing.  The {git ;TI"Phomepage}[http://git-scm.com/] has installation instructions with links to ;TI"Tdocumentation for learning more about git. There is a mirror of the subversion ;TI":repository on {github}[https://github.com/ruby/ruby].;T@
o;
;[I"QInstall the prerequisite dependencies for building the CRuby interpreter to ;TI"run tests.;T@
o;;;;[
o;;0;[o;
;[I"C compiler;To;;0;[o;
;[I"
autoconf;To;;0;[o;
;[I"
bison;To;;0;[o;
;[I"
gperf;To;;0;[o;
;[I"Oruby - Ruby itself is prerequisite in order to build Ruby from source. It ;TI"can be 1.8.;T@
o;
;[I"JYou should also have access to development headers for the following ;TI"+libraries, but these are not required:;T@
o;;;;[o;;0;[o;
;[I"Tcl/Tk;To;;0;[o;
;[I"NDBM/QDBM;To;;0;[o;
;[I"	GDBM;To;;0;[o;
;[I"OpenSSL;To;;0;[o;
;[I"readline/editline(libedit);To;;0;[o;
;[I"	zlib;To;;0;[o;
;[I"libffi;To;;0;[o;
;[I"libyaml;To;;0;[o;
;[I"libexecinfo (FreeBSD);T@
o;
;[I"Now let's build CRuby:;T@
o;;;;[o;;0;[o;
;[I"$Checkout the CRuby source code:;T@
o;;[I"9git clone git://github.com/ruby/ruby.git ruby-trunk
;T;0o;;0;[o;
;[I"0Generate the configuration files and build:;T@
o;;[I"cd ruby-trunk
;TI"autoconf
;TI"Pmkdir build && cd build # its good practice to build outside of source dir
;TI"Mmkdir ~/.rubies # we will install to .rubies/ruby-trunk in our home dir
;TI"8../configure --prefix="${HOME}/.rubies/ruby-trunk"
;TI"make up && make install
;T;0o;
;[I"OAfter adding Ruby to your PATH, you should be ready to run the test suite:;T@
o;;[I"make test
;T;0o;
;[I"JYou can also use +test-all+ to run all of the tests with the RUNRUBY ;TI"Qinterpreter just built. Use TESTS or RUNRUBYOPT to pass parameters, such as:;T@
o;;[I"make test-all TESTS=-v
;T;0o;
;[I"EThis is also how you can run a specific test from our build dir:;T@
o;;[I")make test-all TESTS=drb/test_drb.rb
;T;0o;
;[I";You can run +test+ and +test-all+ at once by +check+ .;T@
o;;[I"make check
;T;0o;
;[I"QFor older versions of Ruby you will need to run the build setup again after ;TI"Mchecking out the associated branch in git, for example if you wanted to ;TI"checkout 1.9.3:;T@
o;;[I"Bgit clone git://github.com/ruby/ruby.git --branch ruby_1_9_3
;T;0o;
;[I"LOnce you checked out the source code, you can update the local copy by:;T@
o;;[I"
make up
;T;0o;
;[I"3Or, update, build, install and check, by just:;T@
o;;[I"make love
;T;0S;	;
i;I"Contributing Documentation;T@
o;
;[I"SIf you're interested in contributing documentation directly to CRuby there is ;TI"*a wealth of information available at ;TI":{documenting-ruby.org}[http://documenting-ruby.org/].;T@
o;
;[I"'There is also the {Ruby Reference ;TI"EManual}[https://bugs.ruby-lang.org/projects/rurema] in Japanese.;T@
S;	;
i;I"Contributing A Patch;T@
S;	;
i;I"Deciding what to patch;T@
o;
;[I"GBefore you submit a patch, there are a few things you should know:;T@
o;;;;[
o;;0;[o;
;[I"XPay attention to the maintenance policy for stable and maintained versions of Ruby.;To;;0;[o;
;[I"GReleased versions in security mode will not merge feature changes.;To;;0;[o;
;[I"RSearch for previous discussions on ruby-core to verify the maintenance policy;To;;0;[o;
;[I"6Patches must be distributed under Ruby's license.;To;;0;[o;
;[I"iThis license may change in the future, you must join the discussion if you don't agree to the change;T@
o;
;[I"XTo improve the chance your patch will be accepted please follow these simple rules:;T@
o;;;;[
o;;0;[o;
;[I"1Bug fixes should be committed on trunk first;To;;0;[o;
;[I"ZFormat of the patch file must be a unified diff (ie: diff -pu, svn diff, or git diff);To;;0;[o;
;[I"%Don't introduce cosmetic changes;To;;0;[o;
;[I"1Follow the original coding style of the code;To;;0;[o;
;[I".Don't mix different changes in one commit;T@
o;
;[I"LFirst thing you should do is check out the code if you haven't already:;T@
o;;[I"9git clone git://github.com/ruby/ruby.git ruby-trunk
;T;0o;
;[I"#Now create a dedicated branch:;T@
o;;[I"cd ruby-trunk
;TI"#git checkout -b my_new_branch
;T;0o;
;[	I"QThe name of your branch doesn't really matter because it will only exist on ;TI"Tyour local computer and won't be part of the official Ruby repository. It will ;TI"Pbe used to create patches based on the differences between your branch and ;TI"trunk, or edge Ruby.;T@
S;	;
i;I"Coding style;T@
o;
;[I"RHere are some general rules to follow when writing Ruby and C code for CRuby:;T@
o;;;;[o;;0;[o;
;[I"PIndent 4 spaces for C with tabs for eight-space indentation (emacs default);To;;0;[o;
;[I"!Indent 2 space tabs for Ruby;To;;0;[o;
;[I""Do not use TABs in ruby codes;To;;0;[o;
;[I"4ANSI C style for 1.9+ for function declarations;To;;0;[o;
;[I""Follow C90 (not C99) Standard;To;;0;[o;
;[I"(PascalStyle for class/module names.;To;;0;[o;
;[I"9UNDERSCORE_SEPARATED_UPPER_CASE for other constants.;To;;0;[o;
;[I"Capitalize words.;To;;0;[o;
;[I"$ABBRs should be all upper case.;To;;0;[o;
;[I"Do as others do;T@
S;	;
i;I"ChangeLog;T@
o;
;[I"QAlthough not required, if you wish to add a ChangeLog entry for your change ;TI"please note:;T@
o;
;[I"OYou can use the following template for the ChangeLog entry on your commit:;T@
o;;[I"AThu Jan  1 00:00:00 2004  Your Name  <yourmail@example.com>
;TI"
;TI"D      * filename (function): short description of this commit.
;TI"@        This should include your intention of this change.
;TI"0        [bug:#number] [mailinglist:number]
;TI"
;TI"S      * filename2 (function2): additional description for this file/function.
;T;0o;
;[I"3This follows {GNU Coding Standards for Change ;TI"VLogs}[http://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs], ;TI"&some other requirements and tips:;T@
o;;;;[o;;0;[o;
;[I">Timestamps must be in JST (+09:00) in the style as above.;To;;0;[o;
;[I"HTwo spaces between the timestamp and your name. Two spaces between ;TI"%your name and your mail address.;To;;0;[o;
;[I">One blank line between the timestamp and the description.;To;;0;[o;
;[I"IIndent the description with TAB. 2nd line should begin with TAB+2SP.;To;;0;[o;
;[I"'Write a entry (*) for each change.;To;;0;[o;
;[I">Refer to redmine issue or discussion on the mailing list.;To;;0;[o;
;[I":For GitHub issues, use [GH-#] (such as [Fixes GH-234];To;;0;[o;
;[I"$One blank line between entries.;To;;0;[o;
;[I"Do as other committers do.;T@
o;
;[I"MYou can generate the ChangeLog entry by running <code>make change</code>;T@
o;
;[I"UWhen you're ready to commit, copy your ChangeLog entry into the commit message, ;TI"7keeping the same formatting and select your files:;T@
o;;[I"(git commit ChangeLog path/to/files
;T;0o;
;[I"TIn the likely event that your branch becomes outdated, you will have to update ;TI"your working branch:;T@
o;;[I"git fetch origin
;TI"&git rebase remotes/origin/master
;T;0o;
;[
I"ONow that you've got some code you want to contribute, let's get set up to ;TI"Ugenerate a patch. Start by forking the github mirror, check the {github docs on ;TI"Sforking}[https://help.github.com/articles/fork-a-repo] if you get stuck here. ;TI"OYou will only need a github account if you intend to host your repository ;TI"on github.;T@
o;
;[I"RNext copy the writable url for your fork and add it as a git remote, replace ;TI"1"my_username" with your github account name:;T@
o;;[I"@git remote add my_fork git@github.com:my_username/ruby.git
;TI".# Now we can push our branch to our fork
;TI"$git push my_fork my_new_branch
;T;0o;
;[I"UIn order to generate a patch that you can upload to the bug tracker, we can use ;TI";the github interface to review our changes just visit ;TI"Fhttps://github.com/my_username/ruby/compare/trunk...my_new_branch;T@
o;
;[	I"SNext, you can simply add '.patch' to the end of this URL and it will generate ;TI"Pthe patch for you, save the file to your computer and upload it to the bug ;TI"Ttracker. Alternatively you can submit a pull request, but for the best chances ;TI"Eto receive feedback add it is recommended you add it to redmine.;T@
o;
;[
I"TSince git is a distributed system, you are welcome to host your git repository ;TI")on any {publicly accessible hosting ;TI"Vsite}[https://git.wiki.kernel.org/index.php/GitHosting], including {hosting your ;TI"aown}[https://www.kernel.org/pub/software/scm/git/docs/user-manual.html#public-repositories] ;TI"TYou may use the {'git format-patch'}[http://git-scm.com/docs/git-format-patch] ;TI"Mcommand to generate patch files to upload to redmine.  You may also use ;TI"Tthe {'git request-pull'}[http://git-scm.com/docs/git-request-pull] command for ;TI"1formatting pull request messages to redmine.;T:
@file@:0@omit_headings_from_table_of_contents_below0U:RDoc::NormalClass[iI"SOCKSSocket:ET@I"TCPSocket;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"LSOCKS is an Internet protocol that routes packets between a client and ;TI"Ja server through a proxy server.  SOCKS5, if supported, additionally ;TI"Jprovides authentication so only authorized users may access a server.;T:
@fileI"ext/socket/sockssocket.c;T:0@omit_headings_from_table_of_contents_below0o;;[;
I"lib/resolv-replace.rb;T;0;
0;0[[[[[I"
class;T[[:public[[I"new;TI"ext/socket/sockssocket.c;T[@ I"lib/resolv-replace.rb;T[:protected[[:private[[I"
instance;T[[;[[I"
close;T@![;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"new:ETI"SOCKSSocket::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/resolv-replace.rb;T:0@omit_headings_from_table_of_contents_below000[I"(host, serv);T@FI"SOCKSSocket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
close:ETI"SOCKSSocket#close;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"!Closes the SOCKS connection.;T:
@fileI"ext/socket/sockssocket.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"SOCKSSocket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
instance:ETI"Syslog::instance;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Returns self, for backward compatibility.;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Syslog;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"opened?:ETI"Syslog::opened?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Returns true if the syslog is open.;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0I"
opened?
;T0[I"();T@FI"Syslog;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"options:ETI"Syslog::options;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns the options bitmask used in the last call to open();T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Syslog;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"
Level:ETI"Syslog::Level;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"Syslog;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"Option:ETI"Syslog::Option;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"Syslog;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"log:ETI"Syslog::log;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Log a message with the specified priority. Example:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"7Syslog.log(Syslog::LOG_CRIT, "Out of disk space")
;TI"DSyslog.log(Syslog::LOG_CRIT, "User %s logged in", ENV['USER'])
;T:@format0o;
;	[I"3The priority levels, in descending order, are:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[
o:RDoc::Markup::ListItem:@label[I"LOG_EMERG;T;	[o;
;	[I"System is unusable;To;;[I"LOG_ALERT;T;	[o;
;	[I")Action needs to be taken immediately;To;;[I"
LOG_CRIT;T;	[o;
;	[I"&A critical condition has occurred;To;;[I"LOG_ERR;T;	[o;
;	[I"An error occurred;To;;[I"LOG_WARNING;T;	[o;
;	[I""Warning of a possible problem;To;;[I"LOG_NOTICE;T;	[o;
;	[I"0A normal but significant condition occurred;To;;[I"
LOG_INFO;T;	[o;
;	[I"Informational message;To;;[I"LOG_DEBUG;T;	[o;
;	[I"Debugging information;T@o;
;	[I"XEach priority level also has a shortcut method that logs with it's named priority. ;TI"OAs an example, the two following statements would produce the same result:;T@o;;	[I"4Syslog.log(Syslog::LOG_ALERT, "Out of memory")
;TI"#Syslog.alert("Out of memory")
;T;
0o;
;	[I"MFormat strings are as for printf/sprintf, except that in addition %m is ;TI"Freplaced with the error message string that would be returned by ;TI"strerror(errno).;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0I"0log(priority, format_string, *format_args)
;T0[I"(*args);T@]FI"Syslog;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"Syslog:ET@0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"NThe syslog package provides a Ruby interface to the POSIX system logging ;TI"facility.;To:RDoc::Markup::BlankLineo;	;[
I"GSyslog messages are typically passed to a central logging daemon. ;TI"JThe daemon may filter them; route them into different files (usually ;TI"Afound under /var/log); place them in SQL databases; forward ;TI"Kthem to centralized logging servers via TCP or UDP; or even alert the ;TI";system administrator via email, pager or text message.;T@o;	;[I"NUnlike application-level logging via Logger or Log4r, syslog is designed ;TI"*to allow secure tamper-proof logging.;T@o;	;[I"5The syslog protocol is standardized in RFC 5424.;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[I"
close;TI"ext/syslog/syslog.c;T[I"
facility;T@+[I"
ident;T@+[I"inspect;T@+[I"
instance;T@+[I"log;T@+[I"	mask;T@+[I"
mask=;T@+[I"	open;T@+[I"
open!;T@+[I"opened?;T@+[I"options;T@+[I"reopen;T@+[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[I"$ext/syslog/lib/syslog/logger.rb;T@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"	mask:ETI"Syslog::mask;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OReturns the log priority mask in effect. The mask is not reset by opening ;TI"or closing syslog.;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Syslog;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"reopen:ETI"Syslog::reopen;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Closes and then reopens the syslog.;To:RDoc::Markup::BlankLineo;
;	[I"*Arguments are the same as for open().;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0I"/reopen(ident, options, facility) => syslog;TI"syslog;T[I"(*args);T@FI"Syslog;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"
Facility:ETI"Syslog::Facility;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"Syslog;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
mask=:ETI"Syslog::mask=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PSets the log priority mask. A method LOG_UPTO is defined to make it easier ;TI"!to set mask values. Example:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"5Syslog.mask = Syslog::LOG_UPTO(Syslog::LOG_ERR)
;T:@format0o;
;	[I"QAlternatively, specific priorities can be selected and added together using ;TI"binary OR. Example:;T@o;;	[I"ZSyslog.mask = Syslog::LOG_MASK(Syslog::LOG_ERR) | Syslog::LOG_MASK(Syslog::LOG_CRIT)
;T;
0o;
;	[I"DThe priority mask persists through calls to open() and close().;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0I"mask=(priority_mask)
;T0[I"	(p1);T@FI"Syslog;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
ident:ETI"Syslog::ident;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns the identity string used in the last call to open();T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Syslog;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
close:ETI"Syslog::close;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"!Closes the syslog facility. ;TI"2Raises a runtime exception if it is not open.;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Syslog;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"inspect:ETI"Syslog::inspect;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns an inspect() string summarizing the object state.;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Syslog;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	open:ETI"Syslog::open;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Open the syslog facility. ;TI"6Raises a runtime exception if it is already open.;To:RDoc::Markup::BlankLineo;
;	[I"MCan be called with or without a code block. If called with a block, the ;TI"2Syslog object created is passed to the block.;T@o;
;	[I":If the syslog is already open, raises a RuntimeError.;T@o;
;	[I">+ident+ is a String which identifies the calling program.;T@o;
;	[I"9+options+ is the logical OR of any of the following:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"
LOG_CONS;T;	[o;
;	[I">If there is an error while sending to the system logger, ;TI"+write directly to the console instead.;T@o;;[I"LOG_NDELAY;T;	[o;
;	[I"@Open the connection now, rather than waiting for the first ;TI"message to be written.;T@o;;[I"LOG_NOWAIT;T;	[o;
;	[I">Don't wait for any child processes created while logging ;TI"(messages. (Has no effect on Linux.);T@o;;[I"LOG_ODELAY;T;	[o;
;	[I"AOpposite of LOG_NDELAY; wait until a message is sent before ;TI"3opening the connection. (This is the default.);T@o;;[I"LOG_PERROR;T;	[o;
;	[I"BPrint the message to stderr as well as sending it to syslog. ;TI"(Not in POSIX.1-2001.);T@o;;[I"LOG_PID;T;	[o;
;	[I"6Include the current process ID with each message.;T@o;
;	[I"I+facility+ describes the type of program opening the syslog, and is ;TI"Nthe logical OR of any of the following which are defined for the host OS:;T@o;;
;;[o;;[I"
LOG_AUTH;T;	[o;
;	[I"=Security or authorization. Deprecated, use LOG_AUTHPRIV ;TI"
instead.;T@o;;[I"LOG_AUTHPRIV;T;	[o;
;	[I"=Security or authorization messages which should be kept ;TI"
private.;T@o;;[I"LOG_CONSOLE;T;	[o;
;	[I"System console message.;T@o;;[I"
LOG_CRON;T;	[o;
;	[I"(System task scheduler (cron or at).;T@o;;[I"LOG_DAEMON;T;	[o;
;	[I"<A system daemon which has no facility value of its own.;T@o;;[I"LOG_FTP;T;	[o;
;	[I"An FTP server.;T@o;;[I"
LOG_KERN;T;	[o;
;	[I"AA kernel message (not sendable by user processes, so not of ;TI"9much use to Ruby, but listed here for completeness).;T@o;;[I"LOG_LPR;T;	[o;
;	[I"Line printer subsystem.;T@o;;[I"
LOG_MAIL;T;	[o;
;	[I"*Mail delivery or transport subsystem.;T@o;;[I"
LOG_NEWS;T;	[o;
;	[I"Usenet news system.;T@o;;[I"LOG_NTP;T;	[o;
;	[I""Network Time Protocol server.;T@o;;[I"LOG_SECURITY;T;	[o;
;	[I"General security message.;T@o;;[I"LOG_SYSLOG;T;	[o;
;	[I"-Messages generated internally by syslog.;T@o;;[I"
LOG_USER;T;	[o;
;	[I" Generic user-level message.;T@o;;[I"
LOG_UUCP;T;	[o;
;	[I"UUCP subsystem.;T@o;;[I"LOG_LOCAL0 to LOG_LOCAL7;T;	[o;
;	[I" Locally-defined facilities.;T@o;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[I"-Syslog.open("webrick", Syslog::LOG_PID,
;TI"9            Syslog::LOG_DAEMON | Syslog::LOG_LOCAL3);T:@format0:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0I".open(ident, options, facility) => syslog
;TI"syslog;T[I" (p1 = v1, p2 = v2, p3 = v3);T@�FI"Syslog;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
included:ETI"Syslog::Macros::included;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below000[I"	(p1);T@FI"Macros;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
LOG_MASK:ETI"Syslog::Macros#LOG_MASK;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Generates a mask bit for a priority level. See #mask=;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0I"/LOG_MASK(priority_level) => priority_mask
;T0[I"	(p1);T@FI"Macros;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"Macros:ETI"Syslog::Macros;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"
included;TI"ext/syslog/syslog.c;T[:protected[[:private[[I"
instance;T[[;[[I"
LOG_MASK;T@[I"
LOG_UPTO;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"Syslog;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
LOG_UPTO:ETI"Syslog::Macros#LOG_UPTO;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"QGenerates a mask value for priority levels at or below the level specified. ;TI"See #mask=;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0I"/LOG_UPTO(priority_level) => priority_mask
;T0[I"	(p1);T@FI"Macros;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
open!:ETI"Syslog::open!;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Closes and then reopens the syslog.;To:RDoc::Markup::BlankLineo;
;	[I"*Arguments are the same as for open().;T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0I"0reopen(ident, options, facility) => syslog
;TI"syslog;T[I"(*args);T@FI"Syslog;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
facility:ETI"Syslog::facility;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns the facility number used in the last call to open();T:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Syslog;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"syslog=:ETI"Syslog::Logger::syslog=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Specifies the internal Syslog object to be used.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(syslog);T@FI"Logger;TcRDoc::NormalClass00U:RDoc::Attr[iI"formatter:ETI"Syslog::Logger#formatter;TI"RW;T:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"FLogging formatter, as a +Proc+ that will take four arguments and ;TI"5return the formatted message. The arguments are:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:	NOTE:@items[	o:RDoc::Markup::ListItem:@label[I"+severity+;T;	[o;
;	[I"%The Severity of the log message.;To;;[I"+time+;T;	[o;
;	[I">A Time instance representing when the message was logged.;To;;[I"+progname+;T;	[o;
;	[I">The #progname configured, or passed to the logger method.;To;;[I"
+msg+;T;	[o;
;	[I"HThe _Object_ the user passed to the log message; not necessarily a ;TI"String.;T@o;
;	[I"JThe block should return an Object that can be written to the logging ;TI"Mdevice via +write+.  The default formatter is used when no formatter is ;TI"	set.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below0F@5I"Syslog::Logger;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"Logger:ETI"Syslog::Logger;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"PSyslog::Logger is a Logger work-alike that logs via syslog instead of to a ;TI"Jfile.  You can use Syslog::Logger to aggregate logs between multiple ;TI"machines.;To:RDoc::Markup::BlankLineo;	;[I"NBy default, Syslog::Logger uses the program name 'ruby', but this can be ;TI":changed via the first argument to Syslog::Logger.new.;T@o;	;[
I"PNOTE! You can only set the Syslog::Logger program name when you initialize ;TI"ISyslog::Logger for the first time.  This is a limitation of the way ;TI"KSyslog::Logger uses syslog (and in some ways, a limitation of the way ;TI"Osyslog(3) works).  Attempts to change Syslog::Logger's program name after ;TI".the first initialization will be ignored.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;	;[I"=The following will log to syslogd on your local machine:;T@o:RDoc::Markup::Verbatim;[	I"require 'syslog/logger'
;TI"
;TI"+log = Syslog::Logger.new 'my_program'
;TI"7log.info 'this line will be logged via syslog(3)'
;T:@format0o;	;[I"SAlso the facility may be set to specify the facility level which will be used:;T@o;;[	I"Mlog.info 'this line will be logged using Syslog default facility level'
;TI"
;TI"Flog_local1 = Syslog::Logger.new 'my_program', Syslog::LOG_LOCAL1
;TI"Llog_local1.info 'this line will be logged using local1 facility level'
;T;0o;	;[I"RYou may need to perform some syslog.conf setup first.  For a BSD machine add ;TI"-the following lines to /etc/syslog.conf:;T@o;;[I"!my_program
;TI"M*.*                                             /var/log/my_program.log
;T;0o;	;[I"FThen touch /var/log/my_program.log and signal syslogd with a HUP ;TI"((killall -HUP syslogd, on FreeBSD).;T@o;	;[I"KIf you wish to have logs automatically roll over and archive, see the ;TI"2newsyslog.conf(5) and newsyslog(8) man pages.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[
I"
facility;TI"RW;T:publicFI"$ext/syslog/lib/syslog/logger.rb;T[
I"formatter;T@G;F@H[
I"
level;T@G;F@H[U:RDoc::Constant[iI"VERSION;TI"Syslog::Logger::VERSION;T;0o;;[o;	;[I"1The version of Syslog::Logger you are using.;T;@C;0@C@cRDoc::NormalClass0U;[iI"LEVEL_MAP;TI"Syslog::Logger::LEVEL_MAP;T;0o;;[o;	;[I":Maps Logger warning types to syslog(3) warning types.;T@o;	;[	I"PMessages from Ruby applications are not considered as critical as messages ;TI"Pfrom other system daemons using syslog(3), so most messages are reduced by ;TI"None level.  For example, a fatal message for Ruby's Logger is considered ;TI"an error for syslog(3).;T;@C;0@C@@W0[[[I"
class;T[[;[	[I"make_methods;T@H[I"new;T@H[I"syslog;T@H[I"syslog=;T@H[:protected[[:private[[I"
instance;T[[;[[I"add;T@H[I"
debug;T@H[I"
error;T@H[I"
fatal;T@H[I"	info;T@H[I"unknown;T@H[I"	warn;T@H[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@C@CcRDoc::TopLevelU:RDoc::GhostMethod[iI"	warn:ETI"Syslog::Logger#warn;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ILogs a +message+ at the warn (syslog notice) log level, or logs the ;TI"%message returned from the block.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Logger;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Syslog::Logger::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HFills in variables for Logger compatibility.  If this is the first ;TI"Pinstance of Syslog::Logger, +program_name+ may be set to change the logged ;TI"^program name. The +facility+ may be set to specify the facility level which will be used.;To:RDoc::Markup::BlankLineo;
;	[I"FDue to the way syslog works, only one program name may be chosen.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I",(program_name = 'ruby', facility = nil);T@FI"Logger;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
clean:ETI"$Syslog::Logger::Formatter#clean;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Clean up messages so they're nice and pretty.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I"(message);T@FI"Formatter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	call:ETI"#Syslog::Logger::Formatter#call;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I"$(severity, time, progname, msg);T@FI"Formatter;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Formatter:ETI"Syslog::Logger::Formatter;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"(Default formatter for log messages.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"	call;TI"$ext/syslog/lib/syslog/logger.rb;T[;
[[;[[I"
clean;T@&[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Syslog::Logger;TcRDoc::NormalClassU:RDoc::GhostMethod[iI"
error:ETI"Syslog::Logger#error;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KLogs a +message+ at the error (syslog warning) log level, or logs the ;TI"%message returned from the block.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Logger;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"make_methods:ETI"!Syslog::Logger::make_methods;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'Builds a methods for level +meth+.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I"(meth);T@FI"Logger;TcRDoc::NormalClass00U:RDoc::GhostMethod[iI"unknown:ETI"Syslog::Logger#unknown;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KLogs a +message+ at the unknown (syslog alert) log level, or logs the ;TI"%message returned from the block.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Logger;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"add:ETI"Syslog::Logger#add;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Almost duplicates Logger#add.  +progname+ is ignored.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I"6(severity, message = nil, progname = nil, &block);T@FI"Logger;TcRDoc::NormalClass00U:RDoc::GhostMethod[iI"	info:ETI"Syslog::Logger#info;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OLogs a +message+ at the info (syslog info) log level, or logs the message ;TI"returned from the block.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Logger;TcRDoc::NormalClass00U:RDoc::Attr[iI"
level:ETI"Syslog::Logger#level;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Log level for Logger compatibility.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Syslog::Logger;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"syslog:ETI"Syslog::Logger::syslog;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns the internal Syslog object that is initialized when the ;TI"first instance is created.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Logger;TcRDoc::NormalClass00U:RDoc::Attr[iI"
facility:ETI"Syslog::Logger#facility;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ZThe facility argument is used to specify what type of program is logging the message.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Syslog::Logger;TcRDoc::NormalClass0U:RDoc::NormalModule[iI"Severity::constants:ETI"Syslog::Logger::Severity;T0o:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"$ext/syslog/lib/syslog/logger.rb;TI"Syslog::Logger;TcRDoc::NormalClassU:RDoc::GhostMethod[iI"
fatal:ETI"Syslog::Logger#fatal;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OLogs a +message+ at the fatal (syslog err) log level, or logs the message ;TI"returned from the block.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Logger;TcRDoc::NormalClass00U:RDoc::GhostMethod[iI"
debug:ETI"Syslog::Logger#debug;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ILogs a +message+ at the debug (syslog debug) log level, or logs the ;TI"%message returned from the block.;T:
@fileI"$ext/syslog/lib/syslog/logger.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Logger;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
included:ETI" Syslog::Constants::included;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below000[I"	(p1);T@FI"Constants;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"Constants:ETI"Syslog::Constants;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"ext/syslog/syslog.c;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"Syslog::Option;To;;[;	@
;
0I"ext/syslog/syslog.c;T[I"Syslog::Facility;To;;[;	@
;
0@[I"Syslog::Level;To;;[;	@
;
0@[[I"
class;T[[:public[[I"
included;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"Syslog;TcRDoc::NormalModuleU:RDoc::TopLevel[	iI"marshal.rdoc:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[�S:RDoc::Markup::Heading:
leveli:	textI"Marshal Format;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"QThe Marshal format is used to serialize ruby objects.  The format can store ;TI"Garbitrary objects through three user-defined extension mechanisms.;T@
o;
;[I"RFor documentation on using Marshal to serialize and deserialize objects, see ;TI"the Marshal module.;T@
o;
;[I"IThis document calls a serialized set of objects a stream.  The Ruby ;TI"Pimplementation can load a set of objects from a String, an IO or an object ;TI"%that implements a +getc+ method.;T@
S;	;
i;I"Stream Format;T@
o;
;[I"TThe first two bytes of the stream contain the major and minor version, each as ;TI"Ma single byte encoding a digit.  The version implemented in Ruby is 4.8 ;TI"E(stored as "\x04\x08") and is supported by ruby 1.8.0 and newer.;T@
o;
;[	I"RDifferent major versions of the Marshal format are not compatible and cannot ;TI"Qbe understood by other major versions.  Lesser minor versions of the format ;TI"Scan be understood by newer minor versions.  Format 4.7 can be loaded by a 4.8 ;TI"Limplementation but format 4.8 cannot be loaded by a 4.7 implementation.;T@
o;
;[I"TFollowing the version bytes is a stream describing the serialized object.  The ;TI"Sstream contains nested objects (the same as a Ruby object) but objects in the ;TI"Nstream do not necessarily have a direct mapping to the Ruby object model.;T@
o;
;[I"SEach object in the stream is described by a byte indicating its type followed ;TI"Sby one or more bytes describing the object.  When "object" is mentioned below ;TI"@it means any of the types below that defines a Ruby object.;T@
S;	;
i;I"true, false, nil;T@
o;
;[I"JThese objects are each one byte long.  "T" is represents +true+, "F" ;TI"1represents +false+ and "0" represents +nil+.;T@
S;	;
i;I"Fixnum and long;T@
o;
;[	I"S"i" represents a signed 32 bit value using a packed format.  One through five ;TI"Lbytes follows the type.  The value loaded will always be a Fixnum.  On ;TI"M32 bit platforms (where the precision of a Fixnum is less than 32 bits) ;TI"7loading large values will cause overflow on CRuby.;T@
o;
;[	I"TThe fixnum type is used to represent both ruby Fixnum objects and the sizes of ;TI"Kmarshaled arrays, hashes, instance variables and other types.  In the ;TI"Tfollowing sections "long" will mean the format described below, which supports ;TI"full 32 bit precision.;T@
o;
;[I"5The first byte has the following special values:;T@
o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I""\x00";T;[o;
;[I"5The value of the integer is 0.  No bytes follow.;T@
o;;[I""\x01";T;[o;
;[I"JThe total size of the integer is two bytes.  The following byte is a ;TI"Npositive integer in the range of 0 through 255.  Only values between 123 ;TI":and 255 should be represented this way to save bytes.;T@
o;;[I""\xff";T;[o;
;[I"JThe total size of the integer is two bytes.  The following byte is a ;TI"6negative integer in the range of -1 through -256.;T@
o;;[I""\x02";T;[o;
;[I"RThe total size of the integer is three bytes.  The following two bytes are a ;TI"$positive little-endian integer.;T@
o;;[I""\xfe";T;[o;
;[I"RThe total size of the integer is three bytes.  The following two bytes are a ;TI"$negative little-endian integer.;T@
o;;[I""\x03";T;[o;
;[I"QThe total size of the integer is four bytes.  The following three bytes are ;TI"&a positive little-endian integer.;T@
o;;[I""\xfd";T;[o;
;[I"RThe total size of the integer is two bytes.  The following three bytes are a ;TI"$negative little-endian integer.;T@
o;;[I""\x04";T;[o;
;[	I"RThe total size of the integer is five bytes.  The following four bytes are a ;TI"Jpositive little-endian integer.  For compatibility with 32 bit ruby, ;TI"Ronly Fixnums less than 1073741824 should be represented this way.  For sizes ;TI"2of stream objects full precision may be used.;T@
o;;[I""\xfc";T;[o;
;[	I"QThe total size of the integer is two bytes.  The following four bytes are a ;TI"Jnegative little-endian integer.  For compatibility with 32 bit ruby, ;TI"Qonly Fixnums greater than -10737341824 should be represented this way.  For ;TI"8sizes of stream objects full precision may be used.;T@
o;
;[	I"QOtherwise the first byte is a sign-extended eight-bit value with an offset. ;TI"PIf the value is positive the value is determined by subtracting 5 from the ;TI"Qvalue.  If the value is negative the value is determined by adding 5 to the ;TI"value.;T@
o;
;[I"SThere are multiple representations for many values.  CRuby always outputs the ;TI"&shortest representation possible.;T@
S;	;
i;I"Symbols and Byte Sequence;T@
o;
;[
I"N":" represents a real symbol.  A real symbol contains the data needed to ;TI"Odefine the symbol for the rest of the stream as future occurrences in the ;TI"Sstream will instead be references (a symbol link) to this one.  The reference ;TI"Tis a zero-indexed 32 bit value (so the first occurrence of <code>:hello</code> ;TI"is 0).;T@
o;
;[I"RFollowing the type byte is byte sequence which consists of a long indicating ;TI"Tthe number of bytes in the sequence followed by that many bytes of data.  Byte ;TI" sequences have no encoding.;T@
o;
;[I"OFor example, the following stream contains the Symbol <code>:hello</code>:;T@
o:RDoc::Markup::Verbatim;[I""\x04\x08:\x0ahello"
;T:@format0o;
;[I"P";" represents a Symbol link which references a previously defined Symbol. ;TI"TFollowing the type byte is a long containing the index in the lookup table for ;TI"$the linked (referenced) Symbol.;T@
o;
;[I"NFor example, the following stream contains <code>[:hello, :hello]</code>:;T@
o;;[I""\x04\b[\a:\nhello;\x00"
;T;0o;
;[I"MWhen a "symbol" is referenced below it may be either a real symbol or a ;TI"symbol link.;T@
S;	;
i;I"Object References;T@
o;
;[
I"RSeparate from but similar to symbol references, the stream contains only one ;TI"Ncopy of each object (as determined by #object_id) for all objects except ;TI"Ktrue, false, nil, Fixnums and Symbols (which are stored separately as ;TI"Tdescribed above) a one-indexed 32 bit value will be stored and reused when the ;TI"Hobject is encountered again.  (The first object has an index of 1).;T@
o;
;[I"R"@" represents an object link.  Following the type byte is a long giving the ;TI"index of the object.;T@
o;
;[I"EFor example, the following stream contains an Array of the same ;TI"'<code>"hello"</code> object twice:;T@
o;;[I""\004\b[\a\"\nhello@\006"
;T;0S;	;
i;I"Instance Variables;T@
o;
;[
I"N"I" indicates that instance variables follow the next object.  An object ;TI"Tfollows the type byte.  Following the object is a length indicating the number ;TI"Mof instance variables for the object.  Following the length is a set of ;TI"Qname-value pairs.  The names are symbols while the values are objects.  The ;TI"Csymbols must be instance variable names (<code>:@name</code>).;T@
o;
;[I"QAn Object ("o" type, described below) uses the same format for its instance ;TI"!variables as described here.;T@
o;
;[I"KFor a String and Regexp (described below) a special instance variable ;TI"6<code>:E</code> is used to indicate the Encoding.;T@
S;	;
i;I"
Extended;T@
o;
;[I"T"e" indicates that the next object is extended by a module.  An object follows ;TI"Tthe type byte.  Following the object is a symbol that contains the name of the ;TI"&module the object is extended by.;T@
S;	;
i;I"
Array;T@
o;
;[I"P"[" represents an Array.  Following the type byte is a long indicating the ;TI"Mnumber of objects in the array.  The given number of objects follow the ;TI"length.;T@
S;	;
i;I"Bignum;T@
o;
;[I">"l" represents a Bignum which is composed of three parts:;T@
o;;;;[o;;[I"	sign;T;[o;
;[I"MA single byte containing "+" for a positive value or "-" for a negative ;TI"value.;To;;[I"length;T;[o;
;[I"NA long indicating the number of bytes of Bignum data follows, divided by ;TI"Otwo.  Multiply the length by two to determine the number of bytes of data ;TI"that follow.;To;;[I"	data;T;[o;
;[I"2Bytes of Bignum data representing the number.;T@
o;
;[I"PThe following ruby code will reconstruct the Bignum value from an array of ;TI"bytes:;T@
o;;[
I"result = 0
;TI"
;TI"*bytes.each_with_index do |byte, exp|
;TI"( result += (byte * 2 ** (exp * 8))
;TI"	end
;T;0S;	;
i;I"Class and Module;T@
o;
;[
I"O"c" represents a Class object, "m" represents a Module and "M" represents ;TI"Reither a class or module (this is an old-style for compatibility).  No class ;TI"Ror module content is included, this type is only a reference.  Following the ;TI"Ptype byte is a byte sequence which is used to look up an existing class or ;TI"module, respectively.;T@
o;
;[I"=Instance variables are not allowed on a class or module.;T@
o;
;[I"@If no class or module exists an exception should be raised.;T@
o;
;[I"IFor "c" and "m" types, the loaded object must be a class or module, ;TI"respectively.;T@
S;	;
i;I"	Data;T@
o;
;[I"Q"d" represents a Data object.  (Data objects are wrapped pointers from ruby ;TI"Textensions.)  Following the type byte is a symbol indicating the class for the ;TI"JData object and an object that contains the state of the Data object.;T@
o;
;[I"TTo dump a Data object Ruby calls _dump_data.  To load a Data object Ruby calls ;TI"K_load_data with the state of the object on a newly allocated instance.;T@
S;	;
i;I"
Float;T@
o;
;[I"P"f" represents a Float object.  Following the type byte is a byte sequence ;TI"Ccontaining the float value.  The following values are special:;T@
o;;;;[o;;[I"
"inf";T;[o;
;[I"Positive infinity;T@
o;;[I""-inf";T;[o;
;[I"Negative infinity;T@
o;;[I"
"nan";T;[o;
;[I"Not a Number;T@
o;
;[I"NOtherwise the byte sequence contains a C double (loadable by strtod(3)). ;TI"OOlder minor versions of Marshal also stored extra mantissa bits to ensure ;TI"Fportability across platforms but 4.8 does not include these.  See;To;;:
LABEL;[o;;[I"ruby-talk:69518;T;[o;
;[I"for some explanation.;T@
S;	;
i;I"%Hash and Hash with Default Value;T@
o;
;[	I"S"{" represents a Hash object while "}" represents a Hash with a default value ;TI"Rset (<code>Hash.new 0</code>).  Following the type byte is a long indicating ;TI"Sthe number of key-value pairs in the Hash, the size.  Double the given number ;TI" of objects follow the size.;T@
o;
;[I"NFor a Hash with a default value, the default value follows all the pairs.;T@
S;	;
i;I"Module and Old Module;T@
S;	;
i;I"Object;T@
o;
;[
I"P"o" represents an object that doesn't have any other special form (such as ;TI"Na user-defined or built-in format).  Following the type byte is a symbol ;TI"Rcontaining the class name of the object.  Following the class name is a long ;TI"Qindicating the number of instance variable names and values for the object. ;TI"ADouble the given number of pairs of objects follow the size.;T@
o;
;[I"NThe keys in the pairs must be symbols containing instance variable names.;T@
S;	;
i;I"Regular Expression;T@
o;
;[	I"M"/" represents a regular expression.  Following the type byte is a byte ;TI"Tsequence containing the regular expression source.  Following the type byte is ;TI"Ta byte containing the regular expression options (case-insensitive, etc.) as a ;TI"signed 8-bit value.;T@
o;
;[	I"RRegular expressions can have an encoding attached through instance variables ;TI"O(see above).  If no encoding is attached escapes for the following regexp ;TI"Rspecials not present in ruby 1.8 must be removed: g-m, o-q, u, y, E, F, H-L, ;TI"N-V, X, Y.;T@
S;	;
i;I"String;T@
o;
;[	I"J'"' represents a String.  Following the type byte is a byte sequence ;TI"Tcontaining the string content.  When dumped from ruby 1.9 an encoding instance ;TI"Tvariable (<code>:E</code> see above) should be included unless the encoding is ;TI"binary.;T@
S;	;
i;I"Struct;T@
o;
;[
I"R"S" represents a Struct.  Following the type byte is a symbol containing the ;TI"Pname of the struct.  Following the name is a long indicating the number of ;TI"Smembers in the struct.  Double the number of objects follow the member count. ;TI"PEach member is a pair containing the member's symbol and an object for the ;TI"value of that member.;T@
o;
;[I"PIf the struct name does not match a Struct subclass in the running ruby an ;TI" exception should be raised.;T@
o;
;[I"QIf there is a mismatch between the struct in the currently running ruby and ;TI"Lthe member count in the marshaled struct an exception should be raised.;T@
S;	;
i;I"User Class;T@
o;
;[I"R"C" represents a subclass of a String, Regexp, Array or Hash.  Following the ;TI"Ttype byte is a symbol containing the name of the subclass.  Following the name ;TI"is the wrapped object.;T@
S;	;
i;I"User Defined;T@
o;
;[	I"Q"u" represents an object with a user-defined serialization format using the ;TI"S+_dump+ instance method and +_load+ class method.  Following the type byte is ;TI"Ma symbol containing the class name.  Following the class name is a byte ;TI"Gsequence containing the user-defined representation of the object.;T@
o;
;[I"TThe class method +_load+ is called on the class with a string created from the ;TI"byte-sequence.;T@
S;	;
i;I"User Marshal;T@
o;
;[	I"Q"U" represents an object with a user-defined serialization format using the ;TI"R+marshal_dump+ and +marshal_load+ instance methods.  Following the type byte ;TI"Sis a symbol containing the class name.  Following the class name is an object ;TI"containing the data.;T@
o;
;[I"NUpon loading a new instance must be allocated and +marshal_load+ must be ;TI"*called on the instance with the data.;T:
@file@:0@omit_headings_from_table_of_contents_below0U:RDoc::AnyMethod[iI"	gmt?:ETI"Time#gmt?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Returns +true+ if _time_ represents a time in UTC (GMT).;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Gt = Time.now                        #=> 2007-11-19 08:15:23 -0600
;TI"3t.utc?                              #=> false
;TI"Et = Time.gm(2000,"jan",1,20,15,1)   #=> 2000-01-01 20:15:01 UTC
;TI"2t.utc?                              #=> true
;TI"
;TI"Gt = Time.now                        #=> 2007-11-19 08:16:03 -0600
;TI"3t.gmt?                              #=> false
;TI"Et = Time.gm(2000,1,1,20,15,1)       #=> 2000-01-01 20:15:01 UTC
;TI"1t.gmt?                              #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.gmt? -> true or false;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"now:ETI"Time::now;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Creates a new Time object for the current time. ;TI"0This is same as Time.new without arguments.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"6Time.now            #=> 2009-06-24 12:39:54 +0900;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"Time.now -> time
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
strptime:ETI"Time::strptime;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"IParses +date+ using Date._strptime and converts it to a Time object.;To:RDoc::Markup::BlankLineo;
;	[I"KIf a block is given, the year described in +date+ is converted by the ;TI"block.  For example:;T@o:RDoc::Markup::Verbatim;	[I"LTime.strptime(...) {|y| y < 100 ? (y >= 69 ? y + 1900 : y + 2000) : y}
;T:@format0o;
;	[I"/Below is a list of the formatting options:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[/o:RDoc::Markup::ListItem:@label[I"%a ;T;	[o;
;	[I")The abbreviated weekday name ("Sun");To;;[I"%A ;T;	[o;
;	[I"(The  full  weekday  name ("Sunday");To;;[I"%b ;T;	[o;
;	[I"'The abbreviated month name ("Jan");To;;[I"%B ;T;	[o;
;	[I"'The  full  month  name ("January");To;;[I"%c ;T;	[o;
;	[I"5The preferred local date and time representation;To;;[I"%C ;T;	[o;
;	[I"Century (20 in 2009);To;;[I"%d ;T;	[o;
;	[I"Day of the month (01..31);To;;[I"%D ;T;	[o;
;	[I"Date (%m/%d/%y);To;;[I"%e ;T;	[o;
;	[I",Day of the month, blank-padded ( 1..31);To;;[I"%F ;T;	[o;
;	[I"6Equivalent to %Y-%m-%d (the ISO 8601 date format);To;;[I"%h ;T;	[o;
;	[I"Equivalent to %b;To;;[I"%H ;T;	[o;
;	[I",Hour of the day, 24-hour clock (00..23);To;;[I"%I ;T;	[o;
;	[I",Hour of the day, 12-hour clock (01..12);To;;[I"%j ;T;	[o;
;	[I"Day of the year (001..366);To;;[I"%k ;T;	[o;
;	[I"/hour, 24-hour clock, blank-padded ( 0..23);To;;[I"%l ;T;	[o;
;	[I"/hour, 12-hour clock, blank-padded ( 0..12);To;;[I"%L ;T;	[o;
;	[I")Millisecond of the second (000..999);To;;[I"%m ;T;	[o;
;	[I"Month of the year (01..12);To;;[I"%M ;T;	[o;
;	[I" Minute of the hour (00..59);To;;[I"%n ;T;	[o;
;	[I"Newline (\n);To;;[I"%N ;T;	[o;
;	[I"@Fractional seconds digits, default is 9 digits (nanosecond);To;;;;[o;;[I"	%3N ;T;	[o;
;	[I"millisecond (3 digits);To;;[I"	%6N ;T;	[o;
;	[I"microsecond (6 digits);To;;[I"	%9N ;T;	[o;
;	[I"nanosecond (9 digits);To;;[I"%p ;T;	[o;
;	[I"&Meridian indicator ("AM" or "PM");To;;[I"%P ;T;	[o;
;	[I"&Meridian indicator ("am" or "pm");To;;[I"%r ;T;	[o;
;	[I"(time, 12-hour (same as %I:%M:%S %p);To;;[I"%R ;T;	[o;
;	[I"time, 24-hour (%H:%M);To;;[I"%s ;T;	[o;
;	[I"5Number of seconds since 1970-01-01 00:00:00 UTC.;To;;[I"%S ;T;	[o;
;	[I""Second of the minute (00..60);To;;[I"%t ;T;	[o;
;	[I"Tab character (\t);To;;[I"%T ;T;	[o;
;	[I"time, 24-hour (%H:%M:%S);To;;[I"%u ;T;	[o;
;	[I"9Day of the week as a decimal, Monday being 1. (1..7);To;;[I"%U ;T;	[o;
;	[I"HWeek number of the current year, starting with the first Sunday as ;TI"-the first day of the first week (00..53);To;;[I"%v ;T;	[o;
;	[I"VMS date (%e-%b-%Y);To;;[I"%V ;T;	[o;
;	[I"7Week number of year according to ISO 8601 (01..53);To;;[I"%W ;T;	[o;
;	[I"GWeek  number  of the current year, starting with the first Monday ;TI"0as the first day of the first week (00..53);To;;[I"%w ;T;	[o;
;	[I"(Day of the week (Sunday is 0, 0..6);To;;[I"%x ;T;	[o;
;	[I"9Preferred representation for the date alone, no time;To;;[I"%X ;T;	[o;
;	[I"9Preferred representation for the time alone, no date;To;;[I"%y ;T;	[o;
;	[I"$Year without a century (00..99);To;;[I"%Y ;T;	[o;
;	[I"0Year which may include century, if provided;To;;[I"%z ;T;	[o;
;	[I"4Time zone as  hour offset from UTC (e.g. +0900);To;;[I"%Z ;T;	[o;
;	[I"Time zone name;To;;[I"%% ;T;	[o;
;	[I"Literal "%" character;T:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below00I"	year;T[I"!(date, format, now=self.now);T@UFI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	wday:ETI"Time#wday;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns an integer representing the day of the week, 0..6, with ;TI"Sunday == 0.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-20 02:35:35 -0600
;TI"t.wday         #=> 2
;TI"t.sunday?      #=> false
;TI"t.monday?      #=> false
;TI"t.tuesday?     #=> true
;TI"t.wednesday?   #=> false
;TI"t.thursday?    #=> false
;TI"t.friday?      #=> false
;TI"t.saturday?    #=> false;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.wday -> integer
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	utc?:ETI"Time#utc?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Returns +true+ if _time_ represents a time in UTC (GMT).;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Gt = Time.now                        #=> 2007-11-19 08:15:23 -0600
;TI"3t.utc?                              #=> false
;TI"Et = Time.gm(2000,"jan",1,20,15,1)   #=> 2000-01-01 20:15:01 UTC
;TI"2t.utc?                              #=> true
;TI"
;TI"Gt = Time.now                        #=> 2007-11-19 08:16:03 -0600
;TI"3t.gmt?                              #=> false
;TI"Et = Time.gm(2000,1,1,20,15,1)       #=> 2000-01-01 20:15:01 UTC
;TI"1t.gmt?                              #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.utc? -> true or false;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"friday?:ETI"Time#friday?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Returns +true+ if _time_ represents Friday.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Dt = Time.local(1987, 12, 18)     #=> 1987-12-18 00:00:00 -0600
;TI".t.friday?                        #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"#time.friday? -> true or false
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	mday:ETI"Time#mday;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4Returns the day of the month (1..n) for _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-19 08:27:03 -0600
;TI"t.day          #=> 19
;TI"t.mday         #=> 19;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.mday -> integer;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_r:ETI"Time#to_r;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"AReturns the value of _time_ as a rational number of seconds ;TI"since the Epoch.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"t = Time.now
;TI">p t.to_r            #=> (1270968792716287611/1000000000)
;T:@format0o;
;	[I"BThis methods is intended to be used to get an accurate value ;TI"Krepresenting the nanoseconds since the Epoch. You can use this method ;TI"(to convert _time_ to another Epoch.;T:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.to_r -> a_rational
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"make_time:ETI"Time::make_time;TT:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"D(date, year, mon, day, hour, min, sec, sec_fraction, zone, now);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"force_zone!:ETI"Time::force_zone!;TT:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"(t, zone, offset=nil);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"xmlschema:ETI"Time#xmlschema;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MReturns a string which represents the time as a dateTime defined by XML ;TI"Schema:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"CCYY-MM-DDThh:mm:ssTZD
;TI" CCYY-MM-DDThh:mm:ss.sssTZD
;T:@format0o;
;	[I"!where TZD is Z or [+-]hh:mm.;T@o;
;	[I"KIf self is a UTC time, Z is used as TZD.  [+-]hh:mm is used otherwise.;T@o;
;	[I"L+fractional_digits+ specifies a number of digits to use for fractional ;TI"&seconds.  Its default value is 0.;T@o;
;	[I"0You must require 'time' to use this method.;T:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[[I"iso8601;To;;	[;@!;0I"(fraction_digits=0);T@!FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
round:ETI"Time#round;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"VRounds sub seconds to a given precision in decimal digits (0 digits by default). ;TI"#It returns a new Time object. ;TI"2+ndigits+ should be zero or positive integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[ I"require 'time'
;TI"
;TI"7t = Time.utc(2010,3,30, 5,43,"25.123456789".to_r)
;TI"Ep t.iso8601(10)           #=> "2010-03-30T05:43:25.1234567890Z"
;TI"Ep t.round.iso8601(10)     #=> "2010-03-30T05:43:25.0000000000Z"
;TI"Ep t.round(0).iso8601(10)  #=> "2010-03-30T05:43:25.0000000000Z"
;TI"Ep t.round(1).iso8601(10)  #=> "2010-03-30T05:43:25.1000000000Z"
;TI"Ep t.round(2).iso8601(10)  #=> "2010-03-30T05:43:25.1200000000Z"
;TI"Ep t.round(3).iso8601(10)  #=> "2010-03-30T05:43:25.1230000000Z"
;TI"Ep t.round(4).iso8601(10)  #=> "2010-03-30T05:43:25.1235000000Z"
;TI"Ep t.round(5).iso8601(10)  #=> "2010-03-30T05:43:25.1234600000Z"
;TI"Ep t.round(6).iso8601(10)  #=> "2010-03-30T05:43:25.1234570000Z"
;TI"Ep t.round(7).iso8601(10)  #=> "2010-03-30T05:43:25.1234568000Z"
;TI"Ep t.round(8).iso8601(10)  #=> "2010-03-30T05:43:25.1234567900Z"
;TI"Ep t.round(9).iso8601(10)  #=> "2010-03-30T05:43:25.1234567890Z"
;TI"Ep t.round(10).iso8601(10) #=> "2010-03-30T05:43:25.1234567890Z"
;TI"
;TI"(t = Time.utc(1999,12,31, 23,59,59)
;TI"Ep((t + 0.4).round.iso8601(3))    #=> "1999-12-31T23:59:59.000Z"
;TI"Ep((t + 0.49).round.iso8601(3))   #=> "1999-12-31T23:59:59.000Z"
;TI"Ep((t + 0.5).round.iso8601(3))    #=> "2000-01-01T00:00:00.000Z"
;TI"Ep((t + 1.4).round.iso8601(3))    #=> "2000-01-01T00:00:00.000Z"
;TI"Ep((t + 1.49).round.iso8601(3))   #=> "2000-01-01T00:00:00.000Z"
;TI"Ep((t + 1.5).round.iso8601(3))    #=> "2000-01-01T00:00:01.000Z"
;TI"
;TI"(t = Time.utc(1999,12,31, 23,59,59)
;TI"Op (t + 0.123456789).round(4).iso8601(6)  #=> "1999-12-31T23:59:59.123500Z";T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I")time.round([ndigits])   -> new_time
;T0[I"(p1 = v1);T@.FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tv_usec:ETI"Time#tv_usec;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Returns the number of microseconds for _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"7t = Time.now        #=> 2007-11-19 08:03:26 -0600
;TI"1"%10.6f" % t.to_f   #=> "1195481006.775195"
;TI"#t.usec              #=> 775195;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.tv_usec -> int;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"mktime:ETI"Time::mktime;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Same as Time::gm, but interprets the values in the ;TI"local time zone.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"ETime.local(2000,"jan",1,20,15,1)   #=> 2000-01-01 20:15:01 -0600;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"�Time.mktime(year) -> time
Time.mktime(year, month) -> time
Time.mktime(year, month, day) -> time
Time.mktime(year, month, day, hour) -> time
Time.mktime(year, month, day, hour, min) -> time
Time.mktime(year, month, day, hour, min, sec_with_frac) -> time
Time.mktime(year, month, day, hour, min, sec, usec_with_frac) -> time
Time.mktime(sec, min, hour, day, month, year, dummy, dummy, isdst, dummy) -> time;T0[I"(*args);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_date:ETI"Time#to_date;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Returns a Date object which denotes self.;T:
@fileI"ext/date/date_core.c;T:0@omit_headings_from_table_of_contents_below0I"t.to_date  ->  date
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"month_days:ETI"Time::month_days;TT:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"(y, m);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"w3cdtf:ETI"Time#w3cdtf;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"MThis method converts a Time object to a String. The String contains the ;TI"%time in W3CDTF date/time format.;To:RDoc::Markup::BlankLineo;
;	[I"JThe W3CDTF format is defined here: http://www.w3.org/TR/NOTE-datetime;T@o:RDoc::Markup::Verbatim;	[I"Time.now.w3cdtf
;TI",# => "2013-08-26T14:12:10.817124-07:00";T:@format0:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"Time#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns a string representing _time_. Equivalent to calling ;TI"2#strftime with the appropriate format string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"t = Time.now
;TI"Ht.to_s                              => "2012-11-10 18:16:12 +0100"
;TI"Ht.strftime "%Y-%m-%d %H:%M:%S %z"   => "2012-11-10 18:16:12 +0100"
;TI"
;TI"Ft.utc.to_s                          => "2012-11-10 17:16:12 UTC"
;TI"Et.strftime "%Y-%m-%d %H:%M:%S UTC"  => "2012-11-10 17:16:12 UTC";T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.inspect -> string;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"xmlschema:ETI"Time::xmlschema;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NParses +date+ as a dateTime defined by the XML Schema and converts it to ;TI"Na Time object.  The format is a restricted version of the format defined ;TI"by ISO 8601.;To:RDoc::Markup::BlankLineo;
;	[I"NArgumentError is raised if +date+ is not compliant with the format or if ;TI"4the Time class cannot represent specified date.;T@o;
;	[I"8See #xmlschema for more information on this format.;T@o;
;	[I"0You must require 'time' to use this method.;T:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[[I"iso8601;To;;	[;@;
0I"(date);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"json_create:ETI"Time::json_create;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DDeserializes JSON string by converting time since epoch to Time;T:
@fileI""ext/json/lib/json/add/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(object);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_a:ETI"Time#to_a;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Returns a ten-element _array_ of values for _time_:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"A[sec, min, hour, day, month, year, wday, yday, isdst, zone]
;T:@format0o;
;	[	I":See the individual methods for an explanation of the ;TI"Ivalid ranges of each value. The ten elements can be passed directly ;TI"-to Time::utc or Time::local to create a ;TI"new Time object.;T@o;;	[I"4t = Time.now     #=> 2007-11-19 08:36:01 -0600
;TI"Hnow = t.to_a     #=> [1, 36, 8, 19, 11, 2007, 1, 323, false, "CST"];T;
0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.to_a -> array
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rfc822:ETI"Time::rfc822;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"(date);T@FI"	Time;TcRDoc::NormalClass0[@TI"rfc2822;TU:RDoc::AnyMethod[iI"	year:ETI"Time#year;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Returns the year for _time_ (including the century).;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-19 08:27:51 -0600
;TI"t.year         #=> 2007;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.year -> integer
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	usec:ETI"Time#usec;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Returns the number of microseconds for _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"7t = Time.now        #=> 2007-11-19 08:03:26 -0600
;TI"1"%10.6f" % t.to_f   #=> "1195481006.775195"
;TI"#t.usec              #=> 775195;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.usec    -> int;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	eql?:ETI"Time#eql?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Returns +true+ if _time_ and +other_time+ are ;TI"Dboth Time objects with the same seconds and fractional seconds.;T:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.eql?(other_time)
;T0[I"	(p1);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tv_nsec:ETI"Time#tv_nsec;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Returns the number of nanoseconds for _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"7t = Time.now        #=> 2007-11-17 15:18:03 +0900
;TI"4"%10.9f" % t.to_f   #=> "1195280283.536151409"
;TI"'t.nsec              #=> 536151406
;T:@format0o;
;	[I"@The lowest digits of #to_f and #nsec are different because ;TI"9IEEE 754 double is not accurate enough to represent ;TI"5the exact number of nanoseconds since the Epoch.;T@o;
;	[I"2The more accurate value is returned by #nsec.;T:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.tv_nsec -> int;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Time:ET@I"Object;To:RDoc::Markup::Document:@parts[	o;;[:
@fileI""ext/json/lib/json/add/time.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/rss.rb;T;
0o;;[+S:RDoc::Markup::Heading:
leveli:	textI"time.rb;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"SWhen 'time' is required, Time is extended with additional methods for parsing ;TI"and converting Times.;T@S;;i;
I"
Features;T@o;;[I"PThis library extends the Time class with the following conversions between ;TI"#date strings and Time objects:;T@o:RDoc::Markup::List:
@type:BULLET:@items[
o:RDoc::Markup::ListItem:@label0;[o;;[I"Idate-time defined by {RFC 2822}[http://www.ietf.org/rfc/rfc2822.txt];To;;0;[o;;[I"IHTTP-date defined by {RFC 2616}[http://www.ietf.org/rfc/rfc2616.txt];To;;0;[o;;[I"<dateTime defined by XML Schema Part 2: Datatypes ({ISO ;TI"88601}[http://www.iso.org/iso/date_and_time_format]);To;;0;[o;;[I"+various formats handled by Date._parse;To;;0;[o;;[I"-custom formats handled by Date._strptime;T@S;;i;
I"
Examples;T@o;;[I"3All examples assume you have loaded Time with:;T@o:RDoc::Markup::Verbatim;[I"require 'time'
;T:@format0o;;[I"KAll of these examples were done using the EST timezone which is GMT-5.;T@S;;i;
I"Converting to a String;T@o;;[	I"t = Time.now
;TI"1t.iso8601  # => "2011-10-05T22:26:12-04:00"
;TI"7t.rfc2822  # => "Wed, 05 Oct 2011 22:26:12 -0400"
;TI"5t.httpdate # => "Thu, 06 Oct 2011 02:26:12 GMT"
;T;0S;;i;
I"Time.parse;T@o;;[I"M#parse takes a string representation of a Time and attempts to parse it ;TI"using a heuristic.;T@o;;[I"<Time.parse("2010-10-31") #=> 2010-10-31 00:00:00 -0500
;T;0o;;[I"KAny missing pieces of the date are inferred based on the current date.;T@o;;[I"1# assuming the current date is "2011-10-31"
;TI"7Time.parse("12:00") #=> 2011-10-31 12:00:00 -0500
;T;0o;;[I"SWe can change the date used to infer our missing elements by passing a second ;TI"Sobject that responds to #mon, #day and #year, such as Date, Time or DateTime. ;TI"$We can also use our own object.;T@o;;[I"class MyDate
;TI"%  attr_reader :mon, :day, :year
;TI"
;TI"&  def initialize(mon, day, year)
;TI",    @mon, @day, @year = mon, day, year
;TI"  end
;TI"	end
;TI"
;TI"#d  = Date.parse("2010-10-28")
;TI"#t  = Time.parse("2010-10-29")
;TI"'dt = DateTime.parse("2010-10-30")
;TI"!md = MyDate.new(10,31,2010)
;TI"
;TI";Time.parse("12:00", d)  #=> 2010-10-28 12:00:00 -0500
;TI";Time.parse("12:00", t)  #=> 2010-10-29 12:00:00 -0500
;TI";Time.parse("12:00", dt) #=> 2010-10-30 12:00:00 -0500
;TI";Time.parse("12:00", md) #=> 2010-10-31 12:00:00 -0500
;T;0o;;[	I"R#parse also accepts an optional block. You can use this block to specify how ;TI"Qto handle the year component of the date. This is specifically designed for ;TI"Qhandling two digit years. For example, if you wanted to treat all two digit ;TI">years prior to 70 as the year 2000+ you could write this:;T@o;;[	I"FTime.parse("01-10-31") {|year| year + (year < 70 ? 2000 : 1900)}
;TI"##=> 2001-10-31 00:00:00 -0500
;TI"FTime.parse("70-10-31") {|year| year + (year < 70 ? 2000 : 1900)}
;TI"##=> 1970-10-31 00:00:00 -0500
;T;0S;;i;
I"Time.strptime;T@o;;[I"Q#strptime works similar to +parse+ except that instead of using a heuristic ;TI"Rto detect the format of the input string, you provide a second argument that ;TI"5describes the format of the string. For example:;T@o;;[I"JTime.strptime("2000-10-31", "%Y-%m-%d") #=> 2000-10-31 00:00:00 -0500;T;0;	I"lib/time.rb;T;
0o;;[0o;;[I"MTime is an abstraction of dates and times. Time is stored internally as ;TI"Lthe number of seconds with fraction since the _Epoch_, January 1, 1970 ;TI"L00:00 UTC. Also see the library module Date. The Time class treats GMT ;TI"O(Greenwich Mean Time) and UTC (Coordinated Universal Time) as equivalent. ;TI"OGMT is the older way of referring to these baseline times but persists in ;TI")the names of calls on POSIX systems.;T@o;;[I"MAll times may have fraction. Be aware of this fact when comparing times ;TI"Nwith each other -- times that are apparently equal when displayed may be ;TI"different when compared.;T@o;;[I"ISince Ruby 1.9.2, Time implementation uses a signed 63 bit integer, ;TI"Bignum or Rational. ;TI"HThe integer is a number of nanoseconds since the _Epoch_ which can ;TI")represent 1823-11-12 to 2116-02-20. ;TI"EWhen Bignum or Rational is used (before 1823, after 2116, under ;TI"<nanosecond), Time works slower as when integer is used.;T@S;;i;
I"
Examples;T@o;;[I"KAll of these examples were done using the EST timezone which is GMT-5.;T@S;;i;
I"!Creating a new Time instance;T@o;;[I"MYou can create a new instance of Time with Time::new. This will use the ;TI"Gcurrent system time. Time::now is an alias for this. You can also ;TI"Ppass parts of the time to Time::new such as year, month, minute, etc. When ;TI"Qyou want to construct a time this way you must pass at least a year. If you ;TI"Qpass the year with nothing else time will default to January 1 of that year ;TI"Jat 00:00:00 with the current system timezone. Here are some examples:;T@o;;[	I":Time.new(2002)         #=> 2002-01-01 00:00:00 -0500
;TI":Time.new(2002, 10)     #=> 2002-10-01 00:00:00 -0500
;TI":Time.new(2002, 10, 31) #=> 2002-10-31 00:00:00 -0500
;TI"MTime.new(2002, 10, 31, 2, 2, 2, "+02:00") #=> 2002-10-31 02:02:02 +0200
;T;0o;;[I"&You can also use #gm, #local and ;TI"A#utc to infer GMT, local and UTC timezones instead of using ;TI" the current system setting.;T@o;;[I"MYou can also create a new time using Time::at which takes the number of ;TI"6seconds (or fraction of seconds) since the {Unix ;TI"4Epoch}[http://en.wikipedia.org/wiki/Unix_time].;T@o;;[I"6Time.at(628232400) #=> 1989-11-28 00:00:00 -0500
;T;0S;;i;
I"%Working with an instance of Time;T@o;;[I"NOnce you have an instance of Time there is a multitude of things you can ;TI"Pdo with it. Below are some examples. For all of the following examples, we ;TI"Bwill work on the assumption that you have done the following:;T@o;;[I"4t = Time.new(1993, 02, 24, 12, 0, 0, "+09:00")
;T;0o;;[I"Was that a monday?;T@o;;[I"t.monday? #=> false
;T;0o;;[I"What year was that again?;T@o;;[I"t.year #=> 1993
;T;0o;;[I")Was it daylight savings at the time?;T@o;;[I"t.dst? #=> false
;T;0o;;[I"!What's the day a year later?;T@o;;[I"6t + (60*60*24*365) #=> 1994-02-24 12:00:00 +0900
;T;0o;;[I"4How many seconds was that since the Unix Epoch?;T@o;;[I"t.to_i #=> 730522800
;T;0o;;[I"?You can also do standard functions like compare two times.;T@o;;[I"t1 = Time.new(2010)
;TI"t2 = Time.new(2011)
;TI"
;TI"t1 == t2 #=> false
;TI"t1 == t1 #=> true
;TI"t1 <  t2 #=> true
;TI"t1 >  t2 #=> false
;TI"
;TI"3Time.new(2010,10,31).between?(t1, t2) #=> true;T;0;	I"time.c;T;
0;	0;
0[[[[I"Comparable;To;;[;	@�;
0I"time.c;T[[I"
class;T[[:public[[I"at;T@[I"gm;T@[I"
httpdate;TI"lib/time.rb;T[I"iso8601;T@
[I"json_create;TI""ext/json/lib/json/add/time.rb;T[I"
local;T@[I"mktime;T@[I"new;T@[I"now;T@[I"
parse;T@
[I"rfc2822;T@
[I"rfc822;T@
[I"
strptime;T@
[I"utc;T@[I"w3cdtf;TI"lib/rss/rss.rb;T[I"xmlschema;T@
[I"zone_offset;T@
[:protected[[:private[
[I"apply_offset;T@
[I"force_zone!;T@
[I"make_time;T@
[I"month_days;T@
[I"zone_utc?;T@
[I"
instance;T[[;[E[I"+;T@[I"-;T@[I"<=>;T@[I"as_json;T@[I"asctime;T@[I"
ctime;T@[I"day;T@[I"	dst?;T@[I"	eql?;T@[I"friday?;T@[I"
getgm;T@[I"
getlocal;T@[I"getutc;T@[I"	gmt?;T@[I"gmt_offset;T@[I"gmtime;T@[I"gmtoff;T@[I"	hash;T@[I"	hour;T@[I"
httpdate;T@
[I"inspect;T@[I"
isdst;T@[I"iso8601;T@
[I"localtime;T@[I"	mday;T@[I"min;T@[I"mon;T@[I"monday?;T@[I"
month;T@[I"	nsec;T@[I"rfc2822;T@
[I"rfc822;T@
[I"
round;T@[I"saturday?;T@[I"sec;T@[I"
strftime;T@[I"subsec;T@[I"	succ;T@[I"sunday?;T@[I"thursday?;T@[I"	to_a;T@[I"to_date;TI"ext/date/date_core.c;T[I"to_datetime;T@�[I"	to_f;T@[I"	to_i;T@[I"to_json;T@[I"	to_r;T@[I"	to_s;T@[I"to_time;T@�[I"
tuesday?;T@[I"tv_nsec;T@[I"tv_sec;T@[I"tv_usec;T@[I"	usec;T@[I"utc;T@[I"	utc?;T@[I"utc_offset;T@[I"w3cdtf;T@'[I"	wday;T@[I"wednesday?;T@[I"xmlschema;T@
[I"	yday;T@[I"	year;T@[I"	zone;T@[;[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"ext/date/date_core.c;T@
I"lib/cgi/session.rb;T@@�@�@�cRDoc::TopLevelU:RDoc::AnyMethod[iI"
getgm:ETI"Time#getgm;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Returns a new Time object representing _time_ in UTC.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"Ft = Time.local(2000,1,1,20,15,1)   #=> 2000-01-01 20:15:01 -0600
;TI"2t.gmt?                             #=> false
;TI"Dy = t.getgm                        #=> 2000-01-02 02:15:01 UTC
;TI"1y.gmt?                             #=> true
;TI"0t == y                             #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.getgm  -> new_time;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Time::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns a Time object.;To:RDoc::Markup::BlankLineo;
;	[I"JIt is initialized to the current system time if no argument is given.;T@o;
;	[I"F*Note:* The new object will use the resolution available on your ;TI"6system clock, and may include fractional seconds.;T@o;
;	[I"RIf one or more arguments specified, the time is initialized to the specified ;TI"
time.;T@o;
;	[I"1+sec+ may have fraction if it is a rational.;T@o;
;	[I"*+utc_offset+ is the offset from UTC. ;TI"NIt can be a string such as "+09:00" or a number of seconds such as 32400.;T@o:RDoc::Markup::Verbatim;	[I"5a = Time.new      #=> 2007-11-19 07:50:02 -0600
;TI"5b = Time.new      #=> 2007-11-19 07:50:02 -0600
;TI"!a == b            #=> false
;TI"/"%.6f" % a.to_f   #=> "1195480202.282373"
;TI"/"%.6f" % b.to_f   #=> "1195480202.283415"
;TI"
;TI"JTime.new(2008,6,21, 13,30,0, "+09:00") #=> 2008-06-21 13:30:00 +0900
;TI"
;TI" # A trip for RubyConf 2007
;TI"?t1 = Time.new(2007,11,1,15,25,0, "+09:00") # JST (Narita)
;TI"Dt2 = Time.new(2007,11,1,12, 5,0, "-05:00") # CDT (Minneapolis)
;TI"Dt3 = Time.new(2007,11,1,13,25,0, "-05:00") # CDT (Minneapolis)
;TI"Bt4 = Time.new(2007,11,1,16,53,0, "-04:00") # EDT (Charlotte)
;TI"Bt5 = Time.new(2007,11,5, 9,24,0, "-05:00") # EST (Charlotte)
;TI"@t6 = Time.new(2007,11,5,11,21,0, "-05:00") # EST (Detroit)
;TI"@t7 = Time.new(2007,11,5,13,45,0, "-05:00") # EST (Detroit)
;TI"?t8 = Time.new(2007,11,6,17,10,0, "+09:00") # JST (Narita)
;TI"Gp((t2-t1)/3600.0)                          #=> 10.666666666666666
;TI"Fp((t4-t3)/3600.0)                          #=> 2.466666666666667
;TI"9p((t6-t5)/3600.0)                          #=> 1.95
;TI"Fp((t8-t7)/3600.0)                          #=> 13.416666666666666;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"mTime.new -> time
Time.new(year, month=nil, day=nil, hour=nil, min=nil, sec=nil, utc_offset=nil) -> time
;T0[I"(*args);T@8FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
parse:ETI"Time::parse;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FParses +date+ using Date._parse and converts it to a Time object.;To:RDoc::Markup::BlankLineo;
;	[I"KIf a block is given, the year described in +date+ is converted by the ;TI"block.  For example:;T@o:RDoc::Markup::Verbatim;	[I"STime.parse(...) {|y| 0 <= y && y < 100 ? (y >= 69 ? y + 1900 : y + 2000) : y}
;T:@format0o;
;	[I"OIf the upper components of the given time are broken or missing, they are ;TI"Jsupplied with those of +now+.  For the lower components, the minimum ;TI"Dvalues (1 or 0) are assumed if broken or missing.  For example:;T@o;;	[I"8# Suppose it is "Thu Nov 29 14:33:20 2001" now and
;TI"-# your time zone is EST which is GMT-5.
;TI"2now = Time.parse("Thu Nov 29 14:33:20 2001")
;TI"@Time.parse("16:30", now)     #=> 2001-11-29 16:30:00 -0500
;TI"@Time.parse("7/23", now)      #=> 2001-07-23 00:00:00 -0500
;TI"@Time.parse("Aug 31", now)    #=> 2001-08-31 00:00:00 -0500
;TI"@Time.parse("Aug 2000", now)  #=> 2000-08-01 00:00:00 -0500
;T;
0o;
;	[	I"HSince there are numerous conflicts among locally defined time zone ;TI"Fabbreviations all over the world, this method is not intended to ;TI"Eunderstand all of them.  For example, the abbreviation "CST" is ;TI"used variously as:;T@o;;	[I" -06:00 in America/Chicago,
;TI"-05:00 in America/Havana,
;TI"+08:00 in Asia/Harbin,
;TI"!+09:30 in Australia/Darwin,
;TI"#+10:30 in Australia/Adelaide,
;TI"
etc.
;T;
0o;
;	[
I"DBased on this fact, this method only understands the time zone ;TI"Iabbreviations described in RFC 822 and the system time zone, in the ;TI"Eorder named. (i.e. a definition in RFC 822 overrides the system ;TI"@time zone definition.)  The system time zone is taken from ;TI".<tt>Time.local(year, 1, 1).zone</tt> and ;TI"+<tt>Time.local(year, 7, 1).zone</tt>. ;TI"IIf the extracted time zone abbreviation does not match any of them, ;TI"Bit is ignored and the given time is regarded as a local time.;T@o;
;	[I"LArgumentError is raised if Date._parse cannot extract information from ;TI"A+date+ or if the Time class cannot represent specified date.;T@o;
;	[I"IThis method can be used as a fail-safe for other parsing methods as:;T@o;;	[I"0Time.rfc2822(date) rescue Time.parse(date)
;TI"1Time.httpdate(date) rescue Time.parse(date)
;TI"2Time.xmlschema(date) rescue Time.parse(date)
;T;
0o;
;	[I"7A failure of Time.parse should be checked, though.;T@o;
;	[I"0You must require 'time' to use this method.;T:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below00I"	year;T[I"(date, now=self.now);T@NFI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"at:ETI"
Time::at;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"?Creates a new Time object with the value given by +time+, ;TI"1the given number of +seconds_with_frac+, or ;TI"=+seconds+ and +microseconds_with_frac+ since the Epoch. ;TI"6+seconds_with_frac+ and +microseconds_with_frac+ ;TI";can be an Integer, Float, Rational, or other Numeric. ;TI"Knon-portable feature allows the offset to be negative on some systems.;To:RDoc::Markup::BlankLineo;
;	[I"AIf a numeric argument is given, the result is in local time.;T@o:RDoc::Markup::Verbatim;	[I"MTime.at(0)                                #=> 1969-12-31 18:00:00 -0600
;TI"MTime.at(Time.at(0))                       #=> 1969-12-31 18:00:00 -0600
;TI"MTime.at(946702800)                        #=> 1999-12-31 23:00:00 -0600
;TI"MTime.at(-284061600)                       #=> 1960-12-31 00:00:00 -0600
;TI":Time.at(946684800.2).usec                 #=> 200000
;TI"=Time.at(946684800, 123456.789).nsec       #=> 123456789
;TI"=Time.at(946684800, 123456789, :nsec).nsec  #=> 123456789;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"bTime.at(time) -> time
Time.at(seconds_with_frac) -> time
Time.at(seconds, microseconds_with_frac) -> time
Time.at(seconds, milliseconds, :millisecond) -> time
Time.at(seconds, microseconds, :usec) -> time
Time.at(seconds, microseconds, :microsecond) -> time
Time.at(seconds, nanoseconds, :nsec) -> time
Time.at(seconds, nanoseconds, :nanosecond) -> time
;T0[I"(p1, p2 = v2, p3 = v3);T@ FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
local:ETI"Time::local;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Same as Time::gm, but interprets the values in the ;TI"local time zone.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"ETime.local(2000,"jan",1,20,15,1)   #=> 2000-01-01 20:15:01 -0600;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"�Time.local(year) -> time
Time.local(year, month) -> time
Time.local(year, month, day) -> time
Time.local(year, month, day, hour) -> time
Time.local(year, month, day, hour, min) -> time
Time.local(year, month, day, hour, min, sec_with_frac) -> time
Time.local(year, month, day, hour, min, sec, usec_with_frac) -> time
Time.local(sec, min, hour, day, month, year, dummy, dummy, isdst, dummy) -> time;T0[I"(*args);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"asctime:ETI"Time#asctime;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Returns a canonical string representation of _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"7Time.now.asctime   #=> "Wed Apr  9 08:56:03 2003"
;TI"6Time.now.ctime     #=> "Wed Apr  9 08:56:03 2003";T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.asctime -> string;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_i:ETI"Time#to_i;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns the value of _time_ as an integer number of seconds ;TI"since the Epoch.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"t = Time.now
;TI"0"%10.5f" % t.to_f   #=> "1270968656.89607"
;TI"'t.to_i              #=> 1270968656;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.to_i   -> int;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getutc:ETI"Time#getutc;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Returns a new Time object representing _time_ in UTC.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"Ft = Time.local(2000,1,1,20,15,1)   #=> 2000-01-01 20:15:01 -0600
;TI"2t.gmt?                             #=> false
;TI"Dy = t.getgm                        #=> 2000-01-02 02:15:01 UTC
;TI"1y.gmt?                             #=> true
;TI"0t == y                             #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.getutc -> new_time;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"zone_utc?:ETI"Time::zone_utc?;TT:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"(zone);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	nsec:ETI"Time#nsec;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Returns the number of nanoseconds for _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"7t = Time.now        #=> 2007-11-17 15:18:03 +0900
;TI"4"%10.9f" % t.to_f   #=> "1195280283.536151409"
;TI"'t.nsec              #=> 536151406
;T:@format0o;
;	[I"@The lowest digits of #to_f and #nsec are different because ;TI"9IEEE 754 double is not accurate enough to represent ;TI"5the exact number of nanoseconds since the Epoch.;T@o;
;	[I"2The more accurate value is returned by #nsec.;T:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.nsec    -> int;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"sunday?:ETI"Time#sunday?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Returns +true+ if _time_ represents Sunday.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Dt = Time.local(1990, 4, 1)       #=> 1990-04-01 00:00:00 -0600
;TI".t.sunday?                        #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"#time.sunday? -> true or false
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_datetime:ETI"Time#to_datetime;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Returns a DateTime object which denotes self.;T:
@fileI"ext/date/date_core.c;T:0@omit_headings_from_table_of_contents_below0I"!t.to_datetime  ->  datetime
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
strftime:ETI"Time#strftime;TF:publico:RDoc::Markup::Document:@parts[ o:RDoc::Markup::Paragraph;	[I"KFormats _time_ according to the directives in the given format string.;To:RDoc::Markup::BlankLineo;
;	[I"8The directives begin with a percent (%) character. ;TI"FAny text not listed as a directive will be passed through to the ;TI"output string.;T@o;
;	[	I"8The directive consists of a percent (%) character, ;TI"7zero or more flags, optional minimum field width, ;TI"2optional modifier and a conversion specifier ;TI"as follows:;T@o:RDoc::Markup::Verbatim;	[I"+%<flags><width><modifier><conversion>
;T:@format0o;
;	[I"Flags:;To;;	[I"%-  don't pad a numerical output
;TI"_  use spaces for padding
;TI"0  use zeros for padding
;TI"!^  upcase the result string
;TI"#  change case
;TI":  use colons for %z
;T;
0o;
;	[I"9The minimum field width specifies the minimum width.;T@o;
;	[I"$The modifiers are "E" and "O". ;TI"They are ignored.;T@o;
;	[I"Format directives:;T@o;;	[bI"Date (Year, Month, Day):
;TI"N  %Y - Year with century if provided, will pad result at least 4 digits.
;TI"4          -0001, 0000, 1995, 2009, 14292, etc.
;TI"9  %C - year / 100 (rounded down such as 20 in 2009)
;TI"   %y - year % 100 (00..99)
;TI"
;TI"4  %m - Month of the year, zero-padded (01..12)
;TI"*          %_m  blank-padded ( 1..12)
;TI"&          %-m  no-padded (1..12)
;TI".  %B - The full month name (``January'')
;TI"-          %^B  uppercased (``JANUARY'')
;TI"1  %b - The abbreviated month name (``Jan'')
;TI")          %^b  uppercased (``JAN'')
;TI"  %h - Equivalent to %b
;TI"
;TI"3  %d - Day of the month, zero-padded (01..31)
;TI"&          %-d  no-padded (1..31)
;TI"4  %e - Day of the month, blank-padded ( 1..31)
;TI"
;TI"'  %j - Day of the year (001..366)
;TI"
;TI"-Time (Hour, Minute, Second, Subsecond):
;TI"A  %H - Hour of the day, 24-hour clock, zero-padded (00..23)
;TI"B  %k - Hour of the day, 24-hour clock, blank-padded ( 0..23)
;TI"A  %I - Hour of the day, 12-hour clock, zero-padded (01..12)
;TI"B  %l - Hour of the day, 12-hour clock, blank-padded ( 1..12)
;TI"=  %P - Meridian indicator, lowercase (``am'' or ``pm'')
;TI"=  %p - Meridian indicator, uppercase (``AM'' or ``PM'')
;TI"
;TI"(  %M - Minute of the hour (00..59)
;TI"
;TI"*  %S - Second of the minute (00..60)
;TI"
;TI"1  %L - Millisecond of the second (000..999)
;TI"L       The digits under millisecond are truncated to not produce 1000.
;TI"H  %N - Fractional seconds digits, default is 9 digits (nanosecond)
;TI"+          %3N  millisecond (3 digits)
;TI"+          %6N  microsecond (6 digits)
;TI"*          %9N  nanosecond (9 digits)
;TI"+          %12N picosecond (12 digits)
;TI",          %15N femtosecond (15 digits)
;TI"+          %18N attosecond (18 digits)
;TI",          %21N zeptosecond (21 digits)
;TI",          %24N yoctosecond (24 digits)
;TI"I       The digits under the specified length are truncated to avoid
;TI"       carry up.
;TI"
;TI"Time zone:
;TI"F  %z - Time zone as hour and minute offset from UTC (e.g. +0900)
;TI"P          %:z - hour and minute offset from UTC with a colon (e.g. +09:00)
;TI"O          %::z - hour, minute and second offset from UTC (e.g. +09:00:00)
;TI"O  %Z - Abbreviated time zone name or similar information.  (OS dependent)
;TI"
;TI"Weekday:
;TI"/  %A - The full weekday name (``Sunday'')
;TI",          %^A  uppercased (``SUNDAY'')
;TI"+  %a - The abbreviated name (``Sun'')
;TI")          %^a  uppercased (``SUN'')
;TI"0  %u - Day of the week (Monday is 1, 1..7)
;TI"0  %w - Day of the week (Sunday is 0, 0..6)
;TI"
;TI"/ISO 8601 week-based year and week number:
;TI"JThe first week of YYYY starts with a Monday and includes YYYY-01-04.
;TI"HThe days in the year before the first week are in the last week of
;TI"the previous year.
;TI"   %G - The week-based year
;TI">  %g - The last 2 digits of the week-based year (00..99)
;TI"8  %V - Week number of the week-based year (01..53)
;TI"
;TI"Week number:
;TI"QThe first week of YYYY that starts with a Sunday or Monday (according to %U
;TI"Gor %W). The days in the year before the first week are in week 0.
;TI"K  %U - Week number of the year. The week starts with Sunday. (00..53)
;TI"K  %W - Week number of the year. The week starts with Monday. (00..53)
;TI"
;TI"Seconds since the Epoch:
;TI"=  %s - Number of seconds since 1970-01-01 00:00:00 UTC.
;TI"
;TI"Literal string:
;TI"#  %n - Newline character (\n)
;TI"  %t - Tab character (\t)
;TI"$  %% - Literal ``%'' character
;TI"
;TI"Combination:
;TI"+  %c - date and time (%a %b %e %T %Y)
;TI"  %D - Date (%m/%d/%y)
;TI"0  %F - The ISO 8601 date format (%Y-%m-%d)
;TI""  %v - VMS date (%e-%^b-%4Y)
;TI"  %x - Same as %D
;TI"  %X - Same as %T
;TI"'  %r - 12-hour time (%I:%M:%S %p)
;TI"!  %R - 24-hour time (%H:%M)
;TI"$  %T - 24-hour time (%H:%M:%S)
;T;
0o;
;	[I"NThis method is similar to strftime() function defined in ISO C and POSIX.;T@o;
;	[	I"PWhile all directives are locale independent since Ruby 1.9, %Z is platform ;TI"dependent. ;TI"OSo, the result may differ even if the same format string is used in other ;TI"systems such as C.;T@o;
;	[I" %z is recommended over %Z. ;TI"'%Z doesn't identify the timezone. ;TI"=For example, "CST" is used at America/Chicago (-06:00), ;TI"NAmerica/Havana (-05:00), Asia/Harbin (+08:00), Australia/Darwin (+09:30) ;TI"&and Australia/Adelaide (+10:30). ;TI";Also, %Z is highly dependent on the operating system. ;TI"JFor example, it may generate a non ASCII string on Japanese Windows. ;TI"0i.e. the result can be different to "JST". ;TI"9So the numeric time zone offset, %z, is recommended.;T@o;
;	[I"Examples:;T@o;;	[I"Mt = Time.new(2007,11,19,8,37,48,"-06:00") #=> 2007-11-19 08:37:48 -0600
;TI"Et.strftime("Printed on %m/%d/%Y")   #=> "Printed on 11/19/2007"
;TI":t.strftime("at %I:%M%p")            #=> "at 08:37AM"
;T;
0o;
;	[I"Various ISO 8601 formats:;To;;	['I"I%Y%m%d           => 20071119                  Calendar date (basic)
;TI"L%F               => 2007-11-19                Calendar date (extended)
;TI"c%Y-%m            => 2007-11                   Calendar date, reduced accuracy, specific month
;TI"b%Y               => 2007                      Calendar date, reduced accuracy, specific year
;TI"e%C               => 20                        Calendar date, reduced accuracy, specific century
;TI"H%Y%j             => 2007323                   Ordinal date (basic)
;TI"K%Y-%j            => 2007-323                  Ordinal date (extended)
;TI"E%GW%V%u          => 2007W471                  Week date (basic)
;TI"H%G-W%V-%u        => 2007-W47-1                Week date (extended)
;TI"f%GW%V            => 2007W47                   Week date, reduced accuracy, specific week (basic)
;TI"i%G-W%V           => 2007-W47                  Week date, reduced accuracy, specific week (extended)
;TI"F%H%M%S           => 083748                    Local time (basic)
;TI"I%T               => 08:37:48                  Local time (extended)
;TI"i%H%M             => 0837                      Local time, reduced accuracy, specific minute (basic)
;TI"l%H:%M            => 08:37                     Local time, reduced accuracy, specific minute (extended)
;TI"_%H               => 08                        Local time, reduced accuracy, specific hour
;TI"s%H%M%S,%L        => 083748,000                Local time with decimal fraction, comma as decimal sign (basic)
;TI"v%T,%L            => 08:37:48,000              Local time with decimal fraction, comma as decimal sign (extended)
;TI"w%H%M%S.%L        => 083748.000                Local time with decimal fraction, full stop as decimal sign (basic)
;TI"z%T.%L            => 08:37:48.000              Local time with decimal fraction, full stop as decimal sign (extended)
;TI"b%H%M%S%z         => 083748-0600               Local time and the difference from UTC (basic)
;TI"e%T%:z            => 08:37:48-06:00            Local time and the difference from UTC (extended)
;TI"b%Y%m%dT%H%M%S%z  => 20071119T083748-0600      Date and time of day for calendar date (basic)
;TI"e%FT%T%:z         => 2007-11-19T08:37:48-06:00 Date and time of day for calendar date (extended)
;TI"a%Y%jT%H%M%S%z    => 2007323T083748-0600       Date and time of day for ordinal date (basic)
;TI"d%Y-%jT%T%:z      => 2007-323T08:37:48-06:00   Date and time of day for ordinal date (extended)
;TI"^%GW%V%uT%H%M%S%z => 2007W471T083748-0600      Date and time of day for week date (basic)
;TI"a%G-W%V-%uT%T%:z  => 2007-W47-1T08:37:48-06:00 Date and time of day for week date (extended)
;TI"X%Y%m%dT%H%M      => 20071119T0837             Calendar date and local time (basic)
;TI"[%FT%R            => 2007-11-19T08:37          Calendar date and local time (extended)
;TI"W%Y%jT%H%MZ       => 2007323T0837Z             Ordinal date and UTC of day (basic)
;TI"Z%Y-%jT%RZ        => 2007-323T08:37Z           Ordinal date and UTC of day (extended)
;TI"l%GW%V%uT%H%M%z   => 2007W471T0837-0600        Week date and local time and difference from UTC (basic)
;TI"n%G-W%V-%uT%R%:z  => 2007-W47-1T08:37-06:00    Week date and local time and difference from UTC (extended);T;
0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"'time.strftime( string ) -> string
;T0[I"	(p1);T@�FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rfc2822:ETI"Time#rfc2822;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"QReturns a string which represents the time as date-time defined by RFC 2822:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"3day-of-week, DD month-name CCYY hh:mm:ss zone
;T:@format0o;
;	[I"where zone is [+-]hhmm.;T@o;
;	[I"4If +self+ is a UTC time, -0000 is used as zone.;T@o;
;	[I"0You must require 'time' to use this method.;T:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[[I"rfc822;To;;	[;@;0I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"thursday?:ETI"Time#thursday?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Returns +true+ if _time_ represents Thursday.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Dt = Time.local(1995, 12, 21)     #=> 1995-12-21 00:00:00 -0600
;TI".p t.thursday?                    #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"%time.thursday? -> true or false
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
isdst:ETI"Time#isdst;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Returns +true+ if _time_ occurs during Daylight ;TI""Saving Time in its time zone.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"# CST6CDT:
;TI"0  Time.local(2000, 1, 1).zone    #=> "CST"
;TI"0  Time.local(2000, 1, 1).isdst   #=> false
;TI"0  Time.local(2000, 1, 1).dst?    #=> false
;TI"0  Time.local(2000, 7, 1).zone    #=> "CDT"
;TI"/  Time.local(2000, 7, 1).isdst   #=> true
;TI"/  Time.local(2000, 7, 1).dst?    #=> true
;TI"
;TI"# Asia/Tokyo:
;TI"0  Time.local(2000, 1, 1).zone    #=> "JST"
;TI"0  Time.local(2000, 1, 1).isdst   #=> false
;TI"0  Time.local(2000, 1, 1).dst?    #=> false
;TI"0  Time.local(2000, 7, 1).zone    #=> "JST"
;TI"0  Time.local(2000, 7, 1).isdst   #=> false
;TI"/  Time.local(2000, 7, 1).dst?    #=> false;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I" time.isdst -> true or false;T0[I"();T@!FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"mon:ETI"
Time#mon;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Returns the month of the year (1..12) for _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-19 08:27:30 -0600
;TI"t.mon          #=> 11
;TI"t.month        #=> 11;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"0time.mon   -> integer
time.month -> integer;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"iso8601:ETI"Time#iso8601;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"(fraction_digits=0);T@FI"	Time;TcRDoc::NormalClass0[@FI"xmlschema;TU:RDoc::AnyMethod[iI"	dst?:ETI"Time#dst?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Returns +true+ if _time_ occurs during Daylight ;TI""Saving Time in its time zone.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"# CST6CDT:
;TI"0  Time.local(2000, 1, 1).zone    #=> "CST"
;TI"0  Time.local(2000, 1, 1).isdst   #=> false
;TI"0  Time.local(2000, 1, 1).dst?    #=> false
;TI"0  Time.local(2000, 7, 1).zone    #=> "CDT"
;TI"/  Time.local(2000, 7, 1).isdst   #=> true
;TI"/  Time.local(2000, 7, 1).dst?    #=> true
;TI"
;TI"# Asia/Tokyo:
;TI"0  Time.local(2000, 1, 1).zone    #=> "JST"
;TI"0  Time.local(2000, 1, 1).isdst   #=> false
;TI"0  Time.local(2000, 1, 1).dst?    #=> false
;TI"0  Time.local(2000, 7, 1).zone    #=> "JST"
;TI"0  Time.local(2000, 7, 1).isdst   #=> false
;TI"/  Time.local(2000, 7, 1).dst?    #=> false;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I" time.dst?  -> true or false;T0[I"();T@!FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"gm:ETI"
Time::gm;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"PCreates a Time object based on given values, interpreted as UTC (GMT). The ;TI"Gyear must be specified. Other values default to the minimum value ;TI">for that field (and may be +nil+ or omitted). Months may ;TI"Jbe specified by numbers from 1 to 12, or by the three-letter English ;TI"Imonth names. Hours are specified on a 24-hour clock (0..23). Raises ;TI";an ArgumentError if any values are out of range. Will ;TI"@also accept ten arguments in the order output by Time#to_a.;To:RDoc::Markup::BlankLineo;
;	[I"E+sec_with_frac+ and +usec_with_frac+ can have a fractional part.;T@o:RDoc::Markup::Verbatim;	[I"ATime.utc(2000,"jan",1,20,15,1)  #=> 2000-01-01 20:15:01 UTC
;TI"@Time.gm(2000,"jan",1,20,15,1)   #=> 2000-01-01 20:15:01 UTC;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"uTime.gm(year) -> time
Time.gm(year, month) -> time
Time.gm(year, month, day) -> time
Time.gm(year, month, day, hour) -> time
Time.gm(year, month, day, hour, min) -> time
Time.gm(year, month, day, hour, min, sec_with_frac) -> time
Time.gm(year, month, day, hour, min, sec, usec_with_frac) -> time
Time.gm(sec, min, hour, day, month, year, dummy, dummy, dummy, dummy) -> time;T0[I"(*args);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	yday:ETI"Time#yday;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns an integer representing the day of the year, 1..366.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-19 08:32:31 -0600
;TI"t.yday         #=> 323;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.yday -> integer
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tv_sec:ETI"Time#tv_sec;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns the value of _time_ as an integer number of seconds ;TI"since the Epoch.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"t = Time.now
;TI"0"%10.5f" % t.to_f   #=> "1270968656.89607"
;TI"'t.to_i              #=> 1270968656;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.tv_sec -> int;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"as_json:ETI"Time#as_json;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OReturns a hash, that will be turned into a JSON object and represent this ;TI"object.;T:
@fileI""ext/json/lib/json/add/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_json:ETI"Time#to_json;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OStores class name (Time) with number of seconds since epoch and number of ;TI")microseconds for Time as JSON string;T:
@fileI""ext/json/lib/json/add/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"wednesday?:ETI"Time#wednesday?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Returns +true+ if _time_ represents Wednesday.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Dt = Time.local(1993, 2, 24)      #=> 1993-02-24 00:00:00 -0600
;TI".p t.wednesday?                   #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"&time.wednesday? -> true or false
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_s:ETI"Time#to_s;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns a string representing _time_. Equivalent to calling ;TI"2#strftime with the appropriate format string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"t = Time.now
;TI"Ht.to_s                              => "2012-11-10 18:16:12 +0100"
;TI"Ht.strftime "%Y-%m-%d %H:%M:%S %z"   => "2012-11-10 18:16:12 +0100"
;TI"
;TI"Ft.utc.to_s                          => "2012-11-10 17:16:12 UTC"
;TI"Et.strftime "%Y-%m-%d %H:%M:%S UTC"  => "2012-11-10 17:16:12 UTC";T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.to_s    -> string;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"gmt_offset:ETI"Time#gmt_offset;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BReturns the offset in seconds between the timezone of _time_ ;TI"
and UTC.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"At = Time.gm(2000,1,1,20,15,1)   #=> 2000-01-01 20:15:01 UTC
;TI"+t.gmt_offset                    #=> 0
;TI"Cl = t.getlocal                  #=> 2000-01-01 14:15:01 -0600
;TI"/l.gmt_offset                    #=> -21600;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.gmt_offset -> integer;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"min:ETI"
Time#min;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Returns the minute of the hour (0..59) for _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-19 08:25:51 -0600
;TI"t.min          #=> 25;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.min -> integer
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"w3cdtf:ETI"Time::w3cdtf;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"JThis method converts a W3CDTF string date/time format to Time object.;To:RDoc::Markup::BlankLineo;
;	[I"JThe W3CDTF format is defined here: http://www.w3.org/TR/NOTE-datetime;T@o:RDoc::Markup::Verbatim;	[	I".Time.w3cdtf('2003-02-15T13:50:05-05:00')
;TI"$# => 2003-02-15 10:50:05 -0800
;TI"4Time.w3cdtf('2003-02-15T13:50:05-05:00').class
;TI"# => Time;T:@format0:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(date);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"utc:ETI"Time::utc;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"PCreates a Time object based on given values, interpreted as UTC (GMT). The ;TI"Gyear must be specified. Other values default to the minimum value ;TI">for that field (and may be +nil+ or omitted). Months may ;TI"Jbe specified by numbers from 1 to 12, or by the three-letter English ;TI"Imonth names. Hours are specified on a 24-hour clock (0..23). Raises ;TI";an ArgumentError if any values are out of range. Will ;TI"@also accept ten arguments in the order output by Time#to_a.;To:RDoc::Markup::BlankLineo;
;	[I"E+sec_with_frac+ and +usec_with_frac+ can have a fractional part.;T@o:RDoc::Markup::Verbatim;	[I"ATime.utc(2000,"jan",1,20,15,1)  #=> 2000-01-01 20:15:01 UTC
;TI"@Time.gm(2000,"jan",1,20,15,1)   #=> 2000-01-01 20:15:01 UTC;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"}Time.utc(year) -> time
Time.utc(year, month) -> time
Time.utc(year, month, day) -> time
Time.utc(year, month, day, hour) -> time
Time.utc(year, month, day, hour, min) -> time
Time.utc(year, month, day, hour, min, sec_with_frac) -> time
Time.utc(year, month, day, hour, min, sec, usec_with_frac) -> time
Time.utc(sec, min, hour, day, month, year, dummy, dummy, dummy, dummy) -> time;T0[I"(*args);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
tuesday?:ETI"Time#tuesday?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"1Returns +true+ if _time_ represents Tuesday.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Dt = Time.local(1991, 2, 19)      #=> 1991-02-19 00:00:00 -0600
;TI".p t.tuesday?                     #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"$time.tuesday? -> true or false
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
month:ETI"Time#month;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Returns the month of the year (1..12) for _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-19 08:27:30 -0600
;TI"t.mon          #=> 11
;TI"t.month        #=> 11;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.month -> integer;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"day:ETI"
Time#day;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4Returns the day of the month (1..n) for _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-19 08:27:03 -0600
;TI"t.day          #=> 19
;TI"t.mday         #=> 19;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.day  -> integer;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	succ:ETI"Time#succ;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns a new Time object, one second later than _time_. ;TI"HTime#succ is obsolete since 1.9.2 for time is not a discrete value.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"6t = Time.now       #=> 2007-11-19 08:23:57 -0600
;TI"6t.succ             #=> 2007-11-19 08:23:58 -0600
;T:@format0o;
;	[I"&Use instead <code>time + 1</code>;T@o;;	[I"5t + 1              #=> 2007-11-19 08:23:58 -0600;T;
0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.succ   -> new_time
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
httpdate:ETI"Time#httpdate;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns a string which represents the time as RFC 1123 date of HTTP-date ;TI"defined by RFC 2616:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2day-of-week, DD month-name CCYY hh:mm:ss GMT
;T:@format0o;
;	[I".Note that the result is always UTC (GMT).;T@o;
;	[I"0You must require 'time' to use this method.;T:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"monday?:ETI"Time#monday?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Returns +true+ if _time_ represents Monday.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Dt = Time.local(2003, 8, 4)       #=> 2003-08-04 00:00:00 -0500
;TI".p t.monday?                      #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"#time.monday? -> true or false
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_f:ETI"Time#to_f;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"?Returns the value of _time_ as a floating point number of ;TI"seconds since the Epoch.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"t = Time.now
;TI"0"%10.5f" % t.to_f   #=> "1270968744.77658"
;TI"(t.to_i              #=> 1270968744
;T:@format0o;
;	[I"CNote that IEEE 754 double is not accurate enough to represent ;TI"/the number of nanoseconds since the Epoch.;T:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.to_f -> float
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"subsec:ETI"Time#subsec;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"%Returns the fraction for _time_.;To:RDoc::Markup::BlankLineo;
;	[I"/The return value can be a rational number.;T@o:RDoc::Markup::Verbatim;	[I"7t = Time.now        #=> 2009-03-26 22:33:12 +0900
;TI"4"%10.9f" % t.to_f   #=> "1238074392.940563917"
;TI"2t.subsec            #=> (94056401/100000000)
;T:@format0o;
;	[I"BThe lowest digits of #to_f and #subsec are different because ;TI"9IEEE 754 double is not accurate enough to represent ;TI"the rational number.;T@o;
;	[I"4The more accurate value is returned by #subsec.;T:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.subsec    -> number
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	hour:ETI"Time#hour;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4Returns the hour of the day (0..23) for _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-19 08:26:20 -0600
;TI"t.hour         #=> 8;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.hour -> integer
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"apply_offset:ETI"Time::apply_offset;TT:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"*(year, mon, day, hour, min, sec, off);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"utc:ETI"
Time#utc;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Converts _time_ to UTC (GMT), modifying the receiver.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-19 08:18:31 -0600
;TI"t.gmt?         #=> false
;TI"0t.gmtime       #=> 2007-11-19 14:18:31 UTC
;TI"t.gmt?         #=> true
;TI"
;TI"2t = Time.now   #=> 2007-11-19 08:18:51 -0600
;TI"t.utc?         #=> false
;TI"0t.utc          #=> 2007-11-19 14:18:51 UTC
;TI"t.utc?         #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"3time.gmtime    -> time
time.utc       -> time
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"+:ETI"Time#+;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GAddition --- Adds some number of seconds (possibly fractional) to ;TI"8_time_ and returns that value as a new Time object.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"8t = Time.now         #=> 2007-11-19 08:22:21 -0600
;TI"7t + (60 * 60 * 24)   #=> 2007-11-20 08:22:21 -0600;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time + numeric -> time
;T0[I"	(p1);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
getlocal:ETI"Time#getlocal;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"6Returns a new Time object representing _time_ in ;TI"Glocal time (using the local time zone in effect for this process).;To:RDoc::Markup::BlankLineo;
;	[I"EIf +utc_offset+ is given, it is used instead of the local time. ;TI"V+utc_offset+ can be given as a human-readable string (eg. <code>"+09:00"</code>) ;TI"8or as a number of seconds (eg. <code>32400</code>).;T@o:RDoc::Markup::Verbatim;	[I"At = Time.utc(2000,1,1,20,15,1)  #=> 2000-01-01 20:15:01 UTC
;TI".t.utc?                          #=> true
;TI"
;TI"Cl = t.getlocal                  #=> 2000-01-01 14:15:01 -0600
;TI"/l.utc?                          #=> false
;TI".t == l                          #=> true
;TI"
;TI"Cj = t.getlocal("+09:00")        #=> 2000-01-02 05:15:01 +0900
;TI"/j.utc?                          #=> false
;TI".t == j                          #=> true
;TI"
;TI"Ck = t.getlocal(9*60*60)         #=> 2000-01-02 05:15:01 +0900
;TI"/k.utc?                          #=> false
;TI"-t == k                          #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"Etime.getlocal -> new_time
time.getlocal(utc_offset) -> new_time
;T0[I"(p1 = v1);T@%FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	zone:ETI"Time#zone;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns the name of the time zone used for _time_. As of Ruby ;TI"<1.8, returns ``UTC'' rather than ``GMT'' for UTC times.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I",t = Time.gm(2000, "jan", 1, 20, 15, 1)
;TI"t.zone   #=> "UTC"
;TI"/t = Time.local(2000, "jan", 1, 20, 15, 1)
;TI"t.zone   #=> "CST";T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.zone -> string
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
httpdate:ETI"Time::httpdate;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LParses +date+ as an HTTP-date defined by RFC 2616 and converts it to a ;TI"Time object.;To:RDoc::Markup::BlankLineo;
;	[I"LArgumentError is raised if +date+ is not compliant with RFC 2616 or if ;TI"4the Time class cannot represent specified date.;T@o;
;	[I"7See #httpdate for more information on this format.;T@o;
;	[I"0You must require 'time' to use this method.;T:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"(date);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"-:ETI"Time#-;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Difference --- Returns a difference in seconds as a Float ;TI"Dbetween _time_ and +other_time+, or subtracts the given number ;TI")of seconds in +numeric+ from _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"6t = Time.now       #=> 2007-11-19 08:23:10 -0600
;TI"6t2 = t + 2592000   #=> 2007-12-19 08:23:10 -0600
;TI"&t2 - t             #=> 2592000.0
;TI"5t2 - 2592000       #=> 2007-11-19 08:23:10 -0600;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I":time - other_time -> float
time - numeric    -> time
;T0[I"	(p1);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_time:ETI"Time#to_time;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns self.;T:
@fileI"ext/date/date_core.c;T:0@omit_headings_from_table_of_contents_below0I"t.to_time  ->  time
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rfc2822:ETI"Time::rfc2822;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NParses +date+ as date-time defined by RFC 2822 and converts it to a Time ;TI"Pobject.  The format is identical to the date format defined by RFC 822 and ;TI"updated by RFC 1123.;To:RDoc::Markup::BlankLineo;
;	[I"FArgumentError is raised if +date+ is not compliant with RFC 2822 ;TI":or if the Time class cannot represent specified date.;T@o;
;	[I"6See #rfc2822 for more information on this format.;T@o;
;	[I"0You must require 'time' to use this method.;T:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[[I"rfc822;To;;	[;@;
0I"(date);T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"localtime:ETI"Time#localtime;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AConverts _time_ to local time (using the local time zone in ;TI"5effect for this process) modifying the receiver.;To:RDoc::Markup::BlankLineo;
;	[I"DIf +utc_offset+ is given, it is used instead of the local time.;T@o:RDoc::Markup::Verbatim;	[
I"It = Time.utc(2000, "jan", 1, 20, 15, 1) #=> 2000-01-01 20:15:01 UTC
;TI"6t.utc?                                  #=> true
;TI"
;TI"Kt.localtime                             #=> 2000-01-01 14:15:01 -0600
;TI"7t.utc?                                  #=> false
;TI"
;TI"Kt.localtime("+09:00")                   #=> 2000-01-02 05:15:01 +0900
;TI"7t.utc?                                  #=> false
;T:@format0o;
;	[I"HIf +utc_offset+ is not given and _time_ is local time, just return ;TI"the receiver.;T:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"?time.localtime -> time
time.localtime(utc_offset) -> time
;T0[I"(p1 = v1);T@!FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"iso8601:ETI"Time::iso8601;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"(date);T@FI"	Time;TcRDoc::NormalClass0[@TI"xmlschema;TU:RDoc::AnyMethod[iI"zone_offset:ETI"Time::zone_offset;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BReturn the number of seconds the specified time zone differs ;TI"from UTC.;To:RDoc::Markup::BlankLineo;
;	[	I"6Numeric time zones that include minutes, such as ;TI"B<code>-10:00</code> or <code>+1330</code> will work, as will ;TI";simpler hour-only time zones like <code>-10</code> or ;TI"<code>+13</code>.;T@o;
;	[I"@Textual time zones listed in ZoneOffset are also supported.;T@o;
;	[
I"EIf the time zone does not match any of the above, +zone_offset+ ;TI">will check if the local time zone (both with and without ;TI"Fpotential Daylight Saving \Time changes being in effect) matches ;TI"E+zone+. Specifying a value for +year+ will change the year used ;TI"!to find the local time zone.;T@o;
;	[I"EIf +zone_offset+ is unable to determine the offset, nil will be ;TI"returned.;T:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"(zone, year=self.now.year);T@$FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
ctime:ETI"Time#ctime;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Returns a canonical string representation of _time_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"7Time.now.asctime   #=> "Wed Apr  9 08:56:03 2003"
;TI"6Time.now.ctime     #=> "Wed Apr  9 08:56:03 2003";T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.ctime   -> string;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"gmtoff:ETI"Time#gmtoff;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BReturns the offset in seconds between the timezone of _time_ ;TI"
and UTC.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"At = Time.gm(2000,1,1,20,15,1)   #=> 2000-01-01 20:15:01 UTC
;TI"+t.gmt_offset                    #=> 0
;TI"Cl = t.getlocal                  #=> 2000-01-01 14:15:01 -0600
;TI"/l.gmt_offset                    #=> -21600;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.gmtoff     -> integer;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"sec:ETI"
Time#sec;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"9Returns the second of the minute (0..60) for _time_.;To:RDoc::Markup::BlankLineo;
;	[I"I*Note:* Seconds range from zero to 60 to allow the system to inject ;TI"Lleap seconds. See http://en.wikipedia.org/wiki/Leap_second for further ;TI"
details.;T@o:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-19 08:25:02 -0600
;TI"t.sec          #=> 2;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.sec -> integer
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"utc_offset:ETI"Time#utc_offset;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BReturns the offset in seconds between the timezone of _time_ ;TI"
and UTC.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"At = Time.gm(2000,1,1,20,15,1)   #=> 2000-01-01 20:15:01 UTC
;TI"+t.gmt_offset                    #=> 0
;TI"Cl = t.getlocal                  #=> 2000-01-01 14:15:01 -0600
;TI"/l.gmt_offset                    #=> -21600;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.utc_offset -> integer;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rfc822:ETI"Time#rfc822;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/time.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Time;TcRDoc::NormalClass0[@FI"rfc2822;TU:RDoc::AnyMethod[iI"<=>:ETI"
Time#<=>;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4Comparison---Compares +time+ with +other_time+.;To:RDoc::Markup::BlankLineo;
;	[I"N-1, 0, +1 or nil depending on whether +time+ is less  than, equal to, or ;TI"greater than +other_time+.;T@o;
;	[I":+nil+ is returned if the two values are incomparable.;T@o:RDoc::Markup::Verbatim;	[I"6t = Time.now       #=> 2007-11-19 08:12:12 -0600
;TI"6t2 = t + 2592000   #=> 2007-12-19 08:12:12 -0600
;TI"t <=> t2           #=> -1
;TI"t2 <=> t           #=> 1
;TI"
;TI"6t = Time.now       #=> 2007-11-19 08:13:38 -0600
;TI"6t2 = t + 0.1       #=> 2007-11-19 08:13:38 -0600
;TI"%t.nsec             #=> 98222999
;TI"&t2.nsec            #=> 198222999
;TI"t <=> t2           #=> -1
;TI"t2 <=> t           #=> 1
;TI"t <=> t            #=> 0;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"-time <=> other_time -> -1, 0, +1 or nil
;T0[I"	(p1);T@$FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	hash:ETI"Time#hash;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Returns a hash code for this Time object.;To:RDoc::Markup::BlankLineo;
;	[I"See also Object#hash.;T:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.hash   -> integer
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"gmtime:ETI"Time#gmtime;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Converts _time_ to UTC (GMT), modifying the receiver.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"2t = Time.now   #=> 2007-11-19 08:18:31 -0600
;TI"t.gmt?         #=> false
;TI"0t.gmtime       #=> 2007-11-19 14:18:31 UTC
;TI"t.gmt?         #=> true
;TI"
;TI"2t = Time.now   #=> 2007-11-19 08:18:51 -0600
;TI"t.utc?         #=> false
;TI"0t.utc          #=> 2007-11-19 14:18:51 UTC
;TI"t.utc?         #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"time.gmtime    -> time;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"saturday?:ETI"Time#saturday?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Returns +true+ if _time_ represents Saturday.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Dt = Time.local(2006, 6, 10)      #=> 2006-06-10 00:00:00 -0500
;TI".t.saturday?                      #=> true;T:@format0:
@fileI"time.c;T:0@omit_headings_from_table_of_contents_below0I"%time.saturday? -> true or false
;T0[I"();T@FI"	Time;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"safe_load:ETI"Psych::safe_load;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LSafely load the yaml string in +yaml+.  By default, only the following ;TI",classes are allowed to be deserialized:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"TrueClass;To;;0;	[o;
;	[I"FalseClass;To;;0;	[o;
;	[I"
NilClass;To;;0;	[o;
;	[I"Numeric;To;;0;	[o;
;	[I"String;To;;0;	[o;
;	[I"
Array;To;;0;	[o;
;	[I"	Hash;T@o;
;	[I"NRecursive data structures are not allowed by default.  Arbitrary classes ;TI"Jcan be allowed by adding those classes to the +whitelist+.  They are ;TI";additive.  For example, to allow Date deserialization:;T@o:RDoc::Markup::Verbatim;	[I"#Psych.safe_load(yaml, [Date])
;T:@format0o;
;	[I"NNow the Date class can be loaded in addition to the classes listed above.;T@o;
;	[I"LAliases can be explicitly allowed by changing the +aliases+ parameter. ;TI"For example:;T@o;;	[
I"x = []
;TI"x << x
;TI"yaml = Psych.dump x
;TI"APsych.safe_load yaml               # => raises an exception
;TI"?Psych.safe_load yaml, [], [], true # => loads the aliases
;T;0o;
;	[I"NA Psych::DisallowedClass exception will be raised if the yaml contains a ;TI"'class that isn't in the whitelist.;T@o;
;	[I"MA Psych::BadAlias exception will be raised if the yaml contains aliases ;TI"1but the +aliases+ parameter is set to false.;T@o;
;	[I"Q+filename+ will be used in the exception message if any exception is raised ;TI"while parsing.;T@o;
;	[I"FWhen the optional +symbolize_names+ keyword argument is set to a ;TI"Mtrue value, returns symbols for keys in Hash objects (default: strings).;T@o;;	[I"SPsych.safe_load("---\n foo: bar")                         # => {"foo"=>"bar"}
;TI"QPsych.safe_load("---\n foo: bar", symbolize_names: true)  # => {:foo=>"bar"};T;0:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below000[I"t(yaml, whitelist_classes = [], whitelist_symbols = [], aliases = false, filename = nil, symbolize_names: false);T@_FI"
Psych;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"parse_time:ETI"$Psych::ScalarScanner#parse_time;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Parse and return a Time from +string+;T:
@fileI"*ext/psych/lib/psych/scalar_scanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(string);T@FI"ScalarScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
tokenize:ETI""Psych::ScalarScanner#tokenize;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Tokenize +string+ returning the Ruby object;T:
@fileI"*ext/psych/lib/psych/scalar_scanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(string);T@FI"ScalarScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Psych::ScalarScanner::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Create a new scanner;T:
@fileI"*ext/psych/lib/psych/scalar_scanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"(class_loader);T@FI"ScalarScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"parse_int:ETI"#Psych::ScalarScanner#parse_int;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Parse and return an int from +string+;T:
@fileI"*ext/psych/lib/psych/scalar_scanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(string);T@FI"ScalarScanner;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ScalarScanner:ETI"Psych::ScalarScanner;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"$Scan scalars for built in types;T:
@fileI"*ext/psych/lib/psych/scalar_scanner.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"class_loader;TI"R;T:publicFI"*ext/psych/lib/psych/scalar_scanner.rb;T[U:RDoc::Constant[iI"	TIME;TI"Psych::ScalarScanner::TIME;T;0o;;[o;	;[I"3Taken from http://yaml.org/type/timestamp.html;T;
@;0@@cRDoc::NormalClass0U;
[iI"
FLOAT;TI" Psych::ScalarScanner::FLOAT;T;0o;;[o;	;[I"/Taken from http://yaml.org/type/float.html;T;
@;0@@@!0U;
[iI"INTEGER;TI""Psych::ScalarScanner::INTEGER;T;0o;;[o;	;[I"-Taken from http://yaml.org/type/int.html;T;
@;0@@@!0[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[I"parse_int;T@[I"parse_time;T@[I"
tokenize;T@[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"
Psych;TcRDoc::NormalModuleU:RDoc::Attr[iI"class_loader:ETI"&Psych::ScalarScanner#class_loader;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"*ext/psych/lib/psych/scalar_scanner.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::ScalarScanner;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"set_end_location:ETI"(Psych::TreeBuilder#set_end_location;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(node);T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"TreeBuilder:ETI"Psych::TreeBuilder;TI"Psych::Handler;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"NThis class works in conjunction with Psych::Parser to build an in-memory ;TI"0parse tree that represents a YAML document.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Example;T@o:RDoc::Markup::Verbatim;[I"7parser = Psych::Parser.new Psych::TreeBuilder.new
;TI"parser.parse('--- foo')
;TI" tree = parser.handler.root
;T:@format0o;	;[I"LSee Psych::Handler for documentation on the event methods used in this ;TI"class.;T:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[
I"	root;TI"R;T:publicFI"(ext/psych/lib/psych/tree_builder.rb;T[[[[I"
class;T[[;[[I"new;T@#[:protected[[:private[[I"
instance;T[[;[[I"
alias;T@#[I"end_document;T@#[I"end_stream;T@#[I"event_location;T@#[I"scalar;T@#[I"start_document;T@#[I"start_stream;T@#[;[[;[
[I"pop;T@#[I"	push;T@#[I"set_end_location;T@#[I"set_location;T@#[I"set_start_location;T@#[[U:RDoc::Context::Section[i0o;;[;0;0[@I"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"start_stream:ETI"$Psych::TreeBuilder#start_stream;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(encoding);T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"event_location:ETI"&Psych::TreeBuilder#event_location;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"5(start_line, start_column, end_line, end_column);T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
alias:ETI"Psych::TreeBuilder#alias;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(anchor);T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"end_stream:ETI""Psych::TreeBuilder#end_stream;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pop:ETI"Psych::TreeBuilder#pop;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"scalar:ETI"Psych::TreeBuilder#scalar;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"/(value, anchor, tag, plain, quoted, style);T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Psych::TreeBuilder::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&Create a new TreeBuilder instance;T:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"start_document:ETI"&Psych::TreeBuilder#start_document;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EHandles start_document events with +version+, +tag_directives+, ;TI"and +implicit+ styling.;To:RDoc::Markup::BlankLineo;
;	[I"&See Psych::Handler#start_document;T:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"((version, tag_directives, implicit);T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"set_start_location:ETI"*Psych::TreeBuilder#set_start_location;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(node);T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	push:ETI"Psych::TreeBuilder#push;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value);T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"set_location:ETI"$Psych::TreeBuilder#set_location;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(node);T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::Attr[iI"	root:ETI"Psych::TreeBuilder#root;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-Returns the root node for the built tree;T:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::TreeBuilder;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"end_document:ETI"$Psych::TreeBuilder#end_document;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CHandles end_document events with +version+, +tag_directives+, ;TI"and +implicit+ styling.;To:RDoc::Markup::BlankLineo;
;	[I"&See Psych::Handler#start_document;T:
@fileI"(ext/psych/lib/psych/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below000[I"!(implicit_end = !streaming?);T@FI"TreeBuilder;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
BadAlias:ETI"Psych::BadAlias;TI"Psych::Exception;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"%ext/psych/lib/psych/exception.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"
Psych;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"
Psych:ET@0o:RDoc::Markup::Document:@parts[,o;;[]S:RDoc::Markup::Heading:
leveli:	textI"
Overview;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I")Psych is a YAML parser and emitter. ;TI"IPsych leverages libyaml [Home page: http://pyyaml.org/wiki/LibYAML] ;TI"Ior [HG repo: https://bitbucket.org/xi/libyaml] for its YAML parsing ;TI"Land emitting capabilities. In addition to wrapping libyaml, Psych also ;TI"Kknows how to serialize and de-serialize most Ruby objects to and from ;TI"the YAML format.;T@S;	;
i;I",I NEED TO PARSE OR EMIT YAML RIGHT NOW!;T@o:RDoc::Markup::Verbatim;[I"# Parse some YAML
;TI"&Psych.load("--- foo") # => "foo"
;TI"
;TI"# Emit some YAML
;TI"1Psych.dump("foo")     # => "--- foo\n...\n"
;TI"/{ :a => 'b'}.to_yaml  # => "---\n:a: b\n"
;T:@format0o;
;[I"3Got more time on your hands?  Keep on reading!;T@S;	;
i;I"YAML Parsing;T@o;
;[	I"SPsych provides a range of interfaces for parsing a YAML document ranging from ;TI"Nlow level to high level, depending on your parsing needs.  At the lowest ;TI"Plevel, is an event based parser.  Mid level is access to the raw YAML AST, ;TI"Oand at the highest level is the ability to unmarshal YAML to Ruby objects.;T@S;	;
i;I"YAML Emitting;T@o;
;[
I"MPsych provides a range of interfaces ranging from low to high level for ;TI"Sproducing YAML documents.  Very similar to the YAML parsing interfaces, Psych ;TI"Pprovides at the lowest level, an event based system, mid-level is building ;TI"Oa YAML AST, and the highest level is converting a Ruby object straight to ;TI"a YAML document.;T@S;	;
i;I"High-level API;T@S;	;
i;I"Parsing;T@o;
;[I"QThe high level YAML parser provided by Psych simply takes YAML as input and ;TI"Treturns a Ruby data structure.  For information on using the high level parser ;TI"see Psych.load;T@S;	;
i	;I"Reading from a string;T@o;;[I".Psych.load("--- a")             # => 'a'
;TI"5Psych.load("---\n - a\n - b")   # => ['a', 'b']
;T;0S;	;
i	;I"Reading from a file;T@o;;[I"%Psych.load_file("database.yml")
;T;0S;	;
i	;I"Exception handling;T@o;;[I"begin
;TI"A  # The second argument changes only the exception contents
;TI"(  Psych.parse("--- `", "file.txt")
;TI"%rescue Psych::SyntaxError => ex
;TI""  ex.file    # => 'file.txt'
;TI"Q  ex.message # => "(file.txt): found character that cannot start any token"
;TI"	end
;T;0S;	;
i;I"
Emitting;T@o;
;[I"RThe high level emitter has the easiest interface.  Psych simply takes a Ruby ;TI"Qdata structure and converts it to a YAML document.  See Psych.dump for more ;TI"2information on dumping a Ruby data structure.;T@S;	;
i	;I"Writing to a string;T@o;;[I"-# Dump an array, get back a YAML string
;TI"4Psych.dump(['a', 'b'])  # => "---\n- a\n- b\n"
;TI"
;TI"%# Dump an array to an IO object
;TI"MPsych.dump(['a', 'b'], StringIO.new)  # => #<StringIO:0x000001009d0890>
;TI"
;TI"*# Dump an array with indentation set
;TI"KPsych.dump(['a', ['b']], :indentation => 3) # => "---\n- a\n-  - b\n"
;TI"
;TI"3# Dump an array to an IO with indentation set
;TI"?Psych.dump(['a', ['b']], StringIO.new, :indentation => 3)
;T;0S;	;
i	;I"Writing to a file;T@o;
;[I"ICurrently there is no direct API for dumping Ruby structure to file:;T@o;;[I".File.open('database.yml', 'w') do |file|
;TI"*  file.write(Psych.dump(['a', 'b']))
;TI"	end
;T;0S;	;
i;I"Mid-level API;T@S;	;
i;I"Parsing;T@o;
;[
I"RPsych provides access to an AST produced from parsing a YAML document.  This ;TI"Ptree is built using the Psych::Parser and Psych::TreeBuilder.  The AST can ;TI"Jbe examined and manipulated freely.  Please see Psych::parse_stream, ;TI"OPsych::Nodes, and Psych::Nodes::Node for more information on dealing with ;TI"YAML syntax trees.;T@S;	;
i	;I"Reading from a string;T@o;;[
I"$# Returns Psych::Nodes::Stream
;TI"+Psych.parse_stream("---\n - a\n - b")
;TI"
;TI"&# Returns Psych::Nodes::Document
;TI"$Psych.parse("---\n - a\n - b")
;T;0S;	;
i	;I"Reading from a file;T@o;;[
I"$# Returns Psych::Nodes::Stream
;TI"3Psych.parse_stream(File.read('database.yml'))
;TI"
;TI"&# Returns Psych::Nodes::Document
;TI"&Psych.parse_file('database.yml')
;T;0S;	;
i	;I"Exception handling;T@o;;[I"begin
;TI"A  # The second argument changes only the exception contents
;TI"(  Psych.parse("--- `", "file.txt")
;TI"%rescue Psych::SyntaxError => ex
;TI""  ex.file    # => 'file.txt'
;TI"Q  ex.message # => "(file.txt): found character that cannot start any token"
;TI"	end
;T;0S;	;
i;I"
Emitting;T@o;
;[
I"SAt the mid level is building an AST.  This AST is exactly the same as the AST ;TI"Pused when parsing a YAML document.  Users can build an AST by hand and the ;TI"IAST knows how to emit itself as a YAML document.  See Psych::Nodes, ;TI"QPsych::Nodes::Node, and Psych::TreeBuilder for more information on building ;TI"a YAML AST.;T@S;	;
i	;I"Writing to a string;T@o;;[	I"A# We need Psych::Nodes::Stream (not Psych::Nodes::Document)
;TI"4stream = Psych.parse_stream("---\n - a\n - b")
;TI"
;TI"+stream.to_yaml # => "---\n- a\n- b\n"
;T;0S;	;
i	;I"Writing to a file;T@o;;[I"A# We need Psych::Nodes::Stream (not Psych::Nodes::Document)
;TI"<stream = Psych.parse_stream(File.read('database.yml'))
;TI"
;TI".File.open('database.yml', 'w') do |file|
;TI""  file.write(stream.to_yaml)
;TI"	end
;T;0S;	;
i;I"Low-level API;T@S;	;
i;I"Parsing;T@o;
;[	I"RThe lowest level parser should be used when the YAML input is already known, ;TI"Land the developer does not want to pay the price of building an AST or ;TI"Pautomatic detection and conversion to Ruby objects.  See Psych::Parser for ;TI"6more information on using the event based parser.;T@S;	;
i	;I".Reading to Psych::Nodes::Stream structure;T@o;;[I"Gparser = Psych::Parser.new(TreeBuilder.new) # => #<Psych::Parser>
;TI"Oparser = Psych.parser                       # it's an alias for the above
;TI"
;TI"Gparser.parse("---\n - a\n - b")             # => #<Psych::Parser>
;TI"Lparser.handler                              # => #<Psych::TreeBuilder>
;TI"Nparser.handler.root                         # => #<Psych::Nodes::Stream>
;T;0S;	;
i	;I"Receiving an events stream;T@o;;[I".recorder = Psych::Handlers::Recorder.new
;TI"*parser = Psych::Parser.new(recorder)
;TI"
;TI"%parser.parse("---\n - a\n - b")
;TI"8recorder.events # => [list of [event, args] lists]
;TI"?                # event is one of: Psych::Handler::EVENTS
;TI"B                # args are the arguments passed to the event
;T;0S;	;
i;I"
Emitting;T@o;
;[	I"NThe lowest level emitter is an event based system.  Events are sent to a ;TI"SPsych::Emitter object.  That object knows how to convert the events to a YAML ;TI"Odocument.  This interface should be used when document format is known in ;TI"Madvance or speed is a concern.  See Psych::Emitter for more information.;T@S;	;
i	;I" Writing to a Ruby structure;T@o;;[I"=Psych.parser.parse("--- a")       # => #<Psych::Parser>
;TI"
;TI"Dparser.handler.first              # => #<Psych::Nodes::Stream>
;TI"2parser.handler.first.to_ruby      # => ["a"]
;TI"
;TI"Fparser.handler.root.first         # => #<Psych::Nodes::Document>
;TI"0parser.handler.root.first.to_ruby # => "a"
;TI"
;TI"/# You can instantiate an Emitter manually
;TI"CPsych::Visitors::ToRuby.new.accept(parser.handler.root.first)
;TI"
# => "a";T;0:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I"(ext/psych/lib/psych/class_loader.rb;T;0o;;[;I"!ext/psych/lib/psych/coder.rb;T;0o;;[;I"%ext/psych/lib/psych/exception.rb;T;0o;;[;I"#ext/psych/lib/psych/handler.rb;T;0o;;[;I"4ext/psych/lib/psych/handlers/document_stream.rb;T;0o;;[;I"-ext/psych/lib/psych/handlers/recorder.rb;T;0o;;[;I",ext/psych/lib/psych/json/ruby_events.rb;T;0o;;[;I"'ext/psych/lib/psych/json/stream.rb;T;0o;;[;I"-ext/psych/lib/psych/json/tree_builder.rb;T;0o;;[;I",ext/psych/lib/psych/json/yaml_events.rb;T;0o;;[;I"!ext/psych/lib/psych/nodes.rb;T;0o;;[;I"'ext/psych/lib/psych/nodes/alias.rb;T;0o;;[;I"*ext/psych/lib/psych/nodes/document.rb;T;0o;;[;I")ext/psych/lib/psych/nodes/mapping.rb;T;0o;;[;I"&ext/psych/lib/psych/nodes/node.rb;T;0o;;[;I"(ext/psych/lib/psych/nodes/scalar.rb;T;0o;;[;I"*ext/psych/lib/psych/nodes/sequence.rb;T;0o;;[;I"(ext/psych/lib/psych/nodes/stream.rb;T;0o;;[;I" ext/psych/lib/psych/omap.rb;T;0o;;[;I""ext/psych/lib/psych/parser.rb;T;0o;;[;I"*ext/psych/lib/psych/scalar_scanner.rb;T;0o;;[;I"ext/psych/lib/psych/set.rb;T;0o;;[;I""ext/psych/lib/psych/stream.rb;T;0o;;[;I"%ext/psych/lib/psych/streaming.rb;T;0o;;[;I"(ext/psych/lib/psych/syntax_error.rb;T;0o;;[;I"(ext/psych/lib/psych/tree_builder.rb;T;0o;;[;I"$ext/psych/lib/psych/versions.rb;T;0o;;[;I"0ext/psych/lib/psych/visitors/depth_first.rb;T;0o;;[;I",ext/psych/lib/psych/visitors/emitter.rb;T;0o;;[;I".ext/psych/lib/psych/visitors/json_tree.rb;T;0o;;[;I",ext/psych/lib/psych/visitors/to_ruby.rb;T;0o;;[;I",ext/psych/lib/psych/visitors/visitor.rb;T;0o;;[;I".ext/psych/lib/psych/visitors/yaml_tree.rb;T;0o;;[;I"ext/psych/psych.c;T;0o;;[;I"ext/psych/psych_emitter.c;T;0o;;[;I"ext/psych/psych_parser.c;T;0o;;[;I"ext/psych/psych_to_ruby.c;T;0o;;[;I" ext/psych/psych_yaml_tree.c;T;0;0;0[[U:RDoc::Constant[iI"LIBYAML_VERSION;TI"Psych::LIBYAML_VERSION;T:public0o;;[o;
;[I"*The version of libyaml Psych is using;T;@�;0@�@cRDoc::NormalModule0U;[iI"VERSION;TI"Psych::VERSION;T;0o;;[o;
;[I"&The version is Psych you're using;T;@9;0@9@@f0U;[iI"DEFAULT_SNAKEYAML_VERSION;TI"%Psych::DEFAULT_SNAKEYAML_VERSION;T;0o;;[;@9;0@9@@f0[[[I"
class;T[[;[[I"	dump;TI"ext/psych/lib/psych.rb;T[I"dump_stream;T@[I"libyaml_version;TI"ext/psych/psych.c;T[I"	load;T@[I"load_file;T@[I"load_stream;T@[I"
parse;T@[I"parse_file;T@[I"parse_stream;T@[I"parser;T@[I"safe_load;T@[I"to_json;T@[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[0@�@�@�@�@�@�@�@�@@@@	@@@@@@@@!@$@'@*@-@0@3@6@9@<@?@B@E@H@K@N@Q@T@W@ZI" lib/rubygems/config_file.rb;TI"$lib/rubygems/psych_additions.rb;TI"lib/rubygems/psych_tree.rb;TI""lib/rubygems/specification.rb;T@�cRDoc::TopLevelU:RDoc::AnyMethod[iI"dump_stream:ETI"Psych::dump_stream;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"GDump a list of objects as separate documents to a document stream.;To:RDoc::Markup::BlankLineo;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[I"IPsych.dump_stream("foo\n  ", {}) # => "--- ! \"foo\\n  \"\n--- {}\n";T:@format0:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*objects);T@FI"
Psych;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	mark:ETI"Psych::Parser#mark;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PReturns a Psych::Parser::Mark object that contains line, column, and index ;TI"information.;T:
@fileI"ext/psych/psych_parser.c;T:0@omit_headings_from_table_of_contents_below0I"-parser.mark # => #<Psych::Parser::Mark>
;T0[I"();T@FI"Parser;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Mark:ETI"Psych::Parser::Mark;TI"'Struct.new(:index, :line, :column);To:RDoc::Markup::Document:@parts[o;;[:
@fileI""ext/psych/lib/psych/parser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Psych::Parser;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI"Psych::Parser::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LCreates a new Psych::Parser instance with +handler+.  YAML events will ;TI"Abe called on +handler+.  See Psych::Parser for more details.;T:
@fileI""ext/psych/lib/psych/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(handler = Handler.new);T@FI"Parser;TcRDoc::NormalClass00U:RDoc::Attr[iI"handler:ETI"Psych::Parser#handler;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/The handler on which events will be called;T:
@fileI""ext/psych/lib/psych/parser.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Parser;TcRDoc::NormalClass0U:RDoc::Attr[iI"external_encoding:ETI"$Psych::Parser#external_encoding;TI"W;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Set the encoding for this parser to +encoding+;T:
@fileI""ext/psych/lib/psych/parser.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Parser;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"Parser:ETI"Psych::Parser;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[
I"KYAML event parser class.  This class parses a YAML document and calls ;TI"Nevents on the handler that is passed to the constructor.  The events can ;TI"Nbe used for things such as constructing a YAML AST or deserializing YAML ;TI"Ldocuments.  It can even be fed back to Psych::Emitter to emit the same ;TI"document that was parsed.;To:RDoc::Markup::BlankLineo;	;[I"QSee Psych::Handler for documentation on the events that Psych::Parser emits.;T@o;	;[I"MHere is an example that prints out ever scalar found in a YAML document:;T@o:RDoc::Markup::Verbatim;[I"+# Handler for detecting scalar values
;TI"*class ScalarHandler < Psych::Handler
;TI";  def scalar value, anchor, tag, plain, quoted, style
;TI"    puts value
;TI"  end
;TI"	end
;TI"
;TI"3parser = Psych::Parser.new(ScalarHandler.new)
;TI"!parser.parse(yaml_document)
;T:@format0o;	;[I"NHere is an example that feeds the parser back in to Psych::Emitter.  The ;TI"EYAML document is read from STDIN and written back out to STDERR:;T@o;;[I"=parser = Psych::Parser.new(Psych::Emitter.new($stderr))
;TI"parser.parse($stdin)
;T;0o;	;[I"HPsych uses Psych::Parser in combination with Psych::TreeBuilder to ;TI"2construct an AST of the parsed YAML document.;T:
@fileI""ext/psych/lib/psych/parser.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;
I"ext/psych/psych_parser.c;T;0;
0;0[[
I"external_encoding;TI"W;T:publicFI""ext/psych/lib/psych/parser.rb;T[
I"handler;TI"RW;T;F@;[	U:RDoc::Constant[iI"ANY;TI"Psych::Parser::ANY;T;0o;;[o;	;[I"'Let the parser choose the encoding;T@;
@6;0@6@cRDoc::NormalClass0U;[iI"	UTF8;TI"Psych::Parser::UTF8;T;0o;;[o;	;[I"UTF-8 Encoding;T@;
@6;0@6@@I0U;[iI"UTF16LE;TI"Psych::Parser::UTF16LE;T;0o;;[o;	;[I" UTF-16-LE Encoding with BOM;T@;
@6;0@6@@I0U;[iI"UTF16BE;TI"Psych::Parser::UTF16BE;T;0o;;[o;	;[I" UTF-16-BE Encoding with BOM;T@;
@6;0@6@@I0[[[I"
class;T[[;[[I"new;T@;[:protected[[:private[[I"
instance;T[[;[[I"	mark;TI"ext/psych/psych_parser.c;T[I"
parse;T@y[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@3I"ext/psych/psych_emitter.c;TI"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
parse:ETI"Psych::Parser#parse;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LParse the YAML document contained in +yaml+.  Events will be called on ;TI",the handler set on the parser instance.;To:RDoc::Markup::BlankLineo;
;	[I"0See Psych::Parser and Psych::Parser#handler;T:
@fileI"ext/psych/psych_parser.c;T:0@omit_headings_from_table_of_contents_below0I"parser.parse(yaml)
;T0[I"(p1, p2 = v2);T@FI"Parser;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Recorder:ETI"Psych::Handlers::Recorder;TI"Psych::Handler;To:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"OThis handler will capture an event and record the event.  Recorder events ;TI"9are available vial Psych::Handlers::Recorder#events.;To:RDoc::Markup::BlankLineo;	;[I"For example:;T@o:RDoc::Markup::Verbatim;[I".recorder = Psych::Handlers::Recorder.new
;TI")parser = Psych::Parser.new recorder
;TI"parser.parse '--- foo'
;TI"
;TI"+recorder.events # => [list of events]
;TI"
;TI"# Replay the events
;TI"
;TI"*emitter = Psych::Emitter.new $stdout
;TI"'recorder.events.each do |m, args|
;TI"  emitter.send m, *args
;TI"end;T:@format0:
@fileI"-ext/psych/lib/psych/handlers/recorder.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"events;TI"R;T:publicFI"-ext/psych/lib/psych/handlers/recorder.rb;T[[[[I"
class;T[[;[[I"new;T@)[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@$I"Psych::Handlers;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"#Psych::Handlers::Recorder::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"-ext/psych/lib/psych/handlers/recorder.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"
Recorder;TcRDoc::NormalClass00U:RDoc::Attr[iI"events:ETI"%Psych::Handlers::Recorder#events;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"-ext/psych/lib/psych/handlers/recorder.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Handlers::Recorder;TcRDoc::NormalClass0U:RDoc::NormalModule[iI"
Handlers:ETI"Psych::Handlers;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"4ext/psych/lib/psych/handlers/document_stream.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"-ext/psych/lib/psych/handlers/recorder.rb;T;
0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
@I"
Psych;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"	Omap:ETI"Psych::Omap;TI"	Hash;To:RDoc::Markup::Document:@parts[o;;[:
@fileI" ext/psych/lib/psych/omap.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"parse_stream:ETI"Psych::parse_stream;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"GParse a YAML string in +yaml+.  Returns the Psych::Nodes::Stream. ;TI"IThis method can handle multiple YAML documents contained in +yaml+. ;TI"L+filename+ is used in the exception message if a Psych::SyntaxError is ;TI"raised.;To:RDoc::Markup::BlankLineo;
;	[I"OIf a block is given, a Psych::Nodes::Document node will be yielded to the ;TI" block as it's being parsed.;T@o;
;	[I"FRaises a Psych::SyntaxError when a YAML syntax error is detected.;T@o;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[I"MPsych.parse_stream("---\n - a\n - b") # => #<Psych::Nodes::Stream:0x00>
;TI"
;TI"2Psych.parse_stream("--- a\n--- b") do |node|
;TI"0  node # => #<Psych::Nodes::Document:0x00>
;TI"	end
;TI"
;TI"begin
;TI"/  Psych.parse_stream("--- `", "file.txt")
;TI"%rescue Psych::SyntaxError => ex
;TI""  ex.file    # => 'file.txt'
;TI"Q  ex.message # => "(file.txt): found character that cannot start any token"
;TI"	end
;T:@format0o;
;	[I":See Psych::Nodes for more information about YAML AST.;T:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below000[I"#(yaml, filename = nil, &block);T@-FI"
Psych;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
parse:ETI"Psych::parse;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"IParse a YAML string in +yaml+.  Returns the Psych::Nodes::Document. ;TI"L+filename+ is used in the exception message if a Psych::SyntaxError is ;TI"raised.;To:RDoc::Markup::BlankLineo;
;	[I"FRaises a Psych::SyntaxError when a YAML syntax error is detected.;T@o;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[
I"HPsych.parse("---\n - a\n - b") # => #<Psych::Nodes::Document:0x00>
;TI"
;TI"begin
;TI"(  Psych.parse("--- `", "file.txt")
;TI"%rescue Psych::SyntaxError => ex
;TI""  ex.file    # => 'file.txt'
;TI"Q  ex.message # => "(file.txt): found character that cannot start any token"
;TI"	end
;T:@format0o;
;	[I":See Psych::Nodes for more information about YAML AST.;T:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below000[I",(yaml, filename = nil, fallback: false);T@$FI"
Psych;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"new:ETI"Psych::Nodes::Alias::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Create a new Alias that points to an +anchor+;T:
@fileI"'ext/psych/lib/psych/nodes/alias.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(anchor);T@FI"
Alias;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Alias:ETI"Psych::Nodes::Alias;TI"Psych::Nodes::Node;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"LThis class represents a {YAML Alias}[http://yaml.org/spec/1.1/#alias]. ;TI"It points to an +anchor+.;To:RDoc::Markup::BlankLineo;	;[I"GA Psych::Nodes::Alias is a terminal node and may have no children.;T:
@fileI"'ext/psych/lib/psych/nodes/alias.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[
I"anchor;TI"RW;T:publicFI"'ext/psych/lib/psych/nodes/alias.rb;T[[[[I"
class;T[[;
[[I"new;T@[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"Psych::Nodes;TcRDoc::NormalModuleU:RDoc::Attr[iI"anchor:ETI"Psych::Nodes::Alias#anchor;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#The anchor this alias links to;T:
@fileI"'ext/psych/lib/psych/nodes/alias.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Alias;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"Psych::Nodes::Scalar::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Create a new Psych::Nodes::Scalar object.;To:RDoc::Markup::BlankLineo;
;	[I"/+value+ is the string value of the scalar ;TI"-+anchor+ is an associated anchor or nil ;TI"'+tag+ is an associated tag or nil ;TI" +plain+ is a boolean value ;TI"!+quoted+ is a boolean value ;TI"5+style+ is an integer idicating the string style;T@S:RDoc::Markup::Heading:
leveli:	textI"
See Also;T@o;
;	[I"#See also Psych::Handler#scalar;T:
@fileI"(ext/psych/lib/psych/nodes/scalar.rb;T:0@omit_headings_from_table_of_contents_below000[I"P(value, anchor = nil, tag = nil, plain = true, quoted = false, style = ANY);T@FI"Scalar;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Scalar:ETI"Psych::Nodes::Scalar;TI"Psych::Nodes::Node;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"OThis class represents a {YAML Scalar}[http://yaml.org/spec/1.1/#id858081].;To:RDoc::Markup::BlankLineo;	;[I"HThis node type is a terminal node and should not have any children.;T:
@fileI"(ext/psych/lib/psych/nodes/scalar.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[
I"anchor;TI"RW;T:publicFI"(ext/psych/lib/psych/nodes/scalar.rb;T[
I"
plain;T@;
F@[
I"quoted;T@;
F@[
I"
style;T@;
F@[
I"tag;T@;
F@[
I"
value;T@;
F@[U:RDoc::Constant[iI"ANY;TI"Psych::Nodes::Scalar::ANY;T;
0o;;[o;	;[I"*Any style scalar, the emitter chooses;T;@;0@@cRDoc::NormalClass0U;[iI"
PLAIN;TI" Psych::Nodes::Scalar::PLAIN;T;
0o;;[o;	;[I"Plain scalar style;T;@;0@@@/0U;[iI"SINGLE_QUOTED;TI"(Psych::Nodes::Scalar::SINGLE_QUOTED;T;
0o;;[o;	;[I"Single quoted style;T;@;0@@@/0U;[iI"DOUBLE_QUOTED;TI"(Psych::Nodes::Scalar::DOUBLE_QUOTED;T;
0o;;[o;	;[I"Double quoted style;T;@;0@@@/0U;[iI"LITERAL;TI""Psych::Nodes::Scalar::LITERAL;T;
0o;;[o;	;[I"Literal style;T;@;0@@@/0U;[iI"FOLDED;TI"!Psych::Nodes::Scalar::FOLDED;T;
0o;;[o;	;[I"Folded style;T;@;0@@@/0[[[I"
class;T[[;
[[I"new;T@[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I".ext/psych/lib/psych/visitors/yaml_tree.rb;TI"lib/rubygems/psych_tree.rb;TI"Psych::Nodes;TcRDoc::NormalModuleU:RDoc::Attr[iI"
style:ETI"Psych::Nodes::Scalar#style;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"The style of this scalar;T:
@fileI"(ext/psych/lib/psych/nodes/scalar.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Scalar;TcRDoc::NormalClass0U:RDoc::Attr[iI"tag:ETI"Psych::Nodes::Scalar#tag;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"$The tag value (if there is one);T:
@fileI"(ext/psych/lib/psych/nodes/scalar.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Scalar;TcRDoc::NormalClass0U:RDoc::Attr[iI"anchor:ETI" Psych::Nodes::Scalar#anchor;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'The anchor value (if there is one);T:
@fileI"(ext/psych/lib/psych/nodes/scalar.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Scalar;TcRDoc::NormalClass0U:RDoc::Attr[iI"
plain:ETI"Psych::Nodes::Scalar#plain;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Is this a plain scalar?;T:
@fileI"(ext/psych/lib/psych/nodes/scalar.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Scalar;TcRDoc::NormalClass0U:RDoc::Attr[iI"
value:ETI"Psych::Nodes::Scalar#value;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"The scalar value;T:
@fileI"(ext/psych/lib/psych/nodes/scalar.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Scalar;TcRDoc::NormalClass0U:RDoc::Attr[iI"quoted:ETI" Psych::Nodes::Scalar#quoted;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Is this scalar quoted?;T:
@fileI"(ext/psych/lib/psych/nodes/scalar.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Scalar;TcRDoc::NormalClass0U:RDoc::NormalModule[iI"
Nodes:ETI"Psych::Nodes;T0o:RDoc::Markup::Document:@parts[
o;;[#S:RDoc::Markup::Heading:
leveli:	textI"
Overview;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"KWhen using Psych.load to deserialize a YAML document, the document is ;TI"Gtranslated to an intermediary AST.  That intermediary AST is then ;TI"*translated in to a Ruby object graph.;T@o;
;[I"PIn the opposite direction, when using Psych.dump, the Ruby object graph is ;TI"Itranslated to an intermediary AST which is then converted to a YAML ;TI"document.;T@o;
;[	I"OPsych::Nodes contains all of the classes that make up the nodes of a YAML ;TI"JAST.  You can manually build an AST and use one of the visitors (see ;TI"LPsych::Visitors) to convert that AST to either a YAML document or to a ;TI"Ruby object graph.;T@o;
;[I"KHere is an example of building an AST that represents a list with one ;TI"scalar:;T@o:RDoc::Markup::Verbatim;[I"# Create our nodes
;TI"'stream = Psych::Nodes::Stream.new
;TI")doc    = Psych::Nodes::Document.new
;TI")seq    = Psych::Nodes::Sequence.new
;TI".scalar = Psych::Nodes::Scalar.new('foo')
;TI"
;TI"# Build up our tree
;TI"stream.children << doc
;TI"doc.children    << seq
;TI"seq.children    << scalar
;T:@format0o;
;[I"OThe stream is the root of the tree.  We can then convert the tree to YAML:;T@o;;[I"&stream.to_yaml => "---\n- foo\n"
;T;0o;
;[I"Or convert it to Ruby:;T@o;;[I"!stream.to_ruby => [["foo"]]
;T;0S;	;
i;I"YAML AST Requirements;T@o;
;[I"KA valid YAML AST *must* have one Psych::Nodes::Stream at the root.  A ;TI"PPsych::Nodes::Stream node must have 1 or more Psych::Nodes::Document nodes ;TI"as children.;T@o;
;[I"RPsych::Nodes::Document nodes must have one and *only* one child.  That child ;TI"may be one of:;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"Psych::Nodes::Sequence;To;;0;[o;
;[I"Psych::Nodes::Mapping;To;;0;[o;
;[I"Psych::Nodes::Scalar;T@o;
;[I"JPsych::Nodes::Sequence and Psych::Nodes::Mapping nodes may have many ;TI"Mchildren, but Psych::Nodes::Mapping nodes should have an even number of ;TI"children.;T@o;
;[I"DAll of these are valid children for Psych::Nodes::Sequence and ;TI"!Psych::Nodes::Mapping nodes:;T@o;;;;[	o;;0;[o;
;[I"Psych::Nodes::Sequence;To;;0;[o;
;[I"Psych::Nodes::Mapping;To;;0;[o;
;[I"Psych::Nodes::Scalar;To;;0;[o;
;[I"Psych::Nodes::Alias;T@o;
;[I"NPsych::Nodes::Scalar and Psych::Nodes::Alias are both terminal nodes and ;TI""should not have any children.;T:
@fileI"!ext/psych/lib/psych/nodes.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I"'ext/psych/lib/psych/nodes/alias.rb;T;0o;;[;I"*ext/psych/lib/psych/nodes/document.rb;T;0o;;[;I")ext/psych/lib/psych/nodes/mapping.rb;T;0o;;[;I"&ext/psych/lib/psych/nodes/node.rb;T;0o;;[;I"(ext/psych/lib/psych/nodes/scalar.rb;T;0o;;[;I"*ext/psych/lib/psych/nodes/sequence.rb;T;0o;;[;I"(ext/psych/lib/psych/nodes/stream.rb;T;0;0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@{@~@|@@�@�@�@�I"(ext/psych/lib/psych/tree_builder.rb;TI",ext/psych/lib/psych/visitors/to_ruby.rb;TI".ext/psych/lib/psych/visitors/yaml_tree.rb;TI"lib/rubygems/psych_tree.rb;TI"
Psych;TcRDoc::NormalModuleU:RDoc::Attr[iI"
encoding:ETI""Psych::Nodes::Stream#encoding;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&The encoding used for this stream;T:
@fileI"(ext/psych/lib/psych/nodes/stream.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Stream;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"Psych::Nodes::Stream::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DCreate a new Psych::Nodes::Stream node with an +encoding+ that ;TI",defaults to Psych::Nodes::Stream::UTF8.;To:RDoc::Markup::BlankLineo;
;	[I")See also Psych::Handler#start_stream;T:
@fileI"(ext/psych/lib/psych/nodes/stream.rb;T:0@omit_headings_from_table_of_contents_below000[I"(encoding = UTF8);T@TI"Stream;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Stream:ETI"Psych::Nodes::Stream;TI"Psych::Nodes::Node;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"IRepresents a YAML stream.  This is the root node for any YAML parse ;TI"Itree.  This node must have one or more child nodes.  The only valid ;TI"Jchild node for a Psych::Nodes::Stream node is Psych::Nodes::Document.;T:
@fileI"(ext/psych/lib/psych/nodes/stream.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"
encoding;TI"RW;T:publicFI"(ext/psych/lib/psych/nodes/stream.rb;T[	U:RDoc::Constant[iI"ANY;TI"Psych::Nodes::Stream::ANY;T;0o;;[o;	;[I"Any encoding;T;
@;0@@cRDoc::NormalClass0U;
[iI"	UTF8;TI"Psych::Nodes::Stream::UTF8;T;0o;;[o;	;[I"UTF-8 encoding;T;
@;0@@@#0U;
[iI"UTF16LE;TI""Psych::Nodes::Stream::UTF16LE;T;0o;;[o;	;[I"UTF-16LE encoding;T;
@;0@@@#0U;
[iI"UTF16BE;TI""Psych::Nodes::Stream::UTF16BE;T;0o;;[o;	;[I"UTF-16BE encoding;T;
@;0@@@#0[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Psych::Nodes;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"Mapping:ETI"Psych::Nodes::Mapping;TI"Psych::Nodes::Node;To:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"OThis class represents a {YAML Mapping}[http://yaml.org/spec/1.1/#mapping].;To:RDoc::Markup::BlankLineo;	;[I"MA Psych::Nodes::Mapping node may have 0 or more children, but must have ;TI"@an even number of children.  Here are the valid children a ;TI")Psych::Nodes::Mapping node may have:;T@o:RDoc::Markup::List:
@type:BULLET:@items[	o:RDoc::Markup::ListItem:@label0;[o;	;[I"Psych::Nodes::Sequence;To;;0;[o;	;[I"Psych::Nodes::Mapping;To;;0;[o;	;[I"Psych::Nodes::Scalar;To;;0;[o;	;[I"Psych::Nodes::Alias;T:
@fileI")ext/psych/lib/psych/nodes/mapping.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[	[
I"anchor;TI"RW;T:publicFI")ext/psych/lib/psych/nodes/mapping.rb;T[
I"
implicit;T@1;F@2[
I"
style;T@1;F@2[
I"tag;T@1;F@2[U:RDoc::Constant[iI"ANY;TI"Psych::Nodes::Mapping::ANY;T;0o;;[o;	;[I"Any Map Style;T;@-;0@-@cRDoc::NormalClass0U;[iI"
BLOCK;TI"!Psych::Nodes::Mapping::BLOCK;T;0o;;[o;	;[I"Block Map Style;T;@-;0@-@@C0U;[iI"	FLOW;TI" Psych::Nodes::Mapping::FLOW;T;0o;;[o;	;[I"Flow Map Style;T;@-;0@-@@C0[[[I"
class;T[[;[[I"new;T@2[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@-I".ext/psych/lib/psych/visitors/yaml_tree.rb;TI"Psych::Nodes;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"Psych::Nodes::Mapping::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Create a new Psych::Nodes::Mapping object.;To:RDoc::Markup::BlankLineo;
;	[
I">+anchor+ is the anchor associated with the map or +nil+. ;TI"8+tag+ is the tag associated with the map or +nil+. ;TI"N+implicit+ is a boolean indicating whether or not the map was implicitly ;TI"started. ;TI"8+style+ is an integer indicating the mapping style.;T@S:RDoc::Markup::Heading:
leveli:	textI"
See Also;To;
;	[I"*See also Psych::Handler#start_mapping;T:
@fileI")ext/psych/lib/psych/nodes/mapping.rb;T:0@omit_headings_from_table_of_contents_below000[I">(anchor = nil, tag = nil, implicit = true, style = BLOCK);T@TI"Mapping;TcRDoc::NormalClass00U:RDoc::Attr[iI"
implicit:ETI"#Psych::Nodes::Mapping#implicit;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"!Is this an implicit mapping?;T:
@fileI")ext/psych/lib/psych/nodes/mapping.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Mapping;TcRDoc::NormalClass0U:RDoc::Attr[iI"
style:ETI" Psych::Nodes::Mapping#style;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"The style of this mapping;T:
@fileI")ext/psych/lib/psych/nodes/mapping.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Mapping;TcRDoc::NormalClass0U:RDoc::Attr[iI"tag:ETI"Psych::Nodes::Mapping#tag;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&The optional tag for this mapping;T:
@fileI")ext/psych/lib/psych/nodes/mapping.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Mapping;TcRDoc::NormalClass0U:RDoc::Attr[iI"anchor:ETI"!Psych::Nodes::Mapping#anchor;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")The optional anchor for this mapping;T:
@fileI")ext/psych/lib/psych/nodes/mapping.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Mapping;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI" Psych::Nodes::Sequence::new;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"6Create a new object representing a YAML sequence.;To:RDoc::Markup::BlankLineo;
;	[
I"A+anchor+ is the anchor associated with the sequence or nil. ;TI";+tag+ is the tag associated with the sequence or nil. ;TI"E+implicit+ a boolean indicating whether or not the sequence was ;TI"implicitly started. ;TI"5+style+ is an integer indicating the list style.;T@o;
;	[I"&See Psych::Handler#start_sequence;T:
@fileI"*ext/psych/lib/psych/nodes/sequence.rb;T:0@omit_headings_from_table_of_contents_below000[I">(anchor = nil, tag = nil, implicit = true, style = BLOCK);T@TI"
Sequence;TcRDoc::NormalClass00U:RDoc::Attr[iI"
implicit:ETI"$Psych::Nodes::Sequence#implicit;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Is this sequence started implicitly?;T:
@fileI"*ext/psych/lib/psych/nodes/sequence.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Sequence;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"
Sequence:ETI"Psych::Nodes::Sequence;TI"Psych::Nodes::Node;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"This class represents a ;TI"@{YAML sequence}[http://yaml.org/spec/1.1/#sequence/syntax].;To:RDoc::Markup::BlankLineo;	;[I">A YAML sequence is basically a list, and looks like this:;T@o:RDoc::Markup::Verbatim;[	I"%YAML 1.1
;TI"	---
;TI"- I am
;TI"- a Sequence
;T:@format0o;	;[I"2A YAML sequence may have an anchor like this:;T@o;;[I"%YAML 1.1
;TI"	---
;TI"
&A [
;TI"  "This sequence",
;TI"  "has an anchor"
;TI"]
;T;0o;	;[I"3A YAML sequence may also have a tag like this:;T@o;;[I"%YAML 1.1
;TI"	---
;TI"
!!seq [
;TI"  "This sequence",
;TI"  "has a tag"
;TI"]
;T;0o;	;[I"=This class represents a sequence in a YAML document.  A ;TI"NPsych::Nodes::Sequence node may have 0 or more children.  Valid children ;TI"for this node are:;T@o:RDoc::Markup::List:
@type:BULLET:@items[	o:RDoc::Markup::ListItem:@label0;[o;	;[I"Psych::Nodes::Sequence;To;;0;[o;	;[I"Psych::Nodes::Mapping;To;;0;[o;	;[I"Psych::Nodes::Scalar;To;;0;[o;	;[I"Psych::Nodes::Alias;T:
@fileI"*ext/psych/lib/psych/nodes/sequence.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[	[
I"anchor;TI"RW;T:publicFI"*ext/psych/lib/psych/nodes/sequence.rb;T[
I"
implicit;T@Q;F@R[
I"
style;T@Q;F@R[
I"tag;T@Q;F@R[U:RDoc::Constant[iI"ANY;TI" Psych::Nodes::Sequence::ANY;T;0o;;[o;	;[I" Any Styles, emitter chooses;T;@M;0@M@cRDoc::NormalClass0U;[iI"
BLOCK;TI""Psych::Nodes::Sequence::BLOCK;T;0o;;[o;	;[I"Block style sequence;T;@M;0@M@@c0U;[iI"	FLOW;TI"!Psych::Nodes::Sequence::FLOW;T;0o;;[o;	;[I"Flow style sequence;T;@M;0@M@@c0[[[I"
class;T[[;[[I"new;T@R[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@MI".ext/psych/lib/psych/visitors/yaml_tree.rb;TI"Psych::Nodes;TcRDoc::NormalModuleU:RDoc::Attr[iI"
style:ETI"!Psych::Nodes::Sequence#style;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"The sequence style used;T:
@fileI"*ext/psych/lib/psych/nodes/sequence.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Sequence;TcRDoc::NormalClass0U:RDoc::Attr[iI"tag:ETI"Psych::Nodes::Sequence#tag;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I",The tag name for this sequence (if any);T:
@fileI"*ext/psych/lib/psych/nodes/sequence.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Sequence;TcRDoc::NormalClass0U:RDoc::Attr[iI"anchor:ETI""Psych::Nodes::Sequence#anchor;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*The anchor for this sequence (if any);T:
@fileI"*ext/psych/lib/psych/nodes/sequence.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Sequence;TcRDoc::NormalClass0U:RDoc::Attr[iI"implicit_end:ETI"(Psych::Nodes::Document#implicit_end;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Is the end of the document implicit?;T:
@fileI"*ext/psych/lib/psych/nodes/document.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Document;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI" Psych::Nodes::Document::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Create a new Psych::Nodes::Document object.;To:RDoc::Markup::BlankLineo;
;	[	I"6+version+ is a list indicating the YAML version. ;TI"?+tags_directives+ is a list of tag directive declarations ;TI"M+implicit+ is a flag indicating whether the document will be implicitly ;TI"
started.;T@S:RDoc::Markup::Heading:
leveli:	textI"
Example:;To;
;	[I"MThis creates a YAML document object that represents a YAML 1.1 document ;TI"7with one tag directive, and has an implicit start:;T@o:RDoc::Markup::Verbatim;	[
I"!Psych::Nodes::Document.new(
;TI"  [1,1],
;TI"2  [["!", "tag:tenderlovemaking.com,2009:"]],
;TI"  true
;TI")
;T:@format0S;;
i;I"
See Also;To;
;	[I"+See also Psych::Handler#start_document;T:
@fileI"*ext/psych/lib/psych/nodes/document.rb;T:0@omit_headings_from_table_of_contents_below000[I":(version = [], tag_directives = [], implicit = false);T@'TI"
Document;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Document:ETI"Psych::Nodes::Document;TI"Psych::Nodes::Node;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"DThis represents a YAML Document.  This node must be a child of ;TI"JPsych::Nodes::Stream.  A Psych::Nodes::Document must have one child, ;TI"0and that child may be one of the following:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"Psych::Nodes::Sequence;To;;0;[o;	;[I"Psych::Nodes::Mapping;To;;0;[o;	;[I"Psych::Nodes::Scalar;T:
@fileI"*ext/psych/lib/psych/nodes/document.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[	[
I"
implicit;TI"RW;T:publicFI"*ext/psych/lib/psych/nodes/document.rb;T[
I"implicit_end;T@);F@*[
I"tag_directives;T@);F@*[
I"version;T@);F@*[[[[I"
class;T[[;[[I"new;T@*[:protected[[:private[[I"
instance;T[[;[[I"	root;T@*[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@%I"Psych::Nodes;TcRDoc::NormalModuleU:RDoc::Attr[iI"
implicit:ETI"$Psych::Nodes::Document#implicit;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Was this document implicitly created?;T:
@fileI"*ext/psych/lib/psych/nodes/document.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Document;TcRDoc::NormalClass0U:RDoc::Attr[iI"version:ETI"#Psych::Nodes::Document#version;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%The version of the YAML document;T:
@fileI"*ext/psych/lib/psych/nodes/document.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Document;TcRDoc::NormalClass0U:RDoc::Attr[iI"tag_directives:ETI"*Psych::Nodes::Document#tag_directives;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/A list of tag directives for this document;T:
@fileI"*ext/psych/lib/psych/nodes/document.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Document;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"	root:ETI" Psych::Nodes::Document#root;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns the root node.  A Document may only have one root node: ;TI"'http://yaml.org/spec/1.1/#id898031;T:
@fileI"*ext/psych/lib/psych/nodes/document.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Document;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_ruby:ETI"Psych::Nodes::Node#to_ruby;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Convert this node to Ruby.;To:RDoc::Markup::BlankLineo;
;	[I"%See also Psych::Visitors::ToRuby;T:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below000[[I"transform;To;;	[;@;
0I"();T@FI"	Node;TcRDoc::NormalClass00U:RDoc::Attr[iI"start_line:ETI""Psych::Nodes::Node#start_line;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*The line number where this node start;T:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Node;TcRDoc::NormalClass0U:RDoc::Attr[iI"start_column:ETI"$Psych::Nodes::Node#start_column;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I",The column number where this node start;T:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Node;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"transform:ETI"!Psych::Nodes::Node#transform;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Node;TcRDoc::NormalClass0[I"Psych::Nodes::Node;TFI"to_ruby;TU:RDoc::NormalClass[iI"	Node:ETI"Psych::Nodes::Node;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"JThe base class for any Node in a YAML parse tree.  This class should ;TI"never be instantiated.;T:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"
children;TI"R;T:publicFI"&ext/psych/lib/psych/nodes/node.rb;T[
I"end_column;TI"RW;T;F@[
I"
end_line;T@;F@[
I"start_column;T@;F@[
I"start_line;T@;F@[
I"tag;T@;F@[[[I"Enumerable;To;;[;
@;0@[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[
[I"	each;T@[I"to_ruby;T@[I"to_yaml;T@[I"transform;T@[I"	yaml;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Psych::Nodes;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"Psych::Nodes::Node::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"$Create a new Psych::Nodes::Node;T:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Node;TcRDoc::NormalClass00U:RDoc::Attr[iI"
children:ETI" Psych::Nodes::Node#children;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"The children of this node;T:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Node;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"	yaml:ETI"Psych::Nodes::Node#yaml;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Convert this node to YAML.;To:RDoc::Markup::BlankLineo;
;	[I"&See also Psych::Visitors::Emitter;T:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below000[[I"to_yaml;To;;	[;@;
0I"(io = nil, options = {});T@FI"	Node;TcRDoc::NormalClass00U:RDoc::Attr[iI"end_column:ETI""Psych::Nodes::Node#end_column;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"+The column number where this node ends;T:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Node;TcRDoc::NormalClass0U:RDoc::Attr[iI"tag:ETI"Psych::Nodes::Node#tag;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"An associated tag;T:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Node;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"	each:ETI"Psych::Nodes::Node#each;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KIterate over each node in the tree. Yields each node to +block+ depth ;TI"first.;T:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(&block);T@FI"	Node;TcRDoc::NormalClass00U:RDoc::Attr[iI"
end_line:ETI" Psych::Nodes::Node#end_line;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")The line number where this node ends;T:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Nodes::Node;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"to_yaml:ETI"Psych::Nodes::Node#to_yaml;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"&ext/psych/lib/psych/nodes/node.rb;T:0@omit_headings_from_table_of_contents_below000[I"(io = nil, options = {});T@FI"	Node;TcRDoc::NormalClass0[I"Psych::Nodes::Node;TFI"	yaml;TU:RDoc::NormalModule[iI"Streaming:ETI"Psych::Streaming;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"%ext/psych/lib/psych/streaming.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"
start;TI"%ext/psych/lib/psych/streaming.rb;T[;[[;
[[I"
register;T@"[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"'Psych::Streaming::ClassMethods#new;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GCreate a new streaming emitter.  Emitter will print to +io+.  See ;TI""Psych::Stream for an example.;T:
@fileI"%ext/psych/lib/psych/streaming.rb;T:0@omit_headings_from_table_of_contents_below000[I"	(io);T@TI"ClassMethods;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"ClassMethods:ETI"#Psych::Streaming::ClassMethods;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"%ext/psych/lib/psych/streaming.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"new;TI"%ext/psych/lib/psych/streaming.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"Psych::Streaming;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
register:ETI"Psych::Streaming#register;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"%ext/psych/lib/psych/streaming.rb;T:0@omit_headings_from_table_of_contents_below000[I"(target, obj);T@FI"Streaming;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
start:ETI"Psych::Streaming#start;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%Start streaming using +encoding+;T:
@fileI"%ext/psych/lib/psych/streaming.rb;T:0@omit_headings_from_table_of_contents_below00I"	self;T[I"%(encoding = Nodes::Stream::UTF8);T@TI"Streaming;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"parse_file:ETI"Psych::parse_file;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DParse a file at +filename+. Returns the Psych::Nodes::Document.;To:RDoc::Markup::BlankLineo;
;	[I"FRaises a Psych::SyntaxError when a YAML syntax error is detected.;T:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below000[I"(filename);T@FI"
Psych;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	load:ETI"Psych::load;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"ILoad +yaml+ in to a Ruby data structure.  If multiple documents are ;TI"Lprovided, the object contained in the first document will be returned. ;TI"Q+filename+ will be used in the exception message if any exception is raised ;TI"while parsing.;To:RDoc::Markup::BlankLineo;
;	[I"FRaises a Psych::SyntaxError when a YAML syntax error is detected.;T@o;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[I".Psych.load("--- a")             # => 'a'
;TI"5Psych.load("---\n - a\n - b")   # => ['a', 'b']
;TI"
;TI"begin
;TI"'  Psych.load("--- `", "file.txt")
;TI"%rescue Psych::SyntaxError => ex
;TI""  ex.file    # => 'file.txt'
;TI"Q  ex.message # => "(file.txt): found character that cannot start any token"
;TI"	end
;T:@format0o;
;	[I"FWhen the optional +symbolize_names+ keyword argument is set to a ;TI"Mtrue value, returns symbols for keys in Hash objects (default: strings).;T@o;;	[I"NPsych.load("---\n foo: bar")                         # => {"foo"=>"bar"}
;TI"LPsych.load("---\n foo: bar", symbolize_names: true)  # => {:foo=>"bar"};T;
0:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below000[I"D(yaml, filename = nil, fallback: false, symbolize_names: false);T@+FI"
Psych;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"TreeBuilder:ETI"Psych::JSON::TreeBuilder;TI"Psych::TreeBuilder;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"NPsych::JSON::TreeBuilder is an event based AST builder.  Events are sent ;TI"Nto an instance of Psych::JSON::TreeBuilder and a JSON AST is constructed.;T:
@fileI"-ext/psych/lib/psych/json/tree_builder.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Psych::JSON;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"Stream:ETI"Psych::JSON::Stream;TI"Psych::Visitors::JSONTree;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"'ext/psych/lib/psych/json/stream.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"Psych::Streaming;To;;[;	@;
0I"'ext/psych/lib/psych/json/stream.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[I"#Psych::Streaming::ClassMethods;To;;[;	@;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Psych::JSON;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"	JSON:ETI"Psych::JSON;T0o:RDoc::Markup::Document:@parts[	o;;[:
@fileI",ext/psych/lib/psych/json/ruby_events.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"'ext/psych/lib/psych/json/stream.rb;T;
0o;;[;	I"-ext/psych/lib/psych/json/tree_builder.rb;T;
0o;;[;	I",ext/psych/lib/psych/json/yaml_events.rb;T;
0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[
@
@@@I".ext/psych/lib/psych/visitors/json_tree.rb;TI"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"path2class:ETI""Psych::ClassLoader#path2class;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%Convert +path+ string to a class;T:
@fileI"ext/psych/psych_to_ruby.c;T:0@omit_headings_from_table_of_contents_below0I"vis.path2class(path)
;T0[I"	(p1);T@FI"ClassLoader;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ClassLoader:ETI"Psych::ClassLoader;TI"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"ext/psych/psych_to_ruby.c;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"path2class;TI"ext/psych/psych_to_ruby.c;T[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"(ext/psych/lib/psych/class_loader.rb;TI"ext/psych/psych_emitter.c;TI"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"(Psych::ClassLoader::Restricted::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/class_loader.rb;T:0@omit_headings_from_table_of_contents_below000[I"(classes, symbols);T@TI"Restricted;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Restricted:ETI"#Psych::ClassLoader::Restricted;TI"Psych::ClassLoader;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"(ext/psych/lib/psych/class_loader.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"(ext/psych/lib/psych/class_loader.rb;T[:protected[[:private[[I"
instance;T[[;[[I"symbolize;T@[;[[;
[[I"	find;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@	cRDoc::NormalClassU:RDoc::AnyMethod[iI"symbolize:ETI"-Psych::ClassLoader::Restricted#symbolize;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/class_loader.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(sym);T@TI"Restricted;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	find:ETI"(Psych::ClassLoader::Restricted#find;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/class_loader.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klassname);T@TI"Restricted;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"start_stream:ETI" Psych::Handler#start_stream;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ICalled with +encoding+ when the YAML stream starts.  This method is ;TI"Fcalled once per stream.  A stream may contain multiple documents.;To:RDoc::Markup::BlankLineo;
;	[I"NSee the constants in Psych::Parser for the possible values of +encoding+.;T:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"(encoding);T@FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"event_location:ETI""Psych::Handler#event_location;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Called before each event with line/column information.;T:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"5(start_line, start_column, end_line, end_column);T@FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
alias:ETI"Psych::Handler#alias;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"KCalled when an alias is found to +anchor+.  +anchor+ will be the name ;TI"of the anchor found.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;
;	[I"HHere we have an example of an array that references itself in YAML:;T@o:RDoc::Markup::Verbatim;	[I"--- &ponies
;TI"- first element
;TI"- *ponies
;T:@format0o;
;	[I"I&ponies is the achor, *ponies is the alias.  In this case, alias is ;TI"called with "ponies".;T:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(anchor);T@FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"end_sequence:ETI" Psych::Handler#end_sequence;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"!Called when a sequence ends.;T:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"end_stream:ETI"Psych::Handler#end_stream;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%Called when the YAML stream ends;T:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"scalar:ETI"Psych::Handler#scalar;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DCalled when a scalar +value+ is found.  The scalar may have an ;TI"D+anchor+, a +tag+, be implicitly +plain+ or implicitly +quoted+;To:RDoc::Markup::BlankLineo;
;	[I"/+value+ is the string value of the scalar ;TI"-+anchor+ is an associated anchor or nil ;TI"'+tag+ is an associated tag or nil ;TI" +plain+ is a boolean value ;TI"!+quoted+ is a boolean value ;TI"5+style+ is an integer idicating the string style;T@o;
;	[I"JSee the constants in Psych::Nodes::Scalar for the possible values of ;TI"+style+;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;
;	[I"KHere is a YAML document that exercises most of the possible ways this ;TI"method can be called:;T@o:RDoc::Markup::Verbatim;	[
I"	---
;TI"- !str "foo"
;TI"- &anchor fun
;TI"- many
;TI"
  lines
;TI"	- |
;TI"  many
;TI"  newlines
;T:@format0o;
;	[I"JThe above YAML document contains a list with four strings.  Here are ;TI":the parameters sent to this method in the same order:;T@o;;	[
I"C# value               anchor    tag     plain   quoted  style
;TI"D["foo",               nil,      "!str", false,  false,  3    ]
;TI"D["fun",               "anchor", nil,    true,   false,  1    ]
;TI"D["many lines",        nil,      nil,    true,   false,  1    ]
;TI"C["many\nnewlines\n",  nil,      nil,    false,  true,   4    ];T;0:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"/(value, anchor, tag, plain, quoted, style);T@7FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"start_sequence:ETI""Psych::Handler#start_sequence;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'Called when a sequence is started.;To:RDoc::Markup::BlankLineo;
;	[
I"A+anchor+ is the anchor associated with the sequence or nil. ;TI";+tag+ is the tag associated with the sequence or nil. ;TI"P+implicit+ a boolean indicating whether or not the sequence was implicitly ;TI"started. ;TI"5+style+ is an integer indicating the list style.;T@o;
;	[I"LSee the constants in Psych::Nodes::Sequence for the possible values of ;TI"
+style+.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;
;	[I"KHere is a YAML document that exercises most of the possible ways this ;TI"method can be called:;T@o:RDoc::Markup::Verbatim;	[I"	---
;TI"- !!seq [
;TI"	  a
;TI"]
;TI"- &pewpew
;TI"  - b
;T:@format0o;
;	[I"IThe above YAML document consists of three lists, an outer list that ;TI"Hcontains two inner lists.  Here is a matrix of the parameters sent ;TI"to represent these lists:;T@o;;	[	I";# anchor    tag                       implicit  style
;TI"=[nil,       nil,                      true,     1     ]
;TI"=[nil,       "tag:yaml.org,2002:seq",  false,    2     ]
;TI"<["pewpew",  nil,                      true,     1     ];T;0:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"#(anchor, tag, implicit, style);T@3FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"start_document:ETI""Psych::Handler#start_document;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BCalled when the document starts with the declared +version+, ;TI"5+tag_directives+, if the document is +implicit+.;To:RDoc::Markup::BlankLineo;
;	[	I"N+version+ will be an array of integers indicating the YAML version being ;TI"Ldealt with, +tag_directives+ is a list of tuples indicating the prefix ;TI"Land suffix of each tag, and +implicit+ is a boolean indicating whether ;TI"(the document is started implicitly.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;
;	[I"Given the following YAML:;T@o:RDoc::Markup::Verbatim;	[I"%YAML 1.1
;TI"+%TAG ! tag:tenderlovemaking.com,2009:
;TI"--- !squee
;T:@format0o;
;	[I"4The parameters for start_document must be this:;T@o;;	[I"!version         # => [1, 1]
;TI"Dtag_directives  # => [["!", "tag:tenderlovemaking.com,2009:"]]
;TI"implicit        # => false;T;0:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"((version, tag_directives, implicit);T@(FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"streaming?:ETI"Psych::Handler#streaming?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Is this handler a streaming handler?;T:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
empty:ETI"Psych::Handler#empty;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JCalled when an empty event happens. (Which, as far as I can tell, is ;TI"never).;T:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"end_mapping:ETI"Psych::Handler#end_mapping;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Called when a map ends;T:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"'Psych::Handler::DumperOptions::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"DumperOptions;TcRDoc::NormalClass00U:RDoc::Attr[iI"line_width:ETI"-Psych::Handler::DumperOptions#line_width;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below0F@I""Psych::Handler::DumperOptions;TcRDoc::NormalClass0U:RDoc::Attr[iI"canonical:ETI",Psych::Handler::DumperOptions#canonical;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below0F@I""Psych::Handler::DumperOptions;TcRDoc::NormalClass0U:RDoc::Attr[iI"indentation:ETI".Psych::Handler::DumperOptions#indentation;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below0F@I""Psych::Handler::DumperOptions;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"DumperOptions:ETI""Psych::Handler::DumperOptions;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I",Configuration options for dumping YAML.;T:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"canonical;TI"RW;T:publicFI"#ext/psych/lib/psych/handler.rb;T[
I"indentation;T@;F@[
I"line_width;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Psych::Handler;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"start_mapping:ETI"!Psych::Handler#start_mapping;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Called when a map starts.;To:RDoc::Markup::BlankLineo;
;	[
I">+anchor+ is the anchor associated with the map or +nil+. ;TI"8+tag+ is the tag associated with the map or +nil+. ;TI"N+implicit+ is a boolean indicating whether or not the map was implicitly ;TI"started. ;TI"8+style+ is an integer indicating the mapping style.;T@o;
;	[I"KSee the constants in Psych::Nodes::Mapping for the possible values of ;TI"
+style+.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;
;	[I"KHere is a YAML document that exercises most of the possible ways this ;TI"method can be called:;T@o:RDoc::Markup::Verbatim;	[	I"	---
;TI"k: !!map { hello: world }
;TI"v: &pewpew
;TI"  hello: world
;T:@format0o;
;	[I"PThe above YAML document consists of three maps, an outer map that contains ;TI"Ktwo inner maps.  Below is a matrix of the parameters sent in order to ;TI" represent these three maps:;T@o;;	[	I";# anchor    tag                       implicit  style
;TI"=[nil,       nil,                      true,     1     ]
;TI"=[nil,       "tag:yaml.org,2002:map",  false,    2     ]
;TI"<["pewpew",  nil,                      true,     1     ];T;0:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"#(anchor, tag, implicit, style);T@1FI"Handler;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"end_document:ETI" Psych::Handler#end_document;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NCalled with the document ends.  +implicit+ is a boolean value indicating ;TI"8whether or not the document has an implicit ending.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;
;	[I"Given the following YAML:;T@o:RDoc::Markup::Verbatim;	[I"	---
;TI"  hello world
;T:@format0o;
;	[I"/+implicit+ will be true.  Given this YAML:;T@o;;	[I"	---
;TI"  hello world
;TI"	...
;T;0o;
;	[I"+implicit+ will be false.;T:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below000[I"(implicit);T@$FI"Handler;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Handler:ETI"Psych::Handler;TI"Object;To:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[	I"KPsych::Handler is an abstract base class that defines the events used ;TI"Mwhen dealing with Psych::Parser.  Clients who want to use Psych::Parser ;TI"Kshould implement a class that inherits from Psych::Handler and define ;TI"!events that they can handle.;To:RDoc::Markup::BlankLineo;	;[I"OPsych::Handler defines all events that Psych::Parser can possibly send to ;TI"event handlers.;T@o;	;[I"'See Psych::Parser for more details;T:
@fileI"#ext/psych/lib/psych/handler.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I"ext/psych/psych_emitter.c;T;0;0;0[[U:RDoc::Constant[iI"OPTIONS;TI"Psych::Handler::OPTIONS;T:public0o;;[o;	;[I"Default dumping options;T;@;0@@cRDoc::NormalClass0U;
[iI"EVENTS;TI"Psych::Handler::EVENTS;T;0o;;[o;	;[I"-Events that a Handler should respond to.;T;@;0@@@+0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"
alias;TI"#ext/psych/lib/psych/handler.rb;T[I"
empty;T@G[I"end_document;T@G[I"end_mapping;T@G[I"end_sequence;T@G[I"end_stream;T@G[I"event_location;T@G[I"scalar;T@G[I"start_document;T@G[I"start_mapping;T@G[I"start_sequence;T@G[I"start_stream;T@G[I"streaming?;T@G[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I",ext/psych/lib/psych/visitors/emitter.rb;T@I"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"represent_seq:ETI"Psych::Coder#represent_seq;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Emit a sequence with +list+ and +tag+;T:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag, list);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	map=:ETI"Psych::Coder#map=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Emit a map with +value+;T:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(map);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"represent_scalar:ETI""Psych::Coder#represent_scalar;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Emit a scalar with +value+ and +tag+;T:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag, value);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"scalar=:ETI"Psych::Coder#scalar=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Emit a scalar with +value+;T:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::Attr[iI"	type:ETI"Psych::Coder#type;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Coder;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"scalar:ETI"Psych::Coder#scalar;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Psych::Coder::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(tag);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Coder:ETI"Psych::Coder;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[
I"OIf an object defines +encode_with+, then an instance of Psych::Coder will ;TI"Mbe passed to the method when the object is being serialized.  The Coder ;TI"Lautomatically assumes a Psych::Nodes::Mapping is being emitted.  Other ;TI"Pobjects like Sequence and Scalar may be emitted if +seq=+ or +scalar=+ are ;TI"called, respectively.;T:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"
implicit;TI"RW;T:publicFI"!ext/psych/lib/psych/coder.rb;T[
I"object;T@;F@[
I"seq;TI"R;T;F@[
I"
style;T@;F@[
I"tag;T@;F@[
I"	type;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[I"[];T@[I"[]=;T@[I"add;T@[I"map;T@[I"	map=;T@[I"represent_map;T@[I"represent_object;T@[I"represent_scalar;T@[I"represent_seq;T@[I"scalar;T@[I"scalar=;T@[I"	seq=;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"represent_map:ETI"Psych::Coder#represent_map;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Emit a sequence with +map+ and +tag+;T:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag, map);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"[]:ETI"Psych::Coder#[];TF:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(k);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::Attr[iI"
implicit:ETI"Psych::Coder#implicit;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Coder;TcRDoc::NormalClass0U:RDoc::Attr[iI"seq:ETI"Psych::Coder#seq;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Coder;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"add:ETI"Psych::Coder#add;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(k, v);T@FI"
Coder;TcRDoc::NormalClass0[I"Psych::Coder;TFI"[]=;TU:RDoc::Attr[iI"
style:ETI"Psych::Coder#style;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Coder;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"map:ETI"Psych::Coder#map;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Emit a map.  The coder will be yielded to the block.;T:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below00I"	self;T[I"!(tag = @tag, style = @style);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"[]=:ETI"Psych::Coder#[]=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[[I"add;To;;	[;
@;0I"(k, v);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::Attr[iI"tag:ETI"Psych::Coder#tag;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Coder;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"represent_object:ETI""Psych::Coder#represent_object;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-Emit an arbitrary object +obj+ and +tag+;T:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag, obj);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	seq=:ETI"Psych::Coder#seq=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Emit a sequence of +list+;T:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below000[I"(list);T@FI"
Coder;TcRDoc::NormalClass00U:RDoc::Attr[iI"object:ETI"Psych::Coder#object;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/psych/lib/psych/coder.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Coder;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"Exception:ETI"Psych::Exception;TI"RuntimeError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"%ext/psych/lib/psych/exception.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"start_stream:ETI" Psych::Emitter#start_stream;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I",Start a stream emission with +encoding+;To:RDoc::Markup::BlankLineo;
;	[I"$See Psych::Handler#start_stream;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"$emitter.start_stream(encoding)
;T0[I"	(p1);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
alias:ETI"Psych::Emitter#alias;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"!Emit an alias with +anchor+.;To:RDoc::Markup::BlankLineo;
;	[I"See Psych::Handler#alias;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"emitter.alias(anchor)
;T0[I"	(p1);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"end_sequence:ETI" Psych::Emitter#end_sequence;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"End sequence emission.;To:RDoc::Markup::BlankLineo;
;	[I"$See Psych::Handler#end_sequence;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"emitter.end_sequence
;T0[I"();T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"canonical=:ETI"Psych::Emitter#canonical=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Set the output style to canonical, or not.;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"emitter.canonical = true
;T0[I"	(p1);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"end_stream:ETI"Psych::Emitter#end_stream;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"End a stream emission;To:RDoc::Markup::BlankLineo;
;	[I""See Psych::Handler#end_stream;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"emitter.end_stream
;T0[I"();T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"scalar:ETI"Psych::Emitter#scalar;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LEmit a scalar with +value+, +anchor+, +tag+, and a +plain+ or +quoted+ ;TI"string type with +style+.;To:RDoc::Markup::BlankLineo;
;	[I"See Psych::Handler#scalar;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I">emitter.scalar(value, anchor, tag, plain, quoted, style)
;T0[I"(p1, p2, p3, p4, p5, p6);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Psych::Emitter::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Create a new Psych::Emitter that writes to +io+.;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"?Psych::Emitter.new(io, options = Psych::Emitter::OPTIONS)
;T0[I"(p1, p2 = v2);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"start_sequence:ETI""Psych::Emitter#start_sequence;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KStart emitting a sequence with +anchor+, a +tag+, +implicit+ sequence ;TI"'start and end, along with +style+.;To:RDoc::Markup::BlankLineo;
;	[I"&See Psych::Handler#start_sequence;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I":emitter.start_sequence(anchor, tag, implicit, style)
;T0[I"(p1, p2, p3, p4);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"start_document:ETI""Psych::Emitter#start_document;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NStart a document emission with YAML +version+, +tags+, and an +implicit+ ;TI"start.;To:RDoc::Markup::BlankLineo;
;	[I"&See Psych::Handler#start_document;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"5emitter.start_document(version, tags, implicit)
;T0[I"(p1, p2, p3);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"line_width:ETI"Psych::Emitter#line_width;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""Get the preferred line width.;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"emitter.line_width
;T0[I"();T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"canonical:ETI"Psych::Emitter#canonical;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I",Get the output style, canonical or not.;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"emitter.canonical
;T0[I"();T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Emitter:ETI"Psych::Emitter;TI"Psych::Handler;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"ext/psych/psych_emitter.c;T[:protected[[:private[[I"
instance;T[[;[[I"
alias;T@[I"canonical;T@[I"canonical=;T@[I"end_document;T@[I"end_mapping;T@[I"end_sequence;T@[I"end_stream;T@[I"indentation;T@[I"indentation=;T@[I"line_width;T@[I"line_width=;T@[I"scalar;T@[I"start_document;T@[I"start_mapping;T@[I"start_sequence;T@[I"start_stream;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"end_mapping:ETI"Psych::Emitter#end_mapping;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Emit the end of a mapping.;To:RDoc::Markup::BlankLineo;
;	[I"#See Psych::Handler#end_mapping;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"emitter.end_mapping
;T0[I"();T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"start_mapping:ETI"!Psych::Emitter#start_mapping;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IStart emitting a YAML map with +anchor+, +tag+, an +implicit+ start ;TI"and end, and +style+.;To:RDoc::Markup::BlankLineo;
;	[I"%See Psych::Handler#start_mapping;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"9emitter.start_mapping(anchor, tag, implicit, style)
;T0[I"(p1, p2, p3, p4);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"indentation=:ETI" Psych::Emitter#indentation=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OSet the indentation level to +level+.  The level must be less than 10 and ;TI"greater than 1.;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"!emitter.indentation = level
;T0[I"	(p1);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"end_document:ETI" Psych::Emitter#end_document;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7End a document emission with an +implicit+ ending.;To:RDoc::Markup::BlankLineo;
;	[I"$See Psych::Handler#end_document;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"$emitter.end_document(implicit)
;T0[I"	(p1);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"line_width=:ETI"Psych::Emitter#line_width=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I",Set the preferred line with to +width+.;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I" emitter.line_width = width
;T0[I"	(p1);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"indentation:ETI"Psych::Emitter#indentation;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Get the indentation level.;T:
@fileI"ext/psych/psych_emitter.c;T:0@omit_headings_from_table_of_contents_below0I"emitter.indentation
;T0[I"();T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Visitor:ETI"Psych::Visitors::Visitor;TI"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI",ext/psych/lib/psych/visitors/visitor.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"ext/psych/psych_to_ruby.c;T;
0o;;[;	I" ext/psych/psych_yaml_tree.c;T;
0;	0;
0[[U:RDoc::Constant[iI"
DISPATCH;TI"'Psych::Visitors::Visitor::DISPATCH;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"accept;TI",ext/psych/lib/psych/visitors/visitor.rb;T[;
[[;[[I"
visit;T@0[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@I"Psych::Visitors;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"accept:ETI"$Psych::Visitors::Visitor#accept;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/visitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"Visitor;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
visit:ETI"#Psych::Visitors::Visitor#visit;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/visitor.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"Visitor;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Regexp:ETI"+Psych::Visitors::YAMLTree#visit_Regexp;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_array_subclass:ETI"3Psych::Visitors::YAMLTree#visit_array_subclass;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Set:ETI".Psych::Visitors::YAMLTree#visit_Psych_Set;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Float:ETI"*Psych::Visitors::YAMLTree#visit_Float;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"dump_ivars:ETI")Psych::Visitors::YAMLTree#dump_ivars;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Symbol:ETI"+Psych::Visitors::YAMLTree#visit_Symbol;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"emit_coder:ETI")Psych::Visitors::YAMLTree#emit_coder;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(c, o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"format_time:ETI"*Psych::Visitors::YAMLTree#format_time;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(time);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Integer:ETI",Psych::Visitors::YAMLTree#visit_Integer;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[[I"visit_TrueClass;To;;	[;
@;0[I"visit_FalseClass;To;;	[;
@;0[I"visit_Date;To;;	[;
@;0I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_BasicObject:ETI"0Psych::Visitors::YAMLTree#visit_BasicObject;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"create:ETI"&Psych::Visitors::YAMLTree::create;TT:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(options = {});T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	tree:ETI"#Psych::Visitors::YAMLTree#tree;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"binary?:ETI"&Psych::Visitors::YAMLTree#binary?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(string);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_hash_subclass:ETI"2Psych::Visitors::YAMLTree#visit_hash_subclass;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::Attr[iI"
finished:ETI"'Psych::Visitors::YAMLTree#finished;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Visitors::YAMLTree;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"visit_FalseClass:ETI"/Psych::Visitors::YAMLTree#visit_FalseClass;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass0[I"Psych::Visitors::YAMLTree;TFI"visit_Integer;TU:RDoc::AnyMethod[iI"visit_Complex:ETI",Psych::Visitors::YAMLTree#visit_Complex;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"#Psych::Visitors::YAMLTree::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(emitter, ss, options);T@TI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Time:ETI")Psych::Visitors::YAMLTree#visit_Time;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_BigDecimal:ETI"/Psych::Visitors::YAMLTree#visit_BigDecimal;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Struct:ETI"+Psych::Visitors::YAMLTree#visit_Struct;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Delegator:ETI".Psych::Visitors::YAMLTree#visit_Delegator;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass0[I"Psych::Visitors::YAMLTree;TFI"visit_Object;TU:RDoc::AnyMethod[iI"visit_NameError:ETI".Psych::Visitors::YAMLTree#visit_NameError;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Class:ETI"*Psych::Visitors::YAMLTree#visit_Class;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	push:ETI"#Psych::Visitors::YAMLTree#push;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[[I"<<;To;;	[;
@;0I"
(object);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_String:ETI"+Psych::Visitors::YAMLTree#visit_String;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"dump_coder:ETI")Psych::Visitors::YAMLTree#dump_coder;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"accept:ETI"%Psych::Visitors::YAMLTree#accept;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Module:ETI"+Psych::Visitors::YAMLTree#visit_Module;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Enumerator:ETI"/Psych::Visitors::YAMLTree#visit_Enumerator;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"finish:ETI"%Psych::Visitors::YAMLTree#finish;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Omap:ETI"/Psych::Visitors::YAMLTree#visit_Psych_Omap;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::Attr[iI"
started?:ETI"'Psych::Visitors::YAMLTree#started?;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Visitors::YAMLTree;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"visit_Hash:ETI")Psych::Visitors::YAMLTree#visit_Hash;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"private_iv_get:ETI"-Psych::Visitors::YAMLTree#private_iv_get;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Get the private instance variable +prop+ from +target+;T:
@fileI" ext/psych/psych_yaml_tree.c;T:0@omit_headings_from_table_of_contents_below0I""private_iv_get(target, prop)
;T0[I"
(p1, p2);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_DateTime:ETI"-Psych::Visitors::YAMLTree#visit_DateTime;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Exception:ETI".Psych::Visitors::YAMLTree#visit_Exception;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
YAMLTree:ETI"Psych::Visitors::YAMLTree;TI"Psych::Visitors::Visitor;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"BYAMLTree builds a YAML ast given a Ruby object.  For example:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;[I"-builder = Psych::Visitors::YAMLTree.new
;TI""builder << { :foo => 'bar' }
;TI"2builder.tree # => #<Psych::Nodes::Stream .. };T:@format0:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;
I" ext/psych/psych_yaml_tree.c;T;0;
0;0[	[
I"
finished;TI"R;T:publicFI".ext/psych/lib/psych/visitors/yaml_tree.rb;T[
I"finished?;T@;F@[
I"started;T@;F@[
I"
started?;T@;F@[[[[I"
class;T[[;[[I"create;T@[I"new;T@[:protected[[:private[[I"
instance;T[[;[([I"<<;T@[I"accept;T@[I"finish;T@[I"	push;T@[I"
start;T@[I"	tree;T@[I"visit_Array;T@[I"visit_BasicObject;T@[I"visit_BigDecimal;T@[I"visit_Class;T@[I"visit_Complex;T@[I"visit_Date;T@[I"visit_DateTime;T@[I"visit_Delegator;T@[I"visit_Encoding;T@[I"visit_Enumerator;T@[I"visit_Exception;T@[I"visit_FalseClass;T@[I"visit_Float;T@[I"visit_Hash;T@[I"visit_Integer;T@[I"visit_Module;T@[I"visit_NameError;T@[I"visit_NilClass;T@[I"visit_Object;T@[I"visit_Psych_Omap;T@[I"visit_Psych_Set;T@[I"visit_Range;T@[I"visit_Rational;T@[I"visit_Regexp;T@[I"visit_String;T@[I"visit_Struct;T@[I"visit_Symbol;T@[I"visit_Time;T@[I"visit_TrueClass;T@[;[[;[[I"binary?;T@[I"dump_coder;T@[I"dump_ivars;T@[I"dump_list;T@[I"emit_coder;T@[I"format_time;T@[I"private_iv_get;TI" ext/psych/psych_yaml_tree.c;T[I"
register;T@[I"visit_array_subclass;T@[I"visit_hash_subclass;T@[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"ext/psych/psych_to_ruby.c;TI"Psych::Visitors;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"visit_NilClass:ETI"-Psych::Visitors::YAMLTree#visit_NilClass;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Array:ETI"*Psych::Visitors::YAMLTree#visit_Array;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Range:ETI"*Psych::Visitors::YAMLTree#visit_Range;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::Attr[iI"started:ETI"&Psych::Visitors::YAMLTree#started;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Visitors::YAMLTree;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"<<:ETI"!Psych::Visitors::YAMLTree#<<;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(object);T@FI"
YAMLTree;TcRDoc::NormalClass0[I"Psych::Visitors::YAMLTree;TFI"	push;TU:RDoc::AnyMethod[iI"
register:ETI"'Psych::Visitors::YAMLTree#register;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(target, yaml_obj);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Rational:ETI"-Psych::Visitors::YAMLTree#visit_Rational;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
start:ETI"$Psych::Visitors::YAMLTree#start;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"%(encoding = Nodes::Stream::UTF8);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Encoding:ETI"-Psych::Visitors::YAMLTree#visit_Encoding;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::Attr[iI"finished?:ETI"(Psych::Visitors::YAMLTree#finished?;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Visitors::YAMLTree;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"visit_TrueClass:ETI".Psych::Visitors::YAMLTree#visit_TrueClass;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass0[I"Psych::Visitors::YAMLTree;TFI"visit_Integer;TU:RDoc::AnyMethod[iI"visit_Date:ETI")Psych::Visitors::YAMLTree#visit_Date;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass0[I"Psych::Visitors::YAMLTree;TFI"visit_Integer;TU:RDoc::AnyMethod[iI"visit_Object:ETI"+Psych::Visitors::YAMLTree#visit_Object;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[[I"visit_Delegator;To;;	[;
@;0I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"dump_list:ETI"(Psych::Visitors::YAMLTree#dump_list;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/yaml_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"
YAMLTree;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"NoAliasRuby:ETI"!Psych::Visitors::NoAliasRuby;TI"Psych::Visitors::ToRuby;To:RDoc::Markup::Document:@parts[o;;[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"visit_Psych_Nodes_Alias;TI",ext/psych/lib/psych/visitors/to_ruby.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Psych::Visitors;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"visit_Psych_Nodes_Alias:ETI"9Psych::Visitors::NoAliasRuby#visit_Psych_Nodes_Alias;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"NoAliasRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Document:ETI"8Psych::Visitors::Emitter#visit_Psych_Nodes_Document;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/emitter.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Sequence:ETI"8Psych::Visitors::Emitter#visit_Psych_Nodes_Sequence;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/emitter.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Stream:ETI"6Psych::Visitors::Emitter#visit_Psych_Nodes_Stream;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/emitter.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI""Psych::Visitors::Emitter::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/emitter.rb;T:0@omit_headings_from_table_of_contents_below000[I"(io, options = {});T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Scalar:ETI"6Psych::Visitors::Emitter#visit_Psych_Nodes_Scalar;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/emitter.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Emitter:ETI"Psych::Visitors::Emitter;TI"Psych::Visitors::Visitor;To:RDoc::Markup::Document:@parts[o;;[:
@fileI",ext/psych/lib/psych/visitors/emitter.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI",ext/psych/lib/psych/visitors/emitter.rb;T[:protected[[:private[[I"
instance;T[[;[[I"visit_Psych_Nodes_Alias;T@[I"visit_Psych_Nodes_Document;T@[I"visit_Psych_Nodes_Mapping;T@[I"visit_Psych_Nodes_Scalar;T@[I"visit_Psych_Nodes_Sequence;T@[I"visit_Psych_Nodes_Stream;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Psych::Visitors;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"visit_Psych_Nodes_Alias:ETI"5Psych::Visitors::Emitter#visit_Psych_Nodes_Alias;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/emitter.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Mapping:ETI"7Psych::Visitors::Emitter#visit_Psych_Nodes_Mapping;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/emitter.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"Emitter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Document:ETI"7Psych::Visitors::ToRuby#visit_Psych_Nodes_Document;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"init_with:ETI"&Psych::Visitors::ToRuby#init_with;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o, h, node);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Sequence:ETI"7Psych::Visitors::ToRuby#visit_Psych_Nodes_Sequence;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Stream:ETI"5Psych::Visitors::ToRuby#visit_Psych_Nodes_Stream;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"revive:ETI"#Psych::Visitors::ToRuby#revive;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass, node);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ToRuby:ETI"Psych::Visitors::ToRuby;TI"Psych::Visitors::Visitor;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I">This class walks a YAML AST, converting each node to Ruby;T:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;
I"ext/psych/psych_to_ruby.c;T;0;
0;0[[
I"class_loader;TI"R;T:publicFI",ext/psych/lib/psych/visitors/to_ruby.rb;T[U:RDoc::Constant[iI"SHOVEL;TI"$Psych::Visitors::ToRuby::SHOVEL;T;0o;;[;
@;0@@cRDoc::NormalClass0[[[I"
class;T[[;[[I"create;T@[I"new;T@[:protected[[:private[[I"
instance;T[[;[[I"accept;T@[I"visit_Psych_Nodes_Alias;T@[I"visit_Psych_Nodes_Document;T@[I"visit_Psych_Nodes_Mapping;T@[I"visit_Psych_Nodes_Scalar;T@[I"visit_Psych_Nodes_Sequence;T@[I"visit_Psych_Nodes_Stream;T@[;[[;[[I"build_exception;TI"ext/psych/psych_to_ruby.c;T[I"deserialize;T@[I"init_with;T@[I"merge_key;T@[I"
register;T@[I"register_empty;T@[I"resolve_class;T@[I"revive;T@[I"revive_hash;T@[[U:RDoc::Context::Section[i0o;;[;
0;0[@@I"Psych::Visitors;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"create:ETI"$Psych::Visitors::ToRuby::create;TT:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"!Psych::Visitors::ToRuby::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(ss, class_loader);T@TI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"resolve_class:ETI"*Psych::Visitors::ToRuby#resolve_class;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#Convert +klassname+ to a Class;T:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klassname);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Scalar:ETI"5Psych::Visitors::ToRuby#visit_Psych_Nodes_Scalar;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"accept:ETI"#Psych::Visitors::ToRuby#accept;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@TI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"merge_key:ETI"&Psych::Visitors::ToRuby#merge_key;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(hash, key, val);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"build_exception:ETI",Psych::Visitors::ToRuby#build_exception;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Create an exception with class +klass+ and +message+;T:
@fileI"ext/psych/psych_to_ruby.c;T:0@omit_headings_from_table_of_contents_below0I")vis.build_exception(klass, message)
;T0[I"
(p1, p2);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"register_empty:ETI"+Psych::Visitors::ToRuby#register_empty;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(object);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Alias:ETI"4Psych::Visitors::ToRuby#visit_Psych_Nodes_Alias;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"deserialize:ETI"(Psych::Visitors::ToRuby#deserialize;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
register:ETI"%Psych::Visitors::ToRuby#register;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(node, object);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"revive_hash:ETI"(Psych::Visitors::ToRuby#revive_hash;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(hash, o);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::Attr[iI"class_loader:ETI")Psych::Visitors::ToRuby#class_loader;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::Visitors::ToRuby;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Mapping:ETI"6Psych::Visitors::ToRuby#visit_Psych_Nodes_Mapping;TF:publico:RDoc::Markup::Document:@parts[:
@fileI",ext/psych/lib/psych/visitors/to_ruby.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"ToRuby;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Document:ETI";Psych::Visitors::DepthFirst#visit_Psych_Nodes_Document;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"0ext/psych/lib/psych/visitors/depth_first.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"DepthFirst;TcRDoc::NormalClass0[I" Psych::Visitors::DepthFirst;TFI"	nary;TU:RDoc::AnyMethod[iI"visit_Psych_Nodes_Sequence:ETI";Psych::Visitors::DepthFirst#visit_Psych_Nodes_Sequence;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"0ext/psych/lib/psych/visitors/depth_first.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"DepthFirst;TcRDoc::NormalClass0[I" Psych::Visitors::DepthFirst;TFI"	nary;TU:RDoc::AnyMethod[iI"visit_Psych_Nodes_Stream:ETI"9Psych::Visitors::DepthFirst#visit_Psych_Nodes_Stream;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"0ext/psych/lib/psych/visitors/depth_first.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"DepthFirst;TcRDoc::NormalClass0[I" Psych::Visitors::DepthFirst;TFI"	nary;TU:RDoc::AnyMethod[iI"	nary:ETI"%Psych::Visitors::DepthFirst#nary;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"0ext/psych/lib/psych/visitors/depth_first.rb;T:0@omit_headings_from_table_of_contents_below000[	[I"visit_Psych_Nodes_Stream;To;;	[;
@;0[I"visit_Psych_Nodes_Document;To;;	[;
@;0[I"visit_Psych_Nodes_Sequence;To;;	[;
@;0[I"visit_Psych_Nodes_Mapping;To;;	[;
@;0I"(o);T@FI"DepthFirst;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"%Psych::Visitors::DepthFirst::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"0ext/psych/lib/psych/visitors/depth_first.rb;T:0@omit_headings_from_table_of_contents_below000[I"(block);T@FI"DepthFirst;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Scalar:ETI"9Psych::Visitors::DepthFirst#visit_Psych_Nodes_Scalar;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"0ext/psych/lib/psych/visitors/depth_first.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"DepthFirst;TcRDoc::NormalClass0[I" Psych::Visitors::DepthFirst;TFI"
terminal;TU:RDoc::AnyMethod[iI"
terminal:ETI")Psych::Visitors::DepthFirst#terminal;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"0ext/psych/lib/psych/visitors/depth_first.rb;T:0@omit_headings_from_table_of_contents_below000[[I"visit_Psych_Nodes_Scalar;To;;	[;
@;0[I"visit_Psych_Nodes_Alias;To;;	[;
@;0I"(o);T@FI"DepthFirst;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"visit_Psych_Nodes_Alias:ETI"8Psych::Visitors::DepthFirst#visit_Psych_Nodes_Alias;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"0ext/psych/lib/psych/visitors/depth_first.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"DepthFirst;TcRDoc::NormalClass0[I" Psych::Visitors::DepthFirst;TFI"
terminal;TU:RDoc::NormalClass[iI"DepthFirst:ETI" Psych::Visitors::DepthFirst;TI"Psych::Visitors::Visitor;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"0ext/psych/lib/psych/visitors/depth_first.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"0ext/psych/lib/psych/visitors/depth_first.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[
[I"	nary;T@[I"
terminal;T@[I"visit_Psych_Nodes_Alias;T@[I"visit_Psych_Nodes_Document;T@[I"visit_Psych_Nodes_Mapping;T@[I"visit_Psych_Nodes_Scalar;T@[I"visit_Psych_Nodes_Sequence;T@[I"visit_Psych_Nodes_Stream;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Psych::Visitors;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"visit_Psych_Nodes_Mapping:ETI":Psych::Visitors::DepthFirst#visit_Psych_Nodes_Mapping;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"0ext/psych/lib/psych/visitors/depth_first.rb;T:0@omit_headings_from_table_of_contents_below000[I"(o);T@FI"DepthFirst;TcRDoc::NormalClass0[I" Psych::Visitors::DepthFirst;TFI"	nary;TU:RDoc::NormalModule[iI"
Visitors:ETI"Psych::Visitors;T0o:RDoc::Markup::Document:@parts[
o;;[:
@fileI"0ext/psych/lib/psych/visitors/depth_first.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I",ext/psych/lib/psych/visitors/emitter.rb;T;
0o;;[;	I".ext/psych/lib/psych/visitors/json_tree.rb;T;
0o;;[;	I",ext/psych/lib/psych/visitors/to_ruby.rb;T;
0o;;[;	I",ext/psych/lib/psych/visitors/visitor.rb;T;
0o;;[;	I".ext/psych/lib/psych/visitors/yaml_tree.rb;T;
0o;;[;	I"ext/psych/psych_to_ruby.c;T;
0o;;[;	I" ext/psych/psych_yaml_tree.c;T;
0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[
@
@@@@@I"ext/psych/psych_emitter.c;TI""lib/rubygems/specification.rb;TI"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"create:ETI"&Psych::Visitors::JSONTree::create;TT:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/json_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"(options = {});T@FI"
JSONTree;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"accept:ETI"%Psych::Visitors::JSONTree#accept;TF:publico:RDoc::Markup::Document:@parts[:
@fileI".ext/psych/lib/psych/visitors/json_tree.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"
JSONTree;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
JSONTree:ETI"Psych::Visitors::JSONTree;TI"
YAMLTree;To:RDoc::Markup::Document:@parts[o;;[:
@fileI".ext/psych/lib/psych/visitors/json_tree.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"create;TI".ext/psych/lib/psych/visitors/json_tree.rb;T[:protected[[:private[[I"
instance;T[[;[[I"accept;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"Psych::Visitors;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"Stream:ETI"Psych::Stream;TI"Psych::Visitors::YAMLTree;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"OPsych::Stream is a streaming YAML emitter.  It will not buffer your YAML, ;TI"#but send it straight to an IO.;To:RDoc::Markup::BlankLineo;	;[I"Here is an example use:;T@o:RDoc::Markup::Verbatim;[	I")stream = Psych::Stream.new($stdout)
;TI"stream.start
;TI""stream.push({:foo => 'bar'})
;TI"stream.finish
;T:@format0o;	;[I"CYAML will be immediately emitted to $stdout with no buffering.;T@o;	;[I"PPsych::Stream#start will take a block and ensure that Psych::Stream#finish ;TI"(is called, so you can do this form:;T@o;;[	I")stream = Psych::Stream.new($stdout)
;TI"stream.start do |em|
;TI"  em.push(:foo => 'bar')
;TI"end;T;0:
@fileI""ext/psych/lib/psych/stream.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[I"Psych::Streaming;To;;[;
@);0I""ext/psych/lib/psych/stream.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[I"#Psych::Streaming::ClassMethods;To;;[;
@);0@1[U:RDoc::Context::Section[i0o;;[;
0;0[@)I"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"load_stream:ETI"Psych::load_stream;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"LLoad multiple documents given in +yaml+.  Returns the parsed documents ;TI"Nas a list.  If a block is given, each document will be converted to Ruby ;TI"+and passed to the block during parsing;To:RDoc::Markup::BlankLineo;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[I"IPsych.load_stream("--- foo\n...\n--- bar\n...") # => ['foo', 'bar']
;TI"
;TI"list = []
;TI"?Psych.load_stream("--- foo\n...\n--- bar\n...") do |ruby|
;TI"  list << ruby
;TI"	end
;TI"list # => ['foo', 'bar'];T:@format0:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below00I"to_ruby;T[I"(yaml, filename = nil);T@FI"
Psych;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"Set:ETI"Psych::Set;TI"	Hash;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"ext/psych/lib/psych/set.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"	dump:ETI"Psych::dump;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"QDump Ruby object +o+ to a YAML string.  Optional +options+ may be passed in ;TI"Pto control the output format.  If an IO object is passed in, the YAML will ;TI"!be dumped to that IO object.;To:RDoc::Markup::BlankLineo;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[I"-# Dump an array, get back a YAML string
;TI"4Psych.dump(['a', 'b'])  # => "---\n- a\n- b\n"
;TI"
;TI"%# Dump an array to an IO object
;TI"MPsych.dump(['a', 'b'], StringIO.new)  # => #<StringIO:0x000001009d0890>
;TI"
;TI"*# Dump an array with indentation set
;TI"KPsych.dump(['a', ['b']], :indentation => 3) # => "---\n- a\n-  - b\n"
;TI"
;TI"3# Dump an array to an IO with indentation set
;TI">Psych.dump(['a', ['b']], StringIO.new, :indentation => 3);T:@format0:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below0I"�Psych.dump(o)               -> string of yaml
Psych.dump(o, options)      -> string of yaml
Psych.dump(o, io)           -> io object passed in
Psych.dump(o, io, options)  -> io object passed in
;T0[I" (o, io = nil, options = {});T@!FI"
Psych;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"parser:ETI"Psych::parser;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns a default parser;T:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Psych;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"load_file:ETI"Psych::load_file;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OLoad the document contained in +filename+.  Returns the yaml contained in ;TI"F+filename+ as a Ruby object, or if the file is empty, it returns ;TI"Hthe specified default return value, which defaults to an empty Hash;T:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below000[I" (filename, fallback: false);T@FI"
Psych;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"new:ETI" Psych::DisallowedClass::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"%ext/psych/lib/psych/exception.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass_name);T@TI"DisallowedClass;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"DisallowedClass:ETI"Psych::DisallowedClass;TI"Psych::Exception;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"%ext/psych/lib/psych/exception.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"%ext/psych/lib/psych/exception.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"
Psych;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"to_json:ETI"Psych::to_json;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Dump Ruby +object+ to a JSON string.;T:
@fileI"ext/psych/lib/psych.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(object);T@FI"
Psych;TcRDoc::NormalModule00U:RDoc::Attr[iI"context:ETI"Psych::SyntaxError#context;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/syntax_error.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::SyntaxError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"Psych::SyntaxError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/syntax_error.rb;T:0@omit_headings_from_table_of_contents_below000[I"0(file, line, col, offset, problem, context);T@TI"SyntaxError;TcRDoc::NormalClass00U:RDoc::Attr[iI"	file:ETI"Psych::SyntaxError#file;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/syntax_error.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::SyntaxError;TcRDoc::NormalClass0U:RDoc::Attr[iI"column:ETI"Psych::SyntaxError#column;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/syntax_error.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::SyntaxError;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"SyntaxError:ETI"Psych::SyntaxError;TI"Psych::Exception;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"(ext/psych/lib/psych/syntax_error.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"column;TI"R;T:publicFI"(ext/psych/lib/psych/syntax_error.rb;T[
I"context;T@;F@[
I"	file;T@;F@[
I"	line;T@;F@[
I"offset;T@;F@[
I"problem;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"
Psych;TcRDoc::NormalModuleU:RDoc::Attr[iI"	line:ETI"Psych::SyntaxError#line;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/syntax_error.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::SyntaxError;TcRDoc::NormalClass0U:RDoc::Attr[iI"problem:ETI"Psych::SyntaxError#problem;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/syntax_error.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::SyntaxError;TcRDoc::NormalClass0U:RDoc::Attr[iI"offset:ETI"Psych::SyntaxError#offset;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"(ext/psych/lib/psych/syntax_error.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Psych::SyntaxError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"libyaml_version:ETI"Psych::libyaml_version;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Returns the version of libyaml being used;T:
@fileI"ext/psych/psych.c;T:0@omit_headings_from_table_of_contents_below0I"Psych.libyaml_version
;T0[I"();T@FI"
Psych;TcRDoc::NormalModule00U:RDoc::TopLevel[	iI"NEWS-1.9.1:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[S:RDoc::Markup::Heading:
leveli:	textI"NEWS for Ruby 1.9.1;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"JThis document is a list of user visible feature changes made between ;TI"#releases except for bug fixes.;T@
o;
;[I"DNote that each entry is kept so brief that no reason behind or ;TI"Ireference information is supplied with.  For a full list of changes ;TI"=with all sufficient information, see the ChangeLog file.;T@
S;	;
i;I"$Changes since the 1.8.7 release;To;
;[I"<See doc/NEWS-1.8.7 for changes between 1.8.6 and 1.8.7.;T@
S;	;
i;I"Compatibility issues;T@
o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"language core;T@
o:RDoc::Markup::Verbatim;[I" * New syntax and semantics
;TI".      o Block arguments are always local
;TI"/      o New semantics for block arguments
;TI"*      o defined? and local variables
;TI"F      o Parser expects that your source code has only valid byte
;TI"F        sequence in some character encoding.  Use magic comments
;TI"8        to tell the parser which encoding you use.
;TI"D      o New semantics for constant definition in instance_eval
;TI"         or in module_eval.
;TI"
;TI"* Deprecated syntax
;TI"J      o colon (:) instead of "then" in if/unless or case expression.
;TI"-      o retry in a loop or an iterator.
;T:@format0o;;0;[o;
;[I" builtin classes and objects;T@
o;;[�I"* Kernel and Object
;TI"E      o Kernel#methods and #singleton_methods used to return an
;TI"G        array of strings but now they return an array of symbols.
;TI"* Class and Module
;TI"A      o Module#attr works as Module#attr_reader by default.
;TI"4        Optional boolean argument is obsolete.
;TI"D      o Module#instance_methods, #private_instance_methods and
;TI"A        #public_instance_methods used to return an array of
;TI">        strings but now they return an array of symbols.
;TI"A      o Extra subclassing check when binding UnboundMethods
;TI"
;TI"* Exceptions
;TI"B      o Exceptions are equal to each other if they belong to
;TI"E        the same class and have the same message and backtrace.
;TI"E      o SystemStackError used to be a subclass of StandardError
;TI";        but not it is a direct subclass of Exception.
;TI""      o SecurityError: ditto
;TI".      o Removed Exception#to_str [Ruby2]
;TI"
;TI"!* Enumerable and Enumerator
;TI"H      o Enumerable::Enumerator, compatibility alias of Enumerator,
;TI"        is removed.
;TI"E      o Enumerable#{map,collect} called without a block returns
;TI"        an enumerator.
;TI"G      o Even more builtin and bundled libraries have been made to
;TI"?        return an enumerator when called without a block.
;TI"
* Array
;TI"@      o Array#nitems was removed (use count {|i| !i.nil?})
;TI"3      o Array#choice was removed (use sample)
;TI"8      o Array#[m,n] = nil places nil in the array.
;TI"* Hash
;TI"5      o Hash#to_s is equivalent to Hash#inspect
;TI"8      o Semantics for Hash#each and Hash#each_pair
;TI"(      o Hash#select returns a hash
;TI"@      o Hash#key is the new name for #index which has been
;TI"        deprecated.
;TI"F      o Hash preserves order.  It enumerates its elements in the
;TI"3        order in which the keys are inserted.
;TI"G      o Most of the changes in Hash apply to hash like interfaces
;TI"#        such as ENV and *DBM.
;TI"* IO operations
;TI"J      o Many methods used to act byte-wise but now some of those act
;TI"F        character-wise. You can use alternate byte-wise methods.
;TI"      o IO#getc
;TI"      o Non-blocking IO
;TI":      o Kernel#open takes "t" for newline conversion
;TI"2      o Kernel#open takes encoding specified
;TI"F      o IO automatically converts byte sequence from a character
;TI"2        encodings into another if specified.
;TI""      o StringIO#readpartial
;TI"      o IO.try_convert
;TI"      o IO.binread
;TI"      o IO.copy_stream
;TI"      o IO#binmode?
;TI"5      o IO#close_on_exec= and IO#close_on_exec?
;TI"@      o Limit input in IO#gets, IO#readline, IO#readlines,
;TI"?        IO#each_line, IO#lines, IO.foreach, IO.readlines,
;TI">        StringIO#gets, StringIO#readline, StringIO#each,
;TI"         StringIO#readlines
;TI"(      o IO#ungetc, StringIO#ungetc
;TI".      o IO#ungetbyte, StringIO#ungetbyte
;TI"9      o IO#internal_encoding, IO#external_encoding,
;TI"        IO#set_encoding
;TI"+      o IO.pipe takes encoding option
;TI"A      o Directive %u behaves like %d for negative values in
;TI"&        printf-style formatting.
;TI"* File and Dir operations
;TI"G      o #to_path is called as necessary in File.path, File.chmod,
;TI"?        File.lchmod, File.chown, File.lchown, File.utime,
;TI"         File.unlink, etc..
;TI""      o File.world_readable?
;TI""      o File.world_writable?
;TI"      o Dir.[], Dir.glob
;TI"      o Dir.exist?
;TI"      o Dir.exists?
;TI"* File::Stat
;TI"(      o File::Stat#world_readable?
;TI"(      o File::Stat#world_writable?
;TI"* String
;TI"C      o No longer an Enumerable: use each_line/lines for line
;TI"         oriented operation
;TI"       o Encoding-awareness
;TI"E          o Character-wise semantics in many methods instead of
;TI"            byte-wise.
;TI"L              o String#[]: Indexing a String with an integer returns a
;TI"D                single character String instead of an integer.
;TI"E              o String#[]=: No longer takes an integer as right
;TI"E                side value.  Note that "str[i] = ?c" because of
;TI"+                the following change.
;TI"B              o ?c is evaluated to a single character string
;TI",                instead of an integer.
;TI"* Regexp
;TI"       o Encoding-awareness
;TI"D      o Regexp matches only with strings which is encoded in a
;TI"<        compatible character encoding to the regexp's.
;TI";      o Regexp#kcode is removed. use Regexp#encoding.
;TI"/* Symbols: restriction on literal symbols
;TI"* Numeric
;TI"@      o Numeric#div always rounds as Integer#div has done.
;TI""      o Numeric#fdiv: ditto.
;TI"* Integer
;TI"+      o Integer(nil) raises TypeError
;TI"* Fixnum
;TI"$      o Fixnum#id2name removed
;TI"#      o Fixnum#to_sym removed
;TI"* Struct
;TI"      o Struct#inspect
;TI"* Time
;TI"%      o New format in Time#to_s
;TI"A      o Timezone information preserved on Marshal.dump/load
;TI"* $SAFE and bound methods
;TI"8      o New trusted/untrusted model in addition to
;TI"&        tainted/untainted model.
;TI"
;TI"* Deprecation
;TI"H      o $= (global flag for case-sensitiveness on string matching)
;TI"      o Kernel#to_a
;TI"&      o Kernel#getc, #gsub, #sub
;TI"F      o Kernel#callcc and Continuation now become 'continuation'
;TI"        bundled library.
;TI"      o Object#type
;TI"7      o Removed Array and Hash #indices, #indexes
;TI"      o Hash#index
;TI"      o ENV.index
;TI"$      o Process::Status#to_int
;TI"      o Numeric#rdiv
;TI"E      o Precision is removed.  Don't cry, it will be redesigned
;TI".        and come back in future version.
;TI"+      o Symbol#to_int and Symbol#to_i
;TI"B      o $KCODE is no longer effective.  Use Encoding related
;TI"%        features of each class.
;TI"!      o VERSION and friends
;T;0o;;0;[o;
;[I"bundled libraries;T@
o;;[+I"* Pathname
;TI",      o No longer has #to_str nor #=~.
;TI"* time and date
;TI"J      o Time.parse and Date.parse interprets slashed numerical dates
;TI"        as "dd/mm/yyyy".
;TI"* Readline
;TI"H      o If Readline uses libedit, Readline::HISTORY[0] returns the
;TI"#        first of the history.
;TI"* Continuation
;TI"      o as above
;TI"
;TI"* Deprecation
;TI"-      o Complex#image: use Complex#imag
;TI"8      o All SSL-related class methods in Net::SMTP
;TI"<      o Prime#cache, Prime#primes, Prime#primes_so_far
;TI".      o mailread library: use tmail gem.
;TI"'      o cgi-lib library: use cgi.
;TI"&      o date2 library: use date.
;TI"      o eregex library
;TI"G      o finalize library: use ObjectSpace.define_finalizer if you
;TI".        really need a finalizer. really?
;TI",      o ftools library: use fileutils.
;TI"0      o generator library: use Enumerator.
;TI"/      o importenv library and Env library
;TI"F      o jcode library: use multilingualization support of String
;TI"      o parsedate library
;TI"      o ping library
;TI"      o readbytes library
;TI"C      o getopts library and parsearg library: use optparse or
;TI"        getoptlong.
;TI";      o soap, wsdl and xsd libraries: use soap4r gem.
;TI"'      o Win32API library: use dl.
;TI"D      o dl library: Reimplemented and API changed. use the new
;TI"'        version of dl or ffi gem.
;TI"A      o rubyunit library and runit library: use minitest or
;TI"C        test/unit. Or use anything you love through RubyGems.
;TI"E      o test/unit is reimplemented on top of minitest.  This is
;TI"5        not fully compatible with the original.
;T;0S;	;
i;I"Language core changes;T@
o;;[I" * New syntax and semantics
;TI"E      o Magic comments to declare in which encoding your source
;TI"        code is written
;TI"C      o New literal hash syntax and new syntax for hash style
;TI"        arguments
;TI"$      o New syntax for lambdas
;TI"5      o .() and calling Procs without #call/#[]
;TI"&      o Block in block arguments
;TI"#      o Block local variables
;TI"B      o Mandatory arguments after optional arguments allowed
;TI"%      o Multiple splats allowed
;TI"C      o #[] can take splatted arguments, hash style arguments
;TI"        and a block.
;TI"C      o New directives in printf-style formatted strings (%).
;TI"D      o Newlines allowed before ternary colon operator (:) and
;TI"*        method call dot operator (.)
;TI"=      o Negative operators such as !, != and !~ are now
;TI"        overloadable
;TI"<      o Encoding.default_external and default_internal
;TI"C      o __ENCODING__: New pseudo variable to hold the current
;TI"        script's encoding
;T;0S;	;
i;I"Library updates;T@
o;;;;[o;;0;[o;
;[I" builtin classes and objects;To;;[�I"* Kernel and Object
;TI"      o BasicObject
;TI"@      o Object#=~ returns nil instead of false by default.
;TI",      o Kernel#define_singleton_method
;TI"F      o Kernel#load can load a library from the highest versions
;TI"!        of gems by default.
;TI"* Class and Module
;TI"D      o Module#const_defined?, #const_get and #method_defined?
;TI")        take an optional parameter.
;TI"3      o #class_variable_{set,get} are public.
;TI"(      o Class of singleton classes
;TI"
;TI"* Errno::EXXX
;TI"C      o All of those are always defined.  Errno::EXXX will be
;TI"D        defined as an alias to Errno::NOERROR if your platform
;TI"         does not have one.
;TI"
;TI"* Binding#eval
;TI"* Blocks and Procs
;TI"/      o Arity of blocks without arguments
;TI"/      o proc is now a synonym of Proc.new
;TI"      o Proc#yield
;TI"#      o Passing blocks to #[]
;TI"      o Proc#lambda?
;TI"      o Proc#curry
;TI"'* Fiber: coroutines/micro-threads
;TI"* Thread
;TI":      o Thread.critical and Thread.critical= removed
;TI"G      o Thread#exit!, Thread#kill! and Thread#terminate! removed.
;TI"
;TI"!* Enumerable and Enumerator
;TI"@      o Enumerator#enum_cons and Enumerator#enum_slice are
;TI"G        removed.  Use #each_cons and #each_slice without a block.
;TI"D      o Enumerable#each_with_index can take optional arguments
;TI"'        and passes them to #each.
;TI")      o Enumerable#each_with_object
;TI"$      o Enumerator#with_object
;TI"$      o Enumerator.new { ... }
;TI"
* Array
;TI"H      o Array#delete returns a deleted element rather than a given
;TI"        object
;TI"7      o Array#to_s is equivalent to Array#inspect
;TI"      o Array.try_convert
;TI"6      o Array#pack('m0') complies with RFC 4648.
;TI"* Hash
;TI"-      o preserving item insertion order
;TI"       o Hash#default_proc=
;TI"E      o Hash#_compare_by_identity and Hash#compare_by_identity?
;TI"      o Hash.try_convert
;TI"      o Hash#assoc
;TI"      o Hash#rassoc
;TI"      o Hash#flatten
;TI"
* Range
;TI"      o Range#cover?
;TI"D      o Range#include? iterates over elements and compares the
;TI"H        given value with each element unless the range is numeric.
;TI"D        Use Range#cover? for the old behavior, i.e. comparison
;TI"#        with boundary values.
;TI""      o Range#min, Range#max
;TI"
;TI"* File and Dir operations
;TI"      o New methods
;TI"* Process
;TI"      o Process.spawn
;TI"      o Process.daemon
;TI"* String
;TI"      o String#clear
;TI"      o String#ord
;TI",      o String#getbyte, String#setbyte
;TI"F      o String#chars and String#each_char act as character-wise.
;TI"6      o String#codepoints, String#each_codepoint
;TI"(      o String#unpack with a block
;TI"      o String#hash
;TI"       o String.try_convert
;TI"      o String#encoding
;TI"E      o String#force_encoding, String#encode and String#encode!
;TI"       o String#ascii_only?
;TI"$      o String#valid_encoding?
;TI"      o String#match
;TI"* Symbol
;TI")      o Zero-length symbols allowed
;TI"      o Symbol#intern
;TI"      o Symbol#encoding
;TI"7      o Symbol methods similar to those in String
;TI"* Regexp
;TI"(      o Regexp#=== matches symbols
;TI"       o Regexp.try_convert
;TI"      o Regexp#match
;TI"$      o Regexp#fixed_encoding?
;TI"      o Regexp#encoding
;TI"#      o Regexp#named_captures
;TI"      o Regexp#names
;TI"* MatchData
;TI"      o MatchData#names
;TI"      o MatchData#regexp
;TI"* Encoding
;TI"* Encoding::Converter
;TI"8      o supports conversion between many encodings
;TI"* Numeric
;TI"2      o Numeric#upto, #downto, #times, #step
;TI"*      o Numeric#real?, Complex#real?
;TI"      o Numeric#magnitude
;TI"      o Numeric#round
;TI"
* Float
;TI"      o Float#round
;TI"* Integer
;TI"      o Integer#round
;TI"* Rational / Complex
;TI".      o They are in the core library now
;TI"* Math
;TI"2      o Math#log takes an optional argument.
;TI"      o Math#log2
;TI"0      o Math#cbrt, Math#lgamma, Math#gamma
;TI"* Time
;TI"5      o Time.times removed.  Use Process.times.
;TI"      o Time#sunday?
;TI"      o Time#monday?
;TI"      o Time#tuesday?
;TI"      o Time#wednesday?
;TI"      o Time#thursday?
;TI"      o Time#friday?
;TI"      o Time#saturday?
;TI"(      o Time#tv_nsec and Time#nsec
;TI"* Misc. new methods
;TI"N      o RUBY_ENGINE to distinguish between Ruby processor implementation
;TI"      o public_method
;TI"      o public_send
;TI"      o GC.count
;TI"'      o ObjectSpace.count_objects
;TI"$      o Method#hash, Proc#hash
;TI"G      o Method#source_location, UnboundMethod#source_location and
;TI""        Proc#source_location
;TI"      o __callee__
;TI"F      o Elements in $LOAD_PATH and $LOADED_FEATURES are expanded
;T;0o;;0;[o;
;[I"bundled libraries;To;;[$I"* RubyGems
;TI"1      o Package management system for Ruby.
;TI"4      o Integrated with Ruby's library loader.
;TI"* Rake
;TI"F      o Ruby make. A simple ruby build program with capabilities
;TI"        similar to make.
;TI"* minitest
;TI"I      o Our new testing library which is faster, cleaner and easier
;TI"-        to read than the old test/unit.
;TI"I      o You can introduce the old test/unit as testunit gem through
;TI"#        RubyGems if you want.
;TI"
* CMath
;TI",      o Complex number version of Math
;TI"
* Prime
;TI"I      o Extracted from Mathn and improved. You can easily enumerate
;TI"        prime numbers.
;TI";      o Prime.new is obsolete. Use its class methods.
;TI"* ripper
;TI"       o Ruby script parser
;TI"* Readline
;TI"'      o Readline.vi_editing_mode?
;TI"*      o Readline.emacs_editing_mode?
;TI"%      o Readline::HISTORY.clear
;TI"
* Tk
;TI"J      o TkXXX widget classes are removed and redefined as aliases of
;TI"        Tk::XXX classes.
;TI"* RDoc
;TI"-      o Updated to version 2.2.2.  See:
;TI"R        http://rubyforge.org/frs/shownotes.php?group_id=627&release_id=26434
;TI"* json
;TI"?      o JSON (JavaScript Object Notation) encoder/decoder
;T;0o;;0;[o;
;[I"commandline options;To;;[
I"* -E, --encoding
;TI"
* -U
;TI"%* --enable-gems, --disable-gems
;TI"+* --enable-rubyopt, --disable-rubyopt
;TI"A* long options are allowed in RUBYOPT environment variable.
;T;0S;	;
i;I"Implementation changes;T@
o;;;;[o;;0;[o;
;[I"Memory Diet;To;;[I"G* Object Compaction - Object, Array, String, Hash, Struct, Class,
;TI"  Module
;TI"3* st_table compaction (inlining small tables)
;T;0o;;0;[o;
;[I"	YARV;To;;[I"=* Ruby codes are compiled into opcodes before executed.
;TI"* Native thread
;T;0o;;0;[o;
;[I"Platform supports;To;;[
I"* Support levels
;TI"      (0) Supported
;TI"      (1) Best effort
;TI"      (2) Perhaps
;TI"      (3) Not supported
;TI"* Dropped
;TI"L      o No longer supports djgpp, bcc32, human68k, MacOS 9 or earlier,
;TI"         VMS nor Windows CE.;T;0:
@file@:0@omit_headings_from_table_of_contents_below0U:RDoc::AnyMethod[iI"
prune:ETI"Find::prune;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"LSkips the current file or directory, restarting the loop with the next ;TI"Kentry. If the current file is a directory, that directory will not be ;TI"Krecursively entered. Meaningful only within the block associated with ;TI"Find::find.;To:RDoc::Markup::BlankLineo;
;	[I"8See the +Find+ module documentation for an example.;T:
@fileI"lib/find.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Find;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	find:ETI"Find::find;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"QCalls the associated block with the name of every file and directory listed ;TI"Gas arguments, then recursively on their subdirectories, and so on.;To:RDoc::Markup::BlankLineo;
;	[I"0Returns an enumerator if no block is given.;T@o;
;	[I"8See the +Find+ module documentation for an example.;T:
@fileI"lib/find.rb;T:0@omit_headings_from_table_of_contents_below00I"	path;T[I"!(*paths, ignore_error: true);T@FI"	Find;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
prune:ETI"Find#prune;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"LSkips the current file or directory, restarting the loop with the next ;TI"Kentry. If the current file is a directory, that directory will not be ;TI"Krecursively entered. Meaningful only within the block associated with ;TI"Find::find.;To:RDoc::Markup::BlankLineo;
;	[I"8See the +Find+ module documentation for an example.;T:
@fileI"lib/find.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Find;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"	Find:ET@0o:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"NThe +Find+ module supports the top-down traversal of a set of file paths.;To:RDoc::Markup::BlankLineo;	;[I"LFor example, to total the size of all files under your home directory, ;TI">ignoring anything in a "dot" directory (e.g. $HOME/.ssh):;T@o:RDoc::Markup::Verbatim;[I"require 'find'
;TI"
;TI"total_size = 0
;TI"
;TI"&Find.find(ENV["HOME"]) do |path|
;TI"$  if FileTest.directory?(path)
;TI")    if File.basename(path)[0] == ?.
;TI"J      Find.prune       # Don't look any further into this directory.
;TI"    else
;TI"      next
;TI"
    end
;TI"  else
;TI"+    total_size += FileTest.size(path)
;TI"  end
;TI"end;T:@format0:
@fileI"lib/find.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"	find;TI"lib/find.rb;T[I"
prune;T@1[:protected[[:private[[I"
instance;T[[;[[;[[;[[@0@1[@3@1[[U:RDoc::Context::Section[i0o;;[;
0;0[@%@%cRDoc::TopLevelU:RDoc::AnyMethod[iI"	find:ETI"Find#find;TF:privateo:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"QCalls the associated block with the name of every file and directory listed ;TI"Gas arguments, then recursively on their subdirectories, and so on.;To:RDoc::Markup::BlankLineo;
;	[I"0Returns an enumerator if no block is given.;T@o;
;	[I"8See the +Find+ module documentation for an example.;T:
@fileI"lib/find.rb;T:0@omit_headings_from_table_of_contents_below00I"	path;T[I"!(*paths, ignore_error: true);T@FI"	Find;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"location=:ETI"ERB#location=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"((filename, lineno));T@FI"ERB;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ERB:ET@I"Object;To:RDoc::Markup::Document:@parts[
o;;[=S:RDoc::Markup::Heading:
leveli:	textI"ERB -- Ruby Templating;To:RDoc::Markup::BlankLineS;	;
i;I"Introduction;T@o:RDoc::Markup::Paragraph;[I"QERB provides an easy to use but powerful templating system for Ruby.  Using ;TI"KERB, actual Ruby code can be added to any plain text document for the ;TI"Mpurposes of generating document information details and/or flow control.;T@o;
;[I"#A very simple example is this:;T@o:RDoc::Markup::Verbatim;[I"require 'erb'
;TI"
;TI"x = 42
;TI"template = ERB.new <<-EOF
;TI"#  The value of x is: <%= x %>
;TI"	EOF
;TI"#puts template.result(binding)
;T:@format0o;
;[I"+<em>Prints:</em> The value of x is: 42;T@o;
;[I"+More complex examples are given below.;T@S;	;
i;I"Recognized Tags;T@o;
;[I"RERB recognizes certain tags in the provided template and converts them based ;TI"on the rules below:;T@o;;[I"+<% Ruby code -- inline with output %>
;TI"3<%= Ruby expression -- replace with result %>
;TI"4<%# comment -- ignored -- useful in testing %>
;TI"N% a line of Ruby code -- treated as <% line %> (optional -- see ERB.new)
;TI"J%% replaced with % if first thing on a line and % processing is used
;TI"6<%% or %%> -- replace with <% or %> respectively
;T;0o;
;[I">All other text is passed through ERB filtering unchanged.;T@S;	;
i;I"Options;T@o;
;[I"@There are several settings you can change when you use ERB:;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"0the nature of the tags that are recognized;;To;;0;[o;
;[I"Athe value of <tt>$SAFE</tt> under which the template is run;;To;;0;[o;
;[I"Athe binding used to resolve local variables in the template.;T@o;
;[I"<See the ERB.new and ERB#result methods for more detail.;T@S;	;
i;I"Character encodings;T@o;
;[	I"FERB (or Ruby code generated by ERB) returns a string in the same ;TI"Hcharacter encoding as the input string.  When the input string has ;TI"Ma magic comment, however, it returns a string in the encoding specified ;TI"by the magic comment.;T@o;;[
I"# -*- coding: utf-8 -*-
;TI"require 'erb'
;TI"
;TI"template = ERB.new <<EOF
;TI"<%#-*- coding: Big5 -*-%>
;TI"4  \_\_ENCODING\_\_ is <%= \_\_ENCODING\_\_ %>.
;TI"	EOF
;TI"puts template.result
;T;0o;
;[I"/<em>Prints:</em> \_\_ENCODING\_\_ is Big5.;T@S;	;
i;I"
Examples;T@S;	;
i;I"Plain Text;T@o;
;[I"`ERB is useful for any generic templating situation.  Note that in this example, we use the ;TI"Sconvenient "% at start of line" tag, and we quote the template literally with ;TI":<tt>%q{...}</tt> to avoid trouble with the backslash.;T@o;;[*I"require "erb"
;TI"
;TI"# Create template.
;TI"template = %q{
;TI"?  From:  James Edward Gray II <james@grayproductions.net>
;TI"  To:  <%= to %>
;TI""  Subject:  Addressing Needs
;TI"
;TI"  <%= to[/\w+/] %>:
;TI"
;TI"K  Just wanted to send a quick note assuring that your needs are being
;TI"  addressed.
;TI"
;TI"H  I want you to know that my team will keep working on the issues,
;TI"  especially:
;TI"
;TI"D  <%# ignore numerous minor requests -- focus on priorities %>
;TI"'  % priorities.each do |priority|
;TI"    * <%= priority %>
;TI"
  % end
;TI"
;TI"!  Thanks for your patience.
;TI"
;TI"  James Edward Gray II
;TI"}.gsub(/^  /, '')
;TI"
;TI"+message = ERB.new(template, 0, "%<>")
;TI"
;TI"# Set up template data.
;TI"?to = "Community Spokesman <spokesman@ruby_community.org>"
;TI"%priorities = [ "Run Ruby Quiz",
;TI"(               "Document Modules",
;TI"6               "Answer Questions on Ruby Talk" ]
;TI"
;TI"# Produce result.
;TI"email = message.result
;TI"puts email
;T;0o;
;[I"<i>Generates:</i>;T@o;;[I"=From:  James Edward Gray II <james@grayproductions.net>
;TI"=To:  Community Spokesman <spokesman@ruby_community.org>
;TI" Subject:  Addressing Needs
;TI"
;TI"Community:
;TI"
;TI"TJust wanted to send a quick note assuring that your needs are being addressed.
;TI"
;TI"RI want you to know that my team will keep working on the issues, especially:
;TI"
;TI"    * Run Ruby Quiz
;TI"    * Document Modules
;TI")    * Answer Questions on Ruby Talk
;TI"
;TI"Thanks for your patience.
;TI"
;TI"James Edward Gray II
;T;0S;	;
i;I"Ruby in HTML;T@o;
;[I"_ERB is often used in <tt>.rhtml</tt> files (HTML with embedded Ruby).  Notice the need in ;TI"^this example to provide a special binding when the template is run, so that the instance ;TI"5variables in the Product object can be resolved.;T@o;;[HI"require "erb"
;TI"
;TI""# Build template data class.
;TI"class Product
;TI"0  def initialize( code, name, desc, cost )
;TI"    @code = code
;TI"    @name = name
;TI"    @desc = desc
;TI"    @cost = cost
;TI"
;TI"    @features = [ ]
;TI"  end
;TI"
;TI""  def add_feature( feature )
;TI"    @features << feature
;TI"  end
;TI"
;TI",  # Support templating of member data.
;TI"  def get_binding
;TI"    binding
;TI"  end
;TI"
;TI"
  # ...
;TI"	end
;TI"
;TI"# Create template.
;TI"template = %{
;TI"  <html>
;TI"?    <head><title>Ruby Toys -- <%= @name %></title></head>
;TI"    <body>
;TI"
;TI"0      <h1><%= @name %> (<%= @code %>)</h1>
;TI"      <p><%= @desc %></p>
;TI"
;TI"      <ul>
;TI")        <% @features.each do |f| %>
;TI"(          <li><b><%= f %></b></li>
;TI"        <% end %>
;TI"      </ul>
;TI"
;TI"      <p>
;TI"!        <% if @cost < 10 %>
;TI"+          <b>Only <%= @cost %>!!!</b>
;TI"        <% else %>
;TI")           Call for a price, today!
;TI"        <% end %>
;TI"      </p>
;TI"
;TI"    </body>
;TI"  </html>
;TI"}.gsub(/^  /, '')
;TI"
;TI"rhtml = ERB.new(template)
;TI"
;TI"# Set up template data.
;TI"#toy = Product.new( "TZ-1002",
;TI"&                   "Rubysapien",
;TI"M                   "Geek's Best Friend!  Responds to Ruby commands...",
;TI"!                   999.95 )
;TI"Jtoy.add_feature("Listens for verbal commands in the Ruby language!")
;TI"@toy.add_feature("Ignores Perl, Java, and all C variants.")
;TI".toy.add_feature("Karate-Chop Action!!!")
;TI"4toy.add_feature("Matz signature on left leg.")
;TI"?toy.add_feature("Gem studded eyes... Rubies, of course!")
;TI"
;TI"# Produce result.
;TI" rhtml.run(toy.get_binding)
;T;0o;
;[I"1<i>Generates (some blank lines removed):</i>;T@o;;[I"<html>
;TI";  <head><title>Ruby Toys -- Rubysapien</title></head>
;TI"  <body>
;TI"
;TI"'    <h1>Rubysapien (TZ-1002)</h1>
;TI"B    <p>Geek's Best Friend!  Responds to Ruby commands...</p>
;TI"
;TI"    <ul>
;TI"O        <li><b>Listens for verbal commands in the Ruby language!</b></li>
;TI"E        <li><b>Ignores Perl, Java, and all C variants.</b></li>
;TI"3        <li><b>Karate-Chop Action!!!</b></li>
;TI"9        <li><b>Matz signature on left leg.</b></li>
;TI"D        <li><b>Gem studded eyes... Rubies, of course!</b></li>
;TI"    </ul>
;TI"
;TI"
    <p>
;TI"'         Call for a price, today!
;TI"    </p>
;TI"
;TI"  </body>
;TI"
</html>
;T;0S;	;
i;I"
Notes;T@o;
;[I"TThere are a variety of templating solutions available in various Ruby projects:;To;;;;[
o;;0;[o;
;[I"LERB's big brother, eRuby, works the same but is written in C for speed;;To;;0;[o;
;[I"*Amrita (smart at producing HTML/XML);;To;;0;[o;
;[I"*cs/Template (written in C for speed);;To;;0;[o;
;[I"^RDoc, distributed with Ruby, uses its own template engine, which can be reused elsewhere;;To;;0;[o;
;[I"Aand others; search {RubyGems.org}[https://rubygems.org/] or ;TI"7{The Ruby Toolbox}[https://www.ruby-toolbox.com/].;T@o;
;[I"DRails, the web application framework, uses ERB to create views.;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;@3;0o;;[;@3;0o;;[;@3;0o;;[;@3;0;0;0[	[
I"
encoding;TI"R;T:publicFI"lib/erb.rb;T[
I"
filename;TI"RW;T;F@@[
I"lineno;T@C;F@@[
I"src;T@?;F@@[[[[I"
class;T[[;[[I"new;T@@[I"version;T@@[:protected[[:private[[I"
instance;T[[;[[I"def_class;T@@[I"def_method;T@@[I"def_module;T@@[I"location=;T@@[I"make_compiler;T@@[I"result;T@@[I"result_with_hash;T@@[I"run;T@@[I"set_eoutvar;T@@[;[[;[[I"new_toplevel;T@@[[U:RDoc::Context::Section[i0o;;[;0;0[@3@3cRDoc::TopLevelU:RDoc::AnyMethod[iI"def_class:ETI"ERB#def_class;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"SDefine unnamed class which has _methodname_ as instance method, and return it.;To:RDoc::Markup::BlankLineo;
;	[I"
example:;To:RDoc::Markup::Verbatim;	[I"class MyClass_
;TI""  def initialize(arg1, arg2)
;TI"%    @arg1 = arg1;  @arg2 = arg2
;TI"  end
;TI"	end
;TI"Mfilename = 'example.rhtml'  # @arg1 and @arg2 are used in example.rhtml
;TI"(erb = ERB.new(File.read(filename))
;TI"erb.filename = filename
;TI"3MyClass = erb.def_class(MyClass_, 'render()')
;TI"+print MyClass.new('foo', 123).render();T:@format0:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"-(superklass=Object, methodname='result');T@FI"ERB;TcRDoc::NormalClass00U:RDoc::NormalModule[iI"DefMethod:ETI"ERB::DefMethod;T0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I">Utility module to define eRuby script as instance method.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;	;[I"example.rhtml:;To:RDoc::Markup::Verbatim;[I"<% for item in @items %>
;TI"<b><%= item %></b>
;TI"<% end %>
;T:@format0o;	;[I"example.rb:;To;;[I"require 'erb'
;TI"class MyClass
;TI"  extend ERB::DefMethod
;TI"3  def_erb_method('render()', 'example.rhtml')
;TI"  def initialize(items)
;TI"    @items = items
;TI"  end
;TI"	end
;TI",print MyClass.new([10,20,30]).render()
;T;0o;	;[I"result:;T@o;;[
I"<b>10</b>
;TI"
;TI"<b>20</b>
;TI"
;TI"<b>30</b>;T;0:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[I"def_erb_method;TI"lib/erb.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;[[@>@?[[U:RDoc::Context::Section[i0o;;[;0;0[@3I"ERB;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"def_erb_method:ETI""ERB::DefMethod#def_erb_method;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Idefine _methodname_ as instance method of current module, using ERB ;TI"object or eRuby file;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(methodname, erb_or_fname);T@FI"DefMethod;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"def_erb_method:ETI"#ERB::DefMethod::def_erb_method;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Idefine _methodname_ as instance method of current module, using ERB ;TI"object or eRuby file;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(methodname, erb_or_fname);T@FI"DefMethod;TcRDoc::NormalModule00U:RDoc::Attr[iI"
encoding:ETI"ERB#encoding;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"The encoding to eval;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below0F@I"ERB;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"
ERB::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FConstructs a new ERB object with the template specified in _str_.;To:RDoc::Markup::BlankLineo;
;	[	I"KAn ERB object works by building a chunk of Ruby code that will output ;TI"Qthe completed template when run. If _safe_level_ is set to a non-nil value, ;TI"LERB code will be run in a separate thread with <b>$SAFE</b> set to the ;TI"provided level.;T@o;
;	[I"OIf _trim_mode_ is passed a String containing one or more of the following ;TI">modifiers, ERB will adjust its code generation as listed:;T@o:RDoc::Markup::Verbatim;	[	I"@%  enables Ruby code processing for lines beginning with %
;TI"A<> omit newline for lines starting with <% and ending in %>
;TI",>  omit newline for lines ending in %>
;TI"'-  omit blank lines ending in -%>
;T:@format0o;
;	[	I"M_eoutvar_ can be used to set the name of the variable ERB will build up ;TI"Fits output in.  This is useful when you need to run multiple ERB ;TI"Ntemplates through the same binding and/or when you want to control where ;TI"Ooutput ends up.  Pass the name of the variable to be used inside a String.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;;	['I"require "erb"
;TI"
;TI"# build data class
;TI"class Listings
;TI"3  PRODUCT = { :name => "Chicken Fried Steak",
;TI"J              :desc => "A well messages pattie, breaded and fried.",
;TI"#              :cost => 9.95 }
;TI"
;TI"$  attr_reader :product, :price
;TI"
;TI"2  def initialize( product = "", price = "" )
;TI"    @product = product
;TI"    @price = price
;TI"  end
;TI"
;TI"  def build
;TI"    b = binding
;TI"C    # create and run templates, filling member data variables
;TI"P    ERB.new(<<-'END_PRODUCT'.gsub(/^\s+/, ""), 0, "", "@product").result b
;TI"!      <%= PRODUCT[:name] %>
;TI"!      <%= PRODUCT[:desc] %>
;TI"    END_PRODUCT
;TI"L    ERB.new(<<-'END_PRICE'.gsub(/^\s+/, ""), 0, "", "@price").result b
;TI":      <%= PRODUCT[:name] %> -- <%= PRODUCT[:cost] %>
;TI"!      <%= PRODUCT[:desc] %>
;TI"    END_PRICE
;TI"  end
;TI"	end
;TI"
;TI"# setup template data
;TI"listings = Listings.new
;TI"listings.build
;TI"
;TI"3puts listings.product + "\n" + listings.price
;T;
0o;
;	[I"_Generates_;T@o;;	[
I"Chicken Fried Steak
;TI"0A well messages pattie, breaded and fried.
;TI"
;TI"!Chicken Fried Steak -- 9.95
;TI"/A well messages pattie, breaded and fried.;T;
0:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"<(str, safe_level=nil, trim_mode=nil, eoutvar='_erbout');T@UFI"ERB;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"make_compiler:ETI"ERB#make_compiler;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GCreates a new compiler for ERB.  See ERB::Compiler.new for details;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(trim_mode);T@FI"ERB;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"u:ETI"ERB::Util#u;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"	Util;TcRDoc::NormalModule0[I"ERB::Util;TFI"url_encode;TU:RDoc::AnyMethod[iI"url_encode:ETI"ERB::Util#url_encode;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";A utility method for encoding the String _s_ as a URL.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"require "erb"
;TI"include ERB::Util
;TI"
;TI"Lputs url_encode("Programming Ruby:  The Pragmatic Programmer's Guide")
;T:@format0o;
;	[I"_Generates_;T@o;;	[I"HProgramming%20Ruby%3A%20%20The%20Pragmatic%20Programmer%27s%20Guide;T;
0:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[[I"u;To;;	[;@;0I"(s);T@FI"	Util;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"url_encode:ETI"ERB::Util::url_encode;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";A utility method for encoding the String _s_ as a URL.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"require "erb"
;TI"include ERB::Util
;TI"
;TI"Lputs url_encode("Programming Ruby:  The Pragmatic Programmer's Guide")
;T:@format0o;
;	[I"_Generates_;T@o;;	[I"HProgramming%20Ruby%3A%20%20The%20Pragmatic%20Programmer%27s%20Guide;T;
0:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[[I"u;To;;	[;@;0I"(s);T@FI"	Util;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"h:ETI"ERB::Util#h;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"	Util;TcRDoc::NormalModule0[I"ERB::Util;TFI"html_escape;TU:RDoc::AnyMethod[iI"html_escape:ETI"ERB::Util#html_escape;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">A utility method for escaping HTML tag characters in _s_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"require "erb"
;TI"include ERB::Util
;TI"
;TI",puts html_escape("is a > 0 & a < 10?")
;T:@format0o;
;	[I"_Generates_;T@o;;	[I"!is a &gt; 0 &amp; a &lt; 10?;T;
0:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[[I"h;To;;	[;@;0I"(s);T@FI"	Util;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"h:ETI"ERB::Util::h;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"	Util;TcRDoc::NormalModule0[I"ERB::Util;TFI"html_escape;TU:RDoc::AnyMethod[iI"html_escape:ETI"ERB::Util::html_escape;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">A utility method for escaping HTML tag characters in _s_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"require "erb"
;TI"include ERB::Util
;TI"
;TI",puts html_escape("is a > 0 & a < 10?")
;T:@format0o;
;	[I"_Generates_;T@o;;	[I"!is a &gt; 0 &amp; a &lt; 10?;T;
0:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[[I"h;To;;	[;@;0I"(s);T@FI"	Util;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"	Util:ETI"ERB::Util;T0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"NA utility module for conversion routines, often handy in HTML generation.;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[	[I"h;TI"lib/erb.rb;T[I"html_escape;T@[I"u;T@[I"url_encode;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[	[@@[@@[@ @[@"@[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"ERB;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"u:ETI"ERB::Util::u;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"	Util;TcRDoc::NormalModule0[I"ERB::Util;TFI"url_encode;TU:RDoc::AnyMethod[iI"run:ETI"ERB#run;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Generate results and print them. (see ERB#result);T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(b=new_toplevel);T@FI"ERB;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new_toplevel:ETI"ERB#new_toplevel;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns a new binding each time *near* TOPLEVEL_BINDING for runs that do ;TI"not specify a binding.;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(vars = nil);T@FI"ERB;TcRDoc::NormalClass00U:RDoc::Attr[iI"
filename:ETI"ERB#filename;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NThe optional _filename_ argument passed to Kernel#eval when the ERB code ;TI"is run;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below0F@I"ERB;TcRDoc::NormalClass0U:RDoc::Attr[iI"src:ETI"ERB#src;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#The Ruby code generated by ERB;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below0F@I"ERB;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"def_module:ETI"ERB#def_module;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"XCreate unnamed module, define _methodname_ as instance method of it, and return it.;To:RDoc::Markup::BlankLineo;
;	[I"
example:;To:RDoc::Markup::Verbatim;	[I"Pfilename = 'example.rhtml'   # 'arg1' and 'arg2' are used in example.rhtml
;TI"(erb = ERB.new(File.read(filename))
;TI"erb.filename = filename
;TI"5MyModule = erb.def_module('render(arg1, arg2)')
;TI"class MyClass
;TI"  include MyModule
;TI"end;T:@format0:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(methodname='erb');T@FI"ERB;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"result:ETI"ERB#result;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PExecutes the generated ERB code to produce a completed template, returning ;TI"Nthe results of that code.  (See ERB::new for details on how this process ;TI"&can be affected by _safe_level_.);To:RDoc::Markup::BlankLineo;
;	[I"F_b_ accepts a Binding object which is used to set the context of ;TI"code evaluation.;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(b=new_toplevel);T@FI"ERB;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"set_eoutvar:ETI"ERB#set_eoutvar;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KCan be used to set _eoutvar_ as described in ERB::new.  It's probably ;TI"Jeasier to just use the constructor though, since calling this method ;TI"4requires the setup of an ERB _compiler_ object.;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"$(compiler, eoutvar = '_erbout');T@FI"ERB;TcRDoc::NormalClass00U:RDoc::Attr[iI"lineno:ETI"ERB#lineno;TI"RW;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LThe optional _lineno_ argument passed to Kernel#eval when the ERB code ;TI"is run;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below0F@I"ERB;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"def_method:ETI"ERB#def_method;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"ODefine _methodname_ as instance method of _mod_ from compiled Ruby source.;To:RDoc::Markup::BlankLineo;
;	[I"
example:;To:RDoc::Markup::Verbatim;	[	I"Pfilename = 'example.rhtml'   # 'arg1' and 'arg2' are used in example.rhtml
;TI"(erb = ERB.new(File.read(filename))
;TI"=erb.def_method(MyClass, 'render(arg1, arg2)', filename)
;TI")print MyClass.new.render('foo', 123);T:@format0:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"%(mod, methodname, fname='(ERB)');T@FI"ERB;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"result_with_hash:ETI"ERB#result_with_hash;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PRender a template on a new toplevel binding with local variables specified ;TI"by a Hash object.;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"(hash);T@FI"ERB;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"version:ETI"ERB::version;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Returns revision information for the erb.rb module.;T:
@fileI"lib/erb.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ERB;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"length:ETI"DBM#length;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Returns the number of entries in the database.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.length -> integer;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_pair:ETI"DBM#each_pair;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FCalls the block once for each [key, value] pair in the database. ;TI"Returns self.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I".dbm.each_pair {|key,value| block} -> self;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"values_at:ETI"DBM#values_at;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KReturns an array containing the values associated with the given keys.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"&dbm.values_at(key, ...) -> Array
;T0[I"(*args);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
has_key?:ETI"DBM#has_key?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns true if the database contains the specified key, false otherwise.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"!dbm.has_key?(key) -> boolean;T0[I"	(p1);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_value:ETI"DBM#each_value;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NCalls the block once for each value string in the database. Returns self.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I",dbm.each_value {|value| block} -> self
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"replace:ETI"DBM#replace;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReplaces the contents of the database with the contents of the specified ;TI"Oobject. Takes any object which implements the each_pair method, including ;TI"Hash and DBM objects.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.replace(obj)
;T0[I"	(p1);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	key?:ETI"
DBM#key?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns true if the database contains the specified key, false otherwise.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.key?(key) -> boolean;T0[I"	(p1);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
clear:ETI"DBM#clear;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Deletes all data from the database.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.clear
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
shift:ETI"DBM#shift;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DRemoves a [key, value] pair from the database, and returns it. ;TI",If the database is empty, returns nil. ;TI"FThe order in which values are removed/returned is not guaranteed.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"!dbm.shift() -> [key, value]
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_a:ETI"
DBM#to_a;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OConverts the contents of the database to an array of [key, value] arrays, ;TI"and returns it.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.to_a -> array
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
fetch:ETI"DBM#fetch;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturn a value from the database by locating the key string ;TI"Gprovided.  If the key is not found, returns +ifnone+. If +ifnone+ ;TI"%is not given, raises IndexError.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"'dbm.fetch(key[, ifnone]) -> value
;T0[I"(p1, p2 = v2);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"
DBM::new;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[	I"POpen a dbm database with the specified name, which can include a directory ;TI"Ppath. Any file extensions needed will be supplied automatically by the dbm ;TI"Llibrary. For example, Berkeley DB appends '.db', and GNU gdbm uses two ;TI"6physical files with extensions '.dir' and '.pag'.;To:RDoc::Markup::BlankLineo;
;	[I"6The mode should be an integer, as for Unix chmod.;T@o;
;	[I"=Flags should be one of READER, WRITER, WRCREAT or NEWDB.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"/DBM.new(filename[, mode[, flags]]) -> dbm
;T0[I"(p1, p2 = v2, p3 = v3);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"reject!:ETI"DBM#reject!;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Deletes all entries for which the code block returns true. ;TI"Returns self.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"-dbm.reject! {|key, value| block} -> self;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"update:ETI"DBM#update;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JUpdates the database with multiple values from the specified object. ;TI"GTakes any object which implements the each_pair method, including ;TI"Hash and DBM objects.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.update(obj)
;T0[I"	(p1);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"empty?:ETI"DBM#empty?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Returns true if the database is empty, false otherwise.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.empty?
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"values:ETI"DBM#values;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Returns an array of all the string values in the database.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.values -> array
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
include?:ETI"DBM#include?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns true if the database contains the specified key, false otherwise.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"!dbm.include?(key) -> boolean;T0[I"	(p1);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	size:ETI"
DBM#size;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Returns the number of entries in the database.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.size -> integer;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"select:ETI"DBM#select;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"QReturns a new array consisting of the [key, value] pairs for which the code ;TI"block returns true.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I".dbm.select {|key, value| block} -> array
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
close:ETI"DBM#close;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Closes the database.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.close
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"[]:ETI"DBM#[];TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturn a value from the database by locating the key string ;TI"5provided.  If the key is not found, returns nil.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"%dbm[key] -> string value or nil
;T0[I"	(p1);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"invert:ETI"DBM#invert;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LReturns a Hash (not a DBM database) created by using each value in the ;TI"@database as a key, with the corresponding key as its value.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.invert -> hash
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"delete:ETI"DBM#delete;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Deletes an entry from the database.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.delete(key)
;T0[I"	(p1);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"delete_if:ETI"DBM#delete_if;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Deletes all entries for which the code block returns true. ;TI"Returns self.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"/dbm.delete_if {|key, value| block} -> self;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"DBM:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[S:RDoc::Markup::Heading:
leveli:	textI"Introduction;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"6The DBM class provides a wrapper to a Unix-style ;TI"I{dbm}[http://en.wikipedia.org/wiki/Dbm] or Database Manager library.;T@o;
;[I"LDbm databases do not have tables or columns; they are simple key-value ;TI"Odata stores, like a Ruby Hash except not resident in RAM. Keys and values ;TI"must be strings.;T@o;
;[I"NThe exact library used depends on how Ruby was compiled. It could be any ;TI"of the following:;T@o:RDoc::Markup::List:
@type:BULLET:@items[
o:RDoc::Markup::ListItem:@label0;[o;
;[I"6The original ndbm library is released in 4.3BSD. ;TI"KIt is based on dbm library in Unix Version 7 but has different API to ;TI"-support multiple databases in a process.;To;;0;[o;
;[I"F{Berkeley DB}[http://en.wikipedia.org/wiki/Berkeley_DB] versions ;TI"G1 thru 5, also known as BDB and Sleepycat DB, now owned by Oracle ;TI"Corporation.;To;;0;[o;
;[I"PBerkeley DB 1.x, still found in 4.4BSD derivatives (FreeBSD, OpenBSD, etc).;To;;0;[o;
;[I"N{gdbm}[http://www.gnu.org/software/gdbm/], the GNU implementation of dbm.;To;;0;[o;
;[I"E{qdbm}[http://fallabs.com/qdbm/index.html], another open source ;TI"reimplementation of dbm.;T@o;
;[I"EAll of these dbm implementations have their own Ruby interfaces ;TI"8available, which provide richer (but varying) APIs.;T@S;	;
i;I"
Cautions;T@o;
;[I"MBefore you decide to use DBM, there are some issues you should consider:;T@o;;;;[	o;;0;[o;
;[I"HEach implementation of dbm has its own file format. Generally, dbm ;TI"Flibraries will not read each other's files. This makes dbm files ;TI"$a bad choice for data exchange.;T@o;;0;[o;
;[I"LEven running the same OS and the same dbm implementation, the database ;TI"Lfile format may depend on the CPU architecture. For example, files may ;TI"Mnot be portable between PowerPC and 386, or between 32 and 64 bit Linux.;T@o;;0;[o;
;[I"ODifferent versions of Berkeley DB use different file formats. A change to ;TI"=the OS may therefore break DBM access to existing files.;T@o;;0;[o;
;[
I"MData size limits vary between implementations. Original Berkeley DB was ;TI"Jlimited to 2GB of data. Dbm libraries also sometimes limit the total ;TI"Lsize of a key/value pair, and the total size of all the keys that hash ;TI"Oto the same value. These limits can be as little as 512 bytes. That said, ;TI"Ggdbm and recent versions of Berkeley DB do away with these limits.;T@o;
;[I"QGiven the above cautions, DBM is not a good choice for long term storage of ;TI"Mimportant data. It is probably best used as a fast and easy alternative ;TI"4to a Hash for processing large amounts of data.;T@S;	;
i;I"Example;T@o:RDoc::Markup::Verbatim;[I"require 'dbm'
;TI"/db = DBM.open('rfcs', 0666, DBM::WRCREAT)
;TI"Jdb['822'] = 'Standard for the Format of ARPA Internet Text Messages'
;TI"Ndb['1123'] = 'Requirements for Internet Hosts - Application and Support'
;TI"=db['3068'] = 'An Anycast Prefix for 6to4 Relay Routers'
;TI"puts db['822'];T:@format0:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0;0;0[[
U:RDoc::Constant[iI"READER;TI"DBM::READER;T:public0o;;[o;
;[I"IIndicates that dbm_open() should open the database in read-only mode;T@;@t;0@t@cRDoc::NormalClass0U;[iI"WRITER;TI"DBM::WRITER;T;0o;;[o;
;[I"JIndicates that dbm_open() should open the database in read/write mode;T@;@t;0@t@@{0U;[iI"WRCREAT;TI"DBM::WRCREAT;T;0o;;[o;
;[I"LIndicates that dbm_open() should open the database in read/write mode, ;TI"/and create it if it does not already exist;T;@t;0@t@@{0U;[iI"
NEWDB;TI"DBM::NEWDB;T;0o;;[o;
;[I"LIndicates that dbm_open() should open the database in read/write mode, ;TI"Kcreate it if it does not already exist, and delete all contents if it ;TI"does already exist.;T;@t;0@t@@{0U;[iI"VERSION;TI"DBM::VERSION;T;0o;;[
o;
;[I"%Identifies ndbm library version.;T@o;
;[I"Examples:;T@o;;;;[
o;;0;[o;
;[I""ndbm (4.3BSD)";To;;0;[o;
;[I"+"Berkeley DB 4.8.30: (April  9, 2010)";To;;0;[o;
;[I","Berkeley DB (unknown)" (4.4BSD, maybe);To;;0;[o;
;[I"B"GDBM version 1.8.3. 10/15/2002 (built Jul  1 2011 12:32:45)";To;;0;[o;
;[I""QDBM 1.8.78";T;@t;0@t@@{0[[I"Enumerable;To;;[;@t;0I"ext/dbm/dbm.c;T[[I"
class;T[[;[[I"new;T@�[I"	open;T@�[:protected[[:private[[I"
instance;T[[;[([I"[];T@�[I"[]=;T@�[I"
clear;T@�[I"
close;T@�[I"closed?;T@�[I"delete;T@�[I"delete_if;T@�[I"	each;T@�[I"
each_key;T@�[I"each_pair;T@�[I"each_value;T@�[I"empty?;T@�[I"
fetch;T@�[I"
has_key?;T@�[I"has_value?;T@�[I"
include?;T@�[I"invert;T@�[I"key;T@�[I"	key?;T@�[I"	keys;T@�[I"length;T@�[I"member?;T@�[I"reject;T@�[I"reject!;T@�[I"replace;T@�[I"select;T@�[I"
shift;T@�[I"	size;T@�[I"
store;T@�[I"	to_a;T@�[I"to_hash;T@�[I"update;T@�[I"value?;T@�[I"values;T@�[I"values_at;T@�[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@t@tcRDoc::TopLevelU:RDoc::AnyMethod[iI"to_hash:ETI"DBM#to_hash;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LConverts the contents of the database to an in-memory Hash object, and ;TI"returns it.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.to_hash -> hash
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	open:ETI"DBM::open;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EOpen a dbm database and yields it if a block is given. See also ;TI"<code>DBM.new</code>.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"bDBM.open(filename[, mode[, flags]]) -> dbm
DBM.open(filename[, mode[, flags]]) {|dbm| block}
;T0[I"(*args);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"value?:ETI"DBM#value?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MReturns true if the database contains the specified string value, false ;TI"otherwise.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"!dbm.value?(value) -> boolean;T0[I"	(p1);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"key:ETI"DBM#key;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-Returns the key for the specified value.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.key(value) -> string
;T0[I"	(p1);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
store:ETI"DBM#store;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HStores the specified string value in the database, indexed via the ;TI"string key provided.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"#dbm.store(key, value) -> value;T0[I"
(p1, p2);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"[]=:ETI"DBM#[]=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HStores the specified string value in the database, indexed via the ;TI"string key provided.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm[key] = value;T0[I"
(p1, p2);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"reject:ETI"DBM#reject;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LConverts the contents of the database to an in-memory Hash, then calls ;TI"EHash#reject with the specified code block, returning a new Hash.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I",dbm.reject {|key,value| block} -> Hash
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	keys:ETI"
DBM#keys;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Returns an array of all the string keys in the database.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"dbm.keys -> array
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"closed?:ETI"DBM#closed?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Returns true if the database is closed, false otherwise.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I""dbm.closed? -> true or false
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"member?:ETI"DBM#member?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns true if the database contains the specified key, false otherwise.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I" dbm.member?(key) -> boolean;T0[I"	(p1);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	each:ETI"
DBM#each;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FCalls the block once for each [key, value] pair in the database. ;TI"Returns self.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I".dbm.each_pair {|key,value| block} -> self;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"has_value?:ETI"DBM#has_value?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MReturns true if the database contains the specified string value, false ;TI"otherwise.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"%dbm.has_value?(value) -> boolean;T0[I"	(p1);T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
each_key:ETI"DBM#each_key;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LCalls the block once for each key string in the database. Returns self.;T:
@fileI"ext/dbm/dbm.c;T:0@omit_headings_from_table_of_contents_below0I"(dbm.each_key {|key| block} -> self
;T0[I"();T@FI"DBM;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"result:ETI"StopIteration#result;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Returns the return value of the iterator.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"o = Object.new
;TI"def o.each
;TI"  yield 1
;TI"  yield 2
;TI"  yield 3
;TI"  100
;TI"	end
;TI"
;TI"e = o.to_enum
;TI"
;TI")puts e.next                   #=> 1
;TI")puts e.next                   #=> 2
;TI")puts e.next                   #=> 3
;TI"
;TI"begin
;TI"  e.next
;TI" rescue StopIteration => ex
;TI"+  puts ex.result              #=> 100
;TI"end;T:@format0:
@fileI"enumerator.c;T:0@omit_headings_from_table_of_contents_below0I"result       -> value
;T0[I"();T@$FI"StopIteration;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"StopIteration:ET@I"IndexError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"KRaised to stop the iteration, in particular by Enumerator#next. It is ;TI"rescued by Kernel#loop.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;[I"
loop do
;TI"  puts "Hello"
;TI"  raise StopIteration
;TI"  puts "World"
;TI"	end
;TI"puts "Done!"
;T:@format0o;	;[I"<em>produces:</em>;T@o;;[I"Hello
;TI"
Done!;T;0:
@fileI"enumerator.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"result;TI"enumerator.c;T[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@!@!cRDoc::TopLevelU:RDoc::AnyMethod[iI"charpos:ETI"StringScanner#charpos;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"XReturns the character position of the scan pointer.  In the 'reset' position, this ;TI"Rvalue is zero.  In the 'terminated' position (i.e. the string is exhausted), ;TI"*this value is the size of the string.;To:RDoc::Markup::BlankLineo;
;	[I"4In short, it's a 0-based index into the string.;T@o:RDoc::Markup::Verbatim;	[
I",s = StringScanner.new("abcädeföghi")
;TI" s.charpos           # -> 0
;TI"'s.scan_until(/ä/)   # -> "abcä"
;TI" s.pos               # -> 5
;TI"s.charpos           # -> 4;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
matched?:ETI"StringScanner#matched?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Returns +true+ iff the last match was successful.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"*s = StringScanner.new('test string')
;TI" s.match?(/\w+/)     # => 4
;TI"#s.matched?          # => true
;TI""s.match?(/\d+/)     # => nil
;TI"#s.matched?          # => false;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"post_match:ETI"StringScanner#post_match;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"]Returns the <i><b>post</b>-match</i> (in the regular expression sense) of the last scan.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"*s = StringScanner.new('test string')
;TI")s.scan(/\w+/)           # -> "test"
;TI"&s.scan(/\s+/)           # -> " "
;TI")s.pre_match             # -> "test"
;TI"*s.post_match            # -> "string";T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
reset:ETI"StringScanner#reset;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Reset the scan pointer (index 0) and clear matching data.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"values_at:ETI"StringScanner#values_at;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JReturns the subgroups in the most recent match at the given indices. ;TI"4If nothing was priorly matched, it returns nil.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"4s = StringScanner.new("Fri Dec 12 1975 14:39")
;TI";s.scan(/(\w+) (\w+) (\d+) /)       # -> "Fri Dec 12 "
;TI"Os.values_at 0, -1, 5, 2            # -> ["Fri Dec 12 ", "12", nil, "Dec"]
;TI"1s.scan(/(\w+) (\w+) (\d+) /)       # -> nil
;TI"0s.values_at 0, -1, 5, 2            # -> nil;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"7scanner.values_at( i1, i2, ... iN )   -> an_array
;T0[I"(*args);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rest_size:ETI"StringScanner#rest_size;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@<tt>s.rest_size</tt> is equivalent to <tt>s.rest.size</tt>.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"StringScanner#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns a string that represents the StringScanner object, showing:;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"the current position;To;;0;	[o;
;	[I"the size of the string;To;;0;	[o;
;	[I"0the characters surrounding the scan pointer;To:RDoc::Markup::BlankLineo;
;	[	I"4s = StringScanner.new("Fri Dec 12 1975 14:39") ;TI"Ds.inspect            # -> '#<StringScanner 0/21 @ "Fri D...">' ;TI",s.scan_until /12/    # -> "Fri Dec 12" ;TI"Os.inspect            # -> '#<StringScanner 10/21 "...ec 12" @ " 1975...">';T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@&FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
clear:ETI"StringScanner#clear;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Equivalent to #terminate. ;TI"5This method is obsolete; use #terminate instead.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"exist?:ETI"StringScanner#exist?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LLooks _ahead_ to see if the +pattern+ exists _anywhere_ in the string, ;TI"Pwithout advancing the scan pointer.  This predicates whether a #scan_until ;TI"will return a value.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"*s = StringScanner.new('test string')
;TI"$s.exist? /s/            # -> 3
;TI")s.scan /test/           # -> "test"
;TI"$s.exist? /s/            # -> 2
;TI"%s.exist? /e/            # -> nil;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"exist?(pattern)
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pre_match:ETI"StringScanner#pre_match;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"\Returns the <i><b>pre</b>-match</i> (in the regular expression sense) of the last scan.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"*s = StringScanner.new('test string')
;TI")s.scan(/\w+/)           # -> "test"
;TI"&s.scan(/\s+/)           # -> " "
;TI")s.pre_match             # -> "test"
;TI"*s.post_match            # -> "string";T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"StringScanner::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ICreates a new StringScanner object to scan over the given +string+. ;TI"1+dup+ argument is obsolete and not used now.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I",StringScanner.new(string, dup = false)
;T0[I"(p1, p2 = v2);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Error:ETI"StringScanner::Error;TI"StandardError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"StringScanner;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
getch:ETI"StringScanner#getch;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Scans one character and returns it. ;TI"2This method is multibyte character sensitive.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"!s = StringScanner.new("ab")
;TI" s.getch           # => "a"
;TI" s.getch           # => "b"
;TI" s.getch           # => nil
;TI"
;TI"$KCODE = 'EUC'
;TI"'s = StringScanner.new("\244\242")
;TI"Ls.getch           # => "\244\242"   # Japanese hira-kana "A" in EUC-JP
;TI"s.getch           # => nil;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
rest?:ETI"StringScanner#rest?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DReturns true iff there is more data in the string.  See #eos?. ;TI"0This method is obsolete; use #eos? instead.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*s = StringScanner.new('test string')
;TI"%s.eos?              # These two
;TI")s.rest?             # are opposites.;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"empty?:ETI"StringScanner#empty?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Equivalent to #eos?. ;TI"0This method is obsolete, use #eos? instead.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"string:ETI"StringScanner#string;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&Returns the string being scanned.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	peek:ETI"StringScanner#peek;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JExtracts a string corresponding to <tt>string[pos,len]</tt>, without ;TI" advancing the scan pointer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*s = StringScanner.new('test string')
;TI"'s.peek(7)          # => "test st"
;TI"&s.peek(7)          # => "test st";T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"peek(len)
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
pointer=:ETI"StringScanner#pointer=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Set the byte position of the scan pointer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*s = StringScanner.new('test string')
;TI"!s.pos = 7            # -> 7
;TI"%s.rest               # -> "ring";T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"
pos=(n)
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"search_full:ETI"StringScanner#search_full;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"8Scans the string _until_ the +pattern+ is matched. ;TI"FAdvances the scan pointer if +advance_pointer_p+, otherwise not. ;TI"HReturns the matched string if +return_string_p+ is true, otherwise ;TI"+returns the number of bytes advanced. ;TI"0This method does affect the match register.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I">search_full(pattern, advance_pointer_p, return_string_p)
;T0[I"(p1, p2, p3);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"concat:ETI"StringScanner#concat;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Appends +str+ to the string being scanned. ;TI".This method does not affect scan pointer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"4s = StringScanner.new("Fri Dec 12 1975 14:39")
;TI"s.scan(/Fri /)
;TI"s << " +1000 GMT"
;TI"@s.string            # -> "Fri Dec 12 1975 14:39 +1000 GMT"
;TI"#s.scan(/Dec/)       # -> "Dec";T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"concat(str);T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"check_until:ETI"StringScanner#check_until;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"QThis returns the value that #scan_until would return, without advancing the ;TI";scan pointer.  The match register is affected, though.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"4s = StringScanner.new("Fri Dec 12 1975 14:39")
;TI"3s.check_until /12/          # -> "Fri Dec 12"
;TI"(s.pos                       # -> 0
;TI")s.matched                   # -> 12
;T:@format0o;
;	[I"LMnemonic: it "checks" to see whether a #scan_until will return a value.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"check_until(pattern)
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"matched_size:ETI"StringScanner#matched_size;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"QReturns the size of the most recent match (see #matched), or +nil+ if there ;TI"was no recent match.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"*s = StringScanner.new('test string')
;TI")s.check /\w+/           # -> "test"
;TI"$s.matched_size          # -> 4
;TI"&s.check /\d+/           # -> nil
;TI"%s.matched_size          # -> nil;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	size:ETI"StringScanner#size;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Returns the amount of subgroups in the most recent match. ;TI")The full match counts as a subgroup.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"4s = StringScanner.new("Fri Dec 12 1975 14:39")
;TI";s.scan(/(\w+) (\w+) (\d+) /)       # -> "Fri Dec 12 "
;TI".s.size                             # -> 4;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"
size
;T0[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"StringScanner:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[&o:RDoc::Markup::Paragraph;[I"RStringScanner provides for lexical scanning operations on a String.  Here is ;TI"an example of its usage:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;[I"8s = StringScanner.new('This is an example string')
;TI"%s.eos?               # -> false
;TI"
;TI"&p s.scan(/\w+/)      # -> "This"
;TI"#p s.scan(/\w+/)      # -> nil
;TI"#p s.scan(/\s+/)      # -> " "
;TI"#p s.scan(/\s+/)      # -> nil
;TI"$p s.scan(/\w+/)      # -> "is"
;TI"%s.eos?               # -> false
;TI"
;TI"#p s.scan(/\s+/)      # -> " "
;TI"$p s.scan(/\w+/)      # -> "an"
;TI"#p s.scan(/\s+/)      # -> " "
;TI")p s.scan(/\w+/)      # -> "example"
;TI"#p s.scan(/\s+/)      # -> " "
;TI"(p s.scan(/\w+/)      # -> "string"
;TI"$s.eos?               # -> true
;TI"
;TI"#p s.scan(/\s+/)      # -> nil
;TI"#p s.scan(/\w+/)      # -> nil
;T:@format0o;	;[	I"PScanning a string means remembering the position of a <i>scan pointer</i>, ;TI"Pwhich is just an index.  The point of scanning is to move forward a bit at ;TI"Oa time, so matches are sought after the scan pointer; usually immediately ;TI"after it.;T@o;	;[I"IGiven the string "test string", here are the pertinent scan pointer ;TI"positions:;T@o;;[I"  t e s t   s t r i n g
;TI"0 1 2 ...             1
;TI"                      0
;T;0o;	;[I"OWhen you #scan for a pattern (a regular expression), the match must occur ;TI"Pat the character after the scan pointer.  If you use #scan_until, then the ;TI"Omatch can occur anywhere after the scan pointer.  In both cases, the scan ;TI"Ppointer moves <i>just beyond</i> the last character of the match, ready to ;TI"Nscan again from the next character onwards.  This is demonstrated by the ;TI"example above.;T@S:RDoc::Markup::Heading:
leveli:	textI"Method Categories;T@o;	;[	I"PThere are other methods besides the plain scanners.  You can look ahead in ;TI"Rthe string without actually scanning.  You can access the most recent match. ;TI"NYou can modify the string being scanned, reset or terminate the scanner, ;TI"Pfind out or change the position of the scan pointer, skip ahead, and so on.;T@S;
;i;I"Advancing the Scan Pointer;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"#getch;To;;0;[o;	;[I"#get_byte;To;;0;[o;	;[I"
#scan;To;;0;[o;	;[I"#scan_until;To;;0;[o;	;[I"
#skip;To;;0;[o;	;[I"#skip_until;T@S;
;i;I"Looking Ahead;T@o;;;;[
o;;0;[o;	;[I"#check;To;;0;[o;	;[I"#check_until;To;;0;[o;	;[I"#exist?;To;;0;[o;	;[I"#match?;To;;0;[o;	;[I"
#peek;T@S;
;i;I"Finding Where we Are;T@o;;;;[
o;;0;[o;	;[I" #beginning_of_line? (#bol?);To;;0;[o;	;[I"
#eos?;To;;0;[o;	;[I"#rest?;To;;0;[o;	;[I"#rest_size;To;;0;[o;	;[I"	#pos;T@S;
;i;I"Setting Where we Are;T@o;;;;[o;;0;[o;	;[I"#reset;To;;0;[o;	;[I"#terminate;To;;0;[o;	;[I"
#pos=;T@S;
;i;I"Match Data;T@o;;;;[o;;0;[o;	;[I"
#matched;To;;0;[o;	;[I"#matched?;To;;0;[o;	;[I"#matched_size;To;;0;[o;;:
LABEL;[o;;[I";T;[@o;;0;[o;	;[I"#pre_match;To;;0;[o;	;[I"#post_match;T@S;
;i;I"Miscellaneous;T@o;;;;[
o;;0;[o;	;[I"<<;To;;0;[o;	;[I"#concat;To;;0;[o;	;[I"#string;To;;0;[o;	;[I"
#string=;To;;0;[o;	;[I"#unscan;T@o;	;[I"1There are aliases to several of the methods.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[I"must_C_version;TI"ext/strscan/strscan.c;T[I"new;T@[:protected[[:private[[I"
instance;T[[;[2[I"<<;T@[I"[];T@[I"beginning_of_line?;T@[I"
captures;T@[I"charpos;T@[I"
check;T@[I"check_until;T@[I"
clear;T@[I"concat;T@[I"empty?;T@[I"	eos?;T@[I"exist?;T@[I"
get_byte;T@[I"getbyte;T@[I"
getch;T@[I"inspect;T@[I"match?;T@[I"matched;T@[I"
matched?;T@[I"matched_size;T@[I"	peek;T@[I"	peep;T@[I"pointer;T@[I"
pointer=;T@[I"pos;T@[I"	pos=;T@[I"post_match;T@[I"pre_match;T@[I"
reset;T@[I"	rest;T@[I"
rest?;T@[I"rest_size;T@[I"
restsize;T@[I"	scan;T@[I"scan_full;T@[I"scan_until;T@[I"search_full;T@[I"	size;T@[I"	skip;T@[I"skip_until;T@[I"string;T@[I"string=;T@[I"terminate;T@[I"unscan;T@[I"values_at;T@[;[[;[[I"initialize_copy;T@[[U:RDoc::Context::Section[i0o;;[;0;0[@�@�cRDoc::TopLevelU:RDoc::AnyMethod[iI"getbyte:ETI"StringScanner#getbyte;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Equivalent to #get_byte. ;TI"4This method is obsolete; use #get_byte instead.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"scan_full:ETI"StringScanner#scan_full;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"QTests whether the given +pattern+ is matched from the current scan pointer. ;TI"?Advances the scan pointer if +advance_pointer_p+ is true. ;TI">Returns the matched string if +return_string_p+ is true. ;TI"$The match register is affected.;To:RDoc::Markup::BlankLineo;
;	[I"/"full" means "#scan with full parameters".;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"<scan_full(pattern, advance_pointer_p, return_string_p)
;T0[I"(p1, p2, p3);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pointer:ETI"StringScanner#pointer;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"SReturns the byte position of the scan pointer.  In the 'reset' position, this ;TI"Rvalue is zero.  In the 'terminated' position (i.e. the string is exhausted), ;TI".this value is the bytesize of the string.;To:RDoc::Markup::BlankLineo;
;	[I"=In short, it's a 0-based index into bytes of the string.;T@o:RDoc::Markup::Verbatim;	[I"*s = StringScanner.new('test string')
;TI" s.pos               # -> 0
;TI")s.scan_until /str/  # -> "test str"
;TI" s.pos               # -> 8
;TI"3s.terminate         # -> #<StringScanner fin>
;TI" s.pos               # -> 11;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"[]:ETI"StringScanner#[];TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Returns the n-th subgroup in the most recent match.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"4s = StringScanner.new("Fri Dec 12 1975 14:39")
;TI";s.scan(/(\w+) (\w+) (\d+) /)       # -> "Fri Dec 12 "
;TI";s[0]                               # -> "Fri Dec 12 "
;TI"3s[1]                               # -> "Fri"
;TI"3s[2]                               # -> "Dec"
;TI"2s[3]                               # -> "12"
;TI":s.post_match                       # -> "1975 14:39"
;TI"0s.pre_match                        # -> ""
;TI"
;TI"
s.reset
;TI"Ps.scan(/(?<wday>\w+) (?<month>\w+) (?<day>\d+) /)       # -> "Fri Dec 12 "
;TI";s[0]                               # -> "Fri Dec 12 "
;TI"3s[1]                               # -> "Fri"
;TI"3s[2]                               # -> "Dec"
;TI"2s[3]                               # -> "12"
;TI"3s[:wday]                           # -> "Fri"
;TI"3s[:month]                          # -> "Dec"
;TI"2s[:day]                            # -> "12"
;TI":s.post_match                       # -> "1975 14:39"
;TI"/s.pre_match                        # -> "";T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"[](n)
;T0[I"	(p1);T@%FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
check:ETI"StringScanner#check;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"PThis returns the value that #scan would return, without advancing the scan ;TI"6pointer.  The match register is affected, though.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"4s = StringScanner.new("Fri Dec 12 1975 14:39")
;TI",s.check /Fri/               # -> "Fri"
;TI"(s.pos                       # -> 0
;TI",s.matched                   # -> "Fri"
;TI"*s.check /12/                # -> nil
;TI"*s.matched                   # -> nil
;T:@format0o;
;	[I"FMnemonic: it "checks" to see whether a #scan will return a value.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"check(pattern)
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	rest:ETI"StringScanner#rest;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PReturns the "rest" of the string (i.e. everything after the scan pointer). ;TI"DIf there is no more data (eos? = true), it returns <tt>""</tt>.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pos:ETI"StringScanner#pos;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"SReturns the byte position of the scan pointer.  In the 'reset' position, this ;TI"Rvalue is zero.  In the 'terminated' position (i.e. the string is exhausted), ;TI".this value is the bytesize of the string.;To:RDoc::Markup::BlankLineo;
;	[I"=In short, it's a 0-based index into bytes of the string.;T@o:RDoc::Markup::Verbatim;	[I"*s = StringScanner.new('test string')
;TI" s.pos               # -> 0
;TI")s.scan_until /str/  # -> "test str"
;TI" s.pos               # -> 8
;TI"3s.terminate         # -> #<StringScanner fin>
;TI" s.pos               # -> 11;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	pos=:ETI"StringScanner#pos=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Set the byte position of the scan pointer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*s = StringScanner.new('test string')
;TI"!s.pos = 7            # -> 7
;TI"%s.rest               # -> "ring";T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"pos=(n);T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
get_byte:ETI"StringScanner#get_byte;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"$Scans one byte and returns it. ;TI"7This method is not multibyte character sensitive. ;TI"See also: #getch.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"!s = StringScanner.new('ab')
;TI"!s.get_byte         # => "a"
;TI"!s.get_byte         # => "b"
;TI"!s.get_byte         # => nil
;TI"
;TI"$KCODE = 'EUC'
;TI"'s = StringScanner.new("\244\242")
;TI"$s.get_byte         # => "\244"
;TI"$s.get_byte         # => "\242"
;TI" s.get_byte         # => nil;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"string=:ETI"StringScanner#string=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GChanges the string being scanned to +str+ and resets the scanner. ;TI"Returns +str+.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"string=(str)
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	skip:ETI"StringScanner#skip;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"PAttempts to skip over the given +pattern+ beginning with the scan pointer. ;TI"RIf it matches, the scan pointer is advanced to the end of the match, and the ;TI"Dlength of the match is returned.  Otherwise, +nil+ is returned.;To:RDoc::Markup::BlankLineo;
;	[I"EIt's similar to #scan, but without returning the matched string.;T@o:RDoc::Markup::Verbatim;	[I"*s = StringScanner.new('test string')
;TI"p s.skip(/\w+/)   # -> 4
;TI" p s.skip(/\w+/)   # -> nil
;TI"p s.skip(/\s+/)   # -> 1
;TI"p s.skip(/\w+/)   # -> 6
;TI"p s.skip(/./)     # -> nil;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"skip(pattern)
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"skip_until:ETI"StringScanner#skip_until;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"QAdvances the scan pointer until +pattern+ is matched and consumed.  Returns ;TI"Bthe number of bytes advanced, or +nil+ if no match was found.;To:RDoc::Markup::BlankLineo;
;	[I"NLook ahead to match +pattern+, and advance the scan pointer to the _end_ ;TI"Nof the match.  Return the number of characters advanced, or +nil+ if the ;TI"match was unsuccessful.;T@o;
;	[I"OIt's similar to #scan_until, but without returning the intervening string.;T@o:RDoc::Markup::Verbatim;	[I"4s = StringScanner.new("Fri Dec 12 1975 14:39")
;TI")s.skip_until /12/           # -> 10
;TI""s                           #;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"skip_until(pattern)
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	peep:ETI"StringScanner#peep;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Equivalent to #peek. ;TI"0This method is obsolete; use #peek instead.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"beginning_of_line?:ETI"%StringScanner#beginning_of_line?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IReturns +true+ iff the scan pointer is at the beginning of the line.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"+s = StringScanner.new("test\ntest\n")
;TI" s.bol?           # => true
;TI"s.scan(/te/)
;TI"!s.bol?           # => false
;TI"s.scan(/st\n/)
;TI" s.bol?           # => true
;TI"s.terminate
;TI"s.bol?           # => true;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	eos?:ETI"StringScanner#eos?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DReturns +true+ if the scan pointer is at the end of the string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*s = StringScanner.new('test string')
;TI""p s.eos?          # => false
;TI"s.scan(/test/)
;TI""p s.eos?          # => false
;TI"s.terminate
;TI" p s.eos?          # => true;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
captures:ETI"StringScanner#captures;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"TReturns the subgroups in the most recent match (not including the full match). ;TI"4If nothing was priorly matched, it returns nil.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"4s = StringScanner.new("Fri Dec 12 1975 14:39")
;TI";s.scan(/(\w+) (\w+) (\d+) /)       # -> "Fri Dec 12 "
;TI"Bs.captures                         # -> ["Fri", "Dec", "12"]
;TI"1s.scan(/(\w+) (\w+) (\d+) /)       # -> nil
;TI"0s.captures                         # -> nil;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"captures
;T0[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	scan:ETI"StringScanner#scan;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PTries to match with +pattern+ at the current position. If there's a match, ;TI"Mthe scanner advances the "scan pointer" and returns the matched string. ;TI"*Otherwise, the scanner returns +nil+.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*s = StringScanner.new('test string')
;TI"#p s.scan(/\w+/)   # -> "test"
;TI" p s.scan(/\w+/)   # -> nil
;TI" p s.scan(/\s+/)   # -> " "
;TI"%p s.scan(/\w+/)   # -> "string"
;TI"p s.scan(/./)     # -> nil;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"scan(pattern) => String
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"match?:ETI"StringScanner#match?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"QTests whether the given +pattern+ is matched from the current scan pointer. ;TI"RReturns the length of the match, or +nil+.  The scan pointer is not advanced.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"*s = StringScanner.new('test string')
;TI" p s.match?(/\w+/)   # -> 4
;TI" p s.match?(/\w+/)   # -> 4
;TI"!p s.match?(/\s+/)   # -> nil;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"match?(pattern)
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unscan:ETI"StringScanner#unscan;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"SSet the scan pointer to the previous position.  Only one previous position is ;TI"=remembered, and it changes with each scanning operation.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*s = StringScanner.new('test string')
;TI"&s.scan(/\w+/)        # => "test"
;TI"s.unscan
;TI"$s.scan(/../)         # => "te"
;TI"#s.scan(/\d/)         # => nil
;TI"Us.unscan             # ScanError: unscan failed: previous match record not exist;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"scan_until:ETI"StringScanner#scan_until;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"RScans the string _until_ the +pattern+ is matched.  Returns the substring up ;TI"Oto and including the end of the match, advancing the scan pointer to that ;TI"7location. If there is no match, +nil+ is returned.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"4s = StringScanner.new("Fri Dec 12 1975 14:39")
;TI"/s.scan_until(/1/)        # -> "Fri Dec 1"
;TI".s.pre_match              # -> "Fri Dec "
;TI"&s.scan_until(/XYZ/)      # -> nil;T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"scan_until(pattern)
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"initialize_copy:ETI""StringScanner#initialize_copy;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'Duplicates a StringScanner object.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"dup
clone
;T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"terminate:ETI"StringScanner#terminate;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KSet the scan pointer to the end of the string and clear matching data.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"terminate
clear
;T0[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
restsize:ETI"StringScanner#restsize;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@<tt>s.restsize</tt> is equivalent to <tt>s.rest_size</tt>. ;TI"5This method is obsolete; use #rest_size instead.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"<<:ETI"StringScanner#<<;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Appends +str+ to the string being scanned. ;TI".This method does not affect scan pointer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"4s = StringScanner.new("Fri Dec 12 1975 14:39")
;TI"s.scan(/Fri /)
;TI"s << " +1000 GMT"
;TI"@s.string            # -> "Fri Dec 12 1975 14:39 +1000 GMT"
;TI"#s.scan(/Dec/)       # -> "Dec";T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I"<<(str);T0[I"	(p1);T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"matched:ETI"StringScanner#matched;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%Returns the last matched string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*s = StringScanner.new('test string')
;TI" s.match?(/\w+/)     # -> 4
;TI"$s.matched           # -> "test";T:@format0:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"must_C_version:ETI""StringScanner::must_C_version;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7This method is defined for backward compatibility.;T:
@fileI"ext/strscan/strscan.c;T:0@omit_headings_from_table_of_contents_below0I""StringScanner.must_C_version
;T0[I"();T@FI"StringScanner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
jacobian:ETI"Jacobian#jacobian;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Computes the Jacobian of f at x. fx is the value of f at x.;T:
@fileI".ext/bigdecimal/lib/bigdecimal/jacobian.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(f,fx,x);T@FI"
Jacobian;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
dfdxi:ETI"Jacobian#dfdxi;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Computes the derivative of f[i] at x[i]. ;TI"fx is the value of f at x.;T:
@fileI".ext/bigdecimal/lib/bigdecimal/jacobian.rb;T:0@omit_headings_from_table_of_contents_below000[I"(f,fx,x,i);T@FI"
Jacobian;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"isEqual:ETI"Jacobian#isEqual;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"\Determines the equality of two numbers by comparing to zero, or using the epsilon value;T:
@fileI".ext/bigdecimal/lib/bigdecimal/jacobian.rb;T:0@omit_headings_from_table_of_contents_below000[I"(a,b,zero=0.0,e=1.0e-8);T@FI"
Jacobian;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"
Jacobian:ET@0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I""require 'bigdecimal/jacobian';To:RDoc::Markup::BlankLineo;	;[I"PProvides methods to compute the Jacobian matrix of a set of equations at a ;TI"#point x. In the methods below:;T@o;	;[I"Sf is an Object which is used to compute the Jacobian matrix of the equations. ;TI"+It must provide the following methods:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"f.values(x);T;[o;	;[I"-returns the values of all functions at x;T@o;;[I"f.zero;T;[o;	;[I"returns 0.0;To;;[I"
f.one;T;[o;	;[I"returns 1.0;To;;[I"
f.two;T;[o;	;[I"returns 2.0;To;;[I"
f.ten;T;[o;	;[I"returns 10.0;T@o;;[I"
f.eps;T;[o;	;[I"�returns the convergence criterion (epsilon value) used to determine whether two values are considered equal. If |a-b| < epsilon, the two values are considered equal.;T@o;	;[I"5x is the point at which to compute the Jacobian.;T@o;	;[I"fx is f.values(x).;T:
@fileI".ext/bigdecimal/lib/bigdecimal/jacobian.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"
dfdxi;TI".ext/bigdecimal/lib/bigdecimal/jacobian.rb;T[I"isEqual;T@_[I"
jacobian;T@_[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@J@JcRDoc::TopLevelU:RDoc::TopLevel[	iI"regexp.rdoc:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[�o:RDoc::Markup::Paragraph;[I"JRegular expressions (<i>regexp</i>s) are patterns which describe the ;TI"Pcontents of a string. They're used for testing whether a string contains a ;TI"Lgiven pattern, or extracting the portions that match. They are created ;TI"1with the <tt>/</tt><i>pat</i><tt>/</tt> and ;TI"J<tt>%r{</tt><i>pat</i><tt>}</tt> literals or the <tt>Regexp.new</tt> ;TI"constructor.;To:RDoc::Markup::BlankLineo;	;[I"JA regexp is usually delimited with forward slashes (<tt>/</tt>). For ;TI"
example:;T@o:RDoc::Markup::Verbatim;[I"!/hay/ =~ 'haystack'   #=> 0
;TI"0/y/.match('haystack') #=> #<MatchData "y">
;T:@format0o;	;[I"LIf a string contains the pattern it is said to <i>match</i>. A literal ;TI"string matches itself.;T@o;	;[I"PHere 'haystack' does not contain the pattern 'needle', so it doesn't match:;T@o;;[I"(/needle/.match('haystack') #=> nil
;T;0o;	;[I"?Here 'haystack' contains the pattern 'hay', so it matches:;T@o;;[I"7/hay/.match('haystack')    #=> #<MatchData "hay">
;T;0o;	;[I"NSpecifically, <tt>/st/</tt> requires that the string contains the letter ;TI"D_s_ followed by the letter _t_, so it matches _haystack_, also.;T@S:RDoc::Markup::Heading:
leveli:	textI"!<tt>=~</tt> and Regexp#match;T@o;	;[I"TPattern matching may be achieved by using <tt>=~</tt> operator or Regexp#match ;TI"method.;T@S;
;i;I"<tt>=~</tt> operator;T@o;	;[I"S<tt>=~</tt> is Ruby's basic pattern-matching operator.  When one operand is a ;TI"Qregular expression and the other is a string then the regular expression is ;TI"Tused as a pattern to match against the string.  (This operator is equivalently ;TI"Sdefined by Regexp and String so the order of String and Regexp do not matter. ;TI"SOther classes may have different implementations of <tt>=~</tt>.)  If a match ;TI"Qis found, the operator returns index of first match in string, otherwise it ;TI"returns +nil+.;T@o;;[	I"!/hay/ =~ 'haystack'   #=> 0
;TI"!'haystack' =~ /hay/   #=> 0
;TI"!/a/   =~ 'haystack'   #=> 1
;TI"#/u/   =~ 'haystack'   #=> nil
;T;0o;	;[I"PUsing <tt>=~</tt> operator with a String and Regexp the <tt>$~</tt> global ;TI"Nvariable is set after a successful match.  <tt>$~</tt> holds a MatchData ;TI"<object. Regexp.last_match is equivalent to <tt>$~</tt>.;T@S;
;i;I"Regexp#match method;T@o;	;[I"2The #match method returns a MatchData object:;T@o;;[I"4/st/.match('haystack')   #=> #<MatchData "st">
;T;0S;
;i;I"Metacharacters and Escapes;T@o;	;[
I"EThe following are <i>metacharacters</i> <tt>(</tt>, <tt>)</tt>, ;TI"M<tt>[</tt>, <tt>]</tt>, <tt>{</tt>, <tt>}</tt>, <tt>.</tt>, <tt>?</tt>, ;TI"N<tt>+</tt>, <tt>*</tt>. They have a specific meaning when appearing in a ;TI"Opattern. To match them literally they must be backslash-escaped. To match ;TI"?a backslash literally, backslash-escape it: <tt>\\\\</tt>.;T@o;;[I"K/1 \+ 2 = 3\?/.match('Does 1 + 2 = 3?') #=> #<MatchData "1 + 2 = 3?">
;TI"I/a\\\\b/.match('a\\\\b')                    #=> #<MatchData "a\\b">
;T;0o;	;[I"HPatterns behave like double-quoted strings so can contain the same ;TI"backslash escapes.;T@o;;[I"5/\s\u{6771 4eac 90fd}/.match("Go to 東京都")
;TI"'    #=> #<MatchData " 東京都">
;T;0o;	;[I"GArbitrary Ruby expressions can be embedded into patterns with the ;TI"<tt>#{...}</tt> construct.;T@o;;[I"place = "東京都"
;TI")/#{place}/.match("Go to 東京都")
;TI"&    #=> #<MatchData "東京都">
;T;0S;
;i;I"Character Classes;T@o;	;[	I"MA <i>character class</i> is delimited with square brackets (<tt>[</tt>, ;TI"K<tt>]</tt>) and lists characters that may appear at that point in the ;TI"Pmatch. <tt>/[ab]/</tt> means _a_ or _b_, as opposed to <tt>/ab/</tt> which ;TI"means _a_ followed by _b_.;T@o;;[I"8/W[aeiou]rd/.match("Word") #=> #<MatchData "Word">
;T;0o;	;[I"IWithin a character class the hyphen (<tt>-</tt>) is a metacharacter ;TI"Ndenoting an inclusive range of characters. <tt>[abcd]</tt> is equivalent ;TI"Eto <tt>[a-d]</tt>. A range can be followed by another range, so ;TI"P<tt>[abcdwxyz]</tt> is equivalent to <tt>[a-dw-z]</tt>. The order in which ;TI"Hranges or individual characters appear inside a character class is ;TI"irrelevant.;T@o;;[I"1/[0-9a-f]/.match('9f') #=> #<MatchData "9">
;TI"1/[9f]/.match('9f')     #=> #<MatchData "9">
;T;0o;	;[I"MIf the first character of a character class is a caret (<tt>^</tt>) the ;TI"Fclass is inverted: it matches any character _except_ those named.;T@o;;[I"1/[^a-eg-z]/.match('f') #=> #<MatchData "f">
;T;0o;	;[
I"KA character class may contain another character class. By itself this ;TI"Hisn't useful because <tt>[a-z[0-9]]</tt> describes the same set as ;TI"P<tt>[a-z0-9]</tt>. However, character classes also support the <tt>&&</tt> ;TI"Ooperator which performs set intersection on its arguments. The two can be ;TI"combined as follows:;T@o;;[I"2/[a-w&&[^c-g]z]/ # ([a-w] AND ([^c-g] OR z))
;T;0o;	;[I"This is equivalent to:;T@o;;[I"/[abh-w]/
;T;0o;	;[I"EThe following metacharacters also behave like character classes:;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"3<tt>/./</tt> - Any character except a newline.;To;;0;[o;	;[I"L<tt>/./m</tt> - Any character (the +m+ modifier enables multiline mode);To;;0;[o;	;[I"=<tt>/\w/</tt> - A word character (<tt>[a-zA-Z0-9_]</tt>);To;;0;[o;	;[I"D<tt>/\W/</tt> - A non-word character (<tt>[^a-zA-Z0-9_]</tt>). ;TI"RPlease take a look at {Bug #4044}[https://bugs.ruby-lang.org/issues/4044] if ;TI"7using <tt>/\W/</tt> with the <tt>/i</tt> modifier.;To;;0;[o;	;[I"7<tt>/\d/</tt> - A digit character (<tt>[0-9]</tt>);To;;0;[o;	;[I"<<tt>/\D/</tt> - A non-digit character (<tt>[^0-9]</tt>);To;;0;[o;	;[I"@<tt>/\h/</tt> - A hexdigit character (<tt>[0-9a-fA-F]</tt>);To;;0;[o;	;[I"E<tt>/\H/</tt> - A non-hexdigit character (<tt>[^0-9a-fA-F]</tt>);To;;0;[o;	;[I"E<tt>/\s/</tt> - A whitespace character: <tt>/[ \t\r\n\f\v]/</tt>;To;;0;[o;	;[I"J<tt>/\S/</tt> - A non-whitespace character: <tt>/[^ \t\r\n\f\v]/</tt>;T@o;	;[
I"MPOSIX <i>bracket expressions</i> are also similar to character classes. ;TI"NThey provide a portable alternative to the above, with the added benefit ;TI"Kthat they encompass non-ASCII characters. For instance, <tt>/\d/</tt> ;TI"Qmatches only the ASCII decimal digits (0-9); whereas <tt>/[[:digit:]]/</tt> ;TI"8matches any character in the Unicode _Nd_ category.;T@o;;;;[o;;0;[o;	;[I"><tt>/[[:alnum:]]/</tt> - Alphabetic and numeric character;To;;0;[o;	;[I"2<tt>/[[:alpha:]]/</tt> - Alphabetic character;To;;0;[o;	;[I"*<tt>/[[:blank:]]/</tt> - Space or tab;To;;0;[o;	;[I"/<tt>/[[:cntrl:]]/</tt> - Control character;To;;0;[o;	;[I"#<tt>/[[:digit:]]/</tt> - Digit;To;;0;[o;	;[I"L<tt>/[[:graph:]]/</tt> - Non-blank character (excludes spaces, control ;TI"characters, and similar);To;;0;[o;	;[I"><tt>/[[:lower:]]/</tt> - Lowercase alphabetical character;To;;0;[o;	;[I"N<tt>/[[:print:]]/</tt> - Like [:graph:], but includes the space character;To;;0;[o;	;[I"3<tt>/[[:punct:]]/</tt> - Punctuation character;To;;0;[o;	;[I"Q<tt>/[[:space:]]/</tt> - Whitespace character (<tt>[:blank:]</tt>, newline, ;TI"carriage return, etc.);To;;0;[o;	;[I"4<tt>/[[:upper:]]/</tt> - Uppercase alphabetical;To;;0;[o;	;[I"L<tt>/[[:xdigit:]]/</tt> - Digit allowed in a hexadecimal number (i.e., ;TI"0-9a-fA-F);T@o;	;[I"BRuby also supports the following non-POSIX character classes:;T@o;;;;[o;;0;[o;	;[I"I<tt>/[[:word:]]/</tt> - A character in one of the following Unicode ;TI"4general categories _Letter_, _Mark_, _Number_, ;TI"!<i>Connector_Punctuation</i>;To;;0;[o;	;[I"D<tt>/[[:ascii:]]/</tt> - A character in the ASCII character set;T@o;;[	I"3# U+06F2 is "EXTENDED ARABIC-INDIC DIGIT TWO"
;TI"B/[[:digit:]]/.match("\u06F2")    #=> #<MatchData "\u{06F2}">
;TI"C/[[:upper:]][[:lower:]]/.match("Hello") #=> #<MatchData "He">
;TI"C/[[:xdigit:]][[:xdigit:]]/.match("A6")  #=> #<MatchData "A6">
;T;0S;
;i;I"Repetition;T@o;	;[I"KThe constructs described so far match a single character. They can be ;TI"Pfollowed by a repetition metacharacter to specify how many times they need ;TI"Ato occur. Such metacharacters are called <i>quantifiers</i>.;T@o;;;;[o;;0;[o;	;[I"$<tt>*</tt> - Zero or more times;To;;0;[o;	;[I"#<tt>+</tt> - One or more times;To;;0;[o;	;[I".<tt>?</tt> - Zero or one times (optional);To;;0;[o;	;[I":<tt>{</tt><i>n</i><tt>}</tt> - Exactly <i>n</i> times;To;;0;[o;	;[I";<tt>{</tt><i>n</i><tt>,}</tt> - <i>n</i> or more times;To;;0;[o;	;[I";<tt>{,</tt><i>m</i><tt>}</tt> - <i>m</i> or less times;To;;0;[o;	;[I"L<tt>{</tt><i>n</i><tt>,</tt><i>m</i><tt>}</tt> - At least <i>n</i> and ;TI"at most <i>m</i> times;T@o;	;[I"NAt least one uppercase character ('H'), at least one lowercase character ;TI"-('e'), two 'l' characters, then one 'o':;T@o;;[I"M"Hello".match(/[[:upper:]]+[[:lower:]]+l{2}o/) #=> #<MatchData "Hello">
;T;0o;	;[
I"MRepetition is <i>greedy</i> by default: as many occurrences as possible ;TI"Gare matched while still allowing the overall match to succeed. By ;TI"Hcontrast, <i>lazy</i> matching makes the minimal amount of matches ;TI"Onecessary for overall success. A greedy metacharacter can be made lazy by ;TI""following it with <tt>?</tt>.;T@o;	;[I"QBoth patterns below match the string. The first uses a greedy quantifier so ;TI"O'.+' matches '<a><b>'; the second uses a lazy quantifier so '.+?' matches ;TI"'<a>':;T@o;;[I"7/<.+>/.match("<a><b>")  #=> #<MatchData "<a><b>">
;TI"4/<.+?>/.match("<a><b>") #=> #<MatchData "<a>">
;T;0o;	;[	I"NA quantifier followed by <tt>+</tt> matches <i>possessively</i>: once it ;TI"Mhas matched it does not backtrack. They behave like greedy quantifiers, ;TI"Jbut having matched they refuse to "give up" their match even if this ;TI"#jeopardises the overall match.;T@S;
;i;I"Capturing;T@o;	;[
I"LParentheses can be used for <i>capturing</i>. The text enclosed by the ;TI"P<i>n</i><sup>th</sup> group of parentheses can be subsequently referred to ;TI"Bwith <i>n</i>. Within a pattern use the <i>backreference</i> ;TI"-<tt>\n</tt>; outside of the pattern use ;TI"+<tt>MatchData[</tt><i>n</i><tt>]</tt>.;T@o;	;[I"P'at' is captured by the first group of parentheses, then referred to later ;TI"with <tt>\1</tt>:;T@o;;[I"</[csh](..) [csh]\1 in/.match("The cat sat in the hat")
;TI".    #=> #<MatchData "cat sat in" 1:"at">
;T;0o;	;[I"KRegexp#match returns a MatchData object which makes the captured text ;TI"#available with its #[] method:;T@o;;[I"H/[csh](..) [csh]\1 in/.match("The cat sat in the hat")[1] #=> 'at'
;T;0o;	;[I"ECapture groups can be referred to by name when defined with the ;TI"N<tt>(?<</tt><i>name</i><tt>>)</tt> or <tt>(?'</tt><i>name</i><tt>')</tt> ;TI"constructs.;T@o;;[I"7/\$(?<dollars>\d+)\.(?<cents>\d+)/.match("$3.67")
;TI"9    #=> #<MatchData "$3.67" dollars:"3" cents:"67">
;TI"I/\$(?<dollars>\d+)\.(?<cents>\d+)/.match("$3.67")[:dollars] #=> "3"
;T;0o;	;[I"PNamed groups can be backreferenced with <tt>\k<</tt><i>name</i><tt>></tt>, ;TI"$where _name_ is the group name.;T@o;;[I">/(?<vowel>[aeiou]).\k<vowel>.\k<vowel>/.match('ototomy')
;TI",    #=> #<MatchData "ototo" vowel:"o">
;T;0o;	;[I"B*Note*: A regexp can't use named backreferences and numbered ;TI"#backreferences simultaneously.;T@o;	;[I"OWhen named capture groups are used with a literal regexp on the left-hand ;TI"Nside of an expression and the <tt>=~</tt> operator, the captured text is ;TI"?also assigned to local variables with corresponding names.;T@o;;[I"9/\$(?<dollars>\d+)\.(?<cents>\d+)/ =~ "$3.67" #=> 0
;TI"dollars #=> "3"
;T;0S;
;i;I"
Grouping;T@o;	;[I"OParentheses also <i>group</i> the terms they enclose, allowing them to be ;TI"+quantified as one <i>atomic</i> whole.;T@o;	;[I"EThe pattern below matches a vowel followed by 2 word characters:;T@o;;[I"K/[aeiou]\w{2}/.match("Caenorhabditis elegans") #=> #<MatchData "aen">
;T;0o;	;[I"QWhereas the following pattern matches a vowel followed by a word character, ;TI"5twice, i.e. <tt>[aeiou]\w[aeiou]\w</tt>: 'enor'.;T@o;;[I"6/([aeiou]\w){2}/.match("Caenorhabditis elegans")
;TI"(    #=> #<MatchData "enor" 1:"or">
;T;0o;	;[	I"GThe <tt>(?:</tt>...<tt>)</tt> construct provides grouping without ;TI"Pcapturing. That is, it combines the terms it contains into an atomic whole ;TI"Owithout creating a backreference. This benefits performance at the slight ;TI"expense of readability.;T@o;	;[I"QThe first group of parentheses captures 'n' and the second 'ti'. The second ;TI"Cgroup is referred to later with the backreference <tt>\2</tt>:;T@o;;[I"2/I(n)ves(ti)ga\2ons/.match("Investigations")
;TI"8    #=> #<MatchData "Investigations" 1:"n" 2:"ti">
;T;0o;	;[I"OThe first group of parentheses is now made non-capturing with '?:', so it ;TI"Hstill matches 'n', but doesn't create the backreference. Thus, the ;TI"2backreference <tt>\1</tt> now refers to 'ti'.;T@o;;[I"4/I(?:n)ves(ti)ga\1ons/.match("Investigations")
;TI"2    #=> #<MatchData "Investigations" 1:"ti">
;T;0S;
;i;I"Atomic Grouping;T@o;	;[
I"-Grouping can be made <i>atomic</i> with ;TI"P<tt>(?></tt><i>pat</i><tt>)</tt>. This causes the subexpression <i>pat</i> ;TI"Nto be matched independently of the rest of the expression such that what ;TI"Pit matches becomes fixed for the remainder of the match, unless the entire ;TI"Isubexpression must be abandoned and subsequently revisited. In this ;TI"Lway <i>pat</i> is treated as a non-divisible whole. Atomic grouping is ;TI"Ftypically used to optimise patterns so as to prevent the regular ;TI"4expression engine from backtracking needlessly.;T@o;	;[	I"TThe <tt>"</tt> in the pattern below matches the first character of the string, ;TI"Tthen <tt>.*</tt> matches <i>Quote"</i>. This causes the overall match to fail, ;TI"Nso the text matched by <tt>.*</tt> is backtracked by one position, which ;TI"Kleaves the final character of the string available to match <tt>"</tt>;T@o;;[I">/".*"/.match('"Quote"')     #=> #<MatchData "\"Quote\"">
;T;0o;	;[I"RIf <tt>.*</tt> is grouped atomically, it refuses to backtrack <i>Quote"</i>, ;TI"8even though this means that the overall match fails;T@o;;[I")/"(?>.*)"/.match('"Quote"') #=> nil
;T;0S;
;i;I"Subexpression Calls;T@o;	;[	I"GThe <tt>\g<</tt><i>name</i><tt>></tt> syntax matches the previous ;TI"Msubexpression named _name_, which can be a group name or number, again. ;TI"NThis differs from backreferences in that it re-executes the group rather ;TI"2than simply trying to re-match the same text.;T@o;	;[I"TThis pattern matches a <i>(</i> character and assigns it to the <tt>paren</tt> ;TI"Rgroup, tries to call that the <tt>paren</tt> sub-expression again but fails, ;TI"%then matches a literal <i>)</i>:;T@o;;[I"-/\A(?<paren>\(\g<paren>*\))*\z/ =~ '()'
;TI"
;TI"5/\A(?<paren>\(\g<paren>*\))*\z/ =~ '(())' #=> 0
;TI"
# ^1
;TI"#      ^2
;TI"#           ^3
;TI"#                 ^4
;TI"#      ^5
;TI"#           ^6
;TI"#                      ^7
;TI" #                       ^8
;TI" #                       ^9
;TI"%#                           ^10
;T;0o;;:NUMBER;[o;;0;[o;	;[I"CMatches at the beginning of the string, i.e. before the first ;TI"character.;To;;0;[o;	;[I"7Enters a named capture group called <tt>paren</tt>;To;;0;[o;	;[I"BMatches a literal <i>(</i>, the first character in the string;To;;0;[o;	;[I"ECalls the <tt>paren</tt> group again, i.e. recurses back to the ;TI"second step;To;;0;[o;	;[I"'Re-enters the <tt>paren</tt> group;To;;0;[o;	;[I"=Matches a literal <i>(</i>, the second character in the ;TI"string;To;;0;[o;	;[I"?Try to call <tt>paren</tt> a third time, but fail because ;TI"7doing so would prevent an overall successful match;To;;0;[o;	;[I"BMatch a literal <i>)</i>, the third character in the string. ;TI"/Marks the end of the second recursive call;To;;0;[o;	;[I"AMatch a literal <i>)</i>, the fourth character in the string;To;;0;[o;	;[I" Match the end of the string;T@S;
;i;I"Alternation;T@o;	;[I"OThe vertical bar metacharacter (<tt>|</tt>) combines two expressions into ;TI"Pa single one that matches either of the expressions. Each expression is an ;TI"<i>alternative</i>.;T@o;;[I"G/\w(and|or)\w/.match("Feliformia") #=> #<MatchData "form" 1:"or">
;TI"I/\w(and|or)\w/.match("furandi")    #=> #<MatchData "randi" 1:"and">
;TI"2/\w(and|or)\w/.match("dissemblance") #=> nil
;T;0S;
;i;I"Character Properties;T@o;	;[I"MThe <tt>\p{}</tt> construct matches characters with the named property, ;TI"%much like POSIX bracket classes.;T@o;;;;[o;;0;[o;	;[I"<<tt>/\p{Alnum}/</tt> - Alphabetic and numeric character;To;;0;[o;	;[I"0<tt>/\p{Alpha}/</tt> - Alphabetic character;To;;0;[o;	;[I"(<tt>/\p{Blank}/</tt> - Space or tab;To;;0;[o;	;[I"-<tt>/\p{Cntrl}/</tt> - Control character;To;;0;[o;	;[I"!<tt>/\p{Digit}/</tt> - Digit;To;;0;[o;	;[I"J<tt>/\p{Graph}/</tt> - Non-blank character (excludes spaces, control ;TI"characters, and similar);To;;0;[o;	;[I"<<tt>/\p{Lower}/</tt> - Lowercase alphabetical character;To;;0;[o;	;[I"U<tt>/\p{Print}/</tt> - Like <tt>\p{Graph}</tt>, but includes the space character;To;;0;[o;	;[I"1<tt>/\p{Punct}/</tt> - Punctuation character;To;;0;[o;	;[I"O<tt>/\p{Space}/</tt> - Whitespace character (<tt>[:blank:]</tt>, newline, ;TI"carriage return, etc.);To;;0;[o;	;[I"2<tt>/\p{Upper}/</tt> - Uppercase alphabetical;To;;0;[o;	;[I"T<tt>/\p{XDigit}/</tt> - Digit allowed in a hexadecimal number (i.e., 0-9a-fA-F);To;;0;[o;	;[I"L<tt>/\p{Word}/</tt> - A member of one of the following Unicode general ;TI"9category <i>Letter</i>, <i>Mark</i>, <i>Number</i>, ;TI""<i>Connector\_Punctuation</i>;To;;0;[o;	;[I"B<tt>/\p{ASCII}/</tt> - A character in the ASCII character set;To;;0;[o;	;[I"F<tt>/\p{Any}/</tt> - Any Unicode character (including unassigned ;TI"characters);To;;0;[o;	;[I"4<tt>/\p{Assigned}/</tt> - An assigned character;T@o;	;[I"MA Unicode character's <i>General Category</i> value can also be matched ;TI"Lwith <tt>\p{</tt><i>Ab</i><tt>}</tt> where <i>Ab</i> is the category's ;TI"%abbreviation as described below:;T@o;;;;[,o;;0;[o;	;[I" <tt>/\p{L}/</tt> - 'Letter';To;;0;[o;	;[I",<tt>/\p{Ll}/</tt> - 'Letter: Lowercase';To;;0;[o;	;[I"'<tt>/\p{Lm}/</tt> - 'Letter: Mark';To;;0;[o;	;[I"(<tt>/\p{Lo}/</tt> - 'Letter: Other';To;;0;[o;	;[I",<tt>/\p{Lt}/</tt> - 'Letter: Titlecase';To;;0;[o;	;[I"+<tt>/\p{Lu}/</tt> - 'Letter: Uppercase;To;;0;[o;	;[I"(<tt>/\p{Lo}/</tt> - 'Letter: Other';To;;0;[o;	;[I"<tt>/\p{M}/</tt> - 'Mark';To;;0;[o;	;[I"+<tt>/\p{Mn}/</tt> - 'Mark: Nonspacing';To;;0;[o;	;[I"2<tt>/\p{Mc}/</tt> - 'Mark: Spacing Combining';To;;0;[o;	;[I"*<tt>/\p{Me}/</tt> - 'Mark: Enclosing';To;;0;[o;	;[I" <tt>/\p{N}/</tt> - 'Number';To;;0;[o;	;[I"0<tt>/\p{Nd}/</tt> - 'Number: Decimal Digit';To;;0;[o;	;[I")<tt>/\p{Nl}/</tt> - 'Number: Letter';To;;0;[o;	;[I"(<tt>/\p{No}/</tt> - 'Number: Other';To;;0;[o;	;[I"%<tt>/\p{P}/</tt> - 'Punctuation';To;;0;[o;	;[I"1<tt>/\p{Pc}/</tt> - 'Punctuation: Connector';To;;0;[o;	;[I",<tt>/\p{Pd}/</tt> - 'Punctuation: Dash';To;;0;[o;	;[I",<tt>/\p{Ps}/</tt> - 'Punctuation: Open';To;;0;[o;	;[I"-<tt>/\p{Pe}/</tt> - 'Punctuation: Close';To;;0;[o;	;[I"5<tt>/\p{Pi}/</tt> - 'Punctuation: Initial Quote';To;;0;[o;	;[I"3<tt>/\p{Pf}/</tt> - 'Punctuation: Final Quote';To;;0;[o;	;[I"-<tt>/\p{Po}/</tt> - 'Punctuation: Other';To;;0;[o;	;[I" <tt>/\p{S}/</tt> - 'Symbol';To;;0;[o;	;[I"'<tt>/\p{Sm}/</tt> - 'Symbol: Math';To;;0;[o;	;[I"+<tt>/\p{Sc}/</tt> - 'Symbol: Currency';To;;0;[o;	;[I"+<tt>/\p{Sc}/</tt> - 'Symbol: Currency';To;;0;[o;	;[I"+<tt>/\p{Sk}/</tt> - 'Symbol: Modifier';To;;0;[o;	;[I"(<tt>/\p{So}/</tt> - 'Symbol: Other';To;;0;[o;	;[I"#<tt>/\p{Z}/</tt> - 'Separator';To;;0;[o;	;[I"+<tt>/\p{Zs}/</tt> - 'Separator: Space';To;;0;[o;	;[I"*<tt>/\p{Zl}/</tt> - 'Separator: Line';To;;0;[o;	;[I"/<tt>/\p{Zp}/</tt> - 'Separator: Paragraph';To;;0;[o;	;[I"<tt>/\p{C}/</tt> - 'Other';To;;0;[o;	;[I")<tt>/\p{Cc}/</tt> - 'Other: Control';To;;0;[o;	;[I"(<tt>/\p{Cf}/</tt> - 'Other: Format';To;;0;[o;	;[I".<tt>/\p{Cn}/</tt> - 'Other: Not Assigned';To;;0;[o;	;[I"-<tt>/\p{Co}/</tt> - 'Other: Private Use';To;;0;[o;	;[I"+<tt>/\p{Cs}/</tt> - 'Other: Surrogate';T@o;	;[I"LLastly, <tt>\p{}</tt> matches a character's Unicode <i>script</i>. The ;TI"Ffollowing scripts are supported: <i>Arabic</i>, <i>Armenian</i>, ;TI"G<i>Balinese</i>, <i>Bengali</i>, <i>Bopomofo</i>, <i>Braille</i>, ;TI"O<i>Buginese</i>, <i>Buhid</i>, <i>Canadian_Aboriginal</i>, <i>Carian</i>, ;TI"A<i>Cham</i>, <i>Cherokee</i>, <i>Common</i>, <i>Coptic</i>, ;TI"H<i>Cuneiform</i>, <i>Cypriot</i>, <i>Cyrillic</i>, <i>Deseret</i>, ;TI"M<i>Devanagari</i>, <i>Ethiopic</i>, <i>Georgian</i>, <i>Glagolitic</i>, ;TI"P<i>Gothic</i>, <i>Greek</i>, <i>Gujarati</i>, <i>Gurmukhi</i>, <i>Han</i>, ;TI"D<i>Hangul</i>, <i>Hanunoo</i>, <i>Hebrew</i>, <i>Hiragana</i>, ;TI"I<i>Inherited</i>, <i>Kannada</i>, <i>Katakana</i>, <i>Kayah_Li</i>, ;TI"O<i>Kharoshthi</i>, <i>Khmer</i>, <i>Lao</i>, <i>Latin</i>, <i>Lepcha</i>, ;TI"B<i>Limbu</i>, <i>Linear_B</i>, <i>Lycian</i>, <i>Lydian</i>, ;TI"M<i>Malayalam</i>, <i>Mongolian</i>, <i>Myanmar</i>, <i>New_Tai_Lue</i>, ;TI"C<i>Nko</i>, <i>Ogham</i>, <i>Ol_Chiki</i>, <i>Old_Italic</i>, ;TI"H<i>Old_Persian</i>, <i>Oriya</i>, <i>Osmanya</i>, <i>Phags_Pa</i>, ;TI"H<i>Phoenician</i>, <i>Rejang</i>, <i>Runic</i>, <i>Saurashtra</i>, ;TI"L<i>Shavian</i>, <i>Sinhala</i>, <i>Sundanese</i>, <i>Syloti_Nagri</i>, ;TI"D<i>Syriac</i>, <i>Tagalog</i>, <i>Tagbanwa</i>, <i>Tai_Le</i>, ;TI"N<i>Tamil</i>, <i>Telugu</i>, <i>Thaana</i>, <i>Thai</i>, <i>Tibetan</i>, ;TI"A<i>Tifinagh</i>, <i>Ugaritic</i>, <i>Vai</i>, and <i>Yi</i>.;T@o;	;[I"SUnicode codepoint U+06E9 is named "ARABIC PLACE OF SAJDAH" and belongs to the ;TI"Arabic script:;T@o;;[I"</\p{Arabic}/.match("\u06E9") #=> #<MatchData "\u06E9">
;T;0o;	;[I"MAll character properties can be inverted by prefixing their name with a ;TI"caret (<tt>^</tt>).;T@o;	;[I"OLetter 'A' is not in the Unicode Ll (Letter; Lowercase) category, so this ;TI"match succeeds:;T@o;;[I"//\p{^Ll}/.match("A") #=> #<MatchData "A">
;T;0S;
;i;I"Anchors;T@o;	;[I"KAnchors are metacharacter that match the zero-width positions between ;TI"Ccharacters, <i>anchoring</i> the match to a specific position.;T@o;;;;[o;;0;[o;	;[I"+<tt>^</tt> - Matches beginning of line;To;;0;[o;	;[I"%<tt>$</tt> - Matches end of line;To;;0;[o;	;[I"/<tt>\A</tt> - Matches beginning of string.;To;;0;[o;	;[I"I<tt>\Z</tt> - Matches end of string. If string ends with a newline, ;TI"#it matches just before newline;To;;0;[o;	;[I"(<tt>\z</tt> - Matches end of string;To;;0;[
o;	;[I"3<tt>\G</tt> - Matches first matching position:;T@o;	;[I"bIn methods like <tt>String#gsub</tt> and <tt>String#scan</tt>, it changes on each iteration. ;TI"}It initially matches the beginning of subject, and in each following iteration it matches where the last match finished.;T@o;;[I"3"    a b c".gsub(/ /, '_')    #=> "____a_b_c"
;TI"3"    a b c".gsub(/\G /, '_')  #=> "____a b c"
;T;0o;	;[I"�In methods like <tt>Regexp#match</tt> and <tt>String#match</tt> that take an (optional) offset, it matches where the search begins.;T@o;;[I":"hello, world".match(/,/, 3)    #=> #<MatchData ",">
;TI"-"hello, world".match(/\G,/, 3)  #=> nil
;T;0o;;0;[o;	;[I"B<tt>\b</tt> - Matches word boundaries when outside brackets; ;TI"*backspace (0x08) when inside brackets;To;;0;[o;	;[I".<tt>\B</tt> - Matches non-word boundaries;To;;0;[o;	;[I"M<tt>(?=</tt><i>pat</i><tt>)</tt> - <i>Positive lookahead</i> assertion: ;TI"Iensures that the following characters match <i>pat</i>, but doesn't ;TI"1include those characters in the matched text;To;;0;[o;	;[I"M<tt>(?!</tt><i>pat</i><tt>)</tt> - <i>Negative lookahead</i> assertion: ;TI"Hensures that the following characters do not match <i>pat</i>, but ;TI"9doesn't include those characters in the matched text;To;;0;[o;	;[I"D<tt>(?<=</tt><i>pat</i><tt>)</tt> - <i>Positive lookbehind</i> ;TI"Lassertion: ensures that the preceding characters match <i>pat</i>, but ;TI"9doesn't include those characters in the matched text;To;;0;[o;	;[I"D<tt>(?<!</tt><i>pat</i><tt>)</tt> - <i>Negative lookbehind</i> ;TI"Cassertion: ensures that the preceding characters do not match ;TI"I<i>pat</i>, but doesn't include those characters in the matched text;T@o;	;[I"IIf a pattern isn't anchored it can begin at any point in the string:;T@o;;[I"8/real/.match("surrealist") #=> #<MatchData "real">
;T;0o;	;[I"TAnchoring the pattern to the beginning of the string forces the match to start ;TI"Rthere. 'real' doesn't occur at the beginning of the string, so now the match ;TI"fails:;T@o;;[I"*/\Areal/.match("surrealist") #=> nil
;T;0o;	;[I"QThe match below fails because although 'Demand' contains 'and', the pattern ;TI"'does not occur at a word boundary.;T@o;;[I"/\band/.match("Demand")
;T;0o;	;[I"LWhereas in the following example 'and' has been anchored to a non-word ;TI"Pboundary so instead of matching the first 'and' it matches from the fourth ;TI" letter of 'demand' instead:;T@o;;[I"M/\Band.+/.match("Supply and demand curve") #=> #<MatchData "and curve">
;T;0o;	;[I"PThe pattern below uses positive lookahead and positive lookbehind to match ;TI"Ltext appearing in <b></b> tags without including the tags in the match:;T@o;;[I"E/(?<=<b>)\w+(?=<\/b>)/.match("Fortune favours the <b>bold</b>")
;TI"!    #=> #<MatchData "bold">
;T;0S;
;i;I"Options;T@o;	;[I"QThe end delimiter for a regexp can be followed by one or more single-letter ;TI"5options which control how the pattern can match.;T@o;;;;[	o;;0;[o;	;[I""<tt>/pat/i</tt> - Ignore case;To;;0;[o;	;[I"K<tt>/pat/m</tt> - Treat a newline as a character matched by <tt>.</tt>;To;;0;[o;	;[I"D<tt>/pat/x</tt> - Ignore whitespace and comments in the pattern;To;;0;[o;	;[I"C<tt>/pat/o</tt> - Perform <tt>#{}</tt> interpolation only once;T@o;	;[
I"G<tt>i</tt>, <tt>m</tt>, and <tt>x</tt> can also be applied on the ;TI""subexpression level with the ;TI"I<tt>(?</tt><i>on</i><tt>-</tt><i>off</i><tt>)</tt> construct, which ;TI"Henables options <i>on</i>, and disables options <i>off</i> for the ;TI",expression enclosed by the parentheses.;T@o;;[I"4/a(?i:b)c/.match('aBc') #=> #<MatchData "aBc">
;TI"4/a(?i:b)c/.match('abc') #=> #<MatchData "abc">
;T;0o;	;[I"7Options may also be used with <tt>Regexp.new</tt>:;T@o;;[	I"JRegexp.new("abc", Regexp::IGNORECASE)                     #=> /abc/i
;TI"JRegexp.new("abc", Regexp::MULTILINE)                      #=> /abc/m
;TI"TRegexp.new("abc # Comment", Regexp::EXTENDED)             #=> /abc # Comment/x
;TI"KRegexp.new("abc", Regexp::IGNORECASE | Regexp::MULTILINE) #=> /abc/mi
;T;0S;
;i;I"#Free-Spacing Mode and Comments;T@o;	;[
I"KAs mentioned above, the <tt>x</tt> option enables <i>free-spacing</i> ;TI"Fmode. Literal white space inside the pattern is ignored, and the ;TI"Moctothorpe (<tt>#</tt>) character introduces a comment until the end of ;TI"Nthe line. This allows the components of the pattern to be organized in a ;TI"'potentially more readable fashion.;T@o;	;[I"HA contrived pattern to match a number with optional decimal places:;T@o;;[I"float_pat = /\A
;TI"B    [[:digit:]]+ # 1 or more digits before the decimal point
;TI"&    (\.          # Decimal point
;TI"E        [[:digit:]]+ # 1 or more digits after the decimal point
;TI"B    )? # The decimal point and following digits are optional
;TI"
\Z/x
;TI"=float_pat.match('3.14') #=> #<MatchData "3.14" 1:".14">
;T;0o;	;[I">There are a number of strategies for matching whitespace:;T@o;;;;[o;;0;[o;	;[I"=Use a pattern such as <tt>\s</tt> or <tt>\p{Space}</tt>.;To;;0;[o;	;[I"VUse escaped whitespace such as <tt>\ </tt>, i.e. a space preceded by a backslash.;To;;0;[o;	;[I"0Use a character class such as <tt>[ ]</tt>.;T@o;	;[I"CComments can be included in a non-<tt>x</tt> pattern with the ;TI"M<tt>(?#</tt><i>comment</i><tt>)</tt> construct, where <i>comment</i> is ;TI"1arbitrary text ignored by the regexp engine.;T@o;	;[I"EComments in regexp literals cannot include unescaped terminator ;TI"characters.;T@S;
;i;I"
Encoding;T@o;	;[I"MRegular expressions are assumed to use the source encoding. This can be ;TI"4overridden with one of the following modifiers.;T@o;;;;[	o;;0;[o;	;[I",<tt>/</tt><i>pat</i><tt>/u</tt> - UTF-8;To;;0;[o;	;[I"-<tt>/</tt><i>pat</i><tt>/e</tt> - EUC-JP;To;;0;[o;	;[I"2<tt>/</tt><i>pat</i><tt>/s</tt> - Windows-31J;To;;0;[o;	;[I"1<tt>/</tt><i>pat</i><tt>/n</tt> - ASCII-8BIT;T@o;	;[I"HA regexp can be matched against a string when they either share an ;TI"Pencoding, or the regexp's encoding is _US-ASCII_ and the string's encoding ;TI"is ASCII-compatible.;T@o;	;[I"?If a match between incompatible encodings is attempted an ;TI"?<tt>Encoding::CompatibilityError</tt> exception is raised.;T@o;	;[
I"PThe <tt>Regexp#fixed_encoding?</tt> predicate indicates whether the regexp ;TI"Ihas a <i>fixed</i> encoding, that is one incompatible with ASCII. A ;TI"<regexp's encoding can be explicitly fixed by supplying ;TI"><tt>Regexp::FIXEDENCODING</tt> as the second argument of ;TI"<tt>Regexp.new</tt>:;T@o;;[	I"Lr = Regexp.new("a".force_encoding("iso-8859-1"),Regexp::FIXEDENCODING)
;TI"r =~ "a\u3042"
;TI"R   # raises Encoding::CompatibilityError: incompatible encoding regexp match
;TI"8   #         (ISO-8859-1 regexp with UTF-8 string)
;T;0S;
;i;I"Special global variables;T@o;	;[I"2Pattern matching sets some global variables :;To;;;;[o;;0;[o;	;[I"4<tt>$~</tt> is equivalent to Regexp.last_match;;To;;0;[o;	;[I"4<tt>$&</tt> contains the complete matched text;;To;;0;[o;	;[I".<tt>$`</tt> contains string before match;;To;;0;[o;	;[I"-<tt>$'</tt> contains string after match;;To;;0;[o;	;[I"Q<tt>$1</tt>, <tt>$2</tt> and so on contain text matching first, second, etc ;TI"capture group;;To;;0;[o;	;[I"-<tt>$+</tt> contains last capture group.;T@o;	;[I"
Example:;T@o;;[I"Pm = /s(\w{2}).*(c)/.match('haystack') #=> #<MatchData "stac" 1:"ta" 2:"c">
;TI"P$~                                    #=> #<MatchData "stac" 1:"ta" 2:"c">
;TI"PRegexp.last_match                     #=> #<MatchData "stac" 1:"ta" 2:"c">
;TI"
;TI"$&      #=> "stac"
;TI"        # same as m[0]
;TI"$`      #=> "hay"
;TI"#        # same as m.pre_match
;TI"$'      #=> "k"
;TI"$        # same as m.post_match
;TI"$1      #=> "ta"
;TI"        # same as m[1]
;TI"$2      #=> "c"
;TI"        # same as m[2]
;TI"$3      #=> nil
;TI")        # no third group in pattern
;TI"$+      #=> "c"
;TI"        # same as m[-1]
;T;0o;	;[I"HThese global variables are thread-local and method-local variables.;T@S;
;i;I"Performance;T@o;	;[I"OCertain pathological combinations of constructs can lead to abysmally bad ;TI"performance.;T@o;	;[I"GConsider a string of 25 <i>a</i>s, a <i>d</i>, 4 <i>a</i>s, and a ;TI"<i>c</i>.;T@o;;[I"(s = 'a' * 25 + 'd' + 'a' * 4 + 'c'
;TI"+#=> "aaaaaaaaaaaaaaaaaaaaaaaaadaaaac"
;T;0o;	;[I"@The following patterns match instantly as you would expect:;T@o;;[I"/(b|a)/ =~ s #=> 0
;TI"/(b|a+)/ =~ s #=> 0
;TI"/(b|a+)*/ =~ s #=> 0
;T;0o;	;[I"=However, the following pattern takes appreciably longer:;T@o;;[I"/(b|a+)*c/ =~ s #=> 26
;T;0o;	;[
I"IThis happens because an atom in the regexp is quantified by both an ;TI"Fimmediate <tt>+</tt> and an enclosing <tt>*</tt> with nothing to ;TI"Hdifferentiate which is in control of any particular character. The ;TI"Mnondeterminism that results produces super-linear performance. (Consult ;TI"@<i>Mastering Regular Expressions</i> (3rd ed.), pp 222, by ;TI"L<i>Jeffery Friedl</i>, for an in-depth analysis). This particular case ;TI"Lcan be fixed by use of atomic grouping, which prevents the unnecessary ;TI"backtracking:;T@o;;[	I"A(start = Time.now) && /(b|a+)*c/ =~ s && (Time.now - start)
;TI"   #=> 24.702736882
;TI"C(start = Time.now) && /(?>b|a+)*c/ =~ s && (Time.now - start)
;TI"   #=> 0.000166571
;T;0o;	;[I"FA similar case is typified by the following example, which takes ;TI"0approximately 60 seconds to execute for me:;T@o;	;[I"OMatch a string of 29 <i>a</i>s against a pattern of 29 optional <i>a</i>s ;TI"(followed by 29 mandatory <i>a</i>s:;T@o;;[I"2Regexp.new('a?' * 29 + 'a' * 29) =~ 'a' * 29
;T;0o;	;[
I"JThe 29 optional <i>a</i>s match the string, but this prevents the 29 ;TI"Mmandatory <i>a</i>s that follow from matching. Ruby must then backtrack ;TI"Krepeatedly so as to satisfy as many of the optional matches as it can ;TI"Owhile still matching the mandatory 29. It is plain to us that none of the ;TI"Koptional matches can succeed, but this fact unfortunately eludes Ruby.;T@o;	;[	I"RThe best way to improve performance is to significantly reduce the amount of ;TI"Nbacktracking needed.  For this case, instead of individually matching 29 ;TI"Roptional <i>a</i>s, a range of optional <i>a</i>s can be matched all at once ;TI"with <i>a{0,29}</i>:;T@o;;[I"1Regexp.new('a{0,29}' + 'a' * 29) =~ 'a' * 29;T;0:
@file@:0@omit_headings_from_table_of_contents_below0U:RDoc::NormalModule[iI"	Test:ET@0o:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/rdoc/test_case.rb;T@'cRDoc::TopLevelU:RDoc::AnyMethod[iI"inspect:ETI"WIN32OLE_RECORD#inspect;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"HReturns the OLE struct name and member name and the value of member;To:RDoc::Markup::BlankLineo;
;	[I"@If COM server in VB.NET ComServer project is the following:;T@o:RDoc::Markup::Verbatim;	[I",Imports System.Runtime.InteropServices
;TI"Public Class ComClass
;TI"+    <MarshalAs(UnmanagedType.BStr)> _
;TI"     Public title As String
;TI"     Public cost As Integer
;TI"End Class
;T:@format0o;
;	[I"	then;T@o;;	[I"0srver = WIN32OLE.new('ComServer.ComClass')
;TI"/obj = WIN32OLE_RECORD.new('Book', server)
;TI"Qobj.inspect # => <WIN32OLE_RECORD(ComClass) {"title" => nil, "cost" => nil}>;T;
0:
@fileI"#ext/win32ole/win32ole_record.c;T:0@omit_headings_from_table_of_contents_below0I"'WIN32OLE_RECORD#inspect -> String
;T0[I"();T@"FI"WIN32OLE_RECORD;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"WIN32OLE_RECORD::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"OReturns WIN32OLE_RECORD object. The first argument is struct name (String ;TI"or Symbol). ;TI"TThe second parameter obj should be WIN32OLE object or WIN32OLE_TYPELIB object. ;TI"@If COM server in VB.NET ComServer project is the following:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I",Imports System.Runtime.InteropServices
;TI"Public Class ComClass
;TI"    Public Structure Book
;TI"/        <MarshalAs(UnmanagedType.BStr)> _
;TI"$        Public title As String
;TI"$        Public cost As Integer
;TI"    End Structure
;TI"End Class
;T:@format0o;
;	[I"Athen, you can create WIN32OLE_RECORD object is as following:;T@o;;	[
I"require 'win32ole'
;TI".obj = WIN32OLE.new('ComServer.ComClass')
;TI"Jbook1 = WIN32OLE_RECORD.new('Book', obj) # => WIN32OLE_RECORD object
;TI"tlib = obj.ole_typelib
;TI"Jbook2 = WIN32OLE_RECORD.new('Book', tlib) # => WIN32OLE_RECORD object;T;
0:
@fileI"#ext/win32ole/win32ole_record.c;T:0@omit_headings_from_table_of_contents_below0I"BWIN32OLE_RECORD.new(typename, obj) -> WIN32OLE_RECORD object
;T0[I"
(p1, p2);T@&FI"WIN32OLE_RECORD;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ole_instance_variable_get:ETI".WIN32OLE_RECORD#ole_instance_variable_get;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"IReturns value specified by the member name of VT_RECORD OLE object. ;TI"FIf the member name is not correct, KeyError exception is raised. ;TI"KIf you can't access member variable of VT_RECORD OLE object directly, ;TI"use this method.;To:RDoc::Markup::BlankLineo;
;	[I"@If COM server in VB.NET ComServer project is the following:;T@o:RDoc::Markup::Verbatim;	[I",Imports System.Runtime.InteropServices
;TI"Public Class ComClass
;TI"$    Public Structure ComObject
;TI"(        Public object_id As Ineger
;TI"    End Structure
;TI"End Class
;T:@format0o;
;	[I"/and Ruby Object class has title attribute:;T@o;
;	[I"Ithen accessing object_id of ComObject from Ruby is as the following:;T@o;;	[	I"0srver = WIN32OLE.new('ComServer.ComClass')
;TI"4obj = WIN32OLE_RECORD.new('ComObject', server)
;TI"3# obj.object_id returns Ruby Object#object_id
;TI"7obj.ole_instance_variable_get(:object_id) # => nil;T;
0:
@fileI"#ext/win32ole/win32ole_record.c;T:0@omit_headings_from_table_of_contents_below0I"5WIN32OLE_RECORD#ole_instance_variable_get(name)
;T0[I"	(p1);T@)FI"WIN32OLE_RECORD;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"WIN32OLE_RECORD:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"L<code>WIN32OLE_RECORD</code> objects represents VT_RECORD OLE variant. ;TI"MWin32OLE returns WIN32OLE_RECORD object if the result value of invoking ;TI"OLE methods.;To:RDoc::Markup::BlankLineo;	;[I"@If COM server in VB.NET ComServer project is the following:;T@o:RDoc::Markup::Verbatim;[I",Imports System.Runtime.InteropServices
;TI"Public Class ComClass
;TI"    Public Structure Book
;TI"/        <MarshalAs(UnmanagedType.BStr)> _
;TI"$        Public title As String
;TI"$        Public cost As Integer
;TI"    End Structure
;TI"+    Public Function getBook() As Book
;TI""        Dim book As New Book
;TI"*        book.title = "The Ruby Book"
;TI"        book.cost = 20
;TI"        Return book
;TI"    End Function
;TI"End Class
;T:@format0o;	;[I"Dthen, you can retrieve getBook return value from the following ;TI"Ruby script:;T@o;;[I"require 'win32ole'
;TI".obj = WIN32OLE.new('ComServer.ComClass')
;TI"book = obj.getBook
;TI"%book.class # => WIN32OLE_RECORD
;TI"%book.title # => "The Ruby Book"
;TI"book.cost  # => 20;T;0:
@fileI"#ext/win32ole/win32ole_record.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"new;TI"#ext/win32ole/win32ole_record.c;T[:protected[[:private[[I"
instance;T[[;[[I"inspect;T@>[I"method_missing;T@>[I"ole_instance_variable_get;T@>[I"ole_instance_variable_set;T@>[I"	to_h;T@>[I"
typename;T@>[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@2@2cRDoc::TopLevelU:RDoc::AnyMethod[iI"
typename:ETI"WIN32OLE_RECORD#typename;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"5Returns the type name of VT_RECORD OLE variable.;To:RDoc::Markup::BlankLineo;
;	[I"@If COM server in VB.NET ComServer project is the following:;T@o:RDoc::Markup::Verbatim;	[I",Imports System.Runtime.InteropServices
;TI"Public Class ComClass
;TI"    Public Structure Book
;TI"/        <MarshalAs(UnmanagedType.BStr)> _
;TI"$        Public title As String
;TI"$        Public cost As Integer
;TI"    End Structure
;TI"+    Public Function getBook() As Book
;TI""        Dim book As New Book
;TI"*        book.title = "The Ruby Book"
;TI"        book.cost = 20
;TI"        Return book
;TI"    End Function
;TI"End Class
;T:@format0o;
;	[I"Cthen, the result of WIN32OLE_RECORD#typename is the following:;T@o;;	[	I"require 'win32ole'
;TI".obj = WIN32OLE.new('ComServer.ComClass')
;TI"book = obj.getBook
;TI"book.typename # => "Book";T;
0:
@fileI"#ext/win32ole/win32ole_record.c;T:0@omit_headings_from_table_of_contents_below0I"0WIN32OLE_RECORD#typename #=> String object
;T0[I"();T@+FI"WIN32OLE_RECORD;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ole_instance_variable_set:ETI".WIN32OLE_RECORD#ole_instance_variable_set;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[	I"FSets value specified by the member name of VT_RECORD OLE object. ;TI"FIf the member name is not correct, KeyError exception is raised. ;TI"HIf you can't set value of member of VT_RECORD OLE object directly, ;TI"use this method.;To:RDoc::Markup::BlankLineo;
;	[I"@If COM server in VB.NET ComServer project is the following:;T@o:RDoc::Markup::Verbatim;	[I",Imports System.Runtime.InteropServices
;TI"Public Class ComClass
;TI"+    <MarshalAs(UnmanagedType.BStr)> _
;TI"     Public title As String
;TI"     Public cost As Integer
;TI"End Class
;T:@format0o;
;	[I">then setting value of the `title' member is as following:;T@o;;	[I"0srver = WIN32OLE.new('ComServer.ComClass')
;TI"/obj = WIN32OLE_RECORD.new('Book', server)
;TI";obj.ole_instance_variable_set(:title, "The Ruby Book");T;
0:
@fileI"#ext/win32ole/win32ole_record.c;T:0@omit_headings_from_table_of_contents_below0I":WIN32OLE_RECORD#ole_instance_variable_set(name, val)
;T0[I"
(p1, p2);T@%FI"WIN32OLE_RECORD;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_h:ETI"WIN32OLE_RECORD#to_h;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"CReturns Ruby Hash object which represents VT_RECORD variable. ;TI"LThe keys of Hash object are member names of VT_RECORD OLE variable and ;TI"Dthe values of Hash object are values of VT_RECORD OLE variable.;To:RDoc::Markup::BlankLineo;
;	[I"@If COM server in VB.NET ComServer project is the following:;T@o:RDoc::Markup::Verbatim;	[I",Imports System.Runtime.InteropServices
;TI"Public Class ComClass
;TI"    Public Structure Book
;TI"/        <MarshalAs(UnmanagedType.BStr)> _
;TI"$        Public title As String
;TI"$        Public cost As Integer
;TI"    End Structure
;TI"+    Public Function getBook() As Book
;TI""        Dim book As New Book
;TI"*        book.title = "The Ruby Book"
;TI"        book.cost = 20
;TI"        Return book
;TI"    End Function
;TI"End Class
;T:@format0o;
;	[I"?then, the result of WIN32OLE_RECORD#to_h is the following:;T@o;;	[	I"require 'win32ole'
;TI".obj = WIN32OLE.new('ComServer.ComClass')
;TI"book = obj.getBook
;TI":book.to_h # => {"title"=>"The Ruby Book", "cost"=>20};T;
0:
@fileI"#ext/win32ole/win32ole_record.c;T:0@omit_headings_from_table_of_contents_below0I"0WIN32OLE_RECORD#to_h #=> Ruby Hash object.
;T0[I"();T@-FI"WIN32OLE_RECORD;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"method_missing:ETI"#WIN32OLE_RECORD#method_missing;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"KReturns value specified by the member name of VT_RECORD OLE variable. ;TI"KOr sets value specified by the member name of VT_RECORD OLE variable. ;TI"EIf the member name is not correct, KeyError exception is raised.;To:RDoc::Markup::BlankLineo;
;	[I"@If COM server in VB.NET ComServer project is the following:;T@o:RDoc::Markup::Verbatim;	[
I",Imports System.Runtime.InteropServices
;TI"Public Class ComClass
;TI"    Public Structure Book
;TI"/        <MarshalAs(UnmanagedType.BStr)> _
;TI"$        Public title As String
;TI"$        Public cost As Integer
;TI"    End Structure
;TI"End Class
;T:@format0o;
;	[I">Then getting/setting value from Ruby is as the following:;T@o;;	[	I".obj = WIN32OLE.new('ComServer.ComClass')
;TI"-book = WIN32OLE_RECORD.new('Book', obj)
;TI"Ebook.title # => nil ( book.method_missing(:title) is invoked. )
;TI"Obook.title = "Ruby" # ( book.method_missing(:title=, "Ruby") is invoked. );T;
0:
@fileI"#ext/win32ole/win32ole_record.c;T:0@omit_headings_from_table_of_contents_below0I"*WIN32OLE_RECORD#method_missing(name)
;T0[I"(*args);T@'FI"WIN32OLE_RECORD;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_r:ETI"NilClass#to_r;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I" Returns zero as a rational.;T:
@fileI"rational.c;T:0@omit_headings_from_table_of_contents_below0I"nil.to_r  ->  (0/1)
;T0[I"();T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"NilClass#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%Always returns the string "nil".;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"nil.inspect  -> "nil"
;T0[I"();T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
NilClass:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"8The class of the singleton object <code>nil</code>.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"&;TI"
object.c;T[I"===;T@%[I"^;T@%[I"inspect;T@%[I"	nil?;T@%[I"rationalize;TI"rational.c;T[I"	to_a;T@%[I"	to_c;TI"complex.c;T[I"	to_f;T@%[I"	to_h;T@%[I"	to_i;T@%[I"	to_r;T@0[I"	to_s;T@%[I"|;T@%[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[I"complex.c;T@I"rational.c;T@NcRDoc::TopLevelU:RDoc::AnyMethod[iI"	to_a:ETI"NilClass#to_a;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#Always returns an empty array.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"nil.to_a   #=> [];T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"nil.to_a    -> []
;T0[I"();T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rationalize:ETI"NilClass#rationalize;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns zero as a rational.  The optional argument +eps+ is always ;TI"
ignored.;T:
@fileI"rational.c;T:0@omit_headings_from_table_of_contents_below0I"'nil.rationalize([eps])  ->  (0/1)
;T0[I"(p1 = v1);T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_i:ETI"NilClass#to_i;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Always returns zero.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"nil.to_i   #=> 0;T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"nil.to_i -> 0
;T0[I"();T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"&:ETI"NilClass#&;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<And---Returns <code>false</code>. <i>obj</i> is always ;TI"Devaluated as it is the argument to a method call---there is no ;TI"+short-circuit evaluation in this case.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"3false & obj   -> false
nil & obj     -> false
;T0[I"	(p1);T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_c:ETI"NilClass#to_c;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns zero as a complex.;T:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"nil.to_c  ->  (0+0i)
;T0[I"();T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_s:ETI"NilClass#to_s;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%Always returns the empty string.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"nil.to_s    -> ""
;T0[I"();T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"^:ETI"NilClass#^;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Exclusive Or---If <i>obj</i> is <code>nil</code> or ;TI"H<code>false</code>, returns <code>false</code>; otherwise, returns ;TI"<code>true</code>.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"Efalse ^ obj    -> true or false
nil   ^ obj    -> true or false
;T0[I"	(p1);T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	nil?:ETI"NilClass#nil?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"POnly the object <i>nil</i> responds <code>true</code> to <code>nil?</code>.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"$nil.nil?               -> true
;T0[I"();T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_f:ETI"NilClass#to_f;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Always returns zero.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"nil.to_f   #=> 0.0;T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"nil.to_f    -> 0.0
;T0[I"();T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"|:ETI"NilClass#|;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Or---Returns <code>false</code> if <i>obj</i> is ;TI"I<code>nil</code> or <code>false</code>; <code>true</code> otherwise.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"Gfalse | obj   ->   true or false
nil   | obj   ->   true or false
;T0[I"	(p1);T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"===:ETI"NilClass#===;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HCase Equality -- For class Object, effectively the same as calling ;TI"J<code>#==</code>, but typically overridden by descendants to provide ;TI"/meaningful semantics in +case+ statements.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"&obj === other   -> true or false
;T0[I"	(p1);T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_h:ETI"NilClass#to_h;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""Always returns an empty hash.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"nil.to_h   #=> {};T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"nil.to_h    -> {}
;T0[I"();T@FI"
NilClass;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"sysaccept:ETI"UNIXServer#sysaccept;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Accepts a new connection. ;TI"<It returns the new file descriptor which is an integer.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*UNIXServer.open("/tmp/sock") {|serv|
;TI")  UNIXSocket.open("/tmp/sock") {|c|
;TI"    fd = serv.sysaccept
;TI"    s = IO.new(fd)
;TI"    s.puts "hi"
;TI"    s.close
;TI"    p c.read #=> "hi\n"
;TI"	  }
;TI"};T:@format0:
@fileI"ext/socket/unixserver.c;T:0@omit_headings_from_table_of_contents_below0I"-unixserver.sysaccept => file_descriptor
;T0[I"();T@FI"UNIXServer;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"UNIXServer::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Creates a new UNIX server socket bound to _path_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"require 'socket'
;TI"
;TI"(serv = UNIXServer.new("/tmp/sock")
;TI"s = serv.accept
;TI"
p s.read;T:@format0:
@fileI"ext/socket/unixserver.c;T:0@omit_headings_from_table_of_contents_below0I"(UNIXServer.new(path) => unixserver
;T0[I"	(p1);T@FI"UNIXServer;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"accept:ETI"UNIXServer#accept;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%Accepts an incoming connection. ;TI"(It returns a new UNIXSocket object.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"*UNIXServer.open("/tmp/sock") {|serv|
;TI")  UNIXSocket.open("/tmp/sock") {|c|
;TI"    s = serv.accept
;TI"    s.puts "hi"
;TI"    s.close
;TI"    p c.read #=> "hi\n"
;TI"	  }
;TI"};T:@format0:
@fileI"ext/socket/unixserver.c;T:0@omit_headings_from_table_of_contents_below0I"%unixserver.accept => unixsocket
;T0[I"();T@FI"UNIXServer;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"listen:ETI"UNIXServer#listen;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OListens for connections, using the specified +int+ as the backlog. A call ;FI"Hto _listen_ only applies if the +socket+ is of type SOCK_STREAM or ;FI"SOCK_SEQPACKET.;Fo:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Parameter;Fo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"I+backlog+ - the maximum length of the queue for pending connections.;F@S;;
i;I"Example 1;Fo:RDoc::Markup::Verbatim;	[I"require 'socket'
;TI"include Socket::Constants
;TI"4socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
;TI"=sockaddr = Socket.pack_sockaddr_in( 2200, 'localhost' )
;TI"socket.bind( sockaddr )
;TI"socket.listen( 5 )
;T:@format0S;;
i;I"IExample 2 (listening on an arbitrary port, unix-based systems only):;Fo;;	[	I"require 'socket'
;TI"include Socket::Constants
;TI"4socket = Socket.new( AF_INET, SOCK_STREAM, 0 )
;TI"socket.listen( 1 )
;T;0S;;
i;I"Unix-based Exceptions;Fo;
;	[	I"OOn unix based systems the above will work because a new +sockaddr+ struct ;FI"Pis created on the address ADDR_ANY, for an arbitrary port number as handed ;FI"Soff by the kernel. It will not work on Windows, because Windows requires that ;FI"Dthe +socket+ is bound by calling _bind_ before it can _listen_.;F@o;
;	[I"JIf the _backlog_ amount exceeds the implementation-dependent maximum ;FI"Jqueue length, the implementation's maximum queue length will be used.;F@o;
;	[I"VOn unix-based based systems the following system exceptions may be raised if the ;FI"call to _listen_ fails:;Fo;;;;[
o;;0;	[o;
;	[I"HErrno::EBADF - the _socket_ argument is not a valid file descriptor;Fo;;0;	[o;
;	[I"MErrno::EDESTADDRREQ - the _socket_ is not bound to a local address, and ;FI"Athe protocol does not support listening on an unbound socket;Fo;;0;	[o;
;	[I"6Errno::EINVAL - the _socket_ is already connected;Fo;;0;	[o;
;	[I"GErrno::ENOTSOCK - the _socket_ argument does not refer to a socket;Fo;;0;	[o;
;	[I"FErrno::EOPNOTSUPP - the _socket_ protocol does not support listen;Fo;;0;	[o;
;	[I"MErrno::EACCES - the calling process does not have appropriate privileges;Fo;;0;	[o;
;	[I"4Errno::EINVAL - the _socket_ has been shut down;Fo;;0;	[o;
;	[I"LErrno::ENOBUFS - insufficient resources are available in the system to ;FI"complete the call;F@S;;
i;I"Windows Exceptions;Fo;
;	[I"IOn Windows systems the following system exceptions may be raised if ;FI" the call to _listen_ fails:;Fo;;;;[o;;0;	[o;
;	[I"*Errno::ENETDOWN - the network is down;Fo;;0;	[o;
;	[
I"LErrno::EADDRINUSE - the socket's local address is already in use. This ;FI"Husually occurs during the execution of _bind_ but could be delayed ;FI"Jif the call to _bind_ was to a partially wildcard address (involving ;FI"FADDR_ANY) and if a specific address needs to be committed at the ;FI"!time of the call to _listen_;Fo;;0;	[o;
;	[I"KErrno::EINPROGRESS - a Windows Sockets 1.1 call is in progress or the ;FI"=service provider is still processing a callback function;Fo;;0;	[o;
;	[I"KErrno::EINVAL - the +socket+ has not been bound with a call to _bind_.;Fo;;0;	[o;
;	[I"7Errno::EISCONN - the +socket+ is already connected;Fo;;0;	[o;
;	[I"=Errno::EMFILE - no more socket descriptors are available;Fo;;0;	[o;
;	[I"2Errno::ENOBUFS - no buffer space is available;Fo;;0;	[o;
;	[I".Errno::ENOTSOC - +socket+ is not a socket;Fo;;0;	[o;
;	[I"MErrno::EOPNOTSUPP - the referenced +socket+ is not a type that supports ;FI"the _listen_ method;F@S;;
i;I"See;Fo;;;;[o;;0;	[o;
;	[I".listen manual pages on unix-based systems;Fo;;0;	[o;
;	[I"?listen function in Microsoft's Winsock functions reference;F:
@fileI"ext/socket/unixserver.c;T:0@omit_headings_from_table_of_contents_below0I"socket.listen( int ) => 0
;F0[I"	(p1);T@�FI"UNIXServer;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"accept_nonblock:ETI"UNIXServer#accept_nonblock;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Accepts an incoming connection using accept(2) after ;TI";O_NONBLOCK is set for the underlying file descriptor. ;TI"CIt returns an accepted UNIXSocket for the incoming connection.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"Example;To:RDoc::Markup::Verbatim;	[I"require 'socket'
;TI"(serv = UNIXServer.new("/tmp/sock")
;TI"%begin # emulate blocking accept
;TI"#  sock = serv.accept_nonblock
;TI"+rescue IO::WaitReadable, Errno::EINTR
;TI"  IO.select([serv])
;TI"
  retry
;TI"	end
;TI"## sock is an accepted socket.
;T:@format0o;
;	[I"NRefer to Socket#accept for the exceptions that may be thrown if the call ;TI")to UNIXServer#accept_nonblock fails.;T@o;
;	[I"XUNIXServer#accept_nonblock may raise any error corresponding to accept(2) failure, ;TI""including Errno::EWOULDBLOCK.;T@o;
;	[I"bIf the exception is Errno::EWOULDBLOCK, Errno::EAGAIN, Errno::ECONNABORTED or Errno::EPROTO, ;TI")it is extended by IO::WaitReadable. ;TI"[So IO::WaitReadable can be used to rescue the exceptions for retrying accept_nonblock.;T@o;
;	[I"OBy specifying a keyword argument _exception_ to +false+, you can indicate ;TI"Nthat accept_nonblock should not raise an IO::WaitReadable exception, but ;TI"0return the symbol +:wait_readable+ instead.;T@S;;
i;I"See;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"UNIXServer#accept;To;;0;	[o;
;	[I"Socket#accept;T:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0I"9unixserver.accept_nonblock([options]) => unixsocket
;T0[I"(exception: true);T@>FI"UNIXServer;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"UNIXServer:ET@I"UNIXSocket;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"ext/socket/lib/socket.rb;T:0@omit_headings_from_table_of_contents_below0o;;[o:RDoc::Markup::Paragraph;[I">UNIXServer represents a UNIX domain stream server socket.;T;	I"ext/socket/unixserver.c;T;
0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"ext/socket/unixserver.c;T[:protected[[:private[[I"
instance;T[[;[	[I"accept;T@[I"accept_nonblock;TI"ext/socket/lib/socket.rb;T[I"listen;T@[I"sysaccept;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
@@cRDoc::TopLevelU:RDoc::NormalClass[iI"	Data:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"CThis is a deprecated class, base class for C extensions using ;TI"*Data_Make_Struct or Data_Wrap_Struct.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"each_address:ETI"Resolv::Hosts#each_address;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MIterates over all IP addresses for +name+ retrieved from the hosts file.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, &proc);T@FI"
Hosts;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_name:ETI"Resolv::Hosts#each_name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MIterates over all hostnames for +address+ retrieved from the hosts file.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address, &proc);T@FI"
Hosts;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getaddresses:ETI"Resolv::Hosts#getaddresses;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Gets all IP addresses for +name+ from the hosts file.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"
Hosts;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Resolv::Hosts::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GCreates a new Resolv::Hosts, using +filename+ for its data source.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"!(filename = DefaultFileName);T@FI"
Hosts;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getname:ETI"Resolv::Hosts#getname;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Gets the hostname of +address+ from the hosts file.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address);T@FI"
Hosts;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getaddress:ETI"Resolv::Hosts#getaddress;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Gets the IP address of +name+ from the hosts file.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"
Hosts;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Hosts:ETI"Resolv::Hosts;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"JResolv::Hosts is a hostname resolver that uses the system hosts file.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[U:RDoc::Constant[iI"DefaultFileName;TI"#Resolv::Hosts::DefaultFileName;T:public0o;;[;
@;0@@cRDoc::NormalClass0[[[I"
class;T[[;
[[I"new;TI"lib/resolv.rb;T[:protected[[:private[[I"
instance;T[[;
[[I"each_address;T@$[I"each_name;T@$[I"getaddress;T@$[I"getaddresses;T@$[I"getname;T@$[I"
getnames;T@$[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv;T@U:RDoc::AnyMethod[iI"
getnames:ETI"Resolv::Hosts#getnames;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Gets all hostnames for +address+ from the hosts file.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address);T@FI"
Hosts;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_address:ETI"Resolv#each_address;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Iterates over all IP addresses for +name+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below00I"	name;T[I"(name);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_name:ETI"Resolv#each_name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Iterates over all hostnames for +address+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below00I"	name;T[I"(address);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getaddresses:ETI"Resolv#getaddresses;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Looks up all IP address for +name+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ResolvTimeout:ETI"Resolv::ResolvTimeout;TI"Timeout::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"5Indicates a timeout resolving a name or address.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI"Resolv::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I",Creates a new Resolv using +resolvers+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"%(resolvers=[Hosts.new, DNS.new]);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	IPv6:ETI"Resolv::IPv6;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I" A Resolv::DNS IPv6 address.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"address;TI"R;T:publicFI"lib/resolv.rb;T[
U:RDoc::Constant[iI"Regex_8Hex;TI"Resolv::IPv6::Regex_8Hex;T;0o;;[o;	;[I"(IPv6 address format a:b:c:d:e:f:g:h;T;
@;0@@cRDoc::NormalClass0U;
[iI"Regex_CompressedHex;TI"&Resolv::IPv6::Regex_CompressedHex;T;0o;;[o;	;[I"(Compressed IPv6 address format a::b;T;
@;0@@@!0U;
[iI"Regex_6Hex4Dec;TI"!Resolv::IPv6::Regex_6Hex4Dec;T;0o;;[o;	;[I"8IPv4 mapped IPv6 address format a:b:c:d:e:f:w.x.y.z;T;
@;0@@@!0U;
[iI"Regex_CompressedHex4Dec;TI"*Resolv::IPv6::Regex_CompressedHex4Dec;T;0o;;[o;	;[I"<Compressed IPv4 mapped IPv6 address format a::b:w.x.y.z;T;
@;0@@@!0U;
[iI"
Regex;TI"Resolv::IPv6::Regex;T;0o;;[o;	;[I"%A composite IPv6 address Regexp.;T;
@;0@@@!0[[[I"
class;T[[;[[I"create;T@[:protected[[:private[[I"
instance;T[[;[[I"to_name;T@[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv;T@!U:RDoc::AnyMethod[iI"create:ETI"Resolv::IPv6::create;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Creates a new IPv6 address from +arg+ which may be:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"	IPv6;T;	[o;
;	[I"returns +arg+.;To;;[I"String;T;	[o;
;	[I"7+arg+ must match one of the IPv6::Regex* constants;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(arg);T@FI"	IPv6;TcRDoc::NormalClass00U:RDoc::Attr[iI"address:ETI"Resolv::IPv6#address;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&The raw IPv6 address as a String.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::IPv6;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"to_name:ETI"Resolv::IPv6#to_name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Turns this IPv6 address into a Resolv::DNS::Name.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IPv6;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	MDNS:ETI"Resolv::MDNS;TI"Resolv::DNS;To:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"KResolv::MDNS is a one-shot Multicast DNS (mDNS) resolver.  It blindly ;TI"Nmakes queries to the mDNS addresses without understanding anything about ;TI"multicast ports.;To:RDoc::Markup::BlankLineo;	;[I"1Information taken form the following places:;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"
RFC 6762;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[	U:RDoc::Constant[iI"	Port;TI"Resolv::MDNS::Port;T:public0o;;[o;	;[I"Default mDNS Port;T;@;0@@cRDoc::NormalClass0U;[iI"AddressV4;TI"Resolv::MDNS::AddressV4;T;0o;;[o;	;[I"Default IPv4 mDNS address;T;@;0@@@*0U;[iI"AddressV6;TI"Resolv::MDNS::AddressV6;T;0o;;[o;	;[I"Default IPv6 mDNS address;T;@;0@@@*0U;[iI"Addresses;TI"Resolv::MDNS::Addresses;T;0o;;[o;	;[I"Default mDNS addresses;T;@;0@@@*0[[[I"
class;T[[;[[I"new;TI"lib/resolv.rb;T[:protected[[:private[[I"
instance;T[[;[[I"each_address;T@O[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"Resolv;T@*U:RDoc::AnyMethod[iI"each_address:ETI"Resolv::MDNS#each_address;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GIterates over all IP addresses for +name+ retrieved from the mDNS ;TI"Mresolver, provided name ends with "local".  If the name does not end in ;TI")"local" no records will be returned.;To:RDoc::Markup::BlankLineo;
;	[I"N+name+ can be a Resolv::DNS::Name or a String.  Retrieved addresses will ;TI"&be a Resolv::IPv4 or Resolv::IPv6;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@TI"	MDNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Resolv::MDNS::new;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I":Creates a new one-shot Multicast DNS (mDNS) resolver.;To:RDoc::Markup::BlankLineo;
;	[I"+config_info+ can be:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"nil;T;	[o;
;	[I"$Uses the default mDNS addresses;T@o;;[I"	Hash;T;	[o;
;	[I"7Must contain :nameserver or :nameserver_port like ;TI"Resolv::DNS#initialize.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(config_info=nil);T@#TI"	MDNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getname:ETI"Resolv#getname;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Looks up the hostname of +address+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_address:ETI"Resolv::DNS#each_address;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FIterates over all IP addresses for +name+ retrieved from the DNS ;TI"resolver.;To:RDoc::Markup::BlankLineo;
;	[I"N+name+ can be a Resolv::DNS::Name or a String.  Retrieved addresses will ;TI"&be a Resolv::IPv4 or Resolv::IPv6;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below00I"address;T[I"(name);T@FI"DNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"fetch_resource:ETI"Resolv::DNS#fetch_resource;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below00I"reply, reply_name;T[I"(name, typeclass);T@FI"DNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_name:ETI"Resolv::DNS#each_name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FIterates over all hostnames for +address+ retrieved from the DNS ;TI"resolver.;To:RDoc::Markup::BlankLineo;
;	[I"L+address+ must be a Resolv::IPv4, Resolv::IPv6 or a String.  Retrieved ;TI"/names will be Resolv::DNS::Name instances.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below00I"	name;T[I"(address);T@FI"DNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getaddresses:ETI"Resolv::DNS#getaddresses;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Gets all IP addresses for +name+ from the DNS resolver.;To:RDoc::Markup::BlankLineo;
;	[I"N+name+ can be a Resolv::DNS::Name or a String.  Retrieved addresses will ;TI"&be a Resolv::IPv4 or Resolv::IPv6;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"DNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"timeouts=:ETI"Resolv::DNS#timeouts=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"GSets the resolver timeouts.  This may be a single positive number ;TI"Gor an array of positive numbers representing timeouts in seconds. ;TI"EIf an array is specified, a DNS request will retry and wait for ;TI"Geach successive interval in the array until a successful response ;TI"Dis received.  Specifying +nil+ reverts to the default timeouts:;To:RDoc::Markup::List:
@type:
LABEL:@items[o:RDoc::Markup::ListItem:@label[I"C 5, second = 5 * 2 / nameserver_count, 2 * second, 4 * second ;T;	[o;
;	[I"
Example:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"dns.timeouts = 3;T:@format0:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(values);T@FI"DNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Resolv::DNS::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I" Creates a new DNS resolver.;To:RDoc::Markup::BlankLineo;
;	[I"+config_info+ can be:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"nil;T;	[o;
;	[I"Uses /etc/resolv.conf.;To;;[I"String;T;	[o;
;	[I"4Path to a file using /etc/resolv.conf's format.;To;;[I"	Hash;T;	[o;
;	[I"7Must contain :nameserver, :search and :ndots keys.;To;
;	[I"O:nameserver_port can be used to specify port number of nameserver address.;T@o;
;	[I"=The value of :nameserver should be an address string or ;TI"!an array of address strings.;To;;
:BULLET;[o;;0;	[o;
;	[I":nameserver => '8.8.8.8';To;;0;	[o;
;	[I"*:nameserver => ['8.8.8.8', '8.8.4.4'];T@o;
;	[I"9The value of :nameserver_port should be an array of ;TI"0pair of nameserver address and port number.;To;;
;;[o;;0;	[o;
;	[I";:nameserver_port => [['8.8.8.8', 53], ['8.8.4.4', 53]];T@o;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[I"8Resolv::DNS.new(:nameserver => ['210.251.121.21'],
;TI"3                :search => ['ruby-lang.org'],
;TI"!                :ndots => 1);T:@format0:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(config_info=nil);T@OFI"DNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getname:ETI"Resolv::DNS#getname;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Gets the hostname for +address+ from the DNS resolver.;To:RDoc::Markup::BlankLineo;
;	[I"L+address+ must be a Resolv::IPv4, Resolv::IPv6 or a String.  Retrieved ;TI"&name will be a Resolv::DNS::Name.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address);T@FI"DNS;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"DecodeError:ETI"Resolv::DNS::DecodeError;TI"StandardError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I">Indicates that the DNS response was unable to be decoded.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"getresource:ETI"Resolv::DNS#getresource;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"4Look up the +typeclass+ DNS resource of +name+.;To:RDoc::Markup::BlankLineo;
;	[I"4+name+ must be a Resolv::DNS::Name or a String.;T@o;
;	[I"0+typeclass+ should be one of the following:;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"!Resolv::DNS::Resource::IN::A;To;;0;	[o;
;	[I"$Resolv::DNS::Resource::IN::AAAA;To;;0;	[o;
;	[I"#Resolv::DNS::Resource::IN::ANY;To;;0;	[o;
;	[I"%Resolv::DNS::Resource::IN::CNAME;To;;0;	[o;
;	[I"%Resolv::DNS::Resource::IN::HINFO;To;;0;	[o;
;	[I"%Resolv::DNS::Resource::IN::MINFO;To;;0;	[o;
;	[I""Resolv::DNS::Resource::IN::MX;To;;0;	[o;
;	[I""Resolv::DNS::Resource::IN::NS;To;;0;	[o;
;	[I"#Resolv::DNS::Resource::IN::PTR;To;;0;	[o;
;	[I"#Resolv::DNS::Resource::IN::SOA;To;;0;	[o;
;	[I"#Resolv::DNS::Resource::IN::TXT;To;;0;	[o;
;	[I"#Resolv::DNS::Resource::IN::WKS;T@o;
;	[I"KReturned resource is represented as a Resolv::DNS::Resource instance, ;TI"'i.e. Resolv::DNS::Resource::IN::A.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, typeclass);T@WFI"DNS;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Query:ETI"Resolv::DNS::Query;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I" A DNS query abstract class.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"getaddress:ETI"Resolv::DNS#getaddress;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Gets the IP address of +name+ from the DNS resolver.;To:RDoc::Markup::BlankLineo;
;	[I"L+name+ can be a Resolv::DNS::Name or a String.  Retrieved address will ;TI"&be a Resolv::IPv4 or Resolv::IPv6;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"DNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
close:ETI"Resolv::DNS#close;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Closes the DNS resolver.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"DNS;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"DNS:ETI"Resolv::DNS;TI"Object;To:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"(Resolv::DNS is a DNS stub resolver.;To:RDoc::Markup::BlankLineo;	;[I"1Information taken from the following places:;T@o:RDoc::Markup::List:
@type:BULLET:@items[	o:RDoc::Markup::ListItem:@label0;[o;	;[I"STD0013;To;;0;[o;	;[I"
RFC 1035;To;;0;[o;	;[I"?ftp://ftp.isi.edu/in-notes/iana/assignments/dns-parameters;To;;0;[o;	;[I"	etc.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[U:RDoc::Constant[iI"	Port;TI"Resolv::DNS::Port;T:public0o;;[o;	;[I"Default DNS Port;T;@+;0@+@cRDoc::NormalClass0U;[iI"UDPSize;TI"Resolv::DNS::UDPSize;T;0o;;[o;	;[I" Default DNS UDP packet size;T;@+;0@+@@70[[[I"
class;T[[;[[I"new;TI"lib/resolv.rb;T[I"	open;T@J[:protected[[:private[[I"
instance;T[[;[[I"
close;T@J[I"each_address;T@J[I"each_name;T@J[I"each_resource;T@J[I"fetch_resource;T@J[I"getaddress;T@J[I"getaddresses;T@J[I"getname;T@J[I"
getnames;T@J[I"getresource;T@J[I"getresources;T@J[I"timeouts=;T@J[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@+I"#lib/rubygems/remote_fetcher.rb;TI"Resolv;T@7U:RDoc::NormalClass[iI"EncodeError:ETI"Resolv::DNS::EncodeError;TI"StandardError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"=Indicates that the DNS request was unable to be encoded.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Config:ETI"Resolv::DNS::Config;TI"Object;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/resolv.rb;TI"Resolv::DNS;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
NXDomain:ETI""Resolv::DNS::Config::NXDomain;TI"Resolv::ResolvError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"(Indicates no such domain was found.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS::Config;TcRDoc::NormalClassU:RDoc::NormalClass[iI"OtherResolvError:ETI"*Resolv::DNS::Config::OtherResolvError;TI"Resolv::ResolvError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"CIndicates some other unhandled resolver error was encountered.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS::Config;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"	open:ETI"Resolv::DNS::open;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KCreates a new DNS resolver.  See Resolv::DNS.new for argument details.;To:RDoc::Markup::BlankLineo;
;	[I"GYields the created DNS resolver to the block, if given, otherwise ;TI"returns it.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below00I"dns;T[I"(*args);T@FI"DNS;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
CNAME:ETI"!Resolv::DNS::Resource::CNAME;TI"&Resolv::DNS::Resource::DomainName;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"%The canonical name for an alias.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS::Resource;TcRDoc::NormalClassU:RDoc::Attr[iI"expire:ETI"&Resolv::DNS::Resource::SOA#expire;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ETime in seconds that a secondary name server is to use the data ;TI"4before refreshing from the primary name server.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::SOA;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"$Resolv::DNS::Resource::SOA::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CCreates a new SOA record.  See the attr documentation for the ;TI"details of each argument.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"=(mname, rname, serial, refresh, retry_, expire, minimum);T@FI"SOA;TcRDoc::NormalClass00U:RDoc::Attr[iI"
mname:ETI"%Resolv::DNS::Resource::SOA#mname;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GName of the host where the master zone file for this zone resides.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::SOA;TcRDoc::NormalClass0U:RDoc::Attr[iI"minimum:ETI"'Resolv::DNS::Resource::SOA#minimum;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DThe minimum number of seconds to be used for TTL values in RRs.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::SOA;TcRDoc::NormalClass0U:RDoc::Attr[iI"
retry:ETI"%Resolv::DNS::Resource::SOA#retry;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HHow often, in seconds, a secondary name server is to retry after a ;TI"$failure to check for a refresh.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::SOA;TcRDoc::NormalClass0U:RDoc::Attr[iI"refresh:ETI"'Resolv::DNS::Resource::SOA#refresh;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DHow often, in seconds, a secondary name server is to check for ;TI"*updates from the primary name server.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::SOA;TcRDoc::NormalClass0U:RDoc::Attr[iI"serial:ETI"&Resolv::DNS::Resource::SOA#serial;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")The version number of the zone file.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::SOA;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"SOA:ETI"Resolv::DNS::Resource::SOA;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"!Start Of Authority resource.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"expire;TI"R;T:publicFI"lib/resolv.rb;T[
I"minimum;T@;F@[
I"
mname;T@;F@[
I"refresh;T@;F@[
I"
retry;T@;F@[
I"
rname;T@;F@[
I"serial;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@	cRDoc::NormalClassU:RDoc::Attr[iI"
rname:ETI"%Resolv::DNS::Resource::SOA#rname;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"1The person responsible for this domain name.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::SOA;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"PTR:ETI"Resolv::DNS::Resource::PTR;TI"&Resolv::DNS::Resource::DomainName;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"#A Pointer to another DNS name.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS::Resource;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI"(Resolv::DNS::Resource::IN::SRV::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""Create a SRV resource record.;To:RDoc::Markup::BlankLineo;
;	[I"ESee the documentation for #priority, #weight, #port and #target ;TI"?for +priority+, +weight+, +port and +target+ respectively.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"%(priority, weight, port, target);T@FI"SRV;TcRDoc::NormalClass00U:RDoc::Attr[iI"target:ETI"*Resolv::DNS::Resource::IN::SRV#target;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(The domain name of the target host.;To:RDoc::Markup::BlankLineo;
;	[I"GA target of "." means that the service is decidedly not available ;TI"at this domain.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"#Resolv::DNS::Resource::IN::SRV;TcRDoc::NormalClass0U:RDoc::Attr[iI"weight:ETI"*Resolv::DNS::Resource::IN::SRV#weight;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""A server selection mechanism.;To:RDoc::Markup::BlankLineo;
;	[I"GThe weight field specifies a relative weight for entries with the ;TI"Esame priority. Larger weights SHOULD be given a proportionately ;TI"Ghigher probability of being selected. The range of this number is ;TI"D0-65535.  Domain administrators SHOULD use Weight 0 when there ;TI"Eisn't any server selection to do, to make the RR easier to read ;TI"Efor humans (less noisy). Note that it is not widely implemented ;TI"and should be set to zero.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"#Resolv::DNS::Resource::IN::SRV;TcRDoc::NormalClass0U:RDoc::Attr[iI"
priority:ETI",Resolv::DNS::Resource::IN::SRV#priority;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&The priority of this target host.;To:RDoc::Markup::BlankLineo;
;	[
I"?A client MUST attempt to contact the target host with the ;TI"Glowest-numbered priority it can reach; target hosts with the same ;TI"Gpriority SHOULD be tried in an order defined by the weight field. ;TI"GThe range is 0-65535.  Note that it is not widely implemented and ;TI"should be set to zero.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"#Resolv::DNS::Resource::IN::SRV;TcRDoc::NormalClass0U:RDoc::Attr[iI"	port:ETI"(Resolv::DNS::Resource::IN::SRV#port;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2The port on this target host of this service.;To:RDoc::Markup::BlankLineo;
;	[I"The range is 0-65535.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"#Resolv::DNS::Resource::IN::SRV;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"SRV:ETI"#Resolv::DNS::Resource::IN::SRV;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I",SRV resource record defined in RFC 2782;To:RDoc::Markup::BlankLineo;	;[I"DThese records identify the hostname and port that a service is ;TI"available at.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[	[
I"	port;TI"R;T:publicFI"lib/resolv.rb;T[
I"
priority;T@;
F@[
I"target;T@;
F@[
I"weight;T@;
F@[U:RDoc::Constant[iI"TypeValue;TI".Resolv::DNS::Resource::IN::SRV::TypeValue;T;
0o;;[;@;0@@cRDoc::NormalClass0U;[iI"ClassValue;TI"/Resolv::DNS::Resource::IN::SRV::ClassValue;T;
0o;;[;@;0@@@)0[[[I"
class;T[[;
[[I"new;T@[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"Resolv::DNS::Resource::IN;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI")Resolv::DNS::Resource::IN::AAAA::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&Creates a new AAAA for +address+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address);T@FI"	AAAA;TcRDoc::NormalClass00U:RDoc::Attr[iI"address:ETI",Resolv::DNS::Resource::IN::AAAA#address;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I",The Resolv::IPv6 address for this AAAA.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"$Resolv::DNS::Resource::IN::AAAA;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"	AAAA:ETI"$Resolv::DNS::Resource::IN::AAAA;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"An IPv6 address record.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"address;TI"R;T:publicFI"lib/resolv.rb;T[U:RDoc::Constant[iI"TypeValue;TI"/Resolv::DNS::Resource::IN::AAAA::TypeValue;T;0o;;[;
@;0@@cRDoc::NormalClass0U;
[iI"ClassValue;TI"0Resolv::DNS::Resource::IN::AAAA::ClassValue;T;0o;;[;
@;0@@@0[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS::Resource::IN;TcRDoc::NormalModuleU:RDoc::Attr[iI"bitmap:ETI"*Resolv::DNS::Resource::IN::WKS#bitmap;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0A bit map of enabled services on this host.;To:RDoc::Markup::BlankLineo;
;	[	I"FIf protocol is 6 (TCP) then the 26th bit corresponds to the SMTP ;TI"Hservice (port 25).  If this bit is set, then an SMTP server should ;TI"?be listening on TCP port 25; if zero, SMTP service is not ;TI"supported.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"#Resolv::DNS::Resource::IN::WKS;TcRDoc::NormalClass0U:RDoc::Attr[iI"
protocol:ETI",Resolv::DNS::Resource::IN::WKS#protocol;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"+IP protocol number for these services.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"#Resolv::DNS::Resource::IN::WKS;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"(Resolv::DNS::Resource::IN::WKS::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I" (address, protocol, bitmap);T@FI"WKS;TcRDoc::NormalClass00U:RDoc::Attr[iI"address:ETI"+Resolv::DNS::Resource::IN::WKS#address;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"$The host these services run on.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"#Resolv::DNS::Resource::IN::WKS;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"WKS:ETI"#Resolv::DNS::Resource::IN::WKS;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"!Well Known Service resource.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"address;TI"R;T:publicFI"lib/resolv.rb;T[
I"bitmap;T@;F@[
I"
protocol;T@;F@[U:RDoc::Constant[iI"TypeValue;TI".Resolv::DNS::Resource::IN::WKS::TypeValue;T;0o;;[;
@;0@@cRDoc::NormalClass0U;
[iI"ClassValue;TI"/Resolv::DNS::Resource::IN::WKS::ClassValue;T;0o;;[;
@;0@@@"0[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS::Resource::IN;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"A:ETI"!Resolv::DNS::Resource::IN::A;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"IPv4 Address resource;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"address;TI"R;T:publicFI"lib/resolv.rb;T[U:RDoc::Constant[iI"TypeValue;TI",Resolv::DNS::Resource::IN::A::TypeValue;T;0o;;[;
@;0@@cRDoc::NormalClass0U;
[iI"ClassValue;TI"-Resolv::DNS::Resource::IN::A::ClassValue;T;0o;;[;
@;0@@@0[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS::Resource::IN;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"&Resolv::DNS::Resource::IN::A::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#Creates a new A for +address+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address);T@FI"A;TcRDoc::NormalClass00U:RDoc::Attr[iI"address:ETI")Resolv::DNS::Resource::IN::A#address;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")The Resolv::IPv4 address for this A.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"!Resolv::DNS::Resource::IN::A;TcRDoc::NormalClass0U:RDoc::NormalModule[iI"IN:ETI"Resolv::DNS::Resource::IN;T0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"3module IN contains ARPA Internet specific RRs.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"#lib/rubygems/remote_fetcher.rb;TI"Resolv::DNS::Resource;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI"+Resolv::DNS::Resource::DomainName::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Creates a new DomainName from +name+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"DomainName;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"DomainName:ETI"&Resolv::DNS::Resource::DomainName;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I")Domain Name resource abstract class.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"	name;TI"R;T:publicFI"lib/resolv.rb;T[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@	cRDoc::NormalClassU:RDoc::Attr[iI"	name:ETI"+Resolv::DNS::Resource::DomainName#name;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"!The name of this DomainName.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"&Resolv::DNS::Resource::DomainName;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"ANY:ETI"Resolv::DNS::Resource::ANY;TI"Resolv::DNS::Query;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"$A Query type requesting any RR.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS::Resource;TcRDoc::NormalClassU:RDoc::Attr[iI"	data:ETI"(Resolv::DNS::Resource::Generic#data;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"$Data for this generic resource.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"#Resolv::DNS::Resource::Generic;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"(Resolv::DNS::Resource::Generic::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"$Creates a new generic resource.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(data);T@FI"Generic;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Generic:ETI"#Resolv::DNS::Resource::Generic;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"'A generic resource abstract class.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"	data;TI"R;T:publicFI"lib/resolv.rb;T[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@	cRDoc::NormalClassU:RDoc::NormalClass[iI"
HINFO:ETI"!Resolv::DNS::Resource::HINFO;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"Host Information resource.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"cpu;TI"R;T:publicFI"lib/resolv.rb;T[
I"os;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@	cRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI"&Resolv::DNS::Resource::HINFO::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Creates a new HINFO running +os+ on +cpu+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(cpu, os);T@FI"
HINFO;TcRDoc::NormalClass00U:RDoc::Attr[iI"os:ETI"$Resolv::DNS::Resource::HINFO#os;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Operating system for this resource.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"!Resolv::DNS::Resource::HINFO;TcRDoc::NormalClass0U:RDoc::Attr[iI"cpu:ETI"%Resolv::DNS::Resource::HINFO#cpu;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(CPU architecture for this resource.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"!Resolv::DNS::Resource::HINFO;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"
Resource:ETI"Resolv::DNS::Resource;TI"Resolv::DNS::Query;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"#A DNS resource abstract class.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"ttl;TI"R;T:publicFI"lib/resolv.rb;T[[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"#lib/rubygems/remote_fetcher.rb;TI"Resolv::DNS;TcRDoc::NormalClassU:RDoc::Attr[iI"ttl:ETI"Resolv::DNS::Resource#ttl;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Remaining Time To Live for this Resource.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"	data:ETI"$Resolv::DNS::Resource::TXT#data;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4Returns the concatenated string from +strings+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TXT;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"$Resolv::DNS::Resource::TXT::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I""(first_string, *rest_strings);T@FI"TXT;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"TXT:ETI"Resolv::DNS::Resource::TXT;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I" Unstructured text resource.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"strings;TI"R;T:publicFI"lib/resolv.rb;T[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[I"	data;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@	cRDoc::NormalClassU:RDoc::Attr[iI"strings:ETI"'Resolv::DNS::Resource::TXT#strings;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Returns an Array of Strings for this TXT record.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::TXT;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"$Resolv::DNS::Resource::LOC::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"L(version, ssize, hprecision, vprecision, latitude, longitude, altitude);T@FI"LOC;TcRDoc::NormalClass00U:RDoc::Attr[iI"
altitude:ETI"(Resolv::DNS::Resource::LOC#altitude;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"hThe altitude of the LOC above a reference sphere whose surface sits 100km below the WGS84 spheroid ;TI"0in centimeters as an unsigned 32bit integer;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::LOC;TcRDoc::NormalClass0U:RDoc::Attr[iI"vprecision:ETI"*Resolv::DNS::Resource::LOC#vprecision;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4The vertical precision using ssize type values ;TI">in meters using scientific notation as 2 integers of XeY ;TI".for precision use value/2 e.g. 2m = +/-1m;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::LOC;TcRDoc::NormalClass0U:RDoc::Attr[iI"longitude:ETI")Resolv::DNS::Resource::LOC#longitude;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BThe longitude for this LOC where 2**31 is the prime meridian ;TI"Ain thousandths of an arc second as an unsigned 32bit integer;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::LOC;TcRDoc::NormalClass0U:RDoc::Attr[iI"version:ETI"'Resolv::DNS::Resource::LOC#version;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LReturns the version value for this LOC record which should always be 00;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::LOC;TcRDoc::NormalClass0U:RDoc::Attr[iI"
ssize:ETI"%Resolv::DNS::Resource::LOC#ssize;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"$The spherical size of this LOC ;TI"=in meters using scientific notation as 2 integers of XeY;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::LOC;TcRDoc::NormalClass0U:RDoc::Attr[iI"
latitude:ETI"(Resolv::DNS::Resource::LOC#latitude;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":The latitude for this LOC where 2**31 is the equator ;TI"Ain thousandths of an arc second as an unsigned 32bit integer;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::LOC;TcRDoc::NormalClass0U:RDoc::Attr[iI"hprecision:ETI"*Resolv::DNS::Resource::LOC#hprecision;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6The horizontal precision using ssize type values ;TI">in meters using scientific notation as 2 integers of XeY ;TI".for precision use value/2 e.g. 2m = +/-1m;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::LOC;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"LOC:ETI"Resolv::DNS::Resource::LOC;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"Location resource;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"
altitude;TI"R;T:publicFI"lib/resolv.rb;T[
I"hprecision;T@;F@[
I"
latitude;T@;F@[
I"longitude;T@;F@[
I"
ssize;T@;F@[
I"version;T@;F@[
I"vprecision;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@	cRDoc::NormalClassU:RDoc::NormalClass[iI"
MINFO:ETI"!Resolv::DNS::Resource::MINFO;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I")Mailing list or mailbox information.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"emailbx;TI"R;T:publicFI"lib/resolv.rb;T[
I"rmailbx;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@	cRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI"&Resolv::DNS::Resource::MINFO::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rmailbx, emailbx);T@FI"
MINFO;TcRDoc::NormalClass00U:RDoc::Attr[iI"emailbx:ETI")Resolv::DNS::Resource::MINFO#emailbx;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KMailbox to use for error messages related to the mail list or mailbox.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"!Resolv::DNS::Resource::MINFO;TcRDoc::NormalClass0U:RDoc::Attr[iI"rmailbx:ETI")Resolv::DNS::Resource::MINFO#rmailbx;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Domain name responsible for this mail list or mailbox.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"!Resolv::DNS::Resource::MINFO;TcRDoc::NormalClass0U:RDoc::Attr[iI"
exchange:ETI"'Resolv::DNS::Resource::MX#exchange;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"The host of this MX.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::MX;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"MX:ETI"Resolv::DNS::Resource::MX;TI"Resolv::DNS::Resource;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"Mail Exchanger resource.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"
exchange;TI"R;T:publicFI"lib/resolv.rb;T[
I"preference;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@	cRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI"#Resolv::DNS::Resource::MX::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BCreates a new MX record with +preference+, accepting mail at ;TI"+exchange+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(preference, exchange);T@FI"MX;TcRDoc::NormalClass00U:RDoc::Attr[iI"preference:ETI")Resolv::DNS::Resource::MX#preference;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I" The preference for this MX.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::DNS::Resource::MX;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"NS:ETI"Resolv::DNS::Resource::NS;TI"&Resolv::DNS::Resource::DomainName;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I""An authoritative name server.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS::Resource;TcRDoc::NormalClassU:RDoc::NormalClass[iI"RequestError:ETI")Resolv::DNS::Requester::RequestError;TI"StandardError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I".Indicates a problem with the DNS request.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS::Requester;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Requester:ETI"Resolv::DNS::Requester;TI"Object;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/resolv.rb;TI"Resolv::DNS;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
getnames:ETI"Resolv::DNS#getnames;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Gets all hostnames for +address+ from the DNS resolver.;To:RDoc::Markup::BlankLineo;
;	[I"L+address+ must be a Resolv::IPv4, Resolv::IPv6 or a String.  Retrieved ;TI"/names will be Resolv::DNS::Name instances.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address);T@FI"DNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_resource:ETI"Resolv::DNS#each_resource;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BIterates over all +typeclass+ DNS resources for +name+.  See ;TI"'#getresource for argument details.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, typeclass, &proc);T@FI"DNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"create:ETI"Resolv::DNS::Name::create;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Creates a new DNS name from +arg+.  +arg+ can be:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"	Name;T;	[o;
;	[I"returns +arg+.;To;;[I"String;T;	[o;
;	[I"Creates a new Name.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(arg);T@FI"	Name;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_s:ETI"Resolv::DNS::Name#to_s;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")returns the domain name as a string.;To:RDoc::Markup::BlankLineo;
;	[I"LThe domain name doesn't have a trailing dot even if the name object is ;TI"absolute.;T@o;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[I";p Resolv::DNS::Name.create("x.y.z.").to_s #=> "x.y.z"
;TI"9p Resolv::DNS::Name.create("x.y.z").to_s #=> "x.y.z";T:@format0:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Name;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Name:ETI"Resolv::DNS::Name;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"$A representation of a DNS name.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"create;TI"lib/resolv.rb;T[:protected[[:private[[I"
instance;T[[;[[I"absolute?;T@[I"subdomain_of?;T@[I"	to_s;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::DNS;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"subdomain_of?:ETI"$Resolv::DNS::Name#subdomain_of?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I",Returns true if +other+ is a subdomain.;To:RDoc::Markup::BlankLineo;
;	[I"
Example:;T@o:RDoc::Markup::Verbatim;	[I".domain = Resolv::DNS::Name.create("y.z")
;TI"Jp Resolv::DNS::Name.create("w.x.y.z").subdomain_of?(domain) #=> true
;TI"Hp Resolv::DNS::Name.create("x.y.z").subdomain_of?(domain) #=> true
;TI"Gp Resolv::DNS::Name.create("y.z").subdomain_of?(domain) #=> false
;TI"Ep Resolv::DNS::Name.create("z").subdomain_of?(domain) #=> false
;TI"Jp Resolv::DNS::Name.create("x.y.z.").subdomain_of?(domain) #=> false
;TI"Fp Resolv::DNS::Name.create("w.z").subdomain_of?(domain) #=> false;T:@format0:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(other);T@FI"	Name;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"absolute?:ETI" Resolv::DNS::Name#absolute?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#True if this name is absolute.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Name;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getresources:ETI"Resolv::DNS#getresources;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NLooks up all +typeclass+ DNS resources for +name+.  See #getresource for ;TI"argument details.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, typeclass);T@FI"DNS;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getaddress:ETI"Resolv#getaddress;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Looks up the first IP address for +name+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"create:ETI"Resolv::IPv4::create;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(arg);T@FI"	IPv4;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	IPv4:ETI"Resolv::IPv4;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I" A Resolv::DNS IPv4 address.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"address;TI"R;T:publicFI"lib/resolv.rb;T[U:RDoc::Constant[iI"
Regex256;TI"Resolv::IPv4::Regex256;T;0o;;[o;	;[I"2Regular expression IPv4 addresses must match.;T;
@;0@@cRDoc::NormalClass0U;
[iI"
Regex;TI"Resolv::IPv4::Regex;T;0o;;[;
@;0@@@!0[[[I"
class;T[[;[[I"create;T@[:protected[[:private[[I"
instance;T[[;[[I"to_name;T@[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv;T@!U:RDoc::Attr[iI"address:ETI"Resolv::IPv4#address;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&The raw IPv4 address as a String.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::IPv4;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"to_name:ETI"Resolv::IPv4#to_name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Turns this IPv4 address into a Resolv::DNS::Name.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	IPv4;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_name:ETI"Resolv::each_name;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Iterates over all hostnames for +address+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address, &proc);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ResolvError:ETI"Resolv::ResolvError;TI"StandardError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"6Indicates a failure to resolve a name or address.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Resolv:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"PResolv is a thread-aware DNS resolver library written in Ruby.  Resolv can ;TI"Phandle multiple DNS requests concurrently without blocking the entire Ruby ;TI"interpreter.;To:RDoc::Markup::BlankLineo;	;[I"ISee also resolv-replace.rb to replace the libc resolver with Resolv.;T@o;	;[I"LResolv can look up various DNS resources using the DNS module directly.;T@o;	;[I"Examples:;T@o:RDoc::Markup::Verbatim;[I"-p Resolv.getaddress "www.ruby-lang.org"
;TI"(p Resolv.getname "210.251.121.214"
;TI"
;TI"Resolv::DNS.open do |dns|
;TI"Q  ress = dns.getresources "www.ruby-lang.org", Resolv::DNS::Resource::IN::A
;TI"  p ress.map(&:address)
;TI"N  ress = dns.getresources "ruby-lang.org", Resolv::DNS::Resource::IN::MX
;TI":  p ress.map { |r| [r.exchange.to_s, r.preference] }
;TI"	end
;T:@format0S:RDoc::Markup::Heading:
leveli:	textI"	Bugs;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"NIS is not supported.;To;;0;[o;	;[I")/etc/nsswitch.conf is not supported.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[U:RDoc::Constant[iI"DefaultResolver;TI"Resolv::DefaultResolver;T:public0o;;[o;	;[I"6Default resolver to use for Resolv class methods.;T;@5;0@5@cRDoc::NormalClass0U;[iI"AddressRegex;TI"Resolv::AddressRegex;T;0o;;[o;	;[I"5Address Regexp to use for matching IP addresses.;T;@5;0@5@@A0[[[I"
class;T[[;[[I"each_address;TI"lib/resolv.rb;T[I"each_name;T@T[I"getaddress;T@T[I"getaddresses;T@T[I"getname;T@T[I"
getnames;T@T[I"new;T@T[:protected[[:private[[I"
instance;T[[;[[I"each_address;T@T[I"each_name;T@T[I"getaddress;T@T[I"getaddresses;T@T[I"getname;T@T[I"
getnames;T@T[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@5I"#lib/rubygems/remote_fetcher.rb;T@5cRDoc::TopLevelU:RDoc::AnyMethod[iI"getaddresses:ETI"Resolv::getaddresses;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Looks up all IP address for +name+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
getnames:ETI"Resolv::getnames;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Looks up all hostnames for +address+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_address:ETI"Resolv::each_address;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Iterates over all IP addresses for +name+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, &block);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getname:ETI"Resolv::getname;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Looks up the hostname of +address+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
getnames:ETI"Resolv#getnames;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Looks up all hostnames for +address+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(address);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getaddress:ETI"Resolv::getaddress;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Looks up the first IP address for +name+.;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"Resolv;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"create:ETI"Resolv::LOC::Alt::create;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"4Creates a new LOC::Alt from +arg+ which may be:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"
LOC::Alt;T;	[o;
;	[I"returns +arg+.;To;;[I"String;T;	[o;
;	[I"2+arg+ must match the LOC::Alt::Regex constant;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(arg);T@FI"Alt;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Resolv::LOC::Alt::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(altitude);T@FI"Alt;TcRDoc::NormalClass00U:RDoc::Attr[iI"
altitude:ETI"Resolv::LOC::Alt#altitude;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"The raw altitude;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::LOC::Alt;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"Alt:ETI"Resolv::LOC::Alt;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"A Resolv::LOC::Alt;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"
altitude;TI"R;T:publicFI"lib/resolv.rb;T[U:RDoc::Constant[iI"
Regex;TI"Resolv::LOC::Alt::Regex;T;0o;;[;
@;0@@cRDoc::NormalClass0[[[I"
class;T[[;[[I"create;T@[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::LOC;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"	Size:ETI"Resolv::LOC::Size;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"A Resolv::LOC::Size;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"scalar;TI"R;T:publicFI"lib/resolv.rb;T[U:RDoc::Constant[iI"
Regex;TI"Resolv::LOC::Size::Regex;T;0o;;[;
@;0@@cRDoc::NormalClass0[[[I"
class;T[[;[[I"create;T@[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::LOC;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"create:ETI"Resolv::LOC::Size::create;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Creates a new LOC::Size from +arg+ which may be:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"LOC::Size;T;	[o;
;	[I"returns +arg+.;To;;[I"String;T;	[o;
;	[I"3+arg+ must match the LOC::Size::Regex constant;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(arg);T@FI"	Size;TcRDoc::NormalClass00U:RDoc::Attr[iI"scalar:ETI"Resolv::LOC::Size#scalar;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"The raw size;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::LOC::Size;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"Resolv::LOC::Size::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(scalar);T@FI"	Size;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"create:ETI"Resolv::LOC::Coord::create;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Creates a new LOC::Coord from +arg+ which may be:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"LOC::Coord;T;	[o;
;	[I"returns +arg+.;To;;[I"String;T;	[o;
;	[I"4+arg+ must match the LOC::Coord::Regex constant;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(arg);T@FI"
Coord;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Resolv::LOC::Coord::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below000[I"(coordinates,orientation);T@FI"
Coord;TcRDoc::NormalClass00U:RDoc::Attr[iI"coordinates:ETI"#Resolv::LOC::Coord#coordinates;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"The raw coordinates;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::LOC::Coord;TcRDoc::NormalClass0U:RDoc::Attr[iI"orientation:ETI"#Resolv::LOC::Coord#orientation;TI"R;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8The orientation of the hemisphere as 'lat' or 'lon';T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0F@I"Resolv::LOC::Coord;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"
Coord:ETI"Resolv::LOC::Coord;TI"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"A Resolv::LOC::Coord;T:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"coordinates;TI"R;T:publicFI"lib/resolv.rb;T[
I"orientation;T@;F@[U:RDoc::Constant[iI"
Regex;TI"Resolv::LOC::Coord::Regex;T;0o;;[;
@;0@@cRDoc::NormalClass0[[[I"
class;T[[;[[I"create;T@[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"Resolv::LOC;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"LOC:ETI"Resolv::LOC;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/resolv.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"Resolv;TcRDoc::NormalClassU:RDoc::NormalClass[iI"SystemStackError:ET@I"Exception;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"(Raised in case of a stack overflow.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;[	I"def me_myself_and_i
;TI"  me_myself_and_i
;TI"	end
;TI"me_myself_and_i
;T:@format0o;	;[I"#<em>raises the exception:</em>;T@o;;[I"+SystemStackError: stack level too deep;T;0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"	eval:ETI"Binding#eval;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"AEvaluates the Ruby expression(s) in <em>string</em>, in the ;TI"H<em>binding</em>'s context.  If the optional <em>filename</em> and ;TI"D<em>lineno</em> parameters are present, they will be used when ;TI"reporting syntax errors.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"def get_binding(param)
;TI"  binding
;TI"	end
;TI"b = get_binding("hello")
;TI""b.eval("param")   #=> "hello";T:@format0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"9binding.eval(string [, filename [,lineno]])  -> obj
;T0[I"(p1, p2 = v2, p3 = v3);T@FI"Binding;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"local_variable_defined?:ETI"$Binding#local_variable_defined?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Returns +true+ if a local variable +symbol+ exists.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"
def foo
;TI"
  a = 1
;TI"4  binding.local_variable_defined?(:a) #=> true
;TI"5  binding.local_variable_defined?(:b) #=> false
;TI"	end
;T:@format0o;
;	[I"<This method is the short version of the following code:;T@o;;	[I"<binding.eval("defined?(#{symbol}) == 'local-variable'");T;
0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"4binding.local_variable_defined?(symbol) -> obj
;T0[I"	(p1);T@FI"Binding;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"local_variable_get:ETI"Binding#local_variable_get;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Returns the value of the local variable +symbol+.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"
def foo
;TI"
  a = 1
;TI",  binding.local_variable_get(:a) #=> 1
;TI"4  binding.local_variable_get(:b) #=> NameError
;TI"	end
;T:@format0o;
;	[I"<This method is the short version of the following code:;T@o;;	[I"binding.eval("#{symbol}");T;
0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"/binding.local_variable_get(symbol) -> obj
;T0[I"	(p1);T@FI"Binding;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"local_variable_set:ETI"Binding#local_variable_set;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Set local variable named +symbol+ as +obj+.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"
def foo
;TI"
  a = 1
;TI"  bind = binding
;TI"H  bind.local_variable_set(:a, 2) # set existing local variable `a'
;TI"F  bind.local_variable_set(:b, 3) # create new local variable `b'
;TI"C                                 # `b' exists only in binding
;TI"
;TI",  p bind.local_variable_get(:a)  #=> 2
;TI",  p bind.local_variable_get(:b)  #=> 3
;TI",  p a                            #=> 2
;TI"4  p b                            #=> NameError
;TI"	end
;T:@format0o;
;	[I"9This method behaves similarly to the following code:;T@o;;	[I"(binding.eval("#{symbol} = #{obj}")
;T;
0o;
;	[I")if +obj+ can be dumped in Ruby code.;T:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"4binding.local_variable_set(symbol, obj) -> obj
;T0[I"
(p1, p2);T@&FI"Binding;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"local_variables:ETI"Binding#local_variables;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns the names of the binding's local variables as symbols.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"
def foo
;TI"
  a = 1
;TI"  2.times do |n|
;TI".    binding.local_variables #=> [:a, :n]
;TI"  end
;TI"	end
;T:@format0o;
;	[I"<This method is the short version of the following code:;T@o;;	[I"$binding.eval("local_variables");T;
0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"&binding.local_variables -> Array
;T0[I"();T@FI"Binding;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Binding:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/irb.rb;T:0@omit_headings_from_table_of_contents_below0o;;[o:RDoc::Markup::Paragraph;[I"EObjects of class <code>Binding</code> encapsulate the execution ;TI"Jcontext at some particular place in the code and retain this context ;TI"Ifor future use. The variables, methods, value of <code>self</code>, ;TI"Iand possibly an iterator block that can be accessed in this context ;TI"<are all retained. Binding objects can be created using ;TI"I<code>Kernel#binding</code>, and are made available to the callback ;TI"+of <code>Kernel#set_trace_func</code>.;To:RDoc::Markup::BlankLineo;;[I"GThese binding objects can be passed as the second argument of the ;TI"J<code>Kernel#eval</code> method, establishing an environment for the ;TI"evaluation.;T@o:RDoc::Markup::Verbatim;[I"class Demo
;TI"  def initialize(n)
;TI"    @secret = n
;TI"  end
;TI"  def get_binding
;TI"    binding
;TI"  end
;TI"	end
;TI"
;TI"k1 = Demo.new(99)
;TI"b1 = k1.get_binding
;TI"k2 = Demo.new(-3)
;TI"b2 = k2.get_binding
;TI"
;TI""eval("@secret", b1)   #=> 99
;TI""eval("@secret", b2)   #=> -3
;TI"#eval("@secret")       #=> nil
;T:@format0o;;[I"4Binding objects have no class-specific methods.;T;	I"proc.c;T;
0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"	eval;TI"proc.c;T[I"local_variable_defined?;T@J[I"local_variable_get;T@J[I"local_variable_set;T@J[I"local_variables;T@J[I"
receiver;T@J[;[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"prelude.rb;T@5@5cRDoc::TopLevelU:RDoc::AnyMethod[iI"
receiver:ETI"Binding#receiver;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Returns the bound receiver of the binding object.;T:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"#binding.receiver    -> object
;T0[I"();T@FI"Binding;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	addr:ETI"UNIXSocket#addr;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I":Returns the local address as an array which contains ;TI""address_family and unix_path.;To:RDoc::Markup::BlankLineo;
;	[I"Example;To:RDoc::Markup::Verbatim;	[I"(serv = UNIXServer.new("/tmp/sock")
;TI"-p serv.addr #=> ["AF_UNIX", "/tmp/sock"];T:@format0:
@fileI"ext/socket/unixsocket.c;T:0@omit_headings_from_table_of_contents_below0I"4unixsocket.addr => [address_family, unix_path]
;T0[I"();T@FI"UNIXSocket;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"UNIXSocket:ET@I"BasicSocket;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I">UNIXSocket represents a UNIX domain stream client socket.;T:
@fileI"ext/socket/unixsocket.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"new;TI"ext/socket/unixsocket.c;T[I"	pair;T@[I"socketpair;T@[:protected[[:private[[I"
instance;T[[;[[I"	addr;T@[I"	path;T@[I"
peeraddr;T@[I"recv_io;T@[I"
recvfrom;T@[I"send_io;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"new:ETI"UNIXSocket::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":Creates a new UNIX client socket connected to _path_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"require 'socket'
;TI"
;TI"%s = UNIXSocket.new("/tmp/sock")
;TI"s.send "hello", 0;T:@format0:
@fileI"ext/socket/unixsocket.c;T:0@omit_headings_from_table_of_contents_below0I"(UNIXSocket.new(path) => unixsocket
;T0[I"	(p1);T@FI"UNIXSocket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"recv_io:ETI"UNIXSocket#recv_io;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Example;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*UNIXServer.open("/tmp/sock") {|serv|
;TI")  UNIXSocket.open("/tmp/sock") {|c|
;TI"    s = serv.accept
;TI"
;TI"    c.send_io STDOUT
;TI"    stdout = s.recv_io
;TI"
;TI"    p STDOUT.fileno #=> 1
;TI"    p stdout.fileno #=> 7
;TI"
;TI"E    stdout.puts "hello" # outputs "hello\n" to standard output.
;TI"	  }
;TI"}
;T:@format0o;
;	[I"B_klass_ will determine the class of _io_ returned (using the ;TI"-IO.for_fd singleton method or similar). ;TI"AIf _klass_ is +nil+, an integer file descriptor is returned.;T@o;
;	[I";_mode_ is the same as the argument passed to IO.for_fd;T:
@fileI"ext/socket/unixsocket.c;T:0@omit_headings_from_table_of_contents_below0I"0unixsocket.recv_io([klass [, mode]]) => io
;T0[I"(p1 = v1, p2 = v2);T@&FI"UNIXSocket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"socketpair:ETI"UNIXSocket::socketpair;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Creates a pair of sockets connected to each other.;To:RDoc::Markup::BlankLineo;
;	[I"L_socktype_ should be a socket type such as: :STREAM, :DGRAM, :RAW, etc.;T@o;
;	[I"<_protocol_ should be a protocol defined in the domain. ;TI"*0 is default protocol for the domain.;T@o:RDoc::Markup::Verbatim;	[	I"s1, s2 = UNIXSocket.pair
;TI"s1.send "a", 0
;TI"s1.send "b", 0
;TI"p s2.recv(10) #=> "ab";T:@format0:
@fileI"ext/socket/unixsocket.c;T:0@omit_headings_from_table_of_contents_below0I"MUNIXSocket.socketpair([type [, protocol]]) => [unixsocket1, unixsocket2];T0[I"(p1 = v1, p2 = v2);T@FI"UNIXSocket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	pair:ETI"UNIXSocket::pair;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Creates a pair of sockets connected to each other.;To:RDoc::Markup::BlankLineo;
;	[I"L_socktype_ should be a socket type such as: :STREAM, :DGRAM, :RAW, etc.;T@o;
;	[I"<_protocol_ should be a protocol defined in the domain. ;TI"*0 is default protocol for the domain.;T@o:RDoc::Markup::Verbatim;	[	I"s1, s2 = UNIXSocket.pair
;TI"s1.send "a", 0
;TI"s1.send "b", 0
;TI"p s2.recv(10) #=> "ab";T:@format0:
@fileI"ext/socket/unixsocket.c;T:0@omit_headings_from_table_of_contents_below0I"MUNIXSocket.pair([type [, protocol]])       => [unixsocket1, unixsocket2];T0[I"(p1 = v1, p2 = v2);T@FI"UNIXSocket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	path:ETI"UNIXSocket#path;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Returns the path of the local address of unixsocket.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"%s = UNIXServer.new("/tmp/sock")
;TI"p s.path #=> "/tmp/sock";T:@format0:
@fileI"ext/socket/unixsocket.c;T:0@omit_headings_from_table_of_contents_below0I"unixsocket.path => path
;T0[I"();T@FI"UNIXSocket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
peeraddr:ETI"UNIXSocket#peeraddr;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I";Returns the remote address as an array which contains ;TI""address_family and unix_path.;To:RDoc::Markup::BlankLineo;
;	[I"Example;To:RDoc::Markup::Verbatim;	[I"(serv = UNIXServer.new("/tmp/sock")
;TI"%c = UNIXSocket.new("/tmp/sock")
;TI".p c.peeraddr #=> ["AF_UNIX", "/tmp/sock"];T:@format0:
@fileI"ext/socket/unixsocket.c;T:0@omit_headings_from_table_of_contents_below0I"8unixsocket.peeraddr => [address_family, unix_path]
;T0[I"();T@FI"UNIXSocket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
recvfrom:ETI"UNIXSocket#recvfrom;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Receives a message via _unixsocket_.;To:RDoc::Markup::BlankLineo;
;	[I"8_maxlen_ is the maximum number of bytes to receive.;T@o;
;	[I"?_flags_ should be a bitwise OR of Socket::MSG_* constants.;T@o;
;	[I"H_outbuf_ will contain only the received data after the method call ;TI".even if it is not empty at the beginning.;T@o:RDoc::Markup::Verbatim;	[I"'s1 = Socket.new(:UNIX, :DGRAM, 0)
;TI")s1_ai = Addrinfo.unix("/tmp/sock1")
;TI"s1.bind(s1_ai)
;TI"
;TI"'s2 = Socket.new(:UNIX, :DGRAM, 0)
;TI")s2_ai = Addrinfo.unix("/tmp/sock2")
;TI"s2.bind(s2_ai)
;TI"'s3 = UNIXSocket.for_fd(s2.fileno)
;TI"
;TI"s1.send "a", 0, s2_ai
;TI";p s3.recvfrom(10) #=> ["a", ["AF_UNIX", "/tmp/sock1"]];T:@format0:
@fileI"ext/socket/unixsocket.c;T:0@omit_headings_from_table_of_contents_below0I"Lunixsocket.recvfrom(maxlen [, flags[, outbuf]]) => [mesg, unixaddress]
;T0[I"(*args);T@&FI"UNIXSocket;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"send_io:ETI"UNIXSocket#send_io;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"+Sends _io_ as file descriptor passing.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"s1, s2 = UNIXSocket.pair
;TI"
;TI"s1.send_io STDOUT
;TI"stdout = s2.recv_io
;TI"
;TI"p STDOUT.fileno #=> 1
;TI"p stdout.fileno #=> 6
;TI"
;TI"Astdout.puts "hello" # outputs "hello\n" to standard output.
;T:@format0o;
;	[I"B_io_ may be any kind of IO object or integer file descriptor.;T:
@fileI"ext/socket/unixsocket.c;T:0@omit_headings_from_table_of_contents_below0I"#unixsocket.send_io(io) => nil
;T0[I"	(p1);T@FI"UNIXSocket;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"unknown:ET@I"Object;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"ext/zlib/zlib.c;T@(cRDoc::TopLevelU:RDoc::NormalClass[iI"EPROTO:ETI"Errno::EPROTO;TI"SystemCallError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"Protocol error.;T:
@fileI"lib/webrick/compat.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"
Errno;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"ECONNABORTED:ETI"Errno::ECONNABORTED;TI"SystemCallError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"KClient sent TCP reset (RST) before server has accepted the connection ;TI"requested by client.;T:
@fileI"lib/webrick/compat.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"
Errno;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"ECONNRESET:ETI"Errno::ECONNRESET;TI"SystemCallError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I".Remote host reset the connection request.;T:
@fileI"lib/webrick/compat.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"
Errno;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"
Errno:ET@0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"FRuby exception objects are subclasses of <code>Exception</code>. ;TI"DHowever, operating systems typically report errors using plain ;TI"Gintegers. Module <code>Errno</code> is created dynamically to map ;TI"Dthese operating system errors to Ruby classes, with each error ;TI"Inumber generating its own subclass of <code>SystemCallError</code>. ;TI"GAs the subclass is created in module <code>Errno</code>, its name ;TI"%will start <code>Errno::</code>.;To:RDoc::Markup::BlankLineo;	;[
I"=The names of the <code>Errno::</code> classes depend on ;TI"Fthe environment in which Ruby runs. On a typical Unix or Windows ;TI"<platform, there are <code>Errno</code> classes such as ;TI"=<code>Errno::EACCES</code>, <code>Errno::EAGAIN</code>, ;TI"*<code>Errno::EINTR</code>, and so on.;T@o;	;[I"BThe integer operating system error number corresponding to a ;TI"9particular error is available as the class constant ;TI"<<code>Errno::</code><em>error</em><code>::Errno</code>.;T@o:RDoc::Markup::Verbatim;[I"#Errno::EACCES::Errno   #=> 13
;TI"#Errno::EAGAIN::Errno   #=> 11
;TI""Errno::EINTR::Errno    #=> 4
;T:@format0o;	;[I"JThe full list of operating system errors on your particular platform ;TI":are available as the constants of <code>Errno</code>.;T@o;;[I"LErrno.constants   #=> :E2BIG, :EACCES, :EADDRINUSE, :EADDRNOTAVAIL, ...;T;0:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0o;;[o;	;[I"OSystem call error module used by webrick for cross platform compatibility.;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"EPROTO;T;[o;	;[I"protocol error;To;;[I"ECONNRESET;T;[o;	;[I"-remote host reset the connection request;To;;[I"ECONNABORTED;T;[o;	;[I"@Client sent TCP reset (RST) before server has accepted the ;TI"$connection requested by client.;T;
I"lib/webrick/compat.rb;T;0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@.I"ext/socket/lib/socket.rb;TI"lib/fileutils.rb;TI"lib/find.rb;TI"lib/resolv.rb;T@L@LcRDoc::TopLevelU:RDoc::TopLevel[	iI"syntax.rdoc:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[
S:RDoc::Markup::Heading:
leveli:	textI"Ruby Syntax;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"JThe Ruby syntax is large and is split up into the following sections:;T@
o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"-Literals[rdoc-ref:syntax/literals.rdoc] ;T;[o;
;[I"+Numbers, Strings, Arrays, Hashes, etc.;T@
o;;[I"1Assignment[rdoc-ref:syntax/assignment.rdoc] ;T;[o;
;[I"Assignment and variables;T@
o;;[I"E{Control Expressions}[rdoc-ref:syntax/control_expressions.rdoc] ;T;[o;
;[I"E+if+, +unless+, +while+, +until+, +for+, +break+, +next+, +redo+;T@
o;;[I"+Methods[rdoc-ref:syntax/methods.rdoc] ;T;[o;
;[I"&Method and method argument syntax;T@
o;;[I"={Calling Methods}[rdoc-ref:syntax/calling_methods.rdoc] ;T;[o;
;[I"9How to call a method (or send a message to a method);T@
o;;[I"E{Modules and Classes}[rdoc-ref:syntax/modules_and_classes.rdoc] ;T;[o;
;[I"7Creating modules and classes including inheritance;T@
o;;[I"1Exceptions[rdoc-ref:syntax/exceptions.rdoc] ;T;[o;
;[I"Exception handling syntax;T@
o;;[I"1Precedence[rdoc-ref:syntax/precedence.rdoc] ;T;[o;
;[I"!Precedence of ruby operators;T@
o;;[I"3Refinements[rdoc-ref:syntax/refinements.rdoc] ;T;[o;
;[I"=Use and behavior of the experimental refinements feature;T@
o;;[I"7Miscellaneous[rdoc-ref:syntax/miscellaneous.rdoc] ;T;[o;
;[I"%+alias+, +undef+, +BEGIN+, +END+;T:
@file@:0@omit_headings_from_table_of_contents_below0U:RDoc::AnyMethod[iI"special_prefixes:ETI"Readline::special_prefixes;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"EGets the list of characters that are word break characters, but ;TI"@should be left in text when it is passed to the completion ;TI"function.;To:RDoc::Markup::BlankLineo;
;	[I"5See GNU Readline's rl_special_prefixes variable.;T@o;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I")Readline.special_prefixes -> string
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"$completer_word_break_characters:ETI".Readline::completer_word_break_characters;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IGets the basic list of characters that signal a break between words ;TI" for rl_complete_internal().;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"8Readline.completer_word_break_characters -> string
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"output=:ETI"Readline::output=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Specifies a File object +output+ that is output stream for ;TI"Readline.readline method.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"Readline.output = output
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"insert_text:ETI"Readline::insert_text;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I">Insert text into the line at the current cursor position.;To:RDoc::Markup::BlankLineo;
;	[I"0See GNU Readline's rl_insert_text function.;T@o;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"*Readline.insert_text(string) -> self
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"completion_case_fold:ETI"#Readline::completion_case_fold;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"CReturns true if completion ignores case. If no, returns false.;To:RDoc::Markup::BlankLineo;
;	[I"8NOTE: Returns the same object that is specified by ;TI"+Readline.completion_case_fold= method.;T@o:RDoc::Markup::Verbatim;	[	I"require "readline"
;TI"
;TI"9Readline.completion_case_fold = "This is a String."
;TI"=p Readline.completion_case_fold # => "This is a String.";T:@format0:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"+Readline.completion_case_fold -> bool
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"point=:ETI"Readline::point=;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"5Set the index of the current cursor position in ;TI"+Readline.line_buffer+.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T@o;
;	[I"See +Readline.point+.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"Readline.point = int
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"basic_quote_characters=:ETI"&Readline::basic_quote_characters=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BSets a list of quote characters which can cause a word break.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I".Readline.basic_quote_characters = string
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"quoting_detection_proc=:ETI"&Readline::quoting_detection_proc=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"NSpecifies a Proc object +proc+ to determine if a character in the user's ;TI"Linput is escaped. It should take the user's input and the index of the ;TI"Qcharacter in question as input, and return a boolean (true if the specified ;TI"character is escaped).;To:RDoc::Markup::BlankLineo;
;	[
I"DReadline will only call this proc with characters specified in ;TI"M+completer_quote_characters+, to discover if they indicate the end of a ;TI"1quoted argument, or characters specified in ;TI"M+completer_word_break_characters+, to discover if they indicate a break ;TI"between arguments.;T@o;
;	[I"NIf +completer_quote_characters+ is not set, or if the user input doesn't ;TI"Icontain one of the +completer_quote_characters+ or a +\+ character, ;TI"7Readline will not attempt to use this proc at all.;T@o;
;	[I"HRaises ArgumentError if +proc+ does not respond to the call method.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I",Readline.quoting_detection_proc = proc
;T0[I"	(p1);T@!FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"pre_input_hook:ETI"Readline::pre_input_hook;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns a Proc object +proc+ to call after the first prompt has ;TI"@been printed and just before readline starts reading input ;TI"$characters. The default is nil.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"%Readline.pre_input_hook -> proc
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"get_screen_size:ETI"Readline::get_screen_size;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"-Returns the terminal's rows and columns.;To:RDoc::Markup::BlankLineo;
;	[I"4See GNU Readline's rl_get_screen_size function.;T@o;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"1Readline.get_screen_size -> [rows, columns]
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"emacs_editing_mode?:ETI""Readline::emacs_editing_mode?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns true if emacs mode is active. Returns false if not.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"*Readline.emacs_editing_mode? -> bool
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"!basic_word_break_characters=:ETI"+Readline::basic_word_break_characters=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ISets the basic list of characters that signal a break between words ;TI"Dfor the completer routine. The default is the characters which ;TI"Abreak words for completion in Bash: " \t\n\"\\'`@$><=;|&{(".;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"3Readline.basic_word_break_characters = string
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"vi_editing_mode?:ETI"Readline::vi_editing_mode?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Returns true if vi mode is active. Returns false if not.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"'Readline.vi_editing_mode? -> bool
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"!completion_append_character=:ETI"+Readline::completion_append_character=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Specifies a character to be appended on completion. ;TI"@Nothing will be appended if an empty string ("") or nil is ;TI"specified.;To:RDoc::Markup::BlankLineo;
;	[I"For example:;To:RDoc::Markup::Verbatim;	[	I"require "readline"
;TI"
;TI"#Readline.readline("> ", true)
;TI"0Readline.completion_append_character = " "
;T:@format0o;
;	[I"Result:;To;;	[I">
;TI"Input "/var/li".
;TI"
;TI"> /var/li
;TI"Press TAB key.
;TI"
;TI"> /var/lib
;TI"KCompletes "b" and appends " ". So, you can continuously input "/usr".
;TI"
;TI"> /var/lib /usr
;T;
0o;
;	[I"ANOTE: Only one character can be specified. When "string" is ;TI"0specified, sets only "s" that is the first.;T@o;;	[	I"require "readline"
;TI"
;TI"5Readline.completion_append_character = "string"
;TI"5p Readline.completion_append_character # => "s"
;T;
0o;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"1Readline.completion_append_character = char
;T0[I"	(p1);T@6FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"refresh_line:ETI"Readline::refresh_line;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""Clear the current input line.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I""Readline.refresh_line -> nil
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"completer_quote_characters:ETI")Readline::completer_quote_characters;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IGets a list of characters which can be used to quote a substring of ;TI"the line.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"3Readline.completer_quote_characters -> string
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"line_buffer:ETI"Readline::line_buffer;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"EReturns the full line that is being edited. This is useful from ;TI"Awithin the complete_proc for determining the context of the ;TI"completion request.;To:RDoc::Markup::BlankLineo;
;	[I"HThe length of +Readline.line_buffer+ and GNU Readline's rl_end are ;TI"
same.;T@o;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"$Readline.line_buffer -> string
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"redisplay:ETI"Readline::redisplay;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"BChange what's displayed on the screen to reflect the current ;TI"contents.;To:RDoc::Markup::BlankLineo;
;	[I".See GNU Readline's rl_redisplay function.;T@o;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I" Readline.redisplay -> self
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"delete_text:ETI"Readline::delete_text;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I";Delete text between start and end in the current line.;To:RDoc::Markup::BlankLineo;
;	[I"0See GNU Readline's rl_delete_text function.;T@o;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"�Readline.delete_text([start[, length]]) -> self
Readline.delete_text(start..end)        -> self
Readline.delete_text()                  -> self
;T0[I"(*args);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"filename_quote_characters:ETI"(Readline::filename_quote_characters;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"SGets a list of characters that cause a filename to be quoted by the completer ;TI".when they appear in a completed filename.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"2Readline.filename_quote_characters -> string
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI" completion_append_character:ETI"*Readline::completion_append_character;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Returns a string containing a character to be appended on ;TI".completion. The default is a space (" ").;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"2Readline.completion_append_character -> char
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"completion_case_fold=:ETI"$Readline::completion_case_fold=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Sets whether or not to ignore case on completion.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"*Readline.completion_case_fold = bool
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"emacs_editing_mode:ETI"!Readline::emacs_editing_mode;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ESpecifies Emacs editing mode. The default is this mode. See the ;TI">manual of GNU Readline for details of Emacs editing mode.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"(Readline.emacs_editing_mode -> nil
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"basic_quote_characters:ETI"%Readline::basic_quote_characters;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BGets a list of quote characters which can cause a word break.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"/Readline.basic_quote_characters -> string
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
point:ETI"Readline::point;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Returns the index of the current cursor position in ;TI"+Readline.line_buffer+.;To:RDoc::Markup::BlankLineo;
;	[I"DThe index in +Readline.line_buffer+ which matches the start of ;TI"Ginput-string passed to completion_proc is computed by subtracting ;TI"6the length of input-string from +Readline.point+.;T@o:RDoc::Markup::Verbatim;	[I";start = (the length of input-string) - Readline.point
;T:@format0o;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"Readline.point -> int
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"
Readline:ET@0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[
I">The Readline module provides interface for GNU Readline. ;TI"FThis module defines a number of methods to facilitate completion ;TI";and accesses input history from the Ruby interpreter. ;TI"3This module supported Edit Line(libedit) too. ;TI"-libedit is compatible with GNU Readline.;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"GNU Readline;T;[o;	;[I"/http://www.gnu.org/directory/readline.html;To;;[I"libedit;T;[o;	;[I"%http://www.thrysoee.dk/editline/;T@o;	;[I"IReads one inputted line with line edit by Readline.readline method. ;TI"=At this time, the facilitatation completion and the key ;TI"7bind like Emacs can be operated like GNU Readline.;T@o:RDoc::Markup::Verbatim;[	I"require "readline"
;TI"/while buf = Readline.readline("> ", true)
;TI"
  p buf
;TI"	end
;T:@format0o;	;[I"EThe content that the user input can be recorded to the history. ;TI"?The history can be accessed by Readline::HISTORY constant.;T@o;;[
I"require "readline"
;TI"/while buf = Readline.readline("> ", true)
;TI"   p Readline::HISTORY.to_a
;TI"  print("-> ", buf, "\n")
;TI"	end
;T;0o;	;[I"BDocumented by Kouji Takao <kouji dot takao at gmail dot com>.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0;0;0[[	U:RDoc::Constant[iI"HISTORY;TI"Readline::HISTORY;T:public0o;;[o;	;[	I"EThe history buffer. It extends Enumerable module, so it behaves ;TI"just like an array. ;TI"@For example, gets the fifth content that the user input by ;TI"HISTORY[4].;T;@=;0@=@cRDoc::NormalModule0U;[iI"FILENAME_COMPLETION_PROC;TI"'Readline::FILENAME_COMPLETION_PROC;T;0o;;[o;	;[I"HThe Object with the call method that is a completion for filename. ;TI"6This is sets by Readline.completion_proc= method.;T;@=;0@=@@L0U;[iI"USERNAME_COMPLETION_PROC;TI"'Readline::USERNAME_COMPLETION_PROC;T;0o;;[o;	;[I"IThe Object with the call method that is a completion for usernames. ;TI"6This is sets by Readline.completion_proc= method.;T;@=;0@=@@L0U;[iI"VERSION;TI"Readline::VERSION;T;0o;;[o;	;[I"/Version string of GNU Readline or libedit.;T@;@=;0@=@@L0[[[I"
class;T[[;[+[I"basic_quote_characters;TI"ext/readline/readline.c;T[I"basic_quote_characters=;T@s[I" basic_word_break_characters;T@s[I"!basic_word_break_characters=;T@s[I"completer_quote_characters;T@s[I" completer_quote_characters=;T@s[I"$completer_word_break_characters;T@s[I"%completer_word_break_characters=;T@s[I" completion_append_character;T@s[I"!completion_append_character=;T@s[I"completion_case_fold;T@s[I"completion_case_fold=;T@s[I"completion_proc;T@s[I"completion_proc=;T@s[I"delete_text;T@s[I"emacs_editing_mode;T@s[I"emacs_editing_mode?;T@s[I"filename_quote_characters;T@s[I"filename_quote_characters=;T@s[I"get_screen_size;T@s[I"input=;T@s[I"insert_text;T@s[I"line_buffer;T@s[I"output=;T@s[I"
point;T@s[I"point=;T@s[I"pre_input_hook;T@s[I"pre_input_hook=;T@s[I"quoting_detection_proc;T@s[I"quoting_detection_proc=;T@s[I"
readline;T@s[I"redisplay;T@s[I"refresh_line;T@s[I"set_screen_size;T@s[I"special_prefixes;T@s[I"special_prefixes=;T@s[I"vi_editing_mode;T@s[I"vi_editing_mode?;T@s[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@=I"lib/debug.rb;T@=cRDoc::TopLevelU:RDoc::AnyMethod[iI"quoting_detection_proc:ETI"%Readline::quoting_detection_proc;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Returns the quoting detection Proc object.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"-Readline.quoting_detection_proc -> proc
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
readline:ETI"Readline::readline;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GShows the +prompt+ and reads the inputted line with line editing. ;TI"EThe inputted line is added to the history if +add_hist+ is true.;To:RDoc::Markup::BlankLineo;
;	[I"EReturns nil when the inputted line is empty and user inputs EOF ;TI"(Presses ^D on UNIX).;T@o;
;	[I"GRaises IOError exception if one of below conditions are satisfied.;To:RDoc::Markup::List:
@type:NUMBER:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"stdin was closed.;To;;0;	[o;
;	[I"stdout was closed.;T@o;
;	[I"IThis method supports thread. Switches the thread context when waits ;TI"inputting line.;T@o;
;	[I"NSupports line edit when inputs line. Provides VI and Emacs editing mode. ;TI"#Default is Emacs editing mode.;T@o;
;	[I"HNOTE: Terminates ruby interpreter and does not return the terminal ;TI">status after user pressed '^C' when wait inputting line. ;TI"#Give 3 examples that avoid it.;T@o;;
:BULLET;[o;;0;	[o;
;	[I"ACatches the Interrupt exception by pressed ^C after returns ;TI"terminal status:;T@o:RDoc::Markup::Verbatim;	[I"require "readline"
;TI"
;TI"!stty_save = `stty -g`.chomp
;TI"begin
;TI"%  while buf = Readline.readline
;TI"      p buf
;TI"      end
;TI"    rescue Interrupt
;TI"%      system("stty", stty_save)
;TI"      exit
;TI"
    end
;TI"  end
;TI"	end
;T:@format0o;;0;	[o;
;	[I"ACatches the INT signal by pressed ^C after returns terminal ;TI"status:;T@o;;	[
I"require "readline"
;TI"
;TI"!stty_save = `stty -g`.chomp
;TI"4trap("INT") { system "stty", stty_save; exit }
;TI"
;TI"#while buf = Readline.readline
;TI"
  p buf
;TI"	end
;T;0o;;0;	[o;
;	[I"Ignores pressing ^C:;T@o;;	[I"require "readline"
;TI"
;TI"trap("INT", "SIG_IGN")
;TI"
;TI"#while buf = Readline.readline
;TI"
  p buf
;TI"	end
;T;0o;
;	[I":Can make as follows with Readline::HISTORY constant. ;TI"HIt does not record to the history if the inputted line is empty or ;TI"the same it as last one.;T@o;;	[I"require "readline"
;TI"
;TI"/while buf = Readline.readline("> ", true)
;TI""  # p Readline::HISTORY.to_a
;TI"/  Readline::HISTORY.pop if /^\s*$/ =~ buf
;TI"
;TI"
  begin
;TI"A    if Readline::HISTORY[Readline::HISTORY.length-2] == buf
;TI"!      Readline::HISTORY.pop
;TI"
    end
;TI"  rescue IndexError
;TI"  end
;TI"
;TI""  # p Readline::HISTORY.to_a
;TI"  print "-> ", buf, "\n"
;TI"end;T;0:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"GReadline.readline(prompt = "", add_hist = false) -> string or nil
;T0[I"(p1 = v1, p2 = v2);T@|FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"filename_quote_characters=:ETI")Readline::filename_quote_characters=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"SSets a list of characters that cause a filename to be quoted by the completer ;TI"Bwhen they appear in a completed filename. The default is nil.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"1Readline.filename_quote_characters = string
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"vi_editing_mode:ETI"Readline::vi_editing_mode;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CSpecifies VI editing mode. See the manual of GNU Readline for ;TI" details of VI editing mode.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"%Readline.vi_editing_mode -> nil
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"set_screen_size:ETI"Readline::set_screen_size;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"/Set terminal size to +rows+ and +columns+.;To:RDoc::Markup::BlankLineo;
;	[I"4See GNU Readline's rl_set_screen_size function.;T@o;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"5Readline.set_screen_size(rows, columns) -> self
;T0[I"
(p1, p2);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"completion_proc=:ETI"Readline::completion_proc=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JSpecifies a Proc object +proc+ to determine completion behavior.  It ;TI"Kshould take input string and return an array of completion candidates.;To:RDoc::Markup::BlankLineo;
;	[I"5The default completion is used if +proc+ is nil.;T@o;
;	[	I":The String that is passed to the Proc depends on the ;TI"MReadline.completer_word_break_characters property.  By default the word ;TI"Punder the cursor is passed to the Proc.  For example, if the input is "foo ;TI"Abar" then only "bar" would be passed to the completion Proc.;T@o;
;	[I"QUpon successful completion the Readline.completion_append_character will be ;TI"Pappended to the input so the user can start working on their next argument.;T@S:RDoc::Markup::Heading:
leveli:	textI"
Examples;T@S;;
i;I"!Completion for a Static List;T@o:RDoc::Markup::Verbatim;	[I"require 'readline'
;TI"
;TI"LIST = [
;TI"%  'search', 'download', 'open',
;TI""  'help', 'history', 'quit',
;TI"  'url', 'next', 'clear',
;TI"  'prev', 'past'
;TI"].sort
;TI"
;TI";comp = proc { |s| LIST.grep(/^#{Regexp.escape(s)}/) }
;TI"
;TI"0Readline.completion_append_character = " "
;TI"%Readline.completion_proc = comp
;TI"
;TI"0while line = Readline.readline('> ', true)
;TI"  p line
;TI"	end
;T:@format0S;;
i;I"&Completion For Directory Contents;T@o;;	[I"require 'readline'
;TI"
;TI"0Readline.completion_append_character = " "
;TI"2Readline.completion_proc = Proc.new do |str|
;TI"3  Dir[str+'*'].grep(/^#{Regexp.escape(str)}/)
;TI"	end
;TI"
;TI"0while line = Readline.readline('> ', true)
;TI"  p line
;TI"	end
;T;0S;;
i;I"Autocomplete strategies;T@o;
;	[	I"OWhen working with auto-complete there are some strategies that work well. ;TI"2To get some ideas you can take a look at the ;TI"Tcompletion.rb[http://svn.ruby-lang.org/repos/ruby/trunk/lib/irb/completion.rb] ;TI"file for irb.;T@o;
;	[	I"QThe common strategy is to take a list of possible completions and filter it ;TI"Mdown to those completions that start with the user input.  In the above ;TI"Oexamples Enumerator.grep is used.  The input is escaped to prevent Regexp ;TI";special characters from interfering with the matching.;T@o;
;	[I"NIt may also be helpful to use the Abbrev library to generate completions.;T@o;
;	[I"HRaises ArgumentError if +proc+ does not respond to the call method.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"%Readline.completion_proc = proc
;T0[I"	(p1);T@VFI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI" basic_word_break_characters:ETI"*Readline::basic_word_break_characters;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IGets the basic list of characters that signal a break between words ;TI"for the completer routine.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"4Readline.basic_word_break_characters -> string
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"completion_proc:ETI"Readline::completion_proc;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Returns the completion Proc object.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"&Readline.completion_proc -> proc
;T0[I"();T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"special_prefixes=:ETI" Readline::special_prefixes=;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[
I"ESets the list of characters that are word break characters, but ;TI"@should be left in text when it is passed to the completion ;TI"Dfunction. Programs can use this to help determine what kind of ;TI"Hcompleting to do. For instance, Bash sets this variable to "$@" so ;TI"8that it can complete shell variables and hostnames.;To:RDoc::Markup::BlankLineo;
;	[I"5See GNU Readline's rl_special_prefixes variable.;T@o;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"(Readline.special_prefixes = string
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"pre_input_hook=:ETI"Readline::pre_input_hook=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GSpecifies a Proc object +proc+ to call after the first prompt has ;TI"@been printed and just before readline starts reading input ;TI"characters.;To:RDoc::Markup::BlankLineo;
;	[I"3See GNU Readline's rl_pre_input_hook variable.;T@o;
;	[I"HRaises ArgumentError if +proc+ does not respond to the call method.;T@o;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"$Readline.pre_input_hook = proc
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI" completer_quote_characters=:ETI"*Readline::completer_quote_characters=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"ISets a list of characters which can be used to quote a substring of ;TI"Ethe line. Completion occurs on the entire substring, and within ;TI"Hthe substring Readline.completer_word_break_characters are treated ;TI"Fas any other character, unless they also appear within this list.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"2Readline.completer_quote_characters = string
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"%completer_word_break_characters=:ETI"/Readline::completer_word_break_characters=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ISets the basic list of characters that signal a break between words ;TI"=for rl_complete_internal(). The default is the value of ;TI"*Readline.basic_word_break_characters.;To:RDoc::Markup::BlankLineo;
;	[I"ORaises NotImplementedError if the using readline library does not support.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"7Readline.completer_word_break_characters = string
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"input=:ETI"Readline::input=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Specifies a File object +input+ that is input stream for ;TI"Readline.readline method.;T:
@fileI"ext/readline/readline.c;T:0@omit_headings_from_table_of_contents_below0I"Readline.input = input
;T0[I"	(p1);T@FI"
Readline;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"SJISHandler:ETI" XMLEncoding_ja::SJISHandler;TI"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
Kconv;To;;[;	@;
0I"lib/rss/xmlparser.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"XMLEncoding_ja;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"XMLEncoding_ja:ET@0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@cRDoc::TopLevelU:RDoc::TopLevel[	iI"contributors.rdoc:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[�S:RDoc::Markup::Heading:
leveli:	textI"Contributors to Ruby;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"PThe following list might be incomplete. Feel free to add your name if your ;TI""patch was accepted into Ruby.;T@
S;	;
i;I"A;T@
o;
;[I"Ayumu AIZAWA (ayumin);To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"committer;T@
o;
;[I"#AKIYOSHI, Masamichi (akiyoshi);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"4He had maintained the VMS support on 2003-2004.;T@
o;
;[I"Muhammad Ali;To;;;;[o;;0;[o;
;[I"wrote rdoc for Fiber;T@
o;
;[I"Minero Aoki (aamine);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"He is the maintainer of:;To;;;;[o;;0;[o;
;[I"fileutils;To;;0;[o;
;[I"net/http, net/https;To;;0;[o;
;[I"net/pop;To;;0;[o;
;[I"
net/smtp;To;;0;[o;
;[I"	racc;To;;0;[o;
;[I"ripper;To;;0;[o;
;[I"strscan;T@
o;
;[I"Wakou Aoyama (wakou);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"6He was the maintainer of some standard libraries.;T@
o;
;[I"Koji Arai;To;;;;[o;;0;[o;
;[I"committer;T@
o;
;[I"
arton;To;;;;[o;;0;[o;
;[I"]He is the distributor of ActiveScriptRuby and experimental 1.9.0-x installers for win32.;To;;0;[o;
;[I"0Wrote patches for win32ole, gc.c, tmpdir.rb;T@
o;
;[I"Sergey Avseyev;To;;;;[o;;0;[o;
;[I""Added IO#pread and IO#pwrite.;T@
S;	;
i;I"B;T@
o;
;[I"Daniel Berger;To;;;;[o;;0;[o;
;[I"a patch for irb;To;;0;[o;
;[I"documentation;To;;0;[o;
;[I"He wrote forwardable.rb;T@
o;
;[I"David Black (dblack);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I""He is the maintainer of scanf;T@
o;
;[I"Ken Bloom;To;;;;[o;;0;[o;
;[I"a patch for REXML.;T@
o;
;[I"Oliver M. Bolzer;To;;;;[o;;0;[o;
;[I"a patch for soap;T@
o;
;[I"Alexey Borzenkov;To;;;;[o;;0;[o;
;[I"a patch for mkmf.rb;T@
o;
;[I"Evan Brodie;To;;;;[o;;0;[o;
;[I"-a patch for documentation of Float#round;T@
o;
;[I"Richard Brown;To;;;;[o;;0;[o;
;[I"a patch for configure.in;T@
o;
;[I"Dirkjan Bussink;To;;;;[o;;0;[o;
;[I"a patch for date.rb;T@
o;
;[I"Daniel Bovensiepen;To;;;;[o;;0;[o;
;[I"documentation;To;;0;[o;
;[I"a patch for irb;T@
S;	;
i;I"C;T@
o;
;[I"Brian Candler;To;;;;[o;;0;[o;
;[I")a patch for configure.in, net/telnet;T@
o;
;[I"keith cascio;To;;;;[o;;0;[o;
;[I"a patch for optparse.rb;T@
o;
;[I"Frederick Cheung;To;;;;[o;;0;[o;
;[I")a patch for test/ruby/test_symbol.rb;T@
o;
;[I"Christoph;To;;;;[o;;0;[o;
;[I"patches for set.rb;T@
o;
;[I"Sean Chittenden;To;;;;[o;;0;[o;
;[I"pathces for net/http, cgi;T@
o;
;[I"William D. Clinger;To;;;;[o;;0;[o;
;[I"'ruby_strtod is based on his paper.;T@
S;	;
i;I"D;T@
o;
;[I"Ryan Davis (ryan);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"/He wrote and is the maintainer of miniunit;T@
o;
;[I"Guy Decoux (ts);To;;;;[o;;0;[o;
;[I"committer;T@
o;
;[I"Zach Dennis;T@
o;
;[I"Martin Duerst (duerst);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"	M17N;T@
o;
;[I"Paul Duncan;To;;;;[o;;0;[o;
;[I"pathces for rdoc;T@
o;
;[I"Alexander Dymo;To;;;;[o;;0;[o;
;[I"!a patch for lib/benchmark.rb;T@
S;	;
i;I"E;T@
o;
;[I"Yusuke Endoh (mame);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I";He wrote and is the maintainer of base64 library (1.9);To;;0;[o;
;[I"!did much upon YARV compiler.;T@
o;
;[I"erlercw;To;;;;[o;;0;[o;
;[I"wrote Integer::gcd2;T@
S;	;
i;I"F;T@
o;
;[I"Frank S.Fejes;To;;;;[o;;0;[o;
;[I"a patch for net/pop;T@
o;
;[I"Fundakowski Feldman;To;;;;[o;;0;[o;
;[I"a patch for process.c;T@
o;
;[I"Mauricio Fernandez;To;;;;[o;;0;[o;
;[I"patches for parse.y;T@
o;
;[I"#David Flanagan (davidflanagan);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"	M17N;T@
o;
;[I"Takeyuki Fujioka (xibbar);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I""He is the maintainer of cgi/*;T@
o;
;[I"FUKUMOTO, Atsushi;To;;;;[o;;0;[o;
;[I"a patch for tracer.rb;T@
o;
;[I"Shota Fukumori (sorah);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"#4415 parallel unit/test;T@
o;
;[I"Tadayoshi Funaba (tadf);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"&He wrote and is the maintainer of;To;;;;[o;;0;[o;
;[I"	date;To;;0;[o;
;[I"parsedate (1.8);To;;0;[o;
;[I"dHe ported rational.rb and complex.rb, which 1.8 contains, into rational.c and complex.c of 1.9.;T@
S;	;
i;I"G;T@
o;
;[I"David M. Gay;To;;;;[o;;0;[o;
;[I"ruby_strtod;T@
o;
;[I"Florian Gilcher;To;;;;[o;;0;[o;
;[I"documentation;T@
o;
;[I"GOTOU, Kentaro (gotoken);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"He wrote benchmark.rb;To;;0;[o;
;[I"He is the maintainer of:;To;;;;[o;;0;[o;
;[I"benchmark.rb;To;;0;[o;
;[I"
open3;T@
o;
;[I"GOTOU, Yuuzou (gotoyuzo);To;;;;[o;;0;[o;
;[I"committer;T@
o;
;[I" James Edward Gray II (jeg2);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"LHe wrote the faster implementation of CSV and is the maintainer of csv.;To;;0;[o;
;[I"!Wrote documentation for rdoc;T@
S;	;
i;I"H;T@
o;
;[I"Phil Hagelberg;To;;;;[o;;0;[o;
;[I",patch for ruby-mode.el's documentation.;T@
o;
;[I"Kirk Haines (wyhaines);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"(the maintainer of ruby_1_8_6 branch;T@
o;
;[I"Shinichiro Hamaji;To;;;;[o;;0;[o;
;[I"-fixed memory leaks (marshal.c, string.c);T@
o;
;[I"Shin-ichiro HARA;To;;;;[o;;0;[o;
;[I"Fthe developer and the sysop of ruby-{dev,list,core,talk} archive.;To;;0;[o;
;[I"a patch for numeric.c;T@
o;
;[I"Chris Heath (traumdeutung);To;;;;[o;;0;[o;
;[I"a patch for proc.c;T@
o;
;[I"HIROKAWA Hisashi;To;;;;[o;;0;[o;
;[I"fixed socket/socket.c;T@
o;
;[I"Daniel Hob;To;;;;[o;;0;[o;
;[I"He wrote:;To;;;;[o;;0;[o;
;[I"#SMTP-TLS support for net/smtp.;To;;0;[o;
;[I"POP3S support;T@
o;
;[I"Eric Hodel (drbrain);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"He is the maintainer of:;To;;;;[o;;0;[o;
;[I"	rdoc;To;;0;[o;
;[I"ri;To;;0;[o;
;[I"
rubygems;T@
o;
;[I"Erik Hollensbe;To;;;;[o;;0;[o;
;[I"a patch for delegate.rb;T@
o;
;[I"Johan Holmberg;To;;;;[o;;0;[o;
;[I"a patch for dir.c;To;;0;[o;
;[I"documentation;T@
o;
;[I"Erik Huelsmann;T@
o;
;[I"Dae San Hwang;To;;;;[o;;0;[o;
;[I"?built a continuous integration environment on OpenSolaris.;T@
S;	;
i;I"I;T@
o;
;[I"Nobuhiro IMAI;To;;;;[o;;0;[o;
;[I"a patch for logger.rb;T@
o;
;[I""incorporate";To;;;;[o;;0;[o;
;[I"a patch for sprintf.c;T@
o;
;[I"Keiju Ishitsuka (keiju);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"'He wrote and is the maintainer of:;To;;;;[o;;0;[o;
;[I"cmath.rb (1.9);To;;0;[o;
;[I"complex.rb (1.8);To;;0;[o;
;[I"e2mmap.rb;To;;0;[o;
;[I"forwardable.rb;To;;0;[o;
;[I"irb;To;;0;[o;
;[I"
mathn;To;;0;[o;
;[I"matrix.rb;To;;0;[o;
;[I"mutex_m.rb;To;;0;[o;
;[I"rational.rb (1.8);To;;0;[o;
;[I"sync.rb;To;;0;[o;
;[I"shell/*;To;;0;[o;
;[I"thwait.rb;To;;0;[o;
;[I"tracer.rb;T@
S;	;
i;I"J;T@
o;
;[I"Curtis Jackson;To;;;;[o;;0;[o;
;[I"missing/dup2.c;T@
o;
;[I"Alan Johnson;To;;;;[o;;0;[o;
;[I"a patch for net/ftp;T@
o;
;[I"Lyle Johnson;To;;;;[o;;0;[o;
;[I"+patches for nkf, bigdecimal, numeric.c;T@
S;	;
i;I"K;T@
o;
;[I"Yoshihiro Kambayashi;To;;;;[o;;0;[o;
;[I"-a patch for enc/trans/single_byte.trans.;To;;0;[o;
;[I"*He wrote supports for some encodings.;T@
o;
;[I"Yutaka Kanemoto;To;;;;[o;;0;[o;
;[I"0patches for common.mk, AIX AF_INET6 support;T@
o;
;[I"Motoyuki Kasahara;To;;;;[o;;0;[o;
;[I"He wrote getoptlong.rb;T@
o;
;[I"Masahiro Kawato;To;;;;[o;;0;[o;
;[I"a patch for shellwords.rb;T@
o;
;[I"Wataru Kimura;To;;;;[o;;0;[o;
;[I"a patch for configure.in;T@
o;
;[I"Michael Klishin;To;;;;[o;;0;[o;
;[I"patch for make help.;T@
o;
;[I"Noritada Kobayashi;To;;;;[o;;0;[o;
;[I"a patch for optparse.rb;T@
o;
;[I"Shigeo Kobayashi (shigek);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"'He is the maintainer of bigdecimal;T@
o;
;[I""KONISHI, Hiromasa (H_Konishi);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"1He had maintained the bcc32 support in 2004.;T@
o;
;[I" Kornelius "murphy" Kalnbach;To;;;;[o;;0;[o;
;[I"documentation;T@
o;
;[I"K.Kosako (kosako);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"He wrote Oniguruma.;T@
o;
;[I"Takehiro Kubo;To;;;;[o;;0;[o;
;[I""patches for dl 64bit support.;T@
S;	;
i;I"L;T@
o;
;[I"%Marc-Andre Lafortune (marcandre);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"\patches for hash.c, array.c, thread.c, enumc, string.c, range.c and rdoc documentation.;T@
o;
;[I"Hongli Lai;To;;;;[o;;0;[o;
;[I"improved pstore.rb;To;;0;[o;
;[I"$patch for tool/file2lastrev.rb.;T@
o;
;[I"raspberry lemon;To;;;;[o;;0;[o;
;[I"&a patch for webrick/httpproxy.rb.;T@
o;
;[I"Christian Loew;To;;;;[o;;0;[o;
;[I"a patch for fileutils.rb;T@
S;	;
i;I"M;T@
o;
;[I"Shugo Maeda (shugo);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"5A system administrator of ruby-lang.org servers.;To;;0;[o;
;[I"'He wrote and is the maintainer of:;To;;;;[o;;0;[o;
;[I"monitor.rb;To;;0;[o;
;[I"net/ftp;To;;0;[o;
;[I"
net/imap;T@
o;
;[I"Stephan Maka (mathew);To;;;;[o;;0;[o;
;[I"documentation;T@
o;
;[I"Yukihiro Matsumoto (matz);To;;;;[	o;;0;[o;
;[I"4Matz -- the founder, language designer of Ruby.;To;;0;[o;
;[I"committer;To;;0;[o;
;[I"Ruby itself, most of Ruby.;To;;0;[o;
;[I"He is the maintainer of:;To;;;;[	o;;0;[o;
;[I"singleton;To;;0;[o;
;[I"timeout;To;;0;[o;
;[I"	gdbm;To;;0;[o;
;[I"	sdbm;T@
o;
;[I"Konrad Meyer;To;;;;[o;;0;[o;
;[I"documentation;T@
o;
;[I"Mib Software;To;;;;[o;;0;[o;
;[I"missing/vsnprintf.c;T@
o;
;[I"Todd C. Miller;To;;;;[o;;0;[o;
;[I"missing/strlcat.c;To;;0;[o;
;[I"missing/strlcpy.c;T@
o;
;[I"MIYASAKA, Masaru;To;;;;[o;;0;[o;
;[I"a patch for cgi.rb;T@
o;
;[I"Stefan Monnier;To;;;;[o;;0;[o;
;[I"7regex.c was fixed with based on his Emacs21 patch.;T@
o;
;[I"Marcel Moolenaar;To;;;;[o;;0;[o;
;[I"!patches for eval.c and gc.c.;T@
o;
;[I"
moonwolf;To;;;;[o;;0;[o;
;[I"a patch for REXML, xmlrpc;T@
o;
;[I"Hiroshi Moriyama;To;;;;[o;;0;[o;
;[I"a patch for yaml.;T@
o;
;[I"Kyosuke Morohashi;To;;;;[o;;0;[o;
;[I"a patch for gem_prelude.rb;T@
o;
;[I"Kenta Murata;To;;;;[o;;0;[o;
;[I"patches for json, bignum.c;T@
o;
;[I"Akinori MUSHA (knu);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"'He wrote and is the maintainer of:;To;;;;[o;;0;[o;
;[I"abbrev.rb;To;;0;[o;
;[I"generator (1.8);To;;0;[o;
;[I"enumerator (1.8);To;;0;[o;
;[I"set;To;;0;[o;
;[I"ipaddr.rb;To;;0;[o;
;[I"
digest/*;To;;0;[o;
;[I"syslog;To;;0;[o;
;[I"PHe is the branch maintainer of ruby_1_8, the release manager of 1.8 series.;T@
S;	;
i;I"N;T@
o;
;[I"Hidetoshi NAGAI (nagai);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"!He is the maintainer of tk/*;T@
o;
;[I"Nobuyoshi Nakada (nobu);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"a.k.a. the "patch monster";To;;0;[o;
;[I"'He wrote and is the maintainer of:;To;;;;[	o;;0;[o;
;[I"
optparse;To;;0;[o;
;[I"
stringio;To;;0;[o;
;[I"io/wait;To;;0;[o;
;[I"
iconv;T@
o;
;[I"Satoshi Nakagawa;To;;;;[o;;0;[o;
;[I"patches for util.c;T@
o;
;[I"Narihiro Nakamura (nari);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"a.k.a. authorNari;To;;0;[o;
;[I"working at GC;T@
o;
;[I"NAKAMURA, Hiroshi (nahi);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"He is the maintainer of:;To;;;;[
o;;0;[o;
;[I"csv.rb (1.8);To;;0;[o;
;[I"logger.rb;To;;0;[o;
;[I"soap/* (1.8);To;;0;[o;
;[I"wsdl/* (1.8);To;;0;[o;
;[I"xsd/* (1.8);T@
o;
;[I"NAKAMURA, Usaku (usa);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"a.k.a. unak;To;;0;[o;
;[I"9He is the maintainer of mswin32 and mswin64 support.;T@
o;
;[I"NARUSE, Yui (naruse);To;;;;[	o;;0;[o;
;[I"committer;To;;0;[o;
;[I"a.k.a. "nurse";To;;0;[o;
;[I"Did much upon m17n.;To;;0;[o;
;[I"He is the maintainer of:;To;;;;[o;;0;[o;
;[I"	json;To;;0;[o;
;[I"nkf;T@
o;
;[I"Christian Neukirchen;To;;;;[o;;0;[o;
;[I""a patch for webrick/httputils;T@
o;
;[I"Michael Neumann (mneumann);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"He is the maintainer of;To;;;;[o;;0;[o;
;[I"xmlrpc (1.8);To;;0;[o;
;[I"gserver (1.8);T@
o;
;[I"NISHIO Hirokazu;To;;;;[o;;0;[o;
;[I"$wrote a patch for CVE-2010-0541;T@
o;
;[I"Kazuhiro NISHIYAMA (kazu);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"a.k.a. znz;T@
o;
;[I"Go Noguchi;T@
o;
;[I"Martin Nordholts;To;;;;[o;;0;[o;
;[I"misc/rdebug.el;T@
o;
;[I"nmu;To;;;;[o;;0;[o;
;[I"a patch for socket;T@
S;	;
i;I"O;T@
o;
;[I"
okkez;To;;;;[o;;0;[o;
;[I"@He is a sysop of the Ruby Reference Manual Renewal Project.;To;;0;[o;
;[I"fixed ipaddr.rb, ext/etc;T@
o;
;[I"Haruhiko Okumura;To;;;;[o;;0;[o;
;[I",some of missing/* is based on his book:;To;;;;[o;;0;[o;
;[I"missing/erf.c;To;;0;[o;
;[I"missing/lgamma_r.c;To;;0;[o;
;[I"missing/tgamma.c;T@
o;
;[I"OMAE, jun;To;;;;[o;;0;[o;
;[I"a patch for debug.rb;T@
o;
;[I"Eugene Ossintsev;To;;;;[o;;0;[o;
;[I"documentation;T@
S;	;
i;I"P;T@
o;
;[I"Heesob Park;To;;;;[o;;0;[o;
;[I"a patch for win32/win32.c.;T@
o;
;[I"
pegacorn;To;;;;[o;;0;[o;
;[I"a patch for instruby.rb;T@
S;	;
i;I"Q;T@
S;	;
i;I"R;T@
o;
;[I"Gaston Ramos;To;;;;[o;;0;[o;
;[I"documentation;T@
o;
;[I"0The Regents of the University of California;To;;;;[o;;0;[o;
;[I"missing/crypt.c;To;;0;[o;
;[I"missing/vsnprintf.c;T@
o;
;[I"Sam Roberts;To;;;;[o;;0;[o;
;[I"patch for socket;To;;0;[o;
;[I"documentation;T@
o;
;[I"Michal Rokos (michal);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I",He was the maintainer of DJGPP support.;T@
o;
;[I"rubikitch;To;;;;[o;;0;[o;
;[I"a patch for io.c;T@
o;
;[I"Marcus Rueckert;To;;;;[o;;0;[o;
;[I"a patch for mkconfig.rb.;T@
o;
;[I"Run Paint Run Run;To;;;;[o;;0;[o;
;[I"patch for enc/unicode.c;To;;0;[o;
;[I"documentation;T@
o;
;[I"Sean Russell (ser);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"-He wrote and is the maintainer of REXML.;T@
S;	;
i;I"S;T@
o;
;[I"Kazuo Saito (ksaito);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"	M17N;T@
o;
;[I"Tadashi Saito;To;;;;[o;;0;[o;
;[I"=patches for test/ruby/test_math.rb, thread_*.c, bignum.c;To;;0;[o;
;[I"working upon BigDecimal.;To;;0;[o;
;[I" did much upon documentation;T@
o;
;[I"Masahiro Sakai;To;;;;[o;;0;[o;
;[I"a patch for io.c;T@
o;
;[I"Laurent Sansonetti;To;;;;[o;;0;[o;
;[I"a patch for tool/ytab.sed;T@
o;
;[I"Jeff Saracco;To;;;;[o;;0;[o;
;[I"documentation;T@
o;
;[I"Koichi Sasada (ko1);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"He wrote YARV.;T@
o;
;[I"Hugh Sasse;To;;;;[o;;0;[o;
;[I"a patch for net/http;To;;0;[o;
;[I"documentation;T@
o;
;[I"Charlie Savage;To;;;;[o;;0;[o;
;[I"#a patch for win32/Makefile.sub;T@
o;
;[I"Michael Scholz;To;;;;[o;;0;[o;
;[I"a patch for ruby-mode.el;T@
o;
;[I"Arthur Schreiber;To;;;;[o;;0;[o;
;[I"!patch for net/http and rdoc.;T@
o;
;[I"Masatoshi SEKI (seki);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"'He wrote and is the maintainer of:;To;;;;[o;;0;[o;
;[I"
drb/*;To;;0;[o;
;[I"erb;To;;0;[o;
;[I"
rinda;T@
o;
;[I"Roman Shterenzon;To;;;;[o;;0;[o;
;[I"a patch for open-uri.;T@
o;
;[I"Kent Sibilev;T@
o;
;[I"Gavin Sinclair (gsinclair);To;;;;[o;;0;[o;
;[I"committer;T@
o;
;[I"John W. Small;To;;;;[o;;0;[o;
;[I"He wrote gserver.rb;T@
o;
;[I"Yuki Sonoda (yugui);To;;;;[	o;;0;[o;
;[I"committer;To;;0;[o;
;[I"ZShe is the maintainer of man/* manual pages and is the release manager of 1.9 series.;To;;0;[o;
;[I"She wrote prime.rb.;To;;0;[o;
;[I"6A developer and a sysop of redmine.ruby-lang.org.;T@
o;
;[I"SOUMA, Yutaka;To;;;;[o;;0;[o;
;[I"a patch for pack.c.;T@
o;
;[I"Tatsuki Sugiura;To;;;;[o;;0;[o;
;[I" WebDAV support for net/http;T@
o;
;[I"Masaki Suketa (suke);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"%He is the maintainer of win32ole;T@
o;
;[I"
sheepman;To;;;;[o;;0;[o;
;[I"Fpatches for ruby.c, thread.c, stringio, enum.c, webrick, net/http;T@
o;
;[I"Siena. (siena);To;;;;[o;;0;[o;
;[I"committer;T@
o;
;[I"Kirill A. Shutemov;To;;;;[o;;0;[o;
;[I"a patch for parse.y;T@
o;
;[I"Darren Smith;To;;;;[o;;0;[o;
;[I" a patch for golf_prelude.rb;T@
o;
;[I"Richard M. Stallman;To;;;;[o;;0;[o;
;[I"missing/alloca.c;T@
o;
;[I"Robin Stocker;To;;;;[o;;0;[o;
;[I"documentation;T@
o;
;[I"Joshua Stowers;To;;;;[o;;0;[o;
;[I"a patch for array.c;T@
o;
;[I"!Marcus Stollsteimer (stomar);To;;;;[	o;;0;[o;
;[I"committer;To;;0;[o;
;[I"&a maintainer of www.ruby-lang.org;To;;0;[o;
;[I"_patches for cgi (HTML5 tag maker), numeric.c, bigdecimal, ostruct.rb, prime.rb, and others;To;;0;[o;
;[I"documentation;T@
o;
;[I"Adam Strzelecki;To;;;;[o;;0;[o;
;[I"a patch for compile.c;T@
o;
;[I"Masashi Sumi;To;;;;[o;;0;[o;
;[I"improved net/pop.rb;T@
o;
;[I"Eric Sunshine;To;;;;[o;;0;[o;
;[I"$NeXT OpenStep, Rhapsody support;T@
o;
;[I"Kouhei Sutou (kou);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I",He wrote and is the maintainer of rss/*;T@
o;
;[I"David Symonds;To;;;;[o;;0;[o;
;[I"documentation;T@
S;	;
i;I"T;T@
o;
;[I" TAKANO Mitsuhiro (takano32);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"+He is the maintainer of IA-64 support.;To;;0;[o;
;[I"BigDecimal;T@
o;
;[I"TAKAO, Kouji (kouji);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"&He is the maintainer of readline.;T@
o;
;[I"!Nathaniel Talbott (ntalbott);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"9He was the maintainer of test/unit, runit, rubyunit.;T@
o;
;[I"TANAKA, Akira (akr);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"Did much upon m17n.;To;;0;[o;
;[I"!And he is the maintainer of:;To;;;;[o;;0;[o;
;[I"
open-uri;To;;0;[o;
;[I"
pathname;To;;0;[o;
;[I"pp;To;;0;[o;
;[I"resolv-replace;To;;0;[o;
;[I"resolv;To;;0;[o;
;[I"	time;To;;0;[o;
;[I"
tsort;T@
o;
;[I"Takaaki Tateishi (ttate);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I" He was the maintainer of dl;T@
o;
;[I"!Technorama Ltd. (technoroma);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"openssl;T@
o;
;[I"Andrew Thompson;To;;;;[o;;0;[o;
;[I"'a patch for socket.c IRIX support.;T@
o;
;[I"Dave Thomas (dave);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"%a.k.a. the Pragmatic Programmer.;To;;0;[o;
;[I"He wrote rdoc.;T@
o;
;[I"Tietew;To;;;;[o;;0;[o;
;[I"patches for win32 support;T@
o;
;[I"Masahiro Tomita;To;;;;[o;;0;[o;
;[I"a patch for cgi.rb;T@
o;
;[I"Jakub Travnik;To;;;;[o;;0;[o;
;[I"a patch for eval.c;T@
o;
;[I"Tom Truscott;To;;;;[o;;0;[o;
;[I"missing/crypt.c;T@
S;	;
i;I"U;T@
o;
;[I"UEDA, Satoshi;To;;;;[o;;0;[o;
;[I"a patch for uri;T@
o;
;[I"Takaaki Uematsu (uema2);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I",He was the maintainer of WinCE support.;T@
o;
;[I"UENO, Katsuhiro (katsu);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"!He is the maintainer of zlib;T@
o;
;[I"Hajimu UMEMOTO;To;;;;[o;;0;[o;
;[I"He wrote ipaddr.rb;T@
o;
;[I"URABE, Shyouhei (shyouhei);To;;;;[	o;;0;[o;
;[I"committer;To;;0;[o;
;[I"a.k.a. mput.;To;;0;[o;
;[I"=He is the branch maintainer of ruby_1_8_6 and ruby_1_8_7;To;;0;[o;
;[I".and is the release manager of 1.8.x-pXXX.;T@
S;	;
i;I"V;T@
o;
;[I"Joel VanderWerf;To;;;;[o;;0;[o;
;[I"a patch for numeric.c;T@
o;
;[I"Peter Vanbroekhoven;T@
o;
;[I"Corinna Vinschen;T@
S;	;
i;I"W;T@
o;
;[I"wanabe (wanabe);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"fixed YARV and Oniguruma.;T@
o;
;[I"Chun Wang;To;;;;[o;;0;[o;
;[I"a patch for time.rb;T@
o;
;[I"WATANABE, Hirofumi (eban);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"He is the maintainer of;To;;;;[	o;;0;[o;
;[I"ftools (1.8);To;;0;[o;
;[I"tmpdir;To;;0;[o;
;[I"un;To;;0;[o;
;[I"
Win32API;T@
o;
;[I"WATANABE, Tetsuya;To;;;;[o;;0;[o;
;[I"a patch for ruby.c;T@
o;
;[I"William Webber (wew);To;;;;[o;;0;[o;
;[I"committer;T@
o;
;[I"Jim Weirich (jim);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"He wrote Rake.;T@
o;
;[I"Nathan Weizenbaum;To;;;;[o;;0;[o;
;[I"fixed misc/ruby-mode.el.;T@
o;
;[I"why the lukky stiff (why);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"!He is the maintainer of syck;T@
o;
;[I"Caley Woods;To;;;;[o;;0;[o;
;[I"documentation;T@
o;
;[I"Gary Wright;To;;;;[o;;0;[o;
;[I"documentation;T@
S;	;
i;I"X;T@
S;	;
i;I"Y;T@
o;
;[I"Akira Yamada (akira);To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I"EHe is the maintainer of ruby related packages at Debian project.;T@
o;
;[I"Keita Yamaguchi;To;;;;[o;;0;[o;
;[I" patches for enum.c, parse.y;To;;0;[o;
;[I"documentation;T@
o;
;[I"Hirokazu Yamamoto (ocean);To;;;;[o;;0;[o;
;[I"committer;T@
o;
;[I"Hirotaka Yoshioka;To;;;;[o;;0;[o;
;[I"(a patch for improving SEGV handling;T@
S;	;
i;I"Z;T@
o;
;[I"Aristarkh A Zagorodnikov;To;;;;[o;;0;[o;
;[I"a patch for io.c;T@
o;
;[I"Alexander Zavorine;To;;;;[o;;0;[o;
;[I"committer;To;;0;[o;
;[I")He is the maintainer for Symbian OS.;T@
o;
;[I"Chiyuan Zhang;To;;;;[o;;0;[o;
;[I"#a patch for misc/ruby-mode.el.;T@
o;
;[I"Dee Zsombor (zunda);To;;;;[o;;0;[o;
;[I"!a patch for thread_pthread.c;T@
o;
;[I"Dan Zwell;To;;;;[o;;0;[o;
;[I"a patch for net/pop;T:
@file@:0@omit_headings_from_table_of_contents_below0U:RDoc::AnyMethod[iI"
owner:ETI"UnboundMethod#owner;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Returns the class or module that defines the method.;T:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"&meth.owner    -> class_or_module
;T0[I"();T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"source_location:ETI""UnboundMethod#source_location;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MReturns the Ruby source filename and line number containing this method ;TI"Aor nil if this method was not defined in Ruby (i.e. native).;T:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"0meth.source_location  -> [String, Integer]
;T0[I"();T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"UnboundMethod#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Returns the name of the underlying method.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"A"cat".method(:count).inspect   #=> "#<Method: String#count>";T:@format0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"meth.inspect   ->  string;T0[I"();T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	eql?:ETI"UnboundMethod#eql?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Two method objects are equal if they are bound to the same ;TI"Mobject and refer to the same method definition and their owners are the ;TI"same class or module.;T:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I",meth.eql?(other_meth)  -> true or false;T0[I"	(p1);T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
arity:ETI"UnboundMethod#arity;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"DReturns an indication of the number of arguments accepted by a ;TI"Imethod. Returns a nonnegative integer for methods that take a fixed ;TI"Jnumber of arguments. For Ruby methods that take a variable number of ;TI"Karguments, returns -n-1, where n is the number of required arguments. ;TI"KKeyword arguments will be considered as a single additional argument, ;TI"Ithat argument being mandatory if any keyword argument is mandatory. ;TI">For methods written in C, returns -1 if the call takes a ;TI""variable number of arguments.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[!I"
class C
;TI"  def one;    end
;TI"  def two(a); end
;TI"  def three(*a);  end
;TI"  def four(a, b); end
;TI""  def five(a, b, *c);    end
;TI""  def six(a, b, *c, &d); end
;TI"!  def seven(a, b, x:0); end
;TI"  def eight(x:, y:); end
;TI""  def nine(x:, y:, **z); end
;TI"   def ten(*a, x:, y:); end
;TI"	end
;TI"c = C.new
;TI"$c.method(:one).arity     #=> 0
;TI"$c.method(:two).arity     #=> 1
;TI"%c.method(:three).arity   #=> -1
;TI"$c.method(:four).arity    #=> 2
;TI"%c.method(:five).arity    #=> -3
;TI"%c.method(:six).arity     #=> -3
;TI"%c.method(:seven).arity   #=> -3
;TI"$c.method(:eight).arity   #=> 1
;TI"$c.method(:nine).arity    #=> 1
;TI"%c.method(:ten).arity     #=> -2
;TI"
;TI"*"cat".method(:size).arity      #=> 0
;TI"*"cat".method(:replace).arity   #=> 1
;TI"+"cat".method(:squeeze).arity   #=> -1
;TI"*"cat".method(:count).arity     #=> -1;T:@format0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"meth.arity    -> integer
;T0[I"();T@4FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"super_method:ETI"UnboundMethod#super_method;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MReturns a Method of superclass which would be called when super is used ;TI"0or nil if there is no method on superclass.;T:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I""meth.super_method  -> method
;T0[I"();T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_s:ETI"UnboundMethod#to_s;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Returns the name of the underlying method.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"A"cat".method(:count).inspect   #=> "#<Method: String#count>";T:@format0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"meth.to_s      ->  string;T0[I"();T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	name:ETI"UnboundMethod#name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"$Returns the name of the method.;T:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"meth.name    -> symbol
;T0[I"();T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	bind:ETI"UnboundMethod#bind;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JBind <i>umeth</i> to <i>obj</i>. If <code>Klass</code> was the class ;TI"+from which <i>umeth</i> was obtained, ;TI"3<code>obj.kind_of?(Klass)</code> must be true.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"
class A
;TI"  def test
;TI"/    puts "In test, class = #{self.class}"
;TI"  end
;TI"	end
;TI"class B < A
;TI"	end
;TI"class C < B
;TI"	end
;TI"
;TI"#um = B.instance_method(:test)
;TI"bm = um.bind(C.new)
;TI"
bm.call
;TI"bm = um.bind(B.new)
;TI"
bm.call
;TI"bm = um.bind(A.new)
;TI"
bm.call
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[	I"In test, class = C
;TI"In test, class = B
;TI"Nprog.rb:16:in `bind': bind argument must be an instance of B (TypeError)
;TI" from prog.rb:16;T;
0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"umeth.bind(obj) -> method
;T0[I"	(p1);T@-FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
clone:ETI"UnboundMethod#clone;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"$Returns a clone of this method.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"
class A
;TI"  def foo
;TI"    return "bar"
;TI"  end
;TI"	end
;TI"
;TI"m = A.new.method(:foo)
;TI"m.call # => "bar"
;TI" n = m.clone.call # => "bar";T:@format0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I" method.clone -> new_method
;T0[I"();T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"original_name:ETI" UnboundMethod#original_name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-Returns the original name of the method.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"
class C
;TI"  def foo; end
;TI"  alias bar foo
;TI"	end
;TI"4C.instance_method(:bar).original_name # => :foo;T:@format0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"%meth.original_name    -> symbol
;T0[I"();T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"parameters:ETI"UnboundMethod#parameters;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Returns the parameter information of this method.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"def foo(bar); end
;TI"0method(:foo).parameters #=> [[:req, :bar]]
;TI"
;TI"'def foo(bar, baz, bat, &blk); end
;TI"\method(:foo).parameters #=> [[:req, :bar], [:req, :baz], [:req, :bat], [:block, :blk]]
;TI"
;TI"def foo(bar, *args); end
;TI"@method(:foo).parameters #=> [[:req, :bar], [:rest, :args]]
;TI"
;TI")def foo(bar, baz, *args, &blk); end
;TI"]method(:foo).parameters #=> [[:req, :bar], [:req, :baz], [:rest, :args], [:block, :blk]];T:@format0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"meth.parameters  -> array
;T0[I"();T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"==:ETI"UnboundMethod#==;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Two method objects are equal if they are bound to the same ;TI"Mobject and refer to the same method definition and their owners are the ;TI"same class or module.;T:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I")meth == other_meth  -> true or false;T0[I"	(p1);T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"UnboundMethod:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[
I";Ruby supports two forms of objectified methods. Class ;TI"J<code>Method</code> is used to represent methods that are associated ;TI"Fwith a particular object: these method objects are bound to that ;TI"Eobject. Bound method objects for an object can be created using ;TI" <code>Object#method</code>.;To:RDoc::Markup::BlankLineo;	;[
I"FRuby also supports unbound methods; methods objects that are not ;TI"Iassociated with a particular object. These can be created either by ;TI"?calling <code>Module#instance_method</code> or by calling ;TI"I<code>unbind</code> on a bound method object. The result of both of ;TI"3these is an <code>UnboundMethod</code> object.;T@o;	;[I"CUnbound methods can only be called after they are bound to an ;TI"Bobject. That object must be a kind_of? the method's original ;TI"class.;T@o:RDoc::Markup::Verbatim;[I"class Square
;TI"  def area
;TI"    @side * @side
;TI"  end
;TI"  def initialize(side)
;TI"    @side = side
;TI"  end
;TI"	end
;TI"
;TI"-area_un = Square.instance_method(:area)
;TI"
;TI"s = Square.new(12)
;TI"area = area_un.bind(s)
;TI"area.call   #=> 144
;T:@format0o;	;[I"FUnbound methods are a reference to the method at the time it was ;TI"Fobjectified: subsequent changes to the underlying class will not ;TI"affect the unbound method.;T@o;;[I"class Test
;TI"  def test
;TI"    :original
;TI"  end
;TI"	end
;TI"&um = Test.instance_method(:test)
;TI"class Test
;TI"  def test
;TI"    :modified
;TI"  end
;TI"	end
;TI"t = Test.new
;TI"%t.test            #=> :modified
;TI"$um.bind(t).call   #=> :original;T;0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"==;TI"proc.c;T[I"
arity;T@[[I"	bind;T@[[I"
clone;T@[[I"	eql?;T@[[I"	hash;T@[[I"inspect;T@[[I"	name;T@[[I"original_name;T@[[I"
owner;T@[[I"parameters;T@[[I"source_location;T@[[I"super_method;T@[[I"	to_s;T@[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@F@FcRDoc::TopLevelU:RDoc::AnyMethod[iI"	hash:ETI"UnboundMethod#hash;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Returns a hash value corresponding to the method object.;To:RDoc::Markup::BlankLineo;
;	[I"See also Object#hash.;T:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"meth.hash   -> integer
;T0[I"();T@FI"UnboundMethod;TcRDoc::NormalClass00U:RDoc::GhostMethod[iI"
raise:ETI"Delegator#raise;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LUse __raise__ if your Delegator does not have a object to delegate the ;TI"raise method call.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[[I"__raise__;To;;	[;@;0I";T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"__setobj__:ETI"Delegator#__setobj__;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"QThis method must be overridden by subclasses and change the object delegate ;TI"to _obj_.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(obj);T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"respond_to_missing?:ETI""Delegator#respond_to_missing?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PChecks for a method provided by this the delegate object by forwarding the ;TI"!call through \_\_getobj\_\_.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"(m, include_private);T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::GhostMethod[iI"untrust:ETI"Delegator#untrust;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AUntrust both the object returned by \_\_getobj\_\_ and self.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Delegator:ET@I"BasicObject;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[	I"OThis library provides three different ways to delegate method calls to an ;TI"Lobject.  The easiest to use is SimpleDelegator.  Pass an object to the ;TI"Rconstructor and all methods supported by the object will be delegated.  This ;TI"!object can be changed later.;To:RDoc::Markup::BlankLineo;	;[I"SGoing a step further, the top level DelegateClass method allows you to easily ;TI"Lsetup delegation through class inheritance.  This is considerably more ;TI"Eflexible and thus probably the most common use for this library.;T@o;	;[	I"SFinally, if you need full control over the delegation scheme, you can inherit ;TI"Nfrom the abstract class Delegator and customize as needed.  (If you find ;TI"Pyourself needing this control, have a look at Forwardable which is also in ;TI";the standard library.  It may suit your needs better.);T@o;	;[I"MSimpleDelegator's implementation serves as a nice example of the use of ;TI"Delegator:;T@o:RDoc::Markup::Verbatim;[I"'class SimpleDelegator < Delegator
;TI"  def __getobj__
;TI"I    @delegate_sd_obj # return object we are delegating to, required
;TI"  end
;TI"
;TI"  def __setobj__(obj)
;TI"<    @delegate_sd_obj = obj # change delegation object,
;TI"<                           # a feature we're providing
;TI"  end
;TI"	end
;T:@format0S:RDoc::Markup::Heading:
leveli:	textI"
Notes;T@o;	;[I"8Be advised, RDoc will not detect delegated methods.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[I"new;TI"lib/delegate.rb;T[:protected[[:private[[I"
instance;T[[;[[I"!;T@@[I"!=;T@@[I"==;T@@[I"__getobj__;T@@[I"__raise__;T@@[I"__setobj__;T@@[I"	eql?;T@@[I"freeze;T@@[I"marshal_dump;T@@[I"marshal_load;T@@[I"method_missing;T@@[I"methods;T@@[I"protected_methods;T@@[I"public_methods;T@@[I"
raise;T@@[I"respond_to_missing?;T@@[I"
taint;T@@[I"
trust;T@@[I"untaint;T@@[I"untrust;T@@[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@4@4cRDoc::TopLevelU:RDoc::GhostMethod[iI"untaint:ETI"Delegator#untaint;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AUntaint both the object returned by \_\_getobj\_\_ and self.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"__getobj__:ETI"Delegator#__getobj__;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"OThis method must be overridden by subclasses and should return the object ;TI")method calls are being delegated to.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	eql?:ETI"Delegator#eql?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Returns true if two objects are considered of equal value.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(obj);T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Delegator::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NPass in the _obj_ to delegate method calls to.  All methods supported by ;TI" _obj_ will be delegated to.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(obj);T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::GhostMethod[iI"freeze:ETI"Delegator#freeze;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Freeze both the object returned by \_\_getobj\_\_ and self.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"protected_methods:ETI" Delegator#protected_methods;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns the methods available to this delegate object as the union ;TI";of this object's and \_\_getobj\_\_ protected methods.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"(all=true);T@TI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"marshal_dump:ETI"Delegator#marshal_dump;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ESerialization support for the object returned by \_\_getobj\_\_.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::GhostMethod[iI"
trust:ETI"Delegator#trust;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Trust both the object returned by \_\_getobj\_\_ and self.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"public_methods:ETI"Delegator#public_methods;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns the methods available to this delegate object as the union ;TI"8of this object's and \_\_getobj\_\_ public methods.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"(all=true);T@TI"Delegator;TcRDoc::NormalClass00U:RDoc::GhostMethod[iI"
taint:ETI"Delegator#taint;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Taint both the object returned by \_\_getobj\_\_ and self.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"methods:ETI"Delegator#methods;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns the methods available to this delegate object as the union ;TI"1of this object's and \_\_getobj\_\_ methods.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"(all=true);T@TI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"==:ETI"Delegator#==;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Returns true if two objects are considered of equal value.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(obj);T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::GhostMethod[iI"__raise__:ETI"Delegator#__raise__;T0:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I";T@FI"Delegator;TcRDoc::NormalClass0[@FI"
raise;TU:RDoc::AnyMethod[iI"method_missing:ETI"Delegator#method_missing;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Handles the magic of delegation through \_\_getobj\_\_.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"(m, *args, &block);T@TI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"marshal_load:ETI"Delegator#marshal_load;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Reinitializes delegation from a serialized object.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"(data);T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"!:ETI"Delegator#!;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&Delegates ! to the \_\_getobj\_\_;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"!=:ETI"Delegator#!=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns true if two objects are not considered of equal value.;T:
@fileI"lib/delegate.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(obj);T@FI"Delegator;TcRDoc::NormalClass00U:RDoc::TopLevel[	iI"NEWS-2.3.0:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[(S:RDoc::Markup::Heading:
leveli:	textI"NEWS for Ruby 2.3.0;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"JThis document is a list of user visible feature changes made between ;TI"#releases except for bug fixes.;T@
o;
;[	I"DNote that each entry is kept so brief that no reason behind or ;TI"Ireference information is supplied with.  For a full list of changes ;TI"Hwith all sufficient information, see the ChangeLog file or Redmine ;TI"M(e.g. <tt>https://bugs.ruby-lang.org/issues/$FEATURE_OR_BUG_NUMBER</tt>);T@
S;	;
i;I"$Changes since the 2.2.0 release;T@
S;	;
i;I"Language changes;T@
o:RDoc::Markup::List:
@type:BULLET:@items[	o:RDoc::Markup::ListItem:@label0;[o;
;[I""frozen-string-literal pragma:;T@
o;;;;[o;;0;[o;
;[I"Jnew pragma, frozen-string-literal has been experimentally introduced.;To;;:
LABEL;[o;;[I"Feature #8976;T;[@
o;;0;[o;
;[I"Ibesides, --enable/--disable=frozen-string-literal options also have ;TI"%been introduced. [Feature #8976];To;;0;[o;
;[I"Jcommand line options --debug or --debug=frozen-string-literal enable ;TI"Kadditional debugging mode which shows created location with at frozen ;TI"!object error (RuntimeError).;To;;;;[o;;[I"Feature #11725;T;[@
o;;0;[o;
;[I"safe navigation operator:;T@
o;;;;[o;;0;[o;
;[I"Enew method call syntax, `object&.foo', method #foo is called on ;TI" `object' if it is not nil. ;TI"9this is similar to `try!' in Active Support, except:;To;;;;[o;;0;[o;
;[I"*method name is syntactically required;To:RDoc::Markup::Verbatim;[I"obj.try! {} # valid
;TI" obj&. {}    # syntax error
;T:@format0o;;0;[o;
;[I"4arguments are evaluated only if a call is made:;To;;[I"8obj.try!(:foo, bar())  # bar() is always evaluated
;TI"?obj&.foo(bar())        # bar() is conditionally evaluated
;T;0o;;0;[o;
;[I""attribute assignment is valid;To;;[I"obj&.attr += 1
;T;0o;;;;[o;;[I"Feature #11537;T;[@
o;;0;[o;
;[I"the did_you_mean gem:;T@
o;;;;[o;;0;[o;
;[I"MWhen a NameError or NoMethodError occurs because of a typo in the name, ;TI"Lthe did_you_mean gem automatically suggests other names similar to the ;TI"method name.;T@
o;;[I""Yuki".starts_with?("Y")
;TI"K# => NoMethodError: undefined method `starts_with?' for "Yuki":String
;TI"%#    Did you mean?  start_with?
;T;0o;;0;[o;
;[I"indented here document:;T@
o;;;;[o;;0;[o;
;[I":new string literal, here document starts with `<<~`. ;TI"5refer doc/syntax/literals.rdoc for more details.;To;;;;[o;;[I"Feature #9098;T;[@
S;	;
i;I"1Core classes updates (outstanding ones only);T@
o;;;;[o;;0;[o;
;[I"	ARGF;T@
o;;;;[o;;0;[o;
;[I"JARGF.read_nonblock supports `exception: false' like IO#read_nonblock.;To;;;;[o;;[I"Feature #11358;T;[@
o;;0;[o;
;[I"
Array;T@
o;;;;[o;;0;[o;
;[I")Array#bsearch_index [Feature #10730];To;;0;[o;
;[I"Array#dig [Feature #11643];T@
o;;0;[o;
;[I"Comparable;T@
o;;;;[o;;0;[o;
;[I"?Comparable#== no longer rescues exceptions [Feature #7688];T@
o;;0;[o;
;[I"
Encoding;T@
o;;;;[o;;0;[o;
;[I"5new Encoding::IBM037 (alias ebcdic-cp-us; dummy);T@
o;;0;[o;
;[I"Enumerable;T@
o;;;;[o;;0;[o;
;[I"FEnumerable#grep_v is added as inverse version of Enumerable#grep.;To;;;;[o;;[I"Feature #11049;T;[@
o;;0;[o;
;[I",Enumerable#chunk_while [Feature #10769];T@
o;;0;[o;
;[I"Enumerator::Lazy;T@
o;;;;[o;;0;[o;
;[I"-Enumerator::Lazy#grep_v [Feature #11773];T@
o;;0;[o;
;[I"	File;T@
o;;;;[o;;0;[o;
;[I"!File.mkfifo [Feature #11536];To;;0;[o;
;[I"1Add File::TMPFILE corresponding to O_TMPFILE;T@
o;;0;[o;
;[I"	Hash;T@
o;;;;[	o;;0;[o;
;[I"'Hash#fetch_values [Feature #10017];To;;0;[o;
;[I"Hash#dig [Feature #11643];To;;0;[o;
;[I"6Hash#<=, Hash#<, Hash#>=, Hash#> [Feature #10984];To;;0;[o;
;[I""Hash#to_proc [Feature #11653];T@
o;;0;[o;
;[I"IO;T@
o;;;;[o;;0;[o;
;[I"4new mode flag File::SHARE_DELETE is available. ;TI"Nthis flag means to permit deleting opened file on Windows, but currently ;TI"?this affect only files opened as binary.  [Feature #11218];T@
o;;0;[o;
;[I",new option parameter `flags' is added. ;TI"Pthis parameter is bitwise-ORed to oflags generated by normal mode argument.;To;;;;[o;;[I"Feature #11253;T;[@
o;;0;[o;
;[I"DIO#advise no longer raises Errno::ENOSYS in cases where it was ;TI"Kdetected at build time but not available at runtime.  [Feature #11806];T@
o;;0;[o;
;[I"Kernel;T@
o;;;;[o;;0;[o;
;[I"EKernel#loop, when stopped by a StopIteration exception, returns ;TI"Fwhat the enumerator has returned instead of nil. [Feature #11498];T@
o;;0;[o;
;[I"Module;To;;;;[o;;0;[o;
;[I"/Module#deprecate_constant [Feature #11398];T@
o;;0;[o;
;[I"NameError;To;;;;[o;;0;[o;
;[I"NNameError#receiver is added to take the receiver object. [Feature #10881];T@
o;;0;[o;
;[I"Numeric;T@
o;;;;[o;;0;[o;
;[I"ENumeric#positive? and Numeric#negative? are added, which return ;TI"Btrue when the receiver is positive and negative respectively.;To;;;;[o;;[I"Feature #11151;T;[@
o;;0;[o;
;[I"	Proc;T@
o;;;;[o;;0;[o;
;[I";Proc#call (and also #[], #===, #yield) are optimized. ;TI"EBacktrace doesn't show each method (show block lines directly). ;TI":TracePoint also ignores these calls. [Feature #11569];T@
o;;0;[o;
;[I"Queue (Thread::Queue);T@
o;;;;[o;;0;[o;
;[I"CQueue#close is added to notice a termination. [Feature #10600];T@
o;;0;[o;
;[I"?Regexp/String: Updated Unicode version from 7.0.0 to 8.0.0;T@
o;;0;[o;
;[I" RubyVM::InstructionSequence;To;;;;[o;;0;[o;
;[
I"Cadd the following methods as a primitive tool of iseq loader. ;TI"*See sample/iseq_loader.rb for usage. ;TI"DNote that loader does not have verifier so it is easy to cause ;TI">critical problem by loading modified/broken binary data. ;TI"BSee [Feature #11788] for more details. (experimental feature);To;;;;[o;;0;[o;
;[I"<RubyVM::InstructionSequence#to_binary(extra_data = nil);To;;0;[o;
;[I"9RubyVM::InstructionSequence.load_from_binary(binary);To;;0;[o;
;[I"DRubyVM::InstructionSequence.load_from_binary_extra_data(binary);T@
o;;0;[o;
;[I"String;T@
o;;;;[o;;0;[o;
;[I"EString#+@ and String#-@ are added to get mutable/frozen strings.;To;;;;[o;;[I"Feature #11782;T;[@
o;;0;[o;
;[I"<String.new now accepts new option parameter `encoding'.;To;;;;[o;;[I"Feature #11785;T;[@
o;;0;[o;
;[I"Struct;To;;;;[o;;0;[o;
;[I" Struct#dig [Feature #11688];T@
o;;0;[o;
;[I"Thread;To;;;;[o;;0;[o;
;[I"PThread#name, Thread#name= are added to handle thread names [Feature #11251];T@
S;	;
i;I"DCore classes compatibility issues (excluding feature bug fixes);T@
o;;;;[o;;0;[o;
;[I"
Array;To;;;;[o;;0;[o;
;[I"FArray#select!, Array#keep_if, Array#reject!, and Array#delete_if ;TI"Cno longer changes the receiver array instantly every time the ;TI"'block is called.  [Feature #10714];T@
o;;0;[o;
;[I"DArray#flatten and Array#flatten! no longer try to call #to_ary ;TI"=method on elements beyond the given level.  [Bug #10748];T@
o;;0;[o;
;[I"CArray#inspect doesn't raise error even if its content returns ;TI"Ea string which is not compatible with Encoding.default_external ;TI"*as inspected result. [Feature #11801];T@
o;;0;[o;
;[I"Enumerable;To;;;;[o;;0;[o;
;[I"FEnumerable#chunk and Enumerable#slice_before no longer takes the ;TI"/initial_state argument.  [Feature #10958] ;TI"6Use a local variable instead to maintain a state.;T@
o;;0;[o;
;[I"File::Stat;To;;;;[o;;0;[o;
;[I"BOn Windows File::Stat#ino always returned 0, but now returns ;TI"EBY_HANDLE_FILE_INFORMATION.nFileIndexHigh/Low.  [Feature #11216];T@
o;;0;[o;
;[I"	Hash;To;;;;[o;;0;[o;
;[I"BHash#inspect doesn't raise error even if its content returns ;TI"Ea string which is not compatible with Encoding.default_external ;TI"*as inspected result. [Feature #11801];T@
o;;0;[o;
;[I"IO;To;;;;[o;;0;[o;
;[I"KIO#close doesn't raise when the IO object is closed.  [Feature #10718];To;;0;[o;
;[I"CIO#each_codepoint raises an exception at incomplete character ;TI":before EOF when conversion takes place.  [Bug #11444];T@
o;;0;[o;
;[I"Module;To;;;;[o;;0;[o;
;[I"AModule#define_method and Object.define_singleton_method now ;TI">require method body, Proc, Method, or a block, and raise ;TI"?ArgumentError if no block is given directly.  [Bug #11283];T@
o;;0;[o;
;[I"pack/unpack (Array/String);To;;;;[o;;0;[o;
;[I"Ij and J directives for pointer width integer type.  [Feature #11215];T@
S;	;
i;I"+Stdlib updates (outstanding ones only);T@
o;;;;[o;;0;[o;
;[I"Logger;T@
o;;;;[o;;0;[o;
;[I"PLogger#level= now supports symbol and string levels such as :debug, :info, ;TI">:warn, :error, :fatal (case insensitive) [Feature #11695];To;;0;[o;
;[I"DLogger#reopen is added to reopen a log device. [Feature #11696];T@
o;;0;[o;
;[I"io/wait;To;;;;[o;;0;[o;
;[I"DIO#wait_readable no longer checks FIONREAD, it may be used for ;TI".non-bytestream IO such as listen sockets.;T@
o;;0;[o;
;[I"
Net::FTP;To;;;;[o;;0;[o;
;[I"Net::FTP#mlst is added.;To;;0;[o;
;[I"Net::FTP#mlsd is added.;T@
o;;0;[o;
;[I"nkf;To;;;;[o;;0;[o;
;[I"Merge nkf 2.1.4.;T@
o;;0;[o;
;[I"ObjectSpace (objspace);To;;;;[	o;;0;[o;
;[I"(ObjectSpace.count_symbols is added.;To;;0;[o;
;[I".ObjectSpace.count_imemo_objects is added.;To;;0;[o;
;[I",ObjectSpace.internal_class_of is added.;To;;0;[o;
;[I",ObjectSpace.internal_super_of is added.;T@
o;;0;[o;
;[I"OpenSSL;To;;;;[o;;0;[o;
;[I"1OpenSSL::SSL::SSLSocket#accept_nonblock and ;TI"JOpenSSL::SSL::SSLSocket#connect_nonblock supports `exception: false`.;To;;;;[o;;[I"Feature #10532;T;[@
o;;0;[o;
;[I"
Pathname;To;;;;[o;;0;[o;
;[I"CPathname#descend and Pathname#ascend supported blockless form.;To;;;;[o;;[I"Feature #11052;T;[@
o;;0;[o;
;[I"Socket;To;;;;[o;;0;[o;
;[I"6Socket#connect_nonblock, Socket#accept_nonblock, ;TI"<TCPServer#accept_nonblock, UNIXServer#accept_nonblock, ;TI">BasicSocket#recv_nonblock, BasicSocket#recvmsg_nonblock, ;TI"KBasicSocket#sendmsg_nonblock all support `exception: false` to return ;TI"A:wait_readable or :wait_writable symbols instead of raising ;TI"4IO::WaitReadable or IO::WaitWritable exceptions;To;;;;[o;;[I"Feature #10532;T;[o;;;;[o;;[I"Feature #11229;T;[@
o;;0;[o;
;[I"DBasicSocket#recv and BasicSocket#recv_nonblock allow an output ;TI"HString buffer argument like IO#read and IO#read_nonblock to reduce ;TI"!GC overhead [Feature #11242];T@
o;;0;[o;
;[I"
StringIO;To;;;;[o;;0;[o;
;[I"JIn read-only mode, StringIO#set_encoding no longer sets the encoding ;TI"Hof its buffer string.  Setting the encoding of the string directly ;TI"Hwithout StringIO#set_encoding may cause unpredictable behavior now.;To;;;;[o;;[I"Bug #11827;T;[@
o;;0;[o;
;[I"timeout;To;;;;[o;;0;[o;
;[I"<Object#timeout is now warned as deprecated when called.;T@
S;	;
i;I">Stdlib compatibility issues (excluding feature bug fixes);T@
o;;;;[o;;0;[o;
;[I"ext/coverage/coverage.c;To;;;;[o;;0;[o;
;[I"OCoverage.peek_result: new method to allow coverage to be captured without ;TI"2stopping the coverage tool.  [Feature #10816];T@
o;;0;[o;
;[I"Fiddle;To;;;;[o;;0;[o;
;[I">Fiddle::Function#call releases the GVL.  [Feature #11607];T@
o;;0;[o;
;[I"io-console;To;;;;[o;;0;[o;
;[I"HUpdate to io-console 0.4.5, and change the license to BSD 2-clause ;TI""Simplified" License.;T@
o;;0;[o;
;[I"lib/base64.rb;To;;;;[o;;0;[o;
;[I"CBase64.urlsafe_encode64: added a "padding" option to suppress ;TI"3the padding character ("=").  [Feature #10740];To;;0;[o;
;[I"GBase64.urlsafe_decode64: now it accepts not only correctly-padded ;TI"5input but also unpadded input.  [Feature #10740];T@
o;;0;[o;
;[I"lib/drb/drb.rb;To;;;;[o;;0;[o;
;[I"Cremoved unused argument. https://github.com/ruby/ruby/pull/515;T@
o;;0;[o;
;[I"lib/matrix.rb;To;;;;[o;;0;[o;
;[I"<Add Vector#round. https://github.com/ruby/ruby/pull/802;T@
o;;0;[o;
;[I"lib/webrick/utils.rb;To;;;;[o;;0;[o;
;[I"Cremoved unused argument. https://github.com/ruby/ruby/pull/356;T@
o;;0;[o;
;[I"
Net::FTP;To;;;;[o;;0;[o;
;[I"LConnections are in passive mode per default now.  The default mode can ;TI"?be changed by Net::FTP.default_passive=.  [Feature #11612];T@
o;;0;[o;
;[I"Net::HTTP;To;;;;[o;;0;[o;
;[I"Adefault value of Net::HTTP#open_timeout is now 60 (was nil).;T@
o;;0;[o;
;[I"Net::Telnet;To;;;;[o;;0;[o;
;[I"FNet::Telnet is extracted to net-telnet gem. It's unmaintain code.;To;;;;[o;;[I"Feature #11083;T;[@
o;;0;[o;
;[I"
Psych;To;;;;[o;;0;[o;
;[I"Updated to Psych 2.0.17;T@
o;;0;[o;
;[I"	Rake;To;;;;[o;;0;[o;
;[I"3Rake is removed from stdlib.  [Feature #11025];T@
o;;0;[o;
;[I"	RDoc;To;;;;[o;;0;[	o;
;[I"8Updated to RDoc 4.2.1.  For full release notes see:;T@
o;
;[I"Jhttps://github.com/rdoc/rdoc/blob/master/History.rdoc#421--2015-12-22;T@
o;;0;[o;
;[I"
RubyGems;To;;;;[o;;0;[	o;
;[I"<Updated to RubyGems 2.5.1.  For full release notes see:;T@
o;
;[I"Thttp://docs.seattlerb.org/rubygems/History_txt.html#label-2.5.0+-2F+2015-11-03 ;TI"	and ;TI"Shttp://docs.seattlerb.org/rubygems/History_txt.html#label-2.5.1+-2F+2015-12-10;T@
S;	;
i;I"3Built-in global variables compatibility issues;T@
o;;;;[o;;0;[o;
;[I"
$SAFE;To;;;;[o;;0;[o;
;[I"H$SAFE=2 and $SAFE=3 are obsolete.  If $SAFE is set to 2 or larger, ;TI"1an ArgumentError is raised.  [Feature #5455];T@
S;	;
i;I"C API updates;T@
o;;;;[
o;;0;[o;
;[I"Jrb_define_class_id_under() now raises a TypeError exception when the ;TI"Jclass is already defined but its superclass does not match the given ;TI"6superclass, as well as definitions in ruby level.;T@
o;;0;[o;
;[I"Mrb_timespec_now() is added to fetch current datetime as struct timespec.;To;;;;[o;;[I"Feature #11558;T;[@
o;;0;[o;
;[I"Irb_time_timespec_new() is added to create a time object with epoch, ;TI"Knanosecond, and UTC/localtime/time offset arguments.  [Feature #11558];T@
o;;0;[o;
;[I"Jrb_autoload() deprecated, use rb_funcall() instead.  [Feature #11664];T@
o;;0;[o;
;[I"Krb_compile_error_with_enc(), rb_compile_error(), and rb_compile_bug() ;TI"Ideprecated.  these functions are exposed but only for internal use. ;TI",external libraries should not use them.;T@
S;	;
i;I"Supported platform changes;T@
o;;;;[	o;;0;[o;
;[I" OS/2 is no longer supported;T@
o;;0;[o;
;[I" BeOS is no longer supported;T@
o;;0;[o;
;[I"%Borland-C is no longer supported;T@
o;;0;[o;
;[I"%Haiku now stable and best effort;T@
S;	;
i;I" Implementation improvements;T@
o;;;;[o;;0;[o;
;[I"?Optimize Proc#call to eliminate method frame construction.;To;;;;[o;;[I"Feature #11569;T;[@
o;;0;[o;
;[I"/Reconsidering method entry data structure.;To;;;;[o;;[I"Bug #11278;T;[@
o;;0;[o;
;[I"EIntroducing new table data structure for ID keys tables used by ;TI"Dmethod table and so on. New table structure is simple and fast ;TI"$than st_table. [Feature #11420];T@
o;;0;[o;
;[I"HMachine code level tuning for object allocation and method calling ;TI"code. r52099, r52254;T@
o;;0;[o;
;[I"DRubyVM::InstructionSequence is extended for future improvement.;To;;;;[o;;[I"Feature #11788;T;[@
o;;0;[o;
;[I"FCase dispatch is now optimized for all special constant literals ;TI"Hincluding nil, true, and false.  Previously, only literal strings, ;TI"Fsymbols, integers and floats compiled to optimized case dispatch.;To;;;;[o;;[I"Feature #11769;T;[@
o;;0;[o;
;[I"BInstance variables on non-pure Ruby classes (T_DATA, T_FILE, ;TI"Detc..) is less expensive to store than before. [Feature #11170];T@
o;;0;[o;
;[I"DAll accesses to members of big Struct objects are performed in ;TI"Econstant-time.  Previously, Struct elements beyond the first 10 ;TI"2elements used a linear scan. [Feature #10585];T@
o;;0;[o;
;[I"(The Set class got several speed up.;To;;;;[o;;[I"Misc #10754], [r52591;T;[@
o;;0;[o;
;[I"(Socket and I/O-related improvements;T@
o;;;;[o;;0;[	o;
;[I"ACalling overhead of most of new keyword-using I/O methods in;To;;;;[o;;[I"Feature #11229;T;[o;
;[I"1is reduced by avoiding the inefficient C API;To;
;[I")to parse keywords.  [Feature #11339];T@
o;;0;[o;
;[	I"9The standard library is updated to use the improved ;TI"<exception-free non-blocking I/O from [Feature #11229]. ;TI"AThis has the additional benefit of quieter $DEBUG output in ;TI"@addition to reducing expensive exceptions. [Feature #11044];T@
o;;0;[o;
;[I"J(Linux-only) waiting on a single FD anywhere in the stdlib no longer ;TI"Juses select(2), making it immune to slowdowns with high-numbered FDs.;To;;;;[o;;[I"Feature #11081;T;[o;;;;[o;;[I"Feature #11377;T;[@
o;;0;[o;
;[I"3CGI.escapeHTML is optimized with C extension. ;TI"+https://github.com/ruby/ruby/pull/1164;T:
@file@:0@omit_headings_from_table_of_contents_below0U:RDoc::NormalModule[iI"ExplicitCleanOther:ETI"#RSS::Utils::ExplicitCleanOther;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"
parse;TI"lib/rss/utils.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Utils;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
parse:ETI")RSS::Utils::ExplicitCleanOther#parse;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value);T@FI"ExplicitCleanOther;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI""get_file_and_line_from_caller:ETI"-RSS::Utils#get_file_and_line_from_caller;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MReturns an array of two elements: the filename where the calling method ;TI"9is located, and the line number where it is defined.;To:RDoc::Markup::BlankLineo;
;	[I"MTakes an optional argument +i+, which specifies how many callers up the ;TI"stack to look.;T@o;
;	[I"Examples:;T@o:RDoc::Markup::Verbatim;	[I"require 'rss/utils'
;TI"
;TI"
def foo
;TI"2  p RSS::Utils.get_file_and_line_from_caller
;TI"5  p RSS::Utils.get_file_and_line_from_caller(1)
;TI"	end
;TI"
;TI"
def bar
;TI"  foo
;TI"	end
;TI"
;TI"
def baz
;TI"  bar
;TI"	end
;TI"
;TI"	baz
;TI"# => ["test.rb", 5]
;TI"# => ["test.rb", 9]
;T:@format0o;
;	[I"NIf +i+ is not given, or is the default value of 0, it attempts to figure ;TI"Dout the correct value. This is useful when in combination with ;TI" instance_eval. For example:;T@o;;	[I"require 'rss/utils'
;TI"
;TI"
def foo
;TI"5  p RSS::Utils.get_file_and_line_from_caller(1)
;TI"	end
;TI"
;TI"
def bar
;TI"  foo
;TI"	end
;TI"
;TI"Finstance_eval <<-RUBY, *RSS::Utils.get_file_and_line_from_caller
;TI"
def baz
;TI"  bar
;TI"	end
;TI"
RUBY
;TI"
;TI"	baz
;TI"
;TI"# => ["test.rb", 8];T;
0:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(i=0);T@EFI"
Utils;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"to_class_name:ETI"RSS::Utils#to_class_name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MGiven a +name+ in a name_with_underscores or a name-with-dashes format, ;TI"-returns the CamelCase version of +name+.;To:RDoc::Markup::BlankLineo;
;	[I":If the +name+ is already CamelCased, nothing happens.;T@o;
;	[I"Examples:;T@o:RDoc::Markup::Verbatim;	[
I"require 'rss/utils'
;TI"
;TI"-RSS::Utils.to_class_name("sample_name")
;TI"# => "SampleName"
;TI"-RSS::Utils.to_class_name("with-dashes")
;TI"# => "WithDashes"
;TI"+RSS::Utils.to_class_name("CamelCase")
;TI"# => "CamelCase";T:@format0:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@ FI"
Utils;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"
Utils:ETI"RSS::Utils;T0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[	I"ORSS::Utils is a module that holds various utility functions that are used ;TI"Oacross many parts of the rest of the RSS library. Like most modules named ;TI"Nsome variant of 'util', its methods are probably not particularly useful ;TI"7to those who aren't developing the library itself.;T:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I""element_initialize_arguments?;TI"lib/rss/utils.rb;T[I""get_file_and_line_from_caller;T@([I"h;T@([I"html_escape;T@([I"new_with_value_if_need;T@([I"to_class_name;T@([;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"
YesOther:ETI"RSS::Utils::YesOther;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"
parse;TI"lib/rss/utils.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Utils;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
parse:ETI"RSS::Utils::YesOther#parse;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value);T@FI"
YesOther;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"h:ETI"RSS::Utils#h;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below000[I"(s);T@FI"
Utils;TcRDoc::NormalModule0[I"RSS::Utils;TFI"html_escape;TU:RDoc::AnyMethod[iI"html_escape:ETI"RSS::Utils#html_escape;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"TTakes a string +s+ with some HTML in it, and escapes '&', '"', '<' and '>', by ;TI"2replacing them with the appropriate entities.;To:RDoc::Markup::BlankLineo;
;	[I"7This method is also aliased to h, for convenience.;T@o;
;	[I"Examples:;T@o:RDoc::Markup::Verbatim;	[I"require 'rss/utils'
;TI"
;TI"2RSS::Utils.html_escape("Dungeons & Dragons")
;TI"## => "Dungeons &amp; Dragons"
;TI"RSS::Utils.h(">_>")
;TI"# => "&gt;_&gt;";T:@format0:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below000[[I"h;To;;	[;@;0I"(s);T@FI"
Utils;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"inherited_hash_reader:ETI"6RSS::Utils::InheritedReader#inherited_hash_reader;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below000[I"(constant_name);T@FI"InheritedReader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"inherited_reader:ETI"1RSS::Utils::InheritedReader#inherited_reader;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below00I"result, const;T[I"(constant_name);T@FI"InheritedReader;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"InheritedReader:ETI" RSS::Utils::InheritedReader;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"inherited_array_reader;TI"lib/rss/utils.rb;T[I"inherited_hash_reader;T@"[I"inherited_reader;T@"[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Utils;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"inherited_array_reader:ETI"7RSS::Utils::InheritedReader#inherited_array_reader;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below000[I"(constant_name);T@FI"InheritedReader;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI""element_initialize_arguments?:ETI"-RSS::Utils#element_initialize_arguments?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JThis method is used inside of several different objects to determine ;TI"6if special behavior is needed in the constructor.;To:RDoc::Markup::BlankLineo;
;	[I"ESpecial behavior is needed if the array passed in as +args+ has ;TI"I+true+ or +false+ as its value, and if the second element of +args+ ;TI"is a hash.;T:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below000[I"(args);T@FI"
Utils;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"new_with_value_if_need:ETI"&RSS::Utils#new_with_value_if_need;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AIf +value+ is an instance of class +klass+, return it, else ;TI"9create a new instance of +klass+ with value +value+.;T:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass, value);T@FI"
Utils;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"CSV:ETI"RSS::Utils::CSV;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"
parse;TI"lib/rss/utils.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Utils;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
parse:ETI"RSS::Utils::CSV#parse;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/utils.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value, &block);T@FI"CSV;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"BaseTrackBackModel:ETI"RSS::BaseTrackBackModel;T0o:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/rss/trackback.rb;TI"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"initialize_variables:ETI"&RSS::Element#initialize_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(attrs);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"must_call_validators:ETI"'RSS::Element::must_call_validators;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_uri:ETI"RSS::Element::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_prefix:ETI""RSS::Element::required_prefix;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"!def_corresponded_attr_writer:ETI"/RSS::Element::def_corresponded_attr_writer;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"$(name, type=nil, disp_name=nil);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::Element::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I""(do_validate=true, attrs=nil);T@FI"Element;TcRDoc::NormalClass00U:RDoc::Attr[iI"parent:ETI"RSS::Element#parent;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::Element;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"tag_name_with_prefix:ETI"&RSS::Element#tag_name_with_prefix;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(prefix);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"content_is_set?:ETI"!RSS::Element#content_is_set?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"RSS::Element#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"need_initialize_variables:ETI",RSS::Element::need_initialize_variables;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"calc_indent:ETI"RSS::Element#calc_indent;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"For backward compatibility;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_content?:ETI" RSS::Element::have_content?;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
children:ETI"RSS::Element#children;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_required_elements?:ETI")RSS::Element#have_required_elements?;TF:protectedo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"install_ns:ETI"RSS::Element::install_ns;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(prefix, uri);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"content_setup:ETI" RSS::Element::content_setup;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(type=nil, disp_name=nil);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"models:ETI"RSS::Element::models;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"plural_forms:ETI"RSS::Element::plural_forms;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tag_filter:ETI"RSS::Element#tag_filter;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tags);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"add_have_children_element:ETI",RSS::Element::add_have_children_element;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"!(variable_name, plural_name);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI" install_must_call_validator:ETI".RSS::Element::install_must_call_validator;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(prefix, uri);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"_validate:ETI"RSS::Element#_validate;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"B(ignore_unknown_element, tags, uri, models=self.class.models);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"need_base64_encode?:ETI"%RSS::Element#need_base64_encode?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"__validate:ETI"RSS::Element#__validate;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"9(ignore_unknown_element, tags=_tags, recursive=true);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"set_next_element:ETI""RSS::Element#set_next_element;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag_name, next_element);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_element_methods:ETI"%RSS::Element::to_element_methods;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"!def_corresponded_attr_reader:ETI"/RSS::Element::def_corresponded_attr_reader;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, type=nil);T@FI"Element;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Element:ETI"RSS::Element;TI"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"do_validate;TI"RW;T:publicFI"lib/rss/rss.rb;T[
I"parent;T@;F@[
U:RDoc::Constant[iI"INDENT;TI"RSS::Element::INDENT;T;0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"MUST_CALL_VALIDATORS;TI"'RSS::Element::MUST_CALL_VALIDATORS;T;0o;;[;	@;
0@@@0U;[iI"MODELS;TI"RSS::Element::MODELS;T;0o;;[;	@;
0@@@0U;[iI"GET_ATTRIBUTES;TI"!RSS::Element::GET_ATTRIBUTES;T;0o;;[;	@;
0@@@0U;[iI"HAVE_CHILDREN_ELEMENTS;TI")RSS::Element::HAVE_CHILDREN_ELEMENTS;T;0o;;[;	@;
0@@@0U;[iI"TO_ELEMENT_METHODS;TI"%RSS::Element::TO_ELEMENT_METHODS;T;0o;;[;	@;
0@@@0U;[iI"NEED_INITIALIZE_VARIABLES;TI",RSS::Element::NEED_INITIALIZE_VARIABLES;T;0o;;[;	@;
0@@@0U;[iI"PLURAL_FORMS;TI"RSS::Element::PLURAL_FORMS;T;0o;;[;	@;
0@@@0[[I"
Utils;To;;[;	@;
0@[I"SetupMaker;To;;[;	@;
0@[[I"
class;T[[;[[I"add_have_children_element;T@[I"!add_need_initialize_variable;T@[I"add_plural_form;T@[I"add_to_element_method;T@[I"content_setup;T@[I"!def_corresponded_attr_reader;T@[I"!def_corresponded_attr_writer;T@[I"get_attributes;T@[I"have_children_elements;T@[I"have_content?;T@[I"inherited;T@[I"inherited_base;T@[I"install_get_attribute;T@[I"install_model;T@[I" install_must_call_validator;T@[I"install_ns;T@[I"models;T@[I"must_call_validators;T@[I"need_initialize_variables;T@[I"need_parent?;T@[I"new;T@[I"plural_forms;T@[I"required_prefix;T@[I"required_uri;T@[I"
tag_name;T@[I"to_element_methods;T@[:protected[[:private[[I"
instance;T[[;[[I"convert;T@[I"converter=;T@[I"full_name;T@[I"have_xml_content?;T@[I"need_base64_encode?;T@[I"set_next_element;T@[I"
tag_name;T@[I"	to_s;T@[I"valid?;T@[I"
validate;T@[I"validate_for_stream;T@[;
[[I"have_required_elements?;T@[;[[I"__validate;T@[I"_attrs;T@[I"
_tags;T@[I"_validate;T@[I"calc_indent;T@[I"
children;T@[I"collect_attrs;T@[I"content_is_set?;T@[I"empty_content?;T@[I"&initialize_have_children_elements;T@[I"initialize_variables;T@[I"make_start_tag;T@[I"tag;T@[I"tag_filter;T@[I"tag_name_with_prefix;T@[I"validate_attribute;T@[I"xmled_content;T@[[I"BaseModel;To;;[;	@;
0@[I"Utils::InheritedReader;To;;[;	@;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"	to_s:ETI"RSS::Element#to_s;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"#(need_convert=true, indent='');T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_xml_content?:ETI"#RSS::Element#have_xml_content?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"!add_need_initialize_variable:ETI"/RSS::Element::add_need_initialize_variable;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(variable_name);T@FI"Element;TcRDoc::NormalClass00U:RDoc::Attr[iI"do_validate:ETI"RSS::Element#do_validate;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::Element;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"have_children_elements:ETI")RSS::Element::have_children_elements;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inherited_base:ETI"!RSS::Element::inherited_base;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"install_get_attribute:ETI"(RSS::Element::install_get_attribute;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"J(name, uri, required=true, type=nil, disp_name=nil, element_name=nil);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"validate_attribute:ETI"$RSS::Element#validate_attribute;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"collect_attrs:ETI"RSS::Element#collect_attrs;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tag:ETI"RSS::Element#tag;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"*(indent, additional_attrs={}, &block);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"make_start_tag:ETI" RSS::Element#make_start_tag;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"!(indent, next_indent, attrs);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inherited:ETI"RSS::Element::inherited;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"validate_for_stream:ETI"%RSS::Element#validate_for_stream;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"((tags, ignore_unknown_element=true);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"converter=:ETI"RSS::Element#converter=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(converter);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"install_model:ETI" RSS::Element::install_model;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"5(tag, uri, occurs=nil, getter=nil, plural=false);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"xmled_content:ETI"RSS::Element#xmled_content;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"_attrs:ETI"RSS::Element#_attrs;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
validate:ETI"RSS::Element#validate;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I""(ignore_unknown_element=true);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
tag_name:ETI"RSS::Element#tag_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
tag_name:ETI"RSS::Element::tag_name;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"get_attributes:ETI"!RSS::Element::get_attributes;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"need_parent?:ETI"RSS::Element::need_parent?;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
_tags:ETI"RSS::Element#_tags;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"convert:ETI"RSS::Element#convert;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"empty_content?:ETI" RSS::Element#empty_content?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"valid?:ETI"RSS::Element#valid?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I""(ignore_unknown_element=true);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"&initialize_have_children_elements:ETI"3RSS::Element#initialize_have_children_elements;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"add_plural_form:ETI""RSS::Element::add_plural_form;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(singular, plural);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"add_to_element_method:ETI"(RSS::Element::add_to_element_method;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(method_name);T@FI"Element;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"MissingTagError:ETI"RSS::MissingTagError;TI"RSS::InvalidRSSError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"KSince RSS is based on XML, it must have opening and closing tags that ;TI"<match. If they don't, a MissingTagError will be raised.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"parent;TI"R;T:publicFI"lib/rss/rss.rb;T[
I"tag;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"RSS::MissingTagError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag, parent);T@TI"MissingTagError;TcRDoc::NormalClass00U:RDoc::Attr[iI"parent:ETI" RSS::MissingTagError#parent;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::MissingTagError;TcRDoc::NormalClass0U:RDoc::Attr[iI"tag:ETI"RSS::MissingTagError#tag;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::MissingTagError;TcRDoc::NormalClass0U:RDoc::NormalModule[iI"
RSS10:ETI"RSS::RSS10;T0o:RDoc::Markup::Document:@parts[o;;[S:RDoc::Markup::Heading:
leveli:	textI"RSS 1.0 support;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"PRSS has three different versions. This module contains support for version ;TI"*1.0[http://web.resource.org/rss/1.0/];T@S;	;
i;I"Producing RSS 1.0;T@o;
;[I"OProducing our own RSS feeds is easy as well. Let's make a very basic feed:;T@o:RDoc::Markup::Verbatim;[I"require "rss"
;TI"
;TI"-rss = RSS::Maker.make("1.0") do |maker|
;TI"%  maker.channel.language = "en"
;TI"%  maker.channel.author = "matz"
;TI".  maker.channel.about = "About my feed."
;TI"-  maker.channel.updated = Time.now.to_s
;TI"I  maker.channel.link = "http://www.ruby-lang.org/en/feeds/news.rss"
;TI",  maker.channel.title = "Example Feed"
;TI"F  maker.channel.description = "A longer description of my feed."
;TI"&  maker.items.new_item do |item|
;TI"`    item.link = "http://www.ruby-lang.org/en/news/2010/12/25/ruby-1-9-2-p136-is-released/"
;TI"4    item.title = "Ruby 1.9.2-p136 is released"
;TI"&    item.updated = Time.now.to_s
;TI"  end
;TI"	end
;TI"
;TI"puts rss
;T:@format0o;
;[I"QAs you can see, this is a very Builder-like DSL. This code will spit out an ;TI"ORSS 1.0 feed with one item. If we needed a second item, we'd make another ;TI"<block with maker.items.new_item and build a second one.;T:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[U:RDoc::Constant[iI"NSPOOL;TI"RSS::RSS10::NSPOOL;T:public0o;;[;@2;0@2@cRDoc::NormalModule0U;[iI"
ELEMENTS;TI"RSS::RSS10::ELEMENTS;T;0o;;[;@2;0@2@@;0[[[I"
class;T[[;[[I"append_features;TI"lib/rss/1.0.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@2I"RSS;T@;U:RDoc::AnyMethod[iI"append_features:ETI" RSS::RSS10::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"
RSS10;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"append_features:ETI"+RSS::SyndicationModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/syndication.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"SyndicationModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"SyndicationModel:ETI"RSS::SyndicationModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/syndication.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
ELEMENTS;TI"$RSS::SyndicationModel::ELEMENTS;T:public0o;;[;	@
;
0@
@cRDoc::NormalModule0U;[iI"%SY_UPDATEPERIOD_AVAILABLE_VALUES;TI"<RSS::SyndicationModel::SY_UPDATEPERIOD_AVAILABLE_VALUES;T;0o;;[;	@
;
0@
@@0[[[I"
class;T[[;[[I"append_features;TI"lib/rss/syndication.rb;T[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[I"BaseModel;To;;[;	@
;
0@&[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;T@U:RDoc::AnyMethod[iI"#def_to_iso_2022_jp_from_euc_jp:ETI"2RSS::Converter#def_to_iso_2022_jp_from_euc_jp;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI" def_to_utf_8_from_shift_jis:ETI"/RSS::Converter#def_to_utf_8_from_shift_jis;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"!def_to_euc_jp_from_shift_jis:ETI"0RSS::Converter#def_to_euc_jp_from_shift_jis;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"#def_to_euc_jp_from_iso_2022_jp:ETI"2RSS::Converter#def_to_euc_jp_from_iso_2022_jp;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::Converter::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"(to_enc, from_enc=nil);T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_else_enc:ETI" RSS::Converter#def_else_enc;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"(to_enc, from_enc);T@FI"Converter;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Converter:ETI"RSS::Converter;TI"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
Utils;To;;[;	@;
0I"lib/rss/converter.rb;T[[I"
class;T[[:public[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[I"convert;T@[I"def_convert;T@[I"def_else_enc;T@[I"def_iconv_convert;T@[I"def_same_enc;T@[I"#def_to_euc_jp_from_iso_2022_jp;T@[I"!def_to_euc_jp_from_shift_jis;T@[I"def_to_euc_jp_from_utf_8;T@[I"#def_to_iso_2022_jp_from_euc_jp;T@[I"!def_to_iso_8859_1_from_utf_8;T@[I"!def_to_shift_jis_from_euc_jp;T@[I" def_to_shift_jis_from_utf_8;T@[I"def_to_utf_8_from_euc_jp;T@[I"!def_to_utf_8_from_iso_8859_1;T@[I" def_to_utf_8_from_shift_jis;T@[I"def_uconv_convert_if_can;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"!def_to_shift_jis_from_euc_jp:ETI"0RSS::Converter#def_to_shift_jis_from_euc_jp;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_to_euc_jp_from_utf_8:ETI",RSS::Converter#def_to_euc_jp_from_utf_8;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_to_utf_8_from_euc_jp:ETI",RSS::Converter#def_to_utf_8_from_euc_jp;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_uconv_convert_if_can:ETI",RSS::Converter#def_uconv_convert_if_can;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"&(meth, to_enc, from_enc, nkf_arg);T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"!def_to_iso_8859_1_from_utf_8:ETI"0RSS::Converter#def_to_iso_8859_1_from_utf_8;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI" def_to_shift_jis_from_utf_8:ETI"/RSS::Converter#def_to_shift_jis_from_utf_8;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_convert:ETI"RSS::Converter#def_convert;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"(depth=0);T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_iconv_convert:ETI"%RSS::Converter#def_iconv_convert;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I" (to_enc, from_enc, depth=0);T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_same_enc:ETI" RSS::Converter#def_same_enc;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"!def_to_utf_8_from_iso_8859_1:ETI"0RSS::Converter#def_to_utf_8_from_iso_8859_1;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"convert:ETI"RSS::Converter#convert;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/converter.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value);T@FI"Converter;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append_features:ETI"-RSS::BaseDublinCoreModel#append_features;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/dublincore.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"BaseDublinCoreModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"BaseDublinCoreModel:ETI"RSS::BaseDublinCoreModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/dublincore.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"append_features;TI"lib/rss/dublincore.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI" raise_for_undefined_entity?:ETI"4RSS::REXMLListener::raise_for_undefined_entity?;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rexmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"REXMLListener;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"REXMLListener:ETI"RSS::REXMLListener;TI"RSS::BaseListener;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/rexmlparser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"REXML::StreamListener;To;;[;	@;
0I"lib/rss/rexmlparser.rb;T[I"ListenerMixin;To;;[;	@;
0@[[I"
class;T[[:public[[I" raise_for_undefined_entity?;T@[:protected[[:private[[I"
instance;T[[;[[I"xmldecl;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"xmldecl:ETI"RSS::REXMLListener#xmldecl;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rexmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"$(version, encoding, standalone);T@TI"REXMLListener;TcRDoc::NormalClass00U:RDoc::NormalModule[iI"ImageModelUtils:ETI"RSS::ImageModelUtils;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"validate_one_tag_name;TI"lib/rss/image.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"validate_one_tag_name:ETI"/RSS::ImageModelUtils#validate_one_tag_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I")(ignore_unknown_element, name, tags);T@FI"ImageModelUtils;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"NotValidXMLParser:ETI"RSS::NotValidXMLParser;TI"
Error;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"lib/rss/parser.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI" RSS::NotValidXMLParser::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(parser);T@TI"NotValidXMLParser;TcRDoc::NormalClass00U:RDoc::NormalModule[iI"TaxonomyTopicModel:ETI"RSS::TaxonomyTopicModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/taxonomy.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[I"BaseModel;To;;[;	@
;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"append_features:ETI"-RSS::TaxonomyTopicModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"TaxonomyTopicModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"required_uri:ETI"9RSS::TaxonomyTopicModel::TaxonomyTopic::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TaxonomyTopic;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_prefix:ETI"<RSS::TaxonomyTopicModel::TaxonomyTopic::required_prefix;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TaxonomyTopic;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"0RSS::TaxonomyTopicModel::TaxonomyTopic::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"TaxonomyTopic;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"5RSS::TaxonomyTopicModel::TaxonomyTopic#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TaxonomyTopic;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI"8RSS::TaxonomyTopicModel::TaxonomyTopic#maker_target;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"TaxonomyTopic;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"TaxonomyTopic:ETI"+RSS::TaxonomyTopicModel::TaxonomyTopic;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS10;To;;[;	@;
0I"lib/rss/taxonomy.rb;T[I"DublinCoreModel;To;;[;	@;
0@[I"TaxonomyTopicsModel;To;;[;	@;
0@[[I"
class;T[[:public[[I"new;T@[I"required_prefix;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[I"maker_target;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::TaxonomyTopicModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"to_uri:ETI"RSS::Parser#to_uri;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Attempt to convert rss to a URI, but just return it if ;TI"there's a ::URI::Error;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Parser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::Parser::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"2(rss, parser_class=self.class.default_parser);T@FI"Parser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
parse:ETI"RSS::Parser::parse;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"V(rss, do_validate=true, ignore_unknown_element=true, parser_class=default_parser);T@FI"Parser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_parser=:ETI"!RSS::Parser::default_parser=;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Set @@default_parser to new_value if it is one of the ;TI";available parsers. Else raise NotValidXMLParser error.;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(new_value);T@FI"Parser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"normalize_rss:ETI"RSS::Parser#normalize_rss;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Try to get the XML associated with +rss+. ;TI"FReturn +rss+ if it already looks like XML, or treat it as a URI, ;TI"or a file to get the XML,;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Parser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maybe_xml?:ETI"RSS::Parser#maybe_xml?;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@maybe_xml? tests if source is a string that looks like XML.;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(source);T@FI"Parser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_parser:ETI" RSS::Parser::default_parser;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Parser;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Parser:ETI"RSS::Parser;TI"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[	[I"default_parser;TI"lib/rss/parser.rb;T[I"default_parser=;T@[I"new;T@[I"
parse;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"maybe_xml?;T@[I"normalize_rss;T@[I"to_uri;T@[[I"Forwardable;To;;[;	@;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"SetupMaker:ETI"RSS::SetupMaker;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"setup_maker;TI"lib/rss/rss.rb;T[;[[;
[
[I"maker_target;T@"[I"+not_need_to_call_setup_maker_variables;T@"[I"setup_maker_attributes;T@"[I"setup_maker_element;T@"[I"setup_maker_elements;T@"[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"setup_maker_element:ETI"(RSS::SetupMaker#setup_maker_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"SetupMaker;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"maker_target:ETI"!RSS::SetupMaker#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"SetupMaker;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"+not_need_to_call_setup_maker_variables:ETI";RSS::SetupMaker#not_need_to_call_setup_maker_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"SetupMaker;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"setup_maker_elements:ETI")RSS::SetupMaker#setup_maker_elements;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(parent);T@FI"SetupMaker;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"setup_maker_attributes:ETI"+RSS::SetupMaker#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"SetupMaker;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"setup_maker:ETI" RSS::SetupMaker#setup_maker;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"SetupMaker;TcRDoc::NormalModule00U:RDoc::Attr[iI"uri:ETI"RSS::XML::Element#uri;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::XML::Element;TcRDoc::NormalClass0U:RDoc::Attr[iI"attributes:ETI"!RSS::XML::Element#attributes;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::XML::Element;TcRDoc::NormalClass0U:RDoc::Attr[iI"prefix:ETI"RSS::XML::Element#prefix;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::XML::Element;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"RSS::XML::Element::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below000[I"<(name, prefix=nil, uri=nil, attributes={}, children=[]);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI" RSS::XML::Element#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::Attr[iI"
children:ETI"RSS::XML::Element#children;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::XML::Element;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"[]:ETI"RSS::XML::Element#[];TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"Element;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Element:ETI"RSS::XML::Element;TI"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[
[
I"attributes;TI"R;T:publicFI"lib/rss/xml.rb;T[
I"
children;T@;F@[
I"	name;T@;F@[
I"prefix;T@;F@[
I"uri;T@;F@[[[I"Enumerable;To;;[;	@;
0@[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[I"<<;T@[I"==;T@[I"[];T@[I"[]=;T@[I"	each;T@[I"full_name;T@[I"	to_s;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"
RSS::XML;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"	to_s:ETI"RSS::XML::Element#to_s;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Element;TcRDoc::NormalClass00U:RDoc::Attr[iI"	name:ETI"RSS::XML::Element#name;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::XML::Element;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"[]=:ETI"RSS::XML::Element#[]=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, value);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	each:ETI"RSS::XML::Element#each;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(&block);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"<<:ETI"RSS::XML::Element#<<;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below000[I"(child);T@FI"Element;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"==:ETI"RSS::XML::Element#==;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below000[I"(other);T@FI"Element;TcRDoc::NormalClass00U:RDoc::NormalModule[iI"XML:ETI"
RSS::XML;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/xml.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"
Error:ETI"RSS::Error;TI"StandardError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"NThe basic error all other RSS errors stem from. Rescue this error if you ;TI"Mwant to handle any given RSS error and you don't care about the details.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"add_maker:ETI"RSS::Maker::add_maker;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Adds a maker to the set of supported makers;T:
@fileI"lib/rss/maker.rb;T:0@omit_headings_from_table_of_contents_below000[I")(version, normalized_version, maker);T@FI"
Maker;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"
Maker:ETI"RSS::Maker;T0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"7Provides a set of builders for various RSS objects;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"
Feeds;To;;;
;[	o;;0;[o;	;[I"
RSS 0.91;To;;0;[o;	;[I"RSS 1.0;To;;0;[o;	;[I"RSS 2.0;To;;0;[o;	;[I"
Atom 1.0;T@o;;0;[o;	;[I"
Elements;To;;;
;[o;;0;[o;	;[I"Atom::Entry;T:
@fileI"lib/rss/maker.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I"lib/rss/maker/0.9.rb;T;0o;;[;I"lib/rss/maker/1.0.rb;T;0o;;[;I"lib/rss/maker/2.0.rb;T;0o;;[;I"lib/rss/maker/atom.rb;T;0o;;[;I"lib/rss/maker/base.rb;T;0o;;[;I"lib/rss/maker/content.rb;T;0o;;[;I" lib/rss/maker/dublincore.rb;T;0o;;[;I"lib/rss/maker/entry.rb;T;0o;;[;I"lib/rss/maker/feed.rb;T;0o;;[;I"lib/rss/maker/image.rb;T;0o;;[;I"lib/rss/maker/itunes.rb;T;0o;;[;I"lib/rss/maker/slash.rb;T;0o;;[;I"!lib/rss/maker/syndication.rb;T;0o;;[;I"lib/rss/maker/taxonomy.rb;T;0o;;[;I"lib/rss/maker/trackback.rb;T;0;0;0[[U:RDoc::Constant[iI"MAKERS;TI"RSS::Maker::MAKERS;T:public0o;;[o;	;[I"#Collection of supported makers;T;@:;0@:@cRDoc::NormalModule0[[[I"
class;T[[;[[I"[];TI"lib/rss/maker.rb;T[I"add_maker;T@}[I"	make;T@}[I"makers;T@}[I"supported?;T@}[I"
versions;T@}[:protected[[:private[[I"
maker;T@}[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@:@=@@@C@F@I@L@O@R@U@X@[@^@a@d@gI"RSS;T@sU:RDoc::AnyMethod[iI"initialize_variables:ETI"*RSS::Maker::Base#initialize_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"current_element:ETI"%RSS::Maker::Base#current_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"'def_other_element_without_accessor:ETI"9RSS::Maker::Base::def_other_element_without_accessor;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variable_is_set?:ETI"&RSS::Maker::Base#variable_is_set?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"_set_default_values:ETI")RSS::Maker::Base#_set_default_values;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below00I";T[I"
(&block);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"other_elements:ETI"%RSS::Maker::Base::other_elements;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_values:ETI""RSS::Maker::Base#setup_values;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_other_elements:ETI"*RSS::Maker::Base#setup_other_elements;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current=nil);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_array_element:ETI"(RSS::Maker::Base::def_array_element;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"'(name, plural=nil, klass_name=nil);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::Maker::Base::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variables:ETI"RSS::Maker::Base#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"need_initialize_variables:ETI"0RSS::Maker::Base::need_initialize_variables;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Base;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Base:ETI"RSS::Maker::Base;TI"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"
maker;TI"R;T:publicFI"lib/rss/maker/base.rb;T[U:RDoc::Constant[iI"OTHER_ELEMENTS;TI"%RSS::Maker::Base::OTHER_ELEMENTS;T;0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"NEED_INITIALIZE_VARIABLES;TI"0RSS::Maker::Base::NEED_INITIALIZE_VARIABLES;T;0o;;[;	@;
0@@@0[[I"Enumerable;To;;[;	@;
0@[[I"
class;T[[;[[I"!add_need_initialize_variable;T@[I"add_other_element;T@[I"def_array_element;T@[I"def_classed_element;T@[I")def_classed_element_without_accessor;T@[I"def_classed_elements;T@[I"def_csv_element;T@[I"def_other_element;T@[I"'def_other_element_without_accessor;T@[I"inherited;T@[I"inherited_base;T@[I"need_initialize_variables;T@[I"new;T@[I"other_elements;T@[:protected[[:private[[I"
instance;T[[;[[I"have_required_values?;T@[I"variable_is_set?;T@[;
[[;[[I"_set_default_values;T@[I"current_element;T@[I"initialize_variables;T@[I"not_set_required_variables;T@[I" required_variables_are_set?;T@[I"set_default_values;T@[I"set_parent;T@[I"setup_other_elements;T@[I"setup_values;T@[I"variables;T@[[I"Utils::InheritedReader;To;;[;	@;
0@[I"Forwardable;To;;[;	@;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"def_classed_elements:ETI"+RSS::Maker::Base::def_classed_elements;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below00I"1local_variable_name, new_value_variable_name;T[I"L(name, attribute, plural_class_name=nil, plural_name=nil, new_name=nil);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_other_element:ETI"(RSS::Maker::Base::def_other_element;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"set_parent:ETI" RSS::Maker::Base#set_parent;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(target, parent);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI")def_classed_element_without_accessor:ETI";RSS::Maker::Base::def_classed_element_without_accessor;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, class_name=nil);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::Attr[iI"
maker:ETI"RSS::Maker::Base#maker;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::Maker::Base;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"add_other_element:ETI"(RSS::Maker::Base::add_other_element;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(variable_name);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"!add_need_initialize_variable:ETI"3RSS::Maker::Base::add_need_initialize_variable;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"1(variable_name, init_value=nil, &init_block);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_classed_element:ETI"*RSS::Maker::Base::def_classed_element;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"/(name, class_name=nil, attribute_name=nil);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inherited_base:ETI"%RSS::Maker::Base::inherited_base;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI" required_variables_are_set?:ETI"1RSS::Maker::Base#required_variables_are_set?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"set_default_values:ETI"(RSS::Maker::Base#set_default_values;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below00I";T[I"
(&block);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"not_set_required_variables:ETI"0RSS::Maker::Base#not_set_required_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inherited:ETI" RSS::Maker::Base::inherited;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(subclass);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_required_values?:ETI"+RSS::Maker::Base#have_required_values?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Base;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_csv_element:ETI"&RSS::Maker::Base::def_csv_element;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, type=nil);T@FI"	Base;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"XMLStyleSheets:ETI"RSS::Maker::XMLStyleSheets;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"guess_type_if_need:ETI"ARSS::Maker::XMLStyleSheets::XMLStyleSheet#guess_type_if_need;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(xss);T@FI"XMLStyleSheet;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"FRSS::Maker::XMLStyleSheets::XMLStyleSheet#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"XMLStyleSheet;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"XMLStyleSheet:ETI".RSS::Maker::XMLStyleSheets::XMLStyleSheet;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/base.rb;T[;[[;
[[I"guess_type_if_need;T@#[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::XMLStyleSheets;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"6RSS::Maker::XMLStyleSheets::XMLStyleSheet#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed);T@FI"XMLStyleSheet;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Guid:ETI")RSS::Maker::RSS10::Items::Item::Guid;TI"
GuidBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS10::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"1RSS::Maker::RSS10::Items::Item::Guid#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"	Guid;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Links:ETI"2RSS::Maker::RSS10::Items::Item::Source::Links;TI"LinksBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS10::Items::Item::Source;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Link:ETI"8RSS::Maker::RSS10::Items::Item::Source::Links::Link;TI"
LinkBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"2RSS::Maker::RSS10::Items::Item::Source::Links;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI":RSS::Maker::RSS10::Items::Item::Source::Links#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
Links;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Icon:ETI"1RSS::Maker::RSS10::Items::Item::Source::Icon;TI"
IconBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS10::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"9RSS::Maker::RSS10::Items::Item::Source::Icon#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"	Icon;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Rights:ETI"3RSS::Maker::RSS10::Items::Item::Source::Rights;TI"RightsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS10::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI";RSS::Maker::RSS10::Items::Item::Source::Rights#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Rights;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Source:ETI"+RSS::Maker::RSS10::Items::Item::Source;TI"SourceBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS10::Items::Item;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Title:ETI"2RSS::Maker::RSS10::Items::Item::Source::Title;TI"TitleBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS10::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI":RSS::Maker::RSS10::Items::Item::Source::Title#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
Title;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Authors:ETI"4RSS::Maker::RSS10::Items::Item::Source::Authors;TI"AuthorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS10::Items::Item::Source;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Author:ETI"<RSS::Maker::RSS10::Items::Item::Source::Authors::Author;TI"AuthorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"4RSS::Maker::RSS10::Items::Item::Source::Authors;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"<RSS::Maker::RSS10::Items::Item::Source::Authors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Authors;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Contributor:ETI"FRSS::Maker::RSS10::Items::Item::Source::Contributors::Contributor;TI"ContributorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"9RSS::Maker::RSS10::Items::Item::Source::Contributors;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Contributors:ETI"9RSS::Maker::RSS10::Items::Item::Source::Contributors;TI"ContributorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS10::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"ARSS::Maker::RSS10::Items::Item::Source::Contributors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Contributors;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Subtitle:ETI"5RSS::Maker::RSS10::Items::Item::Source::Subtitle;TI"SubtitleBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS10::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"=RSS::Maker::RSS10::Items::Item::Source::Subtitle#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
Subtitle;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Logo:ETI"1RSS::Maker::RSS10::Items::Item::Source::Logo;TI"
LogoBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS10::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"9RSS::Maker::RSS10::Items::Item::Source::Logo#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"	Logo;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Categories:ETI"7RSS::Maker::RSS10::Items::Item::Source::Categories;TI"CategoriesBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS10::Items::Item::Source;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Category:ETI"ARSS::Maker::RSS10::Items::Item::Source::Categories::Category;TI"CategoryBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"7RSS::Maker::RSS10::Items::Item::Source::Categories;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"?RSS::Maker::RSS10::Items::Item::Source::Categories#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Categories;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Generator:ETI"6RSS::Maker::RSS10::Items::Item::Source::Generator;TI"GeneratorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS10::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI">RSS::Maker::RSS10::Items::Item::Source::Generator#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Generator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"3RSS::Maker::RSS10::Items::Item::Source#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Source;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Links:ETI"*RSS::Maker::RSS10::Items::Item::Links;TI"LinksBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS10::Items::Item;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Link:ETI"0RSS::Maker::RSS10::Items::Item::Links::Link;TI"
LinkBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"*RSS::Maker::RSS10::Items::Item::Links;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"2RSS::Maker::RSS10::Items::Item::Links#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
Links;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Rights:ETI"+RSS::Maker::RSS10::Items::Item::Rights;TI"RightsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS10::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"3RSS::Maker::RSS10::Items::Item::Rights#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Rights;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI";RSS::Maker::RSS10::Items::Item#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variables:ETI"-RSS::Maker::RSS10::Items::Item#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Description:ETI"0RSS::Maker::RSS10::Items::Item::Description;TI"DescriptionBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS10::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"HRSS::Maker::RSS10::Items::Item::Description#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Description;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"8RSS::Maker::RSS10::Items::Item::Description#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Description;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"BRSS::Maker::RSS10::Items::Item::Title#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Title;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Title:ETI"*RSS::Maker::RSS10::Items::Item::Title;TI"TitleBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS10::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"2RSS::Maker::RSS10::Items::Item::Title#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"
Title;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Enclosure:ETI".RSS::Maker::RSS10::Items::Item::Enclosure;TI"EnclosureBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS10::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"6RSS::Maker::RSS10::Items::Item::Enclosure#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Enclosure;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Authors:ETI",RSS::Maker::RSS10::Items::Item::Authors;TI"AuthorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS10::Items::Item;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Author:ETI"4RSS::Maker::RSS10::Items::Item::Authors::Author;TI"AuthorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I",RSS::Maker::RSS10::Items::Item::Authors;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"4RSS::Maker::RSS10::Items::Item::Authors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Authors;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Contributor:ETI">RSS::Maker::RSS10::Items::Item::Contributors::Contributor;TI"ContributorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"1RSS::Maker::RSS10::Items::Item::Contributors;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Contributors:ETI"1RSS::Maker::RSS10::Items::Item::Contributors;TI"ContributorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS10::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"9RSS::Maker::RSS10::Items::Item::Contributors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Contributors;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Item:ETI"#RSS::Maker::RSS10::Items::Item;TI"
ItemBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[I"not_set_required_variables;T@#[I"required_variable_names;T@#[I"variables;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Items;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Content:ETI",RSS::Maker::RSS10::Items::Item::Content;TI"ContentBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS10::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"4RSS::Maker::RSS10::Items::Item::Content#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Content;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Categories:ETI"/RSS::Maker::RSS10::Items::Item::Categories;TI"CategoriesBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS10::Items::Item;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Category:ETI"9RSS::Maker::RSS10::Items::Item::Categories::Category;TI"CategoryBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"/RSS::Maker::RSS10::Items::Item::Categories;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"7RSS::Maker::RSS10::Items::Item::Categories#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Categories;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"not_set_required_variables:ETI">RSS::Maker::RSS10::Items::Item#not_set_required_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"+RSS::Maker::RSS10::Items::Item#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"	Item;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Items:ETI"RSS::Maker::RSS10::Items;TI"ItemsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"%RSS::Maker::RSS10::Items#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"
Items;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"make_feed:ETI" RSS::Maker::RSS10#make_feed;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
RSS10;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::Maker::RSS10::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed_version="1.0");T@TI"
RSS10;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_elements:ETI"%RSS::Maker::RSS10#setup_elements;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"
RSS10;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"5RSS::Maker::RSS10::Image#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Image;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variables:ETI"'RSS::Maker::RSS10::Image#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"
Image;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_required_values?:ETI"3RSS::Maker::RSS10::Image#have_required_values?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"
Image;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Image:ETI"RSS::Maker::RSS10::Image;TI"ImageBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"have_required_values?;TI"lib/rss/maker/1.0.rb;T[I"to_feed;T@#[;[[;
[[I"required_variable_names;T@#[I"variables;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"%RSS::Maker::RSS10::Image#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"
Image;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
RSS10:ETI"RSS::Maker::RSS10;TI"RSSBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"lib/rss/maker/1.0.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"make_feed;T@[I"setup_elements;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"setup_textinput:ETI"/RSS::Maker::RSS10::Channel#setup_textinput;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Channel:ETI"RSS::Maker::RSS10::Channel;TI"ChannelBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"SetupDefaultLanguage;To;;[;	@;
0I"lib/rss/maker/1.0.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;T@[;[[;
[
[I"not_set_required_variables;T@[I"required_variable_names;T@[I"setup_image;T@[I"setup_items;T@[I"setup_textinput;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Copyright:ETI"*RSS::Maker::RSS10::Channel::Copyright;TI"CopyrightBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"2RSS::Maker::RSS10::Channel::Copyright#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Copyright;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Day:ETI".RSS::Maker::RSS10::Channel::SkipDays::Day;TI"DayBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I")RSS::Maker::RSS10::Channel::SkipDays;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
SkipDays:ETI")RSS::Maker::RSS10::Channel::SkipDays;TI"SkipDaysBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"1RSS::Maker::RSS10::Channel::SkipDays#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
SkipDays;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Links:ETI"&RSS::Maker::RSS10::Channel::Links;TI"LinksBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"DRSS::Maker::RSS10::Channel::Links::Link#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Link;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Link:ETI",RSS::Maker::RSS10::Channel::Links::Link;TI"
LinkBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"&RSS::Maker::RSS10::Channel::Links;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"4RSS::Maker::RSS10::Channel::Links::Link#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"	Link;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI".RSS::Maker::RSS10::Channel::Links#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"
Links;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"SkipHours:ETI"*RSS::Maker::RSS10::Channel::SkipHours;TI"SkipHoursBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Hour:ETI"0RSS::Maker::RSS10::Channel::SkipHours::Hour;TI"
HourBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"*RSS::Maker::RSS10::Channel::SkipHours;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"2RSS::Maker::RSS10::Channel::SkipHours#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"SkipHours;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"7RSS::Maker::RSS10::Channel#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_items:ETI"+RSS::Maker::RSS10::Channel#setup_items;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Description:ETI",RSS::Maker::RSS10::Channel::Description;TI"DescriptionBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"DRSS::Maker::RSS10::Channel::Description#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Description;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"4RSS::Maker::RSS10::Channel::Description#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Description;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Cloud:ETI"&RSS::Maker::RSS10::Channel::Cloud;TI"CloudBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI".RSS::Maker::RSS10::Channel::Cloud#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
Cloud;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI">RSS::Maker::RSS10::Channel::Title#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Title;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Title:ETI"&RSS::Maker::RSS10::Channel::Title;TI"TitleBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI".RSS::Maker::RSS10::Channel::Title#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"
Title;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Authors:ETI"(RSS::Maker::RSS10::Channel::Authors;TI"AuthorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Author:ETI"0RSS::Maker::RSS10::Channel::Authors::Author;TI"AuthorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"(RSS::Maker::RSS10::Channel::Authors;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"8RSS::Maker::RSS10::Channel::Authors::Author#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Author;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"0RSS::Maker::RSS10::Channel::Authors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Authors;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Contributor:ETI":RSS::Maker::RSS10::Channel::Contributors::Contributor;TI"ContributorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"-RSS::Maker::RSS10::Channel::Contributors;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Contributors:ETI"-RSS::Maker::RSS10::Channel::Contributors;TI"ContributorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"5RSS::Maker::RSS10::Channel::Contributors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Contributors;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_image:ETI"+RSS::Maker::RSS10::Channel#setup_image;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Categories:ETI"+RSS::Maker::RSS10::Channel::Categories;TI"CategoriesBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Category:ETI"5RSS::Maker::RSS10::Channel::Categories::Category;TI"CategoryBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS10::Channel::Categories;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"3RSS::Maker::RSS10::Channel::Categories#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Categories;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"not_set_required_variables:ETI":RSS::Maker::RSS10::Channel#not_set_required_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Generator:ETI"*RSS::Maker::RSS10::Channel::Generator;TI"GeneratorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/1.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"2RSS::Maker::RSS10::Channel::Generator#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Generator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"'RSS::Maker::RSS10::Channel#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Textinput:ETI"!RSS::Maker::RSS10::Textinput;TI"TextinputBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"have_required_values?;TI"lib/rss/maker/1.0.rb;T[I"to_feed;T@#[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS10;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"9RSS::Maker::RSS10::Textinput#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Textinput;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_required_values?:ETI"7RSS::Maker::RSS10::Textinput#have_required_values?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"Textinput;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI")RSS::Maker::RSS10::Textinput#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Textinput;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append_features:ETI"2RSS::Maker::SyndicationModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"!lib/rss/maker/syndication.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"SyndicationModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"SyndicationModel:ETI"!RSS::Maker::SyndicationModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"!lib/rss/maker/syndication.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"!lib/rss/maker/syndication.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"	make:ETI"RSS::Maker::RSSBase#make;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below00I"	self;T[I"();T@FI"RSSBase;TcRDoc::NormalClass00U:RDoc::Attr[iI"
encoding:ETI"!RSS::Maker::RSSBase#encoding;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::Maker::RSSBase;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"RSSBase:ETI"RSS::Maker::RSSBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/maker/taxonomy.rb;T;
0;	0;
0[
[
I"
encoding;TI"RW;T:publicFI"lib/rss/maker/base.rb;T[
I"feed_version;TI"R;T;F@[
I"rss_version;T@;F@[
I"standalone;T@;F@[
I"version;T@;F@[[[I"TaxonomyTopicModel;To;;[;	@;
0I"lib/rss/maker/taxonomy.rb;T[[I"
class;T[[;[[I"	make;T@[I"new;T@[:protected[[:private[[I"
instance;T[[;[[I"	make;T@[I"to_feed;T@[;[[;
[[I"make_xml_stylesheets;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"RSS::Maker::RSSBase::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed_version);T@TI"RSSBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	make:ETI"RSS::Maker::RSSBase::make;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args, &block);T@FI"RSSBase;TcRDoc::NormalClass00U:RDoc::Attr[iI"standalone:ETI"#RSS::Maker::RSSBase#standalone;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::Maker::RSSBase;TcRDoc::NormalClass0U:RDoc::Attr[iI"feed_version:ETI"%RSS::Maker::RSSBase#feed_version;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::Maker::RSSBase;TcRDoc::NormalClass0U:RDoc::Attr[iI"version:ETI" RSS::Maker::RSSBase#version;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::Maker::RSSBase;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"make_xml_stylesheets:ETI"-RSS::Maker::RSSBase#make_xml_stylesheets;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"RSSBase;TcRDoc::NormalClass00U:RDoc::Attr[iI"rss_version:ETI"$RSS::Maker::RSSBase#rss_version;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::Maker::RSSBase;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"to_feed:ETI" RSS::Maker::RSSBase#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"RSSBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"install_taxo_topic:ETI"7RSS::Maker::TaxonomyTopicModel::install_taxo_topic;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@FI"TaxonomyTopicModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"TaxonomyTopicModel:ETI"#RSS::Maker::TaxonomyTopicModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/maker/taxonomy.rb;T[I"install_taxo_topic;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"append_features:ETI"4RSS::Maker::TaxonomyTopicModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"TaxonomyTopicModel;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"TaxonomyTopicsBase:ETI"7RSS::Maker::TaxonomyTopicModel::TaxonomyTopicsBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::TaxonomyTopicModel;TcRDoc::NormalModuleU:RDoc::Attr[iI"taxo_link=:ETI"URSS::Maker::TaxonomyTopicModel::TaxonomyTopicsBase::TaxonomyTopicBase#taxo_link=;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0F@I"JRSS::Maker::TaxonomyTopicModel::TaxonomyTopicsBase::TaxonomyTopicBase;TcRDoc::NormalClass0U:RDoc::Attr[iI"taxo_link:ETI"TRSS::Maker::TaxonomyTopicModel::TaxonomyTopicsBase::TaxonomyTopicBase#taxo_link;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0F@I"JRSS::Maker::TaxonomyTopicModel::TaxonomyTopicsBase::TaxonomyTopicBase;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"TaxonomyTopicBase:ETI"JRSS::Maker::TaxonomyTopicModel::TaxonomyTopicsBase::TaxonomyTopicBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"taxo_link;TI"RW;T:publicFI"lib/rss/maker/taxonomy.rb;T[
I"taxo_link=;T@;F@[
I"
value;T@;F@[[[I"DublinCoreModel;To;;[;	@;
0@[I"TaxonomyTopicsModel;To;;[;	@;
0@[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"have_required_values?;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"7RSS::Maker::TaxonomyTopicModel::TaxonomyTopicsBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"have_required_values?:ETI"`RSS::Maker::TaxonomyTopicModel::TaxonomyTopicsBase::TaxonomyTopicBase#have_required_values?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TaxonomyTopicBase;TcRDoc::NormalClass00U:RDoc::Attr[iI"
value:ETI"PRSS::Maker::TaxonomyTopicModel::TaxonomyTopicsBase::TaxonomyTopicBase#value;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0F@I"JRSS::Maker::TaxonomyTopicModel::TaxonomyTopicsBase::TaxonomyTopicBase;TcRDoc::NormalClass0U:RDoc::NormalModule[iI"TrackBackModel:ETI"RSS::Maker::TrackBackModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/trackback.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/maker/trackback.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"TrackBackAboutsBase:ETI"4RSS::Maker::TrackBackModel::TrackBackAboutsBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/trackback.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::TrackBackModel;TcRDoc::NormalModuleU:RDoc::Attr[iI"content:ETI"PRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase#content;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/trackback.rb;T:0@omit_headings_from_table_of_contents_below0F@I"HRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"TrackBackAboutBase:ETI"HRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/trackback.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[
[
I"content;TI"RW;T:publicFI"lib/rss/maker/trackback.rb;T[
I"
content=;T@;F@[
I"
resource;T@;F@[
I"resource=;T@;F@[
I"
value;T@;F@[[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"have_required_values?;T@[I"to_feed;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"4RSS::Maker::TrackBackModel::TrackBackAboutsBase;TcRDoc::NormalClassU:RDoc::Attr[iI"resource=:ETI"RRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase#resource=;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/trackback.rb;T:0@omit_headings_from_table_of_contents_below0F@I"HRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase;TcRDoc::NormalClass0U:RDoc::Attr[iI"
content=:ETI"QRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase#content=;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/trackback.rb;T:0@omit_headings_from_table_of_contents_below0F@I"HRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase;TcRDoc::NormalClass0U:RDoc::Attr[iI"
resource:ETI"QRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase#resource;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/trackback.rb;T:0@omit_headings_from_table_of_contents_below0F@I"HRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"have_required_values?:ETI"^RSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase#have_required_values?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/trackback.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TrackBackAboutBase;TcRDoc::NormalClass00U:RDoc::Attr[iI"
value:ETI"NRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase#value;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/trackback.rb;T:0@omit_headings_from_table_of_contents_below0F@I"HRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"to_feed:ETI"PRSS::Maker::TrackBackModel::TrackBackAboutsBase::TrackBackAboutBase#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/trackback.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"TrackBackAboutBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append_features:ETI"0RSS::Maker::TrackBackModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/trackback.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"TrackBackModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"xhtml=:ETI"?RSS::Maker::AtomTextConstructBase::EnsureXMLContent#xhtml=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(content);T@FI"EnsureXMLContent;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"EnsureXMLContent:ETI"8RSS::Maker::AtomTextConstructBase::EnsureXMLContent;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"
included;TI"lib/rss/maker/base.rb;T[:protected[[:private[[I"
instance;T[[;[[I"ensure_xml_content;T@[I"xhtml=;T@[I"xml_content=;T@[;[[;
[[I"!set_xhtml_uri_as_default_uri;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"&RSS::Maker::AtomTextConstructBase;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"!set_xhtml_uri_as_default_uri:ETI"URSS::Maker::AtomTextConstructBase::EnsureXMLContent#set_xhtml_uri_as_default_uri;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(children);T@FI"EnsureXMLContent;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"xml_content=:ETI"ERSS::Maker::AtomTextConstructBase::EnsureXMLContent#xml_content=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(content);T@FI"EnsureXMLContent;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
included:ETI"BRSS::Maker::AtomTextConstructBase::EnsureXMLContent::included;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(base);T@TI"EnsureXMLContent;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"ensure_xml_content:ETI"KRSS::Maker::AtomTextConstructBase::EnsureXMLContent#ensure_xml_content;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(content);T@FI"EnsureXMLContent;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"AtomTextConstructBase:ETI"&RSS::Maker::AtomTextConstructBase;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"EnsureXMLContent;To;;[;	@
;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[I"append_features;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"append_features:ETI"7RSS::Maker::AtomTextConstructBase::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"AtomTextConstructBase;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"[]:ETI"RSS::Maker::[];TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Returns the maker for the +version+;T:
@fileI"lib/rss/maker.rb;T:0@omit_headings_from_table_of_contents_below000[I"(version);T@FI"
Maker;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"	Guid:ETI")RSS::Maker::RSS09::Items::Item::Guid;TI"
GuidBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS09::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"1RSS::Maker::RSS09::Items::Item::Guid#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"	Guid;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Links:ETI"2RSS::Maker::RSS09::Items::Item::Source::Links;TI"LinksBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS09::Items::Item::Source;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Link:ETI"8RSS::Maker::RSS09::Items::Item::Source::Links::Link;TI"
LinkBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"2RSS::Maker::RSS09::Items::Item::Source::Links;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI":RSS::Maker::RSS09::Items::Item::Source::Links#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
Links;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Icon:ETI"1RSS::Maker::RSS09::Items::Item::Source::Icon;TI"
IconBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS09::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"9RSS::Maker::RSS09::Items::Item::Source::Icon#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"	Icon;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Rights:ETI"3RSS::Maker::RSS09::Items::Item::Source::Rights;TI"RightsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS09::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI";RSS::Maker::RSS09::Items::Item::Source::Rights#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Rights;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Source:ETI"+RSS::Maker::RSS09::Items::Item::Source;TI"SourceBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS09::Items::Item;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Title:ETI"2RSS::Maker::RSS09::Items::Item::Source::Title;TI"TitleBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS09::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI":RSS::Maker::RSS09::Items::Item::Source::Title#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
Title;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Authors:ETI"4RSS::Maker::RSS09::Items::Item::Source::Authors;TI"AuthorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS09::Items::Item::Source;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Author:ETI"<RSS::Maker::RSS09::Items::Item::Source::Authors::Author;TI"AuthorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"4RSS::Maker::RSS09::Items::Item::Source::Authors;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"<RSS::Maker::RSS09::Items::Item::Source::Authors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Authors;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Contributor:ETI"FRSS::Maker::RSS09::Items::Item::Source::Contributors::Contributor;TI"ContributorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"9RSS::Maker::RSS09::Items::Item::Source::Contributors;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Contributors:ETI"9RSS::Maker::RSS09::Items::Item::Source::Contributors;TI"ContributorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS09::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"ARSS::Maker::RSS09::Items::Item::Source::Contributors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Contributors;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Subtitle:ETI"5RSS::Maker::RSS09::Items::Item::Source::Subtitle;TI"SubtitleBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS09::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"=RSS::Maker::RSS09::Items::Item::Source::Subtitle#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
Subtitle;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Logo:ETI"1RSS::Maker::RSS09::Items::Item::Source::Logo;TI"
LogoBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS09::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"9RSS::Maker::RSS09::Items::Item::Source::Logo#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"	Logo;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Categories:ETI"7RSS::Maker::RSS09::Items::Item::Source::Categories;TI"CategoriesBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS09::Items::Item::Source;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Category:ETI"ARSS::Maker::RSS09::Items::Item::Source::Categories::Category;TI"CategoryBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"7RSS::Maker::RSS09::Items::Item::Source::Categories;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"?RSS::Maker::RSS09::Items::Item::Source::Categories#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Categories;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Generator:ETI"6RSS::Maker::RSS09::Items::Item::Source::Generator;TI"GeneratorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS09::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI">RSS::Maker::RSS09::Items::Item::Source::Generator#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Generator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"3RSS::Maker::RSS09::Items::Item::Source#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Source;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Links:ETI"*RSS::Maker::RSS09::Items::Item::Links;TI"LinksBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS09::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"HRSS::Maker::RSS09::Items::Item::Links::Link#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Link;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Link:ETI"0RSS::Maker::RSS09::Items::Item::Links::Link;TI"
LinkBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"*RSS::Maker::RSS09::Items::Item::Links;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"8RSS::Maker::RSS09::Items::Item::Links::Link#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"	Link;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"2RSS::Maker::RSS09::Items::Item::Links#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"
Links;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Rights:ETI"+RSS::Maker::RSS09::Items::Item::Rights;TI"RightsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS09::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"3RSS::Maker::RSS09::Items::Item::Rights#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Rights;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI";RSS::Maker::RSS09::Items::Item#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Item;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Description:ETI"0RSS::Maker::RSS09::Items::Item::Description;TI"DescriptionBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS09::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"HRSS::Maker::RSS09::Items::Item::Description#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Description;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"8RSS::Maker::RSS09::Items::Item::Description#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Description;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"BRSS::Maker::RSS09::Items::Item::Title#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Title;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Title:ETI"*RSS::Maker::RSS09::Items::Item::Title;TI"TitleBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS09::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"2RSS::Maker::RSS09::Items::Item::Title#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"
Title;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Enclosure:ETI".RSS::Maker::RSS09::Items::Item::Enclosure;TI"EnclosureBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS09::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"6RSS::Maker::RSS09::Items::Item::Enclosure#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Enclosure;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Authors:ETI",RSS::Maker::RSS09::Items::Item::Authors;TI"AuthorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS09::Items::Item;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Author:ETI"4RSS::Maker::RSS09::Items::Item::Authors::Author;TI"AuthorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I",RSS::Maker::RSS09::Items::Item::Authors;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"4RSS::Maker::RSS09::Items::Item::Authors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Authors;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Contributor:ETI">RSS::Maker::RSS09::Items::Item::Contributors::Contributor;TI"ContributorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"1RSS::Maker::RSS09::Items::Item::Contributors;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Contributors:ETI"1RSS::Maker::RSS09::Items::Item::Contributors;TI"ContributorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS09::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"9RSS::Maker::RSS09::Items::Item::Contributors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Contributors;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Item:ETI"#RSS::Maker::RSS09::Items::Item;TI"
ItemBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"not_set_required_variables;T@#[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Items;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Content:ETI",RSS::Maker::RSS09::Items::Item::Content;TI"ContentBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS09::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"4RSS::Maker::RSS09::Items::Item::Content#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Content;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Categories:ETI"/RSS::Maker::RSS09::Items::Item::Categories;TI"CategoriesBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS09::Items::Item;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Category:ETI"9RSS::Maker::RSS09::Items::Item::Categories::Category;TI"CategoryBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"/RSS::Maker::RSS09::Items::Item::Categories;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"7RSS::Maker::RSS09::Items::Item::Categories#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Categories;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"not_set_required_variables:ETI">RSS::Maker::RSS09::Items::Item#not_set_required_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"+RSS::Maker::RSS09::Items::Item#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"	Item;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Items:ETI"RSS::Maker::RSS09::Items;TI"ItemsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"%RSS::Maker::RSS09::Items#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"
Items;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
RSS09:ETI"RSS::Maker::RSS09;TI"RSSBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"lib/rss/maker/0.9.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"make_feed;T@[I"setup_elements;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"make_feed:ETI" RSS::Maker::RSS09#make_feed;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
RSS09;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::Maker::RSS09::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed_version);T@TI"
RSS09;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_elements:ETI"%RSS::Maker::RSS09#setup_elements;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"
RSS09;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"5RSS::Maker::RSS09::Image#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Image;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_element?:ETI"/RSS::Maker::RSS09::Image#required_element?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Image;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Image:ETI"RSS::Maker::RSS09::Image;TI"ImageBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"required_element?;T@#[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"%RSS::Maker::RSS09::Image#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"
Image;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_textinput:ETI"/RSS::Maker::RSS09::Channel#setup_textinput;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Channel:ETI"RSS::Maker::RSS09::Channel;TI"ChannelBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"not_set_required_variables;T@#[I"required_variable_names;T@#[I"setup_image;T@#[I"setup_items;T@#[I"setup_textinput;T@#[I"variables;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"BRSS::Maker::RSS09::Channel::Copyright#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Copyright;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Copyright:ETI"*RSS::Maker::RSS09::Channel::Copyright;TI"CopyrightBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"2RSS::Maker::RSS09::Channel::Copyright#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Copyright;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Day:ETI".RSS::Maker::RSS09::Channel::SkipDays::Day;TI"DayBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I")RSS::Maker::RSS09::Channel::SkipDays;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"FRSS::Maker::RSS09::Channel::SkipDays::Day#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Day;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"6RSS::Maker::RSS09::Channel::SkipDays::Day#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, days);T@FI"Day;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
SkipDays:ETI")RSS::Maker::RSS09::Channel::SkipDays;TI"SkipDaysBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"1RSS::Maker::RSS09::Channel::SkipDays#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"
SkipDays;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Links:ETI"&RSS::Maker::RSS09::Channel::Links;TI"LinksBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"DRSS::Maker::RSS09::Channel::Links::Link#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Link;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Link:ETI",RSS::Maker::RSS09::Channel::Links::Link;TI"
LinkBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"&RSS::Maker::RSS09::Channel::Links;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"4RSS::Maker::RSS09::Channel::Links::Link#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"	Link;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI".RSS::Maker::RSS09::Channel::Links#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"
Links;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"SkipHours:ETI"*RSS::Maker::RSS09::Channel::SkipHours;TI"SkipHoursBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Hour:ETI"0RSS::Maker::RSS09::Channel::SkipHours::Hour;TI"
HourBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"*RSS::Maker::RSS09::Channel::SkipHours;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"HRSS::Maker::RSS09::Channel::SkipHours::Hour#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Hour;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"8RSS::Maker::RSS09::Channel::SkipHours::Hour#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, hours);T@FI"	Hour;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"2RSS::Maker::RSS09::Channel::SkipHours#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"SkipHours;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"7RSS::Maker::RSS09::Channel#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variables:ETI")RSS::Maker::RSS09::Channel#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_items:ETI"+RSS::Maker::RSS09::Channel#setup_items;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Description:ETI",RSS::Maker::RSS09::Channel::Description;TI"DescriptionBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"DRSS::Maker::RSS09::Channel::Description#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Description;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"4RSS::Maker::RSS09::Channel::Description#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Description;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Cloud:ETI"&RSS::Maker::RSS09::Channel::Cloud;TI"CloudBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI".RSS::Maker::RSS09::Channel::Cloud#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
Cloud;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI">RSS::Maker::RSS09::Channel::Title#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Title;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Title:ETI"&RSS::Maker::RSS09::Channel::Title;TI"TitleBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI".RSS::Maker::RSS09::Channel::Title#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"
Title;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Authors:ETI"(RSS::Maker::RSS09::Channel::Authors;TI"AuthorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Author:ETI"0RSS::Maker::RSS09::Channel::Authors::Author;TI"AuthorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"(RSS::Maker::RSS09::Channel::Authors;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"8RSS::Maker::RSS09::Channel::Authors::Author#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Author;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"0RSS::Maker::RSS09::Channel::Authors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Authors;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Contributor:ETI":RSS::Maker::RSS09::Channel::Contributors::Contributor;TI"ContributorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"-RSS::Maker::RSS09::Channel::Contributors;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Contributors:ETI"-RSS::Maker::RSS09::Channel::Contributors;TI"ContributorsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"5RSS::Maker::RSS09::Channel::Contributors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Contributors;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_image:ETI"+RSS::Maker::RSS09::Channel#setup_image;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Categories:ETI"+RSS::Maker::RSS09::Channel::Categories;TI"CategoriesBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Category:ETI"5RSS::Maker::RSS09::Channel::Categories::Category;TI"CategoryBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS09::Channel::Categories;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"3RSS::Maker::RSS09::Channel::Categories#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"Categories;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"not_set_required_variables:ETI":RSS::Maker::RSS09::Channel#not_set_required_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Generator:ETI"*RSS::Maker::RSS09::Channel::Generator;TI"GeneratorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"2RSS::Maker::RSS09::Channel::Generator#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Generator;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"'RSS::Maker::RSS09::Channel#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Textinput:ETI"!RSS::Maker::RSS09::Textinput;TI"TextinputBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/0.9.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS09;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"9RSS::Maker::RSS09::Textinput#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Textinput;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI")RSS::Maker::RSS09::Textinput#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"Textinput;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"supported?:ETI"RSS::Maker::supported?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-Returns true if the version is supported;T:
@fileI"lib/rss/maker.rb;T:0@omit_headings_from_table_of_contents_below000[I"(version);T@FI"
Maker;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"DublinCoreModel:ETI" RSS::Maker::DublinCoreModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI" lib/rss/maker/dublincore.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI" lib/rss/maker/dublincore.rb;T[I"install_dublin_core;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"install_dublin_core:ETI"5RSS::Maker::DublinCoreModel::install_dublin_core;TT:publico:RDoc::Markup::Document:@parts[:
@fileI" lib/rss/maker/dublincore.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@FI"DublinCoreModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"append_features:ETI"1RSS::Maker::DublinCoreModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI" lib/rss/maker/dublincore.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"DublinCoreModel;TcRDoc::NormalModule00U:RDoc::Attr[iI"	href:ETI"9RSS::Maker::ITunesChannelModel::ITunesImageBase#href;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0F@I"4RSS::Maker::ITunesChannelModel::ITunesImageBase;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"ITunesImageBase:ETI"4RSS::Maker::ITunesChannelModel::ITunesImageBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"	href;TI"RW;T:publicFI"lib/rss/maker/itunes.rb;T[[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::ITunesChannelModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"to_feed:ETI"<RSS::Maker::ITunesChannelModel::ITunesImageBase#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"ITunesImageBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed_for_categories:ETI"dRSS::Maker::ITunesChannelModel::ITunesCategoriesBase::ITunesCategoryBase#to_feed_for_categories;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"ITunesCategoryBase;TcRDoc::NormalClass0[I"MRSS::Maker::ITunesChannelModel::ITunesCategoriesBase::ITunesCategoryBase;TFI"to_feed;TU:RDoc::NormalClass[iI"ITunesCategoryBase:ETI"MRSS::Maker::ITunesChannelModel::ITunesCategoriesBase::ITunesCategoryBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"	text;TI"RW;T:publicFI"lib/rss/maker/itunes.rb;T[[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"have_required_values?;T@[I"to_feed;T@[I"to_feed_for_categories;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"9RSS::Maker::ITunesChannelModel::ITunesCategoriesBase;TcRDoc::NormalClassU:RDoc::Attr[iI"	text:ETI"RRSS::Maker::ITunesChannelModel::ITunesCategoriesBase::ITunesCategoryBase#text;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0F@I"MRSS::Maker::ITunesChannelModel::ITunesCategoriesBase::ITunesCategoryBase;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"have_required_values?:ETI"cRSS::Maker::ITunesChannelModel::ITunesCategoriesBase::ITunesCategoryBase#have_required_values?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesCategoryBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"URSS::Maker::ITunesChannelModel::ITunesCategoriesBase::ITunesCategoryBase#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[[I"to_feed_for_categories;To;;	[;
@;0I"(feed, current);T@FI"ITunesCategoryBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ITunesCategoriesBase:ETI"9RSS::Maker::ITunesChannelModel::ITunesCategoriesBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::ITunesChannelModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"required_variable_names:ETI"LRSS::Maker::ITunesChannelModel::ITunesOwnerBase#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesOwnerBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ITunesOwnerBase:ETI"4RSS::Maker::ITunesChannelModel::ITunesOwnerBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/itunes.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::ITunesChannelModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"to_feed:ETI"<RSS::Maker::ITunesChannelModel::ITunesOwnerBase#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"ITunesOwnerBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append_features:ETI"4RSS::Maker::ITunesChannelModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"ITunesChannelModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"ITunesChannelModel:ETI"#RSS::Maker::ITunesChannelModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/maker/itunes.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[I"ITunesBaseModel;To;;[;	@
;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
maker:ETI"RSS::Maker::maker;TT:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Can I remove this method?;T:
@fileI"lib/rss/maker.rb;T:0@omit_headings_from_table_of_contents_below000[I"(version);T@FI"
Maker;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"ContentModel:ETI"RSS::Maker::ContentModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/content.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/maker/content.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"append_features:ETI".RSS::Maker::ContentModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/content.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"ContentModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	make:ETI"RSS::Maker::make;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Builder for an RSS object ;TI"3Creates an object of the type passed in +args+;To:RDoc::Markup::BlankLineo;
;	[I"HExecutes the +block+ to populate elements of the created RSS object;T:
@fileI"lib/rss/maker.rb;T:0@omit_headings_from_table_of_contents_below000[I"(version, &block);T@FI"
Maker;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	link:ETI"RSS::Maker::ImageBase#link;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ImageBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ImageBase:ETI"RSS::Maker::ImageBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I" lib/rss/maker/dublincore.rb;T;
0;	0;
0[[[[I"DublinCoreModel;To;;[;	@;
0I" lib/rss/maker/dublincore.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"	link;TI"lib/rss/maker/base.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"makers:ETI"RSS::Maker::makers;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"+Returns collection of supported makers;T:
@fileI"lib/rss/maker.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Maker;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"required_variable_names:ETI"1RSS::Maker::AtomLink#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
AtomLink;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"
AtomLink:ETI"RSS::Maker::AtomLink;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/atom.rb;T[;[[;
[[I"required_variable_names;T@"[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"to_feed:ETI"!RSS::Maker::AtomLink#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"
AtomLink;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"
HourBase:ETI"5RSS::Maker::ChannelBase::SkipHoursBase::HourBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::ChannelBase::SkipHoursBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"SkipHoursBase:ETI"+RSS::Maker::ChannelBase::SkipHoursBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"ChannelBase:ETI"RSS::Maker::ChannelBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I" lib/rss/maker/dublincore.rb;T;
0o;;[;	I"lib/rss/maker/image.rb;T;
0o;;[;	I"lib/rss/maker/itunes.rb;T;
0o;;[;	I"!lib/rss/maker/syndication.rb;T;
0o;;[;	I"lib/rss/maker/taxonomy.rb;T;
0;	0;
0[[[[I"SetupDefaultDate;To;;[;	@;
0I"lib/rss/maker/base.rb;T[I"DublinCoreModel;To;;[;	@;
0I" lib/rss/maker/dublincore.rb;T[I"Maker::ImageFaviconModel;To;;[;	@;
0I"lib/rss/maker/image.rb;T[I"Maker::ITunesChannelModel;To;;[;	@;
0I"lib/rss/maker/itunes.rb;T[I"SyndicationModel;To;;[;	@;
0I"!lib/rss/maker/syndication.rb;T[I"TaxonomyTopicsModel;To;;[;	@;
0I"lib/rss/maker/taxonomy.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"
date=;T@%[I"	icon;T@%[I"
icon=;T@%[I"lastBuildDate=;T@%[I"	logo;T@%[I"
logo=;T@%[I"pubDate;T@%[I"
pubDate=;T@%[I"updated;T@%[I"
updated=;T@%[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@@@@@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"CloudBase:ETI"'RSS::Maker::ChannelBase::CloudBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
logo=:ETI""RSS::Maker::ChannelBase#logo=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(url);T@FI"ChannelBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
icon=:ETI""RSS::Maker::ChannelBase#icon=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(url);T@FI"ChannelBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"CopyrightBase:ETI"+RSS::Maker::ChannelBase::CopyrightBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomTextConstructBase;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
updated=:ETI"%RSS::Maker::ChannelBase#updated=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(date);T@FI"ChannelBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ITunesImage:ETI")RSS::Maker::ChannelBase::ITunesImage;TI"ITunesImageBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"AuthorsBase:ETI")RSS::Maker::ChannelBase::AuthorsBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"AuthorBase:ETI"5RSS::Maker::ChannelBase::AuthorsBase::AuthorBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomPersonConstructBase;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I")RSS::Maker::ChannelBase::AuthorsBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"	icon:ETI"!RSS::Maker::ChannelBase#icon;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ChannelBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"GeneratorBase:ETI"+RSS::Maker::ChannelBase::GeneratorBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"TitleBase:ETI"'RSS::Maker::ChannelBase::TitleBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomTextConstructBase;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"ContributorBase:ETI"?RSS::Maker::ChannelBase::ContributorsBase::ContributorBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomPersonConstructBase;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I".RSS::Maker::ChannelBase::ContributorsBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"ContributorsBase:ETI".RSS::Maker::ChannelBase::ContributorsBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
pubDate=:ETI"%RSS::Maker::ChannelBase#pubDate=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(date);T@FI"ChannelBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pubDate:ETI"$RSS::Maker::ChannelBase#pubDate;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ChannelBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"DescriptionBase:ETI"-RSS::Maker::ChannelBase::DescriptionBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomTextConstructBase;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"ITunesCategory:ETI">RSS::Maker::ChannelBase::ITunesCategories::ITunesCategory;TI"ITunesCategoryBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"ITunesCategory;TI"NRSS::Maker::ChannelBase::ITunesCategories::ITunesCategory::ITunesCategory;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I".RSS::Maker::ChannelBase::ITunesCategories;T@U:RDoc::NormalClass[iI"ITunesCategories:ETI".RSS::Maker::ChannelBase::ITunesCategories;TI"ITunesCategoriesBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"lastBuildDate=:ETI"+RSS::Maker::ChannelBase#lastBuildDate=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(_date);T@FI"ChannelBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ITunesOwner:ETI")RSS::Maker::ChannelBase::ITunesOwner;TI"ITunesOwnerBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
date=:ETI""RSS::Maker::ChannelBase#date=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(_date);T@FI"ChannelBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	logo:ETI"!RSS::Maker::ChannelBase#logo;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ChannelBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"LinksBase:ETI"'RSS::Maker::ChannelBase::LinksBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
LinkBase:ETI"1RSS::Maker::ChannelBase::LinksBase::LinkBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"'RSS::Maker::ChannelBase::LinksBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"updated:ETI"$RSS::Maker::ChannelBase#updated;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ChannelBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"CategoriesBase:ETI",RSS::Maker::ChannelBase::CategoriesBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"CategoryBase:ETI":RSS::Maker::ChannelBase::CategoriesBase::CategoryBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I",RSS::Maker::ChannelBase::CategoriesBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"SkipDaysBase:ETI"*RSS::Maker::ChannelBase::SkipDaysBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ChannelBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"DayBase:ETI"3RSS::Maker::ChannelBase::SkipDaysBase::DayBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"*RSS::Maker::ChannelBase::SkipDaysBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI" def_elements_class_accessor:ETI"<RSS::Maker::ITunesBaseModel#def_elements_class_accessor;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"n(klass, name, full_name, full_plural_name, klass_name, plural_klass_name, recommended_attribute_name=nil);T@FI"ITunesBaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"&def_explicit_clean_other_accessor:ETI"BRSS::Maker::ITunesBaseModel#def_explicit_clean_other_accessor;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass, full_name);T@FI"ITunesBaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"def_yes_other_accessor:ETI"7RSS::Maker::ITunesBaseModel#def_yes_other_accessor;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass, full_name);T@FI"ITunesBaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"def_class_accessor:ETI"3RSS::Maker::ITunesBaseModel#def_class_accessor;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass, name, type, *args);T@FI"ITunesBaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"def_csv_accessor:ETI"1RSS::Maker::ITunesBaseModel#def_csv_accessor;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass, full_name);T@FI"ITunesBaseModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"ITunesBaseModel:ETI" RSS::Maker::ITunesBaseModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[
[I"def_class_accessor;TI"lib/rss/maker/itunes.rb;T[I"def_csv_accessor;T@"[I" def_elements_class_accessor;T@"[I"&def_explicit_clean_other_accessor;T@"[I"def_yes_other_accessor;T@"[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"AtomPersons:ETI"RSS::Maker::AtomPersons;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"def_atom_persons;TI"lib/rss/maker/atom.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"def_atom_persons:ETI"-RSS::Maker::AtomPersons#def_atom_persons;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"*(klass, name, maker_name, plural=nil);T@FI"AtomPersons;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"AtomPersonConstructBase:ETI"(RSS::Maker::AtomPersonConstructBase;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/maker/base.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"append_features:ETI"9RSS::Maker::AtomPersonConstructBase::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"AtomPersonConstructBase;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
versions:ETI"RSS::Maker::versions;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Returns collection of supported maker versions;T:
@fileI"lib/rss/maker.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Maker;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"ITunesItemModel:ETI" RSS::Maker::ITunesItemModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/maker/itunes.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[I"ITunesBaseModel;To;;[;	@
;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::Attr[iI"content:ETI"<RSS::Maker::ITunesItemModel::ITunesDurationBase#content;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0F@I"4RSS::Maker::ITunesItemModel::ITunesDurationBase;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"second=:ETI"<RSS::Maker::ITunesItemModel::ITunesDurationBase#second=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(second);T@FI"ITunesDurationBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
hour=:ETI":RSS::Maker::ITunesItemModel::ITunesDurationBase#hour=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(hour);T@FI"ITunesDurationBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
content=:ETI"=RSS::Maker::ITunesItemModel::ITunesDurationBase#content=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(content);T@FI"ITunesDurationBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ITunesDurationBase:ETI"4RSS::Maker::ITunesItemModel::ITunesDurationBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"content;TI"R;T:publicFI"lib/rss/maker/itunes.rb;T[[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[
[I"
content=;T@[I"
hour=;T@[I"minute=;T@[I"second=;T@[I"to_feed;T@[;[[;
[[I"update_content;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I" RSS::Maker::ITunesItemModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"minute=:ETI"<RSS::Maker::ITunesItemModel::ITunesDurationBase#minute=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(minute);T@FI"ITunesDurationBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"update_content:ETI"CRSS::Maker::ITunesItemModel::ITunesDurationBase#update_content;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesDurationBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"<RSS::Maker::ITunesItemModel::ITunesDurationBase#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"ITunesDurationBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append_features:ETI"1RSS::Maker::ITunesItemModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"ITunesItemModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"required_variable_names:ETI"6RSS::Maker::AtomGenerator#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"AtomGenerator;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"AtomGenerator:ETI"RSS::Maker::AtomGenerator;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/atom.rb;T[;[[;
[[I"required_variable_names;T@"[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"to_feed:ETI"&RSS::Maker::AtomGenerator#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"AtomGenerator;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"required_variable_names:ETI"5RSS::Maker::AtomCategory#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"AtomCategory;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"variables:ETI"'RSS::Maker::AtomCategory#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"AtomCategory;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"AtomCategory:ETI"RSS::Maker::AtomCategory;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/atom.rb;T[;[[;
[[I"required_variable_names;T@"[I"variables;T@"[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"to_feed:ETI"%RSS::Maker::AtomCategory#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"AtomCategory;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"required_variable_names:ETI"ARSS::Maker::RSS20::Items::Item::Guid#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Guid;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Guid:ETI")RSS::Maker::RSS20::Items::Item::Guid;TI")RSS::Maker::RSS09::Items::Item::Guid;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS20::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"1RSS::Maker::RSS20::Items::Item::Guid#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"	Guid;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Links:ETI"2RSS::Maker::RSS20::Items::Item::Source::Links;TI"2RSS::Maker::RSS09::Items::Item::Source::Links;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS20::Items::Item::Source;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Link:ETI"8RSS::Maker::RSS20::Items::Item::Source::Links::Link;TI"8RSS::Maker::RSS09::Items::Item::Source::Links::Link;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"2RSS::Maker::RSS20::Items::Item::Source::Links;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"@RSS::Maker::RSS20::Items::Item::Source::Links::Link#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, source);T@FI"	Link;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI":RSS::Maker::RSS20::Items::Item::Source::Links#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, source);T@FI"
Links;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Source:ETI"+RSS::Maker::RSS20::Items::Item::Source;TI"+RSS::Maker::RSS09::Items::Item::Source;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS20::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"CRSS::Maker::RSS20::Items::Item::Source#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Source;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"3RSS::Maker::RSS20::Items::Item::Source#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Source;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI";RSS::Maker::RSS20::Items::Item#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variables:ETI"-RSS::Maker::RSS20::Items::Item#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"FRSS::Maker::RSS20::Items::Item::Enclosure#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Enclosure;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Enclosure:ETI".RSS::Maker::RSS20::Items::Item::Enclosure;TI".RSS::Maker::RSS09::Items::Item::Enclosure;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS20::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"6RSS::Maker::RSS20::Items::Item::Enclosure#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Enclosure;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Authors:ETI",RSS::Maker::RSS20::Items::Item::Authors;TI",RSS::Maker::RSS09::Items::Item::Authors;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS20::Items::Item;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Author:ETI"4RSS::Maker::RSS20::Items::Item::Authors::Author;TI"4RSS::Maker::RSS09::Items::Item::Authors::Author;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I",RSS::Maker::RSS20::Items::Item::Authors;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"<RSS::Maker::RSS20::Items::Item::Authors::Author#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Author;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"4RSS::Maker::RSS20::Items::Item::Authors#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Authors;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Item:ETI"#RSS::Maker::RSS20::Items::Item;TI"#RSS::Maker::RSS09::Items::Item;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"not_set_required_variables;TI"lib/rss/maker/2.0.rb;T[I"required_variable_names;T@'[I"variables;T@'[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS20::Items;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Categories:ETI"/RSS::Maker::RSS20::Items::Item::Categories;TI"/RSS::Maker::RSS09::Items::Item::Categories;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::RSS20::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"QRSS::Maker::RSS20::Items::Item::Categories::Category#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Category;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Category:ETI"9RSS::Maker::RSS20::Items::Item::Categories::Category;TI"9RSS::Maker::RSS09::Items::Item::Categories::Category;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"/RSS::Maker::RSS20::Items::Item::Categories;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"ARSS::Maker::RSS20::Items::Item::Categories::Category#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"
Category;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"7RSS::Maker::RSS20::Items::Item::Categories#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, item);T@FI"Categories;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"not_set_required_variables:ETI">RSS::Maker::RSS20::Items::Item#not_set_required_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Items:ETI"RSS::Maker::RSS20::Items;TI"RSS::Maker::RSS09::Items;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS20;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
RSS20:ETI"RSS::Maker::RSS20;TI"RSS::Maker::RSS09;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"lib/rss/maker/2.0.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"RSS::Maker::RSS20::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed_version="2.0");T@TI"
RSS20;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_element?:ETI"/RSS::Maker::RSS20::Image#required_element?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Image;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Image:ETI"RSS::Maker::RSS20::Image;TI"RSS::Maker::RSS09::Image;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"required_element?;TI"lib/rss/maker/2.0.rb;T[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS20;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Channel:ETI"RSS::Maker::RSS20::Channel;TI"RSS::Maker::RSS09::Channel;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"required_variable_names;TI"lib/rss/maker/2.0.rb;T[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS20;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Day:ETI".RSS::Maker::RSS20::Channel::SkipDays::Day;TI".RSS::Maker::RSS09::Channel::SkipDays::Day;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I")RSS::Maker::RSS20::Channel::SkipDays;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
SkipDays:ETI")RSS::Maker::RSS20::Channel::SkipDays;TI")RSS::Maker::RSS09::Channel::SkipDays;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS20::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"SkipHours:ETI"*RSS::Maker::RSS20::Channel::SkipHours;TI"*RSS::Maker::RSS09::Channel::SkipHours;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS20::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Hour:ETI"0RSS::Maker::RSS20::Channel::SkipHours::Hour;TI"0RSS::Maker::RSS09::Channel::SkipHours::Hour;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"*RSS::Maker::RSS20::Channel::SkipHours;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"7RSS::Maker::RSS20::Channel#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI">RSS::Maker::RSS20::Channel::Cloud#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Cloud;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Cloud:ETI"&RSS::Maker::RSS20::Channel::Cloud;TI"&RSS::Maker::RSS09::Channel::Cloud;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS20::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI".RSS::Maker::RSS20::Channel::Cloud#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"
Cloud;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Categories:ETI"+RSS::Maker::RSS20::Channel::Categories;TI"+RSS::Maker::RSS09::Channel::Categories;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS20::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"MRSS::Maker::RSS20::Channel::Categories::Category#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Category;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Category:ETI"5RSS::Maker::RSS20::Channel::Categories::Category;TI"5RSS::Maker::RSS09::Channel::Categories::Category;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::RSS20::Channel::Categories;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"=RSS::Maker::RSS20::Channel::Categories::Category#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"
Category;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"3RSS::Maker::RSS20::Channel::Categories#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Categories;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"BRSS::Maker::RSS20::Channel::Generator#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Generator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Generator:ETI"*RSS::Maker::RSS20::Channel::Generator;TI"GeneratorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/2.0.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS20::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"2RSS::Maker::RSS20::Channel::Generator#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(rss, channel);T@FI"Generator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Textinput:ETI"!RSS::Maker::RSS20::Textinput;TI"!RSS::Maker::RSS09::Textinput;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS20;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Item:ETI"$RSS::Maker::RSS091::Items::Item;TI"#RSS::Maker::RSS09::Items::Item;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS091::Items;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Items:ETI"RSS::Maker::RSS091::Items;TI"RSS::Maker::RSS09::Items;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS091;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI"RSS::Maker::RSS091::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed_version="0.91");T@TI"RSS091;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Image:ETI"RSS::Maker::RSS091::Image;TI"RSS::Maker::RSS09::Image;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS091;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Channel:ETI" RSS::Maker::RSS091::Channel;TI"RSS::Maker::RSS09::Channel;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS091;TcRDoc::NormalClassU:RDoc::NormalClass[iI"RSS091:ETI"RSS::Maker::RSS091;TI"RSS::Maker::RSS09;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"lib/rss/maker/0.9.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"Textinput:ETI""RSS::Maker::RSS091::Textinput;TI"!RSS::Maker::RSS09::Textinput;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS091;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Item:ETI"$RSS::Maker::RSS092::Items::Item;TI"#RSS::Maker::RSS09::Items::Item;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS092::Items;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Items:ETI"RSS::Maker::RSS092::Items;TI"RSS::Maker::RSS09::Items;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS092;TcRDoc::NormalClassU:RDoc::NormalClass[iI"RSS092:ETI"RSS::Maker::RSS092;TI"RSS::Maker::RSS09;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"lib/rss/maker/0.9.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"RSS::Maker::RSS092::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed_version="0.92");T@TI"RSS092;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Image:ETI"RSS::Maker::RSS092::Image;TI"RSS::Maker::RSS09::Image;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS092;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Channel:ETI" RSS::Maker::RSS092::Channel;TI"RSS::Maker::RSS09::Channel;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS092;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Textinput:ETI""RSS::Maker::RSS092::Textinput;TI"!RSS::Maker::RSS09::Textinput;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::RSS092;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"install_taxo_topics:ETI"9RSS::Maker::TaxonomyTopicsModel::install_taxo_topics;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@FI"TaxonomyTopicsModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"append_features:ETI"5RSS::Maker::TaxonomyTopicsModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"TaxonomyTopicsModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"TaxonomyTopicsModel:ETI"$RSS::Maker::TaxonomyTopicsModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/maker/taxonomy.rb;T[I"install_taxo_topics;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"TaxonomyTopicsBase:ETI"8RSS::Maker::TaxonomyTopicsModel::TaxonomyTopicsBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"resources;TI"R;T:publicFI"lib/rss/maker/taxonomy.rb;T[[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::TaxonomyTopicsModel;TcRDoc::NormalModuleU:RDoc::Attr[iI"resources:ETI"BRSS::Maker::TaxonomyTopicsModel::TaxonomyTopicsBase#resources;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0F@I"8RSS::Maker::TaxonomyTopicsModel::TaxonomyTopicsBase;TcRDoc::NormalClass0U:RDoc::NormalModule[iI"AtomTextConstruct:ETI""RSS::Maker::AtomTextConstruct;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"def_atom_text_construct;TI"lib/rss/maker/atom.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"required_variable_names;T@[I"variables;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"required_variable_names:ETI":RSS::Maker::AtomTextConstruct#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"AtomTextConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"variables:ETI",RSS::Maker::AtomTextConstruct#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"AtomTextConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"def_atom_text_construct:ETI";RSS::Maker::AtomTextConstruct::def_atom_text_construct;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"C(klass, name, maker_name, klass_name=nil, atom_klass_name=nil);T@FI"AtomTextConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"new:ETI"RSS::Maker::ItemsBase::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@TI"ItemsBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"normalize:ETI"$RSS::Maker::ItemsBase#normalize;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ItemsBase;TcRDoc::NormalClass00U:RDoc::Attr[iI"do_sort:ETI""RSS::Maker::ItemsBase#do_sort;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::Maker::ItemsBase;TcRDoc::NormalClass0U:RDoc::Attr[iI"
max_size:ETI"#RSS::Maker::ItemsBase#max_size;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::Maker::ItemsBase;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"ItemsBase:ETI"RSS::Maker::ItemsBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[
o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/maker/content.rb;T;
0o;;[;	I" lib/rss/maker/dublincore.rb;T;
0o;;[;	I"lib/rss/maker/image.rb;T;
0o;;[;	I"lib/rss/maker/itunes.rb;T;
0o;;[;	I"lib/rss/maker/slash.rb;T;
0o;;[;	I"lib/rss/maker/taxonomy.rb;T;
0o;;[;	I"lib/rss/maker/trackback.rb;T;
0;	0;
0[[
I"do_sort;TI"RW;T:publicFI"lib/rss/maker/base.rb;T[
I"
max_size;T@';F@([[[[I"
class;T[[;[[I"new;T@([:protected[[:private[[I"
instance;T[[;[[I"normalize;T@([;[[;
[[I"sort_if_need;T@([[U:RDoc::Context::Section[i0o;;[;	0;
0[
@@@@@@@ @#I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"EnclosureBase:ETI"3RSS::Maker::ItemsBase::ItemBase::EnclosureBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::ItemsBase::ItemBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"permanent_link=:ETI">RSS::Maker::ItemsBase::ItemBase::GuidBase#permanent_link=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(bool);T@FI"
GuidBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"permanent_link?:ETI">RSS::Maker::ItemsBase::ItemBase::GuidBase#permanent_link?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
GuidBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
GuidBase:ETI".RSS::Maker::ItemsBase::ItemBase::GuidBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"permanent_link=;TI"lib/rss/maker/base.rb;T[I"permanent_link?;T@#[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::ItemsBase::ItemBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
updated=:ETI"-RSS::Maker::ItemsBase::ItemBase#updated=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(date);T@FI"
ItemBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ITunesDuration:ETI"4RSS::Maker::ItemsBase::ItemBase::ITunesDuration;TI"ITunesDurationBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::ItemsBase::ItemBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"TitleBase:ETI"/RSS::Maker::ItemsBase::ItemBase::TitleBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomTextConstructBase;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::ItemsBase::ItemBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"RightsBase:ETI"0RSS::Maker::ItemsBase::ItemBase::RightsBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomTextConstructBase;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::ItemsBase::ItemBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
pubDate=:ETI"-RSS::Maker::ItemsBase::ItemBase#pubDate=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(date);T@FI"
ItemBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pubDate:ETI",RSS::Maker::ItemsBase::ItemBase#pubDate;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
ItemBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"DescriptionBase:ETI"5RSS::Maker::ItemsBase::ItemBase::DescriptionBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomTextConstructBase;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::ItemsBase::ItemBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
ItemBase:ETI"$RSS::Maker::ItemsBase::ItemBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[
o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/maker/content.rb;T;
0o;;[;	I" lib/rss/maker/dublincore.rb;T;
0o;;[;	I"lib/rss/maker/image.rb;T;
0o;;[;	I"lib/rss/maker/itunes.rb;T;
0o;;[;	I"lib/rss/maker/slash.rb;T;
0o;;[;	I"lib/rss/maker/taxonomy.rb;T;
0o;;[;	I"lib/rss/maker/trackback.rb;T;
0;	0;
0[[	U:RDoc::Constant[iI"CategoriesBase;TI"4RSS::Maker::ItemsBase::ItemBase::CategoriesBase;T:public0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"AuthorsBase;TI"1RSS::Maker::ItemsBase::ItemBase::AuthorsBase;T;0o;;[;	@;
0@@@,0U;[iI"LinksBase;TI"/RSS::Maker::ItemsBase::ItemBase::LinksBase;T;0o;;[;	@;
0@@@,0U;[iI"ContributorsBase;TI"6RSS::Maker::ItemsBase::ItemBase::ContributorsBase;T;0o;;[;	@;
0@@@,0[
[I"SetupDefaultDate;To;;[;	@;
0I"lib/rss/maker/base.rb;T[I"ContentModel;To;;[;	@;
0I"lib/rss/maker/content.rb;T[I"DublinCoreModel;To;;[;	@;
0I" lib/rss/maker/dublincore.rb;T[I"Maker::ImageItemModel;To;;[;	@;
0I"lib/rss/maker/image.rb;T[I"Maker::ITunesItemModel;To;;[;	@;
0I"lib/rss/maker/itunes.rb;T[I"SlashModel;To;;[;	@;
0I"lib/rss/maker/slash.rb;T[I"TaxonomyTopicsModel;To;;[;	@ ;
0I"lib/rss/maker/taxonomy.rb;T[I"TrackBackModel;To;;[;	@#;
0I"lib/rss/maker/trackback.rb;T[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"<=>;T@D[I"
date=;T@D[I"pubDate;T@D[I"
pubDate=;T@D[I"updated;T@D[I"
updated=;T@D[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[
@@@@@@@ @#I"RSS::Maker::ItemsBase;T@,U:RDoc::AnyMethod[iI"inline_other_xml?:ETI"CRSS::Maker::ItemsBase::ItemBase::ContentBase#inline_other_xml?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ContentBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_html?:ETI">RSS::Maker::ItemsBase::ItemBase::ContentBase#inline_html?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ContentBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_other?:ETI"?RSS::Maker::ItemsBase::ItemBase::ContentBase#inline_other?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ContentBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_other_text?:ETI"DRSS::Maker::ItemsBase::ItemBase::ContentBase#inline_other_text?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ContentBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"out_of_line?:ETI">RSS::Maker::ItemsBase::ItemBase::ContentBase#out_of_line?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ContentBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_xhtml?:ETI"?RSS::Maker::ItemsBase::ItemBase::ContentBase#inline_xhtml?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ContentBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"xml_content=:ETI">RSS::Maker::ItemsBase::ItemBase::ContentBase#xml_content=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[[I"	xml=;To;;	[;
@;0I"(content);T@FI"ContentBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	xml=:ETI"6RSS::Maker::ItemsBase::ItemBase::ContentBase#xml=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(content);T@FI"ContentBase;TcRDoc::NormalClass0[I"1RSS::Maker::ItemsBase::ItemBase::ContentBase;TFI"xml_content=;TU:RDoc::NormalClass[iI"ContentBase:ETI"1RSS::Maker::ItemsBase::ItemBase::ContentBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I",AtomTextConstructBase::EnsureXMLContent;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"inline_html?;T@[I"inline_other?;T@[I"inline_other_base64?;T@[I"inline_other_text?;T@[I"inline_other_xml?;T@[I"inline_text?;T@[I"inline_xhtml?;T@[I"out_of_line?;T@[I"	xml=;T@[I"xml_content=;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::ItemsBase::ItemBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"inline_text?:ETI">RSS::Maker::ItemsBase::ItemBase::ContentBase#inline_text?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ContentBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_other_base64?:ETI"FRSS::Maker::ItemsBase::ItemBase::ContentBase#inline_other_base64?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ContentBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
date=:ETI"*RSS::Maker::ItemsBase::ItemBase#date=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(_date);T@FI"
ItemBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"updated:ETI",RSS::Maker::ItemsBase::ItemBase#updated;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
ItemBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"<=>:ETI"(RSS::Maker::ItemsBase::ItemBase#<=>;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(other);T@FI"
ItemBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
IconBase:ETI":RSS::Maker::ItemsBase::ItemBase::SourceBase::IconBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::ItemsBase::ItemBase::SourceBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
updated=:ETI"9RSS::Maker::ItemsBase::ItemBase::SourceBase#updated=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(date);T@FI"SourceBase;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"SourceBase:ETI"0RSS::Maker::ItemsBase::ItemBase::SourceBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
U:RDoc::Constant[iI"AuthorsBase;TI"=RSS::Maker::ItemsBase::ItemBase::SourceBase::AuthorsBase;T:public0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"CategoriesBase;TI"@RSS::Maker::ItemsBase::ItemBase::SourceBase::CategoriesBase;T;0o;;[;	@;
0@@@0U;[iI"ContributorsBase;TI"BRSS::Maker::ItemsBase::ItemBase::SourceBase::ContributorsBase;T;0o;;[;	@;
0@@@0U;[iI"GeneratorBase;TI"?RSS::Maker::ItemsBase::ItemBase::SourceBase::GeneratorBase;T;0o;;[;	@;
0@@@0U;[iI"LinksBase;TI";RSS::Maker::ItemsBase::ItemBase::SourceBase::LinksBase;T;0o;;[;	@;
0@@@0[[I"SetupDefaultDate;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"
date=;T@5[I"updated;T@5[I"
updated=;T@5[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::ItemsBase::ItemBase;T@U:RDoc::NormalClass[iI"TitleBase:ETI";RSS::Maker::ItemsBase::ItemBase::SourceBase::TitleBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomTextConstructBase;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::ItemsBase::ItemBase::SourceBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
LogoBase:ETI":RSS::Maker::ItemsBase::ItemBase::SourceBase::LogoBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::ItemsBase::ItemBase::SourceBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"RightsBase:ETI"<RSS::Maker::ItemsBase::ItemBase::SourceBase::RightsBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomTextConstructBase;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::ItemsBase::ItemBase::SourceBase;TcRDoc::NormalClassU:RDoc::NormalClass[iI"SubtitleBase:ETI">RSS::Maker::ItemsBase::ItemBase::SourceBase::SubtitleBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomTextConstructBase;To;;[;	@;
0I"lib/rss/maker/base.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::ItemsBase::ItemBase::SourceBase;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"
date=:ETI"6RSS::Maker::ItemsBase::ItemBase::SourceBase#date=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(_date);T@FI"SourceBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"updated:ETI"8RSS::Maker::ItemsBase::ItemBase::SourceBase#updated;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"SourceBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"sort_if_need:ETI"'RSS::Maker::ItemsBase#sort_if_need;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ItemsBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"1RSS::Maker::AtomLogo#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
AtomLogo;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"
AtomLogo:ETI"RSS::Maker::AtomLogo;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/atom.rb;T[;[[;
[[I"required_variable_names;T@"[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"to_feed:ETI"!RSS::Maker::AtomLogo#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"
AtomLogo;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"_set_default_values:ETI"5RSS::Maker::SetupDefaultDate#_set_default_values;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"SetupDefaultDate;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"_parse_date_if_needed:ETI"7RSS::Maker::SetupDefaultDate#_parse_date_if_needed;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"(date_value);T@FI"SetupDefaultDate;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"SetupDefaultDate:ETI"!RSS::Maker::SetupDefaultDate;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"_parse_date_if_needed;TI"lib/rss/maker/base.rb;T[I"_set_default_values;T@&[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"SlashModel:ETI"RSS::Maker::SlashModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/slash.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/maker/slash.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"append_features:ETI",RSS::Maker::SlashModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/slash.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"SlashModel;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"	Guid:ETI".RSS::Maker::Atom::Feed::Items::Item::Guid;TI"
GuidBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/feed.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"(RSS::Maker::Atom::Feed::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"6RSS::Maker::Atom::Feed::Items::Item::Guid#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"	Guid;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Links:ETI"7RSS::Maker::Atom::Feed::Items::Item::Source::Links;TI"LinksBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::Atom::Feed::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"not_set_name:ETI"KRSS::Maker::Atom::Feed::Items::Item::Source::Links::Link::not_set_name;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Link;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Link:ETI"=RSS::Maker::Atom::Feed::Items::Item::Source::Links::Link;TI"
LinkBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
AtomLink;To;;[;	@;
0I"lib/rss/maker/feed.rb;T[[I"
class;T[[:public[[I"not_set_name;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"7RSS::Maker::Atom::Feed::Items::Item::Source::Links;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"NRSS::Maker::Atom::Feed::Items::Item::Source::Icon#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Icon;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Icon:ETI"6RSS::Maker::Atom::Feed::Items::Item::Source::Icon;TI"
IconBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/feed.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::Atom::Feed::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI">RSS::Maker::Atom::Feed::Items::Item::Source::Icon#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"	Icon;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Source:ETI"0RSS::Maker::Atom::Feed::Items::Item::Source;TI"SourceBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/feed.rb;T[;[[;
[[I"required_variable_names;T@#[I"variables;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"(RSS::Maker::Atom::Feed::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"HRSS::Maker::Atom::Feed::Items::Item::Source#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Source;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variables:ETI":RSS::Maker::Atom::Feed::Items::Item::Source#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"Source;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"not_set_name:ETI"DRSS::Maker::Atom::Feed::Items::Item::Source::Logo::not_set_name;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Logo;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Logo:ETI"6RSS::Maker::Atom::Feed::Items::Item::Source::Logo;TI"
LogoBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
AtomLogo;To;;[;	@;
0I"lib/rss/maker/feed.rb;T[[I"
class;T[[:public[[I"not_set_name;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::Atom::Feed::Items::Item::Source;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Categories:ETI"<RSS::Maker::Atom::Feed::Items::Item::Source::Categories;TI"CategoriesBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::Atom::Feed::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"not_set_name:ETI"TRSS::Maker::Atom::Feed::Items::Item::Source::Categories::Category::not_set_name;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Category;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Category:ETI"FRSS::Maker::Atom::Feed::Items::Item::Source::Categories::Category;TI"CategoryBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomCategory;To;;[;	@;
0I"lib/rss/maker/feed.rb;T[[I"
class;T[[:public[[I"not_set_name;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"<RSS::Maker::Atom::Feed::Items::Item::Source::Categories;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"not_set_name:ETI"IRSS::Maker::Atom::Feed::Items::Item::Source::Generator::not_set_name;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Generator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Generator:ETI";RSS::Maker::Atom::Feed::Items::Item::Source::Generator;TI"GeneratorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomGenerator;To;;[;	@;
0I"lib/rss/maker/feed.rb;T[[I"
class;T[[:public[[I"not_set_name;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::Atom::Feed::Items::Item::Source;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"8RSS::Maker::Atom::Feed::Items::Item::Source#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"Source;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Links:ETI"/RSS::Maker::Atom::Feed::Items::Item::Links;TI"LinksBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"(RSS::Maker::Atom::Feed::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"not_set_name:ETI"CRSS::Maker::Atom::Feed::Items::Item::Links::Link::not_set_name;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Link;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Link:ETI"5RSS::Maker::Atom::Feed::Items::Item::Links::Link;TI"
LinkBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
AtomLink;To;;[;	@;
0I"lib/rss/maker/feed.rb;T[[I"
class;T[[:public[[I"not_set_name;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"/RSS::Maker::Atom::Feed::Items::Item::Links;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"_set_default_values:ETI"<RSS::Maker::Atom::Feed::Items::Item#_set_default_values;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(&block);T@TI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"@RSS::Maker::Atom::Feed::Items::Item#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variables:ETI"2RSS::Maker::Atom::Feed::Items::Item#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Enclosure:ETI"3RSS::Maker::Atom::Feed::Items::Item::Enclosure;TI"EnclosureBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/feed.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"(RSS::Maker::Atom::Feed::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI";RSS::Maker::Atom::Feed::Items::Item::Enclosure#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"Enclosure;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Item:ETI"(RSS::Maker::Atom::Feed::Items::Item;TI"
ItemBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"have_required_values?;TI"lib/rss/maker/feed.rb;T[I"to_feed;T@#[;[[;
[	[I"_set_default_values;T@#[I"not_set_required_variables;T@#[I"required_variable_names;T@#[I"variables;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I""RSS::Maker::Atom::Feed::Items;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_variable_names:ETI"IRSS::Maker::Atom::Feed::Items::Item::Content#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variables:ETI";RSS::Maker::Atom::Feed::Items::Item::Content#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"Content;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Content:ETI"1RSS::Maker::Atom::Feed::Items::Item::Content;TI"ContentBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/feed.rb;T[;[[;
[[I"required_variable_names;T@#[I"variables;T@#[I"xml_type?;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"(RSS::Maker::Atom::Feed::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"xml_type?:ETI";RSS::Maker::Atom::Feed::Items::Item::Content#xml_type?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"9RSS::Maker::Atom::Feed::Items::Item::Content#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"Content;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Categories:ETI"4RSS::Maker::Atom::Feed::Items::Item::Categories;TI"CategoriesBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"(RSS::Maker::Atom::Feed::Items::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"not_set_name:ETI"LRSS::Maker::Atom::Feed::Items::Item::Categories::Category::not_set_name;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Category;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Category:ETI">RSS::Maker::Atom::Feed::Items::Item::Categories::Category;TI"CategoryBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomCategory;To;;[;	@;
0I"lib/rss/maker/feed.rb;T[[I"
class;T[[:public[[I"not_set_name;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"4RSS::Maker::Atom::Feed::Items::Item::Categories;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"not_set_required_variables:ETI"CRSS::Maker::Atom::Feed::Items::Item#not_set_required_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_required_values?:ETI">RSS::Maker::Atom::Feed::Items::Item#have_required_values?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"0RSS::Maker::Atom::Feed::Items::Item#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed);T@FI"	Item;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Items:ETI""RSS::Maker::Atom::Feed::Items;TI"RSS::Maker::ItemsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/feed.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::Atom::Feed;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"*RSS::Maker::Atom::Feed::Items#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed);T@FI"
Items;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Feed:ETI"RSS::Maker::Atom::Feed;TI"RSS::Maker::RSSBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"lib/rss/maker/feed.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"make_feed;T@[I"setup_elements;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::Atom;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"make_feed:ETI"%RSS::Maker::Atom::Feed#make_feed;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Feed;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI" RSS::Maker::Atom::Feed::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed_version="1.0");T@TI"	Feed;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_elements:ETI"*RSS::Maker::Atom::Feed#setup_elements;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed);T@FI"	Feed;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI":RSS::Maker::Atom::Feed::Image#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Image;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Image:ETI""RSS::Maker::Atom::Feed::Image;TI"RSS::Maker::ImageBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/feed.rb;T[;[[;
[[I"required_variable_names;T@#[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::Atom::Feed;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"*RSS::Maker::Atom::Feed::Image#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed);T@FI"
Image;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Channel:ETI"$RSS::Maker::Atom::Feed::Channel;TI"RSS::Maker::ChannelBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"SetupDefaultLanguage;To;;[;	@;
0I"lib/rss/maker/feed.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"have_required_values?;T@[I"to_feed;T@[;[[;
[
[I"_set_default_values;T@[I"not_set_required_variables;T@[I"required_variable_names;T@[I"variable_is_set?;T@[I"variables;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::Atom::Feed;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Day:ETI"3RSS::Maker::Atom::Feed::Channel::SkipDays::Day;TI"DayBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I".RSS::Maker::Atom::Feed::Channel::SkipDays;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
SkipDays:ETI".RSS::Maker::Atom::Feed::Channel::SkipDays;TI"SkipDaysBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/feed.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::Atom::Feed::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"6RSS::Maker::Atom::Feed::Channel::SkipDays#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
SkipDays;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Links:ETI"+RSS::Maker::Atom::Feed::Channel::Links;TI"LinksBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::Atom::Feed::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"not_set_name:ETI"?RSS::Maker::Atom::Feed::Channel::Links::Link::not_set_name;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Link;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Link:ETI"1RSS::Maker::Atom::Feed::Channel::Links::Link;TI"
LinkBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
AtomLink;To;;[;	@;
0I"lib/rss/maker/feed.rb;T[[I"
class;T[[:public[[I"not_set_name;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"+RSS::Maker::Atom::Feed::Channel::Links;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"variable_is_set?:ETI"5RSS::Maker::Atom::Feed::Channel#variable_is_set?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"_set_default_values:ETI"8RSS::Maker::Atom::Feed::Channel#_set_default_values;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(&block);T@TI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"SkipHours:ETI"/RSS::Maker::Atom::Feed::Channel::SkipHours;TI"SkipHoursBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/feed.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::Atom::Feed::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Hour:ETI"5RSS::Maker::Atom::Feed::Channel::SkipHours::Hour;TI"
HourBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"/RSS::Maker::Atom::Feed::Channel::SkipHours;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"7RSS::Maker::Atom::Feed::Channel::SkipHours#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"SkipHours;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"<RSS::Maker::Atom::Feed::Channel#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variables:ETI".RSS::Maker::Atom::Feed::Channel#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Cloud:ETI"+RSS::Maker::Atom::Feed::Channel::Cloud;TI"CloudBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/feed.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::Atom::Feed::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"3RSS::Maker::Atom::Feed::Channel::Cloud#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"
Cloud;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Categories:ETI"0RSS::Maker::Atom::Feed::Channel::Categories;TI"CategoriesBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::Atom::Feed::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"not_set_name:ETI"HRSS::Maker::Atom::Feed::Channel::Categories::Category::not_set_name;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Category;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Category:ETI":RSS::Maker::Atom::Feed::Channel::Categories::Category;TI"CategoryBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomCategory;To;;[;	@;
0I"lib/rss/maker/feed.rb;T[[I"
class;T[[:public[[I"not_set_name;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::Atom::Feed::Channel::Categories;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"not_set_required_variables:ETI"?RSS::Maker::Atom::Feed::Channel#not_set_required_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"not_set_name:ETI"=RSS::Maker::Atom::Feed::Channel::Generator::not_set_name;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Generator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Generator:ETI"/RSS::Maker::Atom::Feed::Channel::Generator;TI"GeneratorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomGenerator;To;;[;	@;
0I"lib/rss/maker/feed.rb;T[[I"
class;T[[:public[[I"not_set_name;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"$RSS::Maker::Atom::Feed::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"have_required_values?:ETI":RSS::Maker::Atom::Feed::Channel#have_required_values?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI",RSS::Maker::Atom::Feed::Channel#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Textinput:ETI"&RSS::Maker::Atom::Feed::Textinput;TI"RSS::Maker::TextinputBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/feed.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::Atom::Feed;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"variable_is_set?:ETI":RSS::Maker::Atom::Entry::Items::Item#variable_is_set?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"_set_default_values:ETI"=RSS::Maker::Atom::Entry::Items::Item#_set_default_values;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_variable_names:ETI"ARSS::Maker::Atom::Entry::Items::Item#required_variable_names;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variables:ETI"3RSS::Maker::Atom::Entry::Items::Item#variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Item:ETI")RSS::Maker::Atom::Entry::Items::Item;TI"
ItemBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"	Guid;TI"/RSS::Maker::Atom::Entry::Items::Item::Guid;T:public0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"Enclosure;TI"4RSS::Maker::Atom::Entry::Items::Item::Enclosure;T;0o;;[;	@;
0@@@0U;[iI"Source;TI"1RSS::Maker::Atom::Entry::Items::Item::Source;T;0o;;[;	@;
0@@@0U;[iI"Categories;TI"5RSS::Maker::Atom::Entry::Items::Item::Categories;T;0o;;[;	@;
0@@@0U;[iI"Authors;TI"2RSS::Maker::Atom::Entry::Items::Item::Authors;T;0o;;[;	@;
0@@@0U;[iI"Contributors;TI"7RSS::Maker::Atom::Entry::Items::Item::Contributors;T;0o;;[;	@;
0@@@0U;[iI"
Links;TI"0RSS::Maker::Atom::Entry::Items::Item::Links;T;0o;;[;	@;
0@@@0U;[iI"Rights;TI"1RSS::Maker::Atom::Entry::Items::Item::Rights;T;0o;;[;	@;
0@@@0U;[iI"Description;TI"6RSS::Maker::Atom::Entry::Items::Item::Description;T;0o;;[;	@;
0@@@0U;[iI"
Title;TI"0RSS::Maker::Atom::Entry::Items::Item::Title;T;0o;;[;	@;
0@@@0U;[iI"Content;TI"2RSS::Maker::Atom::Entry::Items::Item::Content;T;0o;;[;	@;
0@@@0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/entry.rb;T[;
[[;[
[I"_set_default_values;T@f[I"not_set_required_variables;T@f[I"required_variable_names;T@f[I"variable_is_set?;T@f[I"variables;T@f[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"#RSS::Maker::Atom::Entry::Items;T@U:RDoc::AnyMethod[iI"not_set_required_variables:ETI"DRSS::Maker::Atom::Entry::Items::Item#not_set_required_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"1RSS::Maker::Atom::Entry::Items::Item#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below000[I"(entry);T@FI"	Item;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Items:ETI"#RSS::Maker::Atom::Entry::Items;TI"RSS::Maker::ItemsBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"to_feed;TI"lib/rss/maker/entry.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::Atom::Entry;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"to_feed:ETI"+RSS::Maker::Atom::Entry::Items#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below000[I"(entry);T@FI"
Items;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"make_feed:ETI"&RSS::Maker::Atom::Entry#make_feed;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Entry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"!RSS::Maker::Atom::Entry::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed_version="1.0");T@TI"
Entry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_elements:ETI"+RSS::Maker::Atom::Entry#setup_elements;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below000[I"(entry);T@FI"
Entry;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Image:ETI"#RSS::Maker::Atom::Entry::Image;TI"RSS::Maker::ImageBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::Atom::Entry;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Channel:ETI"%RSS::Maker::Atom::Entry::Channel;TI"RSS::Maker::ChannelBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"Categories;TI"1RSS::Maker::Atom::Entry::Channel::Categories;T:public0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"
Links;TI",RSS::Maker::Atom::Entry::Channel::Links;T;0o;;[;	@;
0@@@0U;[iI"Authors;TI".RSS::Maker::Atom::Entry::Channel::Authors;T;0o;;[;	@;
0@@@0U;[iI"Contributors;TI"3RSS::Maker::Atom::Entry::Channel::Contributors;T;0o;;[;	@;
0@@@0U;[iI"Copyright;TI"0RSS::Maker::Atom::Entry::Channel::Copyright;T;0o;;[;	@;
0@@@0U;[iI"
Title;TI",RSS::Maker::Atom::Entry::Channel::Title;T;0o;;[;	@;
0@@@0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::Atom::Entry;T@U:RDoc::NormalClass[iI"Day:ETI"4RSS::Maker::Atom::Entry::Channel::SkipDays::Day;TI"DayBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"/RSS::Maker::Atom::Entry::Channel::SkipDays;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
SkipDays:ETI"/RSS::Maker::Atom::Entry::Channel::SkipDays;TI"SkipDaysBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"%RSS::Maker::Atom::Entry::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"SkipHours:ETI"0RSS::Maker::Atom::Entry::Channel::SkipHours;TI"SkipHoursBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"%RSS::Maker::Atom::Entry::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Hour:ETI"6RSS::Maker::Atom::Entry::Channel::SkipHours::Hour;TI"
HourBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"0RSS::Maker::Atom::Entry::Channel::SkipHours;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Description:ETI"2RSS::Maker::Atom::Entry::Channel::Description;TI"DescriptionBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"%RSS::Maker::Atom::Entry::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Cloud:ETI",RSS::Maker::Atom::Entry::Channel::Cloud;TI"CloudBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"%RSS::Maker::Atom::Entry::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"not_set_name:ETI">RSS::Maker::Atom::Entry::Channel::Generator::not_set_name;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Generator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Generator:ETI"0RSS::Maker::Atom::Entry::Channel::Generator;TI"GeneratorBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"AtomGenerator;To;;[;	@;
0I"lib/rss/maker/entry.rb;T[[I"
class;T[[:public[[I"not_set_name;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"%RSS::Maker::Atom::Entry::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Entry:ETI"RSS::Maker::Atom::Entry;TI"RSS::Maker::RSSBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"lib/rss/maker/entry.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"make_feed;T@[I"setup_elements;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::Atom;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"Textinput:ETI"'RSS::Maker::Atom::Entry::Textinput;TI"RSS::Maker::TextinputBase;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::Atom::Entry;TcRDoc::NormalClassU:RDoc::NormalModule[iI"	Atom:ETI"RSS::Maker::Atom;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/entry.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/maker/feed.rb;T;
0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"install_image_item:ETI"3RSS::Maker::ImageItemModel::install_image_item;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@FI"ImageItemModel;TcRDoc::NormalModule00U:RDoc::Attr[iI"
about:ETI"4RSS::Maker::ImageItemModel::ImageItemBase#about;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0F@I".RSS::Maker::ImageItemModel::ImageItemBase;TcRDoc::NormalClass0U:RDoc::Attr[iI"image_height:ETI";RSS::Maker::ImageItemModel::ImageItemBase#image_height;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0F@I".RSS::Maker::ImageItemModel::ImageItemBase;TcRDoc::NormalClass0U:RDoc::Attr[iI"image_width:ETI":RSS::Maker::ImageItemModel::ImageItemBase#image_width;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0F@I".RSS::Maker::ImageItemModel::ImageItemBase;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"ImageItemBase:ETI".RSS::Maker::ImageItemModel::ImageItemBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"
about;TI"RW;T:publicFI"lib/rss/maker/image.rb;T[
I"height=;T@;F@[
I"image_height;T@;F@[
I"image_width;T@;F@[
I"
resource;T@;F@[
I"width=;T@;F@[[[I"Maker::DublinCoreModel;To;;[;	@;
0@[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"have_required_values?;T@[I"to_feed;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Maker::ImageItemModel;TcRDoc::NormalModuleU:RDoc::Attr[iI"height=:ETI"6RSS::Maker::ImageItemModel::ImageItemBase#height=;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0F@I".RSS::Maker::ImageItemModel::ImageItemBase;TcRDoc::NormalClass0U:RDoc::Attr[iI"width=:ETI"5RSS::Maker::ImageItemModel::ImageItemBase#width=;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0F@I".RSS::Maker::ImageItemModel::ImageItemBase;TcRDoc::NormalClass0U:RDoc::Attr[iI"
resource:ETI"7RSS::Maker::ImageItemModel::ImageItemBase#resource;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0F@I".RSS::Maker::ImageItemModel::ImageItemBase;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"have_required_values?:ETI"DRSS::Maker::ImageItemModel::ImageItemBase#have_required_values?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ImageItemBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_feed:ETI"6RSS::Maker::ImageItemModel::ImageItemBase#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"ImageItemBase;TcRDoc::NormalClass00U:RDoc::NormalModule[iI"ImageItemModel:ETI"RSS::Maker::ImageItemModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/maker/image.rb;T[I"install_image_item;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"append_features:ETI"0RSS::Maker::ImageItemModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"ImageItemModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"_set_default_values:ETI"9RSS::Maker::SetupDefaultLanguage#_set_default_values;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"SetupDefaultLanguage;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"SetupDefaultLanguage:ETI"%RSS::Maker::SetupDefaultLanguage;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"_set_default_values;TI"lib/rss/maker/base.rb;T[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::Attr[iI"
about:ETI":RSS::Maker::ImageFaviconModel::ImageFaviconBase#about;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0F@I"4RSS::Maker::ImageFaviconModel::ImageFaviconBase;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"ImageFaviconBase:ETI"4RSS::Maker::ImageFaviconModel::ImageFaviconBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[	[
I"
about;TI"RW;T:publicFI"lib/rss/maker/image.rb;T[
I"image_size;T@;F@[
I"	size;T@;F@[
I"
size=;T@;F@[[[I"Maker::DublinCoreModel;To;;[;	@;
0@[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"have_required_values?;T@[I"to_feed;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I""RSS::Maker::ImageFaviconModel;TcRDoc::NormalModuleU:RDoc::Attr[iI"image_size:ETI"?RSS::Maker::ImageFaviconModel::ImageFaviconBase#image_size;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0F@I"4RSS::Maker::ImageFaviconModel::ImageFaviconBase;TcRDoc::NormalClass0U:RDoc::Attr[iI"	size:ETI"9RSS::Maker::ImageFaviconModel::ImageFaviconBase#size;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0F@I"4RSS::Maker::ImageFaviconModel::ImageFaviconBase;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"have_required_values?:ETI"JRSS::Maker::ImageFaviconModel::ImageFaviconBase#have_required_values?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ImageFaviconBase;TcRDoc::NormalClass00U:RDoc::Attr[iI"
size=:ETI":RSS::Maker::ImageFaviconModel::ImageFaviconBase#size=;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0F@I"4RSS::Maker::ImageFaviconModel::ImageFaviconBase;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"to_feed:ETI"<RSS::Maker::ImageFaviconModel::ImageFaviconBase#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(feed, current);T@FI"ImageFaviconBase;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"install_image_favicon:ETI"9RSS::Maker::ImageFaviconModel::install_image_favicon;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@FI"ImageFaviconModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"ImageFaviconModel:ETI""RSS::Maker::ImageFaviconModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/maker/image.rb;T[I"install_image_favicon;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"append_features:ETI"3RSS::Maker::ImageFaviconModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/maker/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"ImageFaviconModel;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"TextinputBase:ETI"RSS::Maker::TextinputBase;TI"RSS::Maker::Base;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/maker/base.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I" lib/rss/maker/dublincore.rb;T;
0;	0;
0[[[[I"DublinCoreModel;To;;[;	@;
0I" lib/rss/maker/dublincore.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@I"RSS::Maker;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"
RSS09:ETI"RSS::RSS09;T0o:RDoc::Markup::Document:@parts[o;;[S:RDoc::Markup::Heading:
leveli:	textI"RSS 0.9 support;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"PRSS has three different versions. This module contains support for version ;TI"70.9.1[http://www.rssboard.org/rss-0-9-1-netscape].;T@S;	;
i;I"Producing RSS 0.9;T@o;
;[I"OProducing our own RSS feeds is easy as well. Let's make a very basic feed:;T@o:RDoc::Markup::Verbatim;[I"require "rss"
;TI"
;TI".rss = RSS::Maker.make("0.91") do |maker|
;TI"%  maker.channel.language = "en"
;TI"%  maker.channel.author = "matz"
;TI"-  maker.channel.updated = Time.now.to_s
;TI"I  maker.channel.link = "http://www.ruby-lang.org/en/feeds/news.rss"
;TI",  maker.channel.title = "Example Feed"
;TI"F  maker.channel.description = "A longer description of my feed."
;TI"D  maker.image.url = "http://www.ruby-lang.org/images/logo.gif"
;TI"&  maker.image.title = "An image"
;TI"&  maker.items.new_item do |item|
;TI"`    item.link = "http://www.ruby-lang.org/en/news/2010/12/25/ruby-1-9-2-p136-is-released/"
;TI"4    item.title = "Ruby 1.9.2-p136 is released"
;TI"&    item.updated = Time.now.to_s
;TI"  end
;TI"	end
;TI"
;TI"puts rss
;T:@format0o;
;[I"QAs you can see, this is a very Builder-like DSL. This code will spit out an ;TI"ORSS 0.9 feed with one item. If we needed a second item, we'd make another ;TI"<block with maker.items.new_item and build a second one.;T:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[U:RDoc::Constant[iI"NSPOOL;TI"RSS::RSS09::NSPOOL;T:public0o;;[;@3;0@3@cRDoc::NormalModule0U;[iI"
ELEMENTS;TI"RSS::RSS09::ELEMENTS;T;0o;;[;@3;0@3@@<0[[[I"
class;T[[;[[I"append_features;TI"lib/rss/0.9.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@3I"lib/rss/2.0.rb;TI"RSS;T@<U:RDoc::AnyMethod[iI"append_features:ETI" RSS::RSS09::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"
RSS09;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"DublinCoreModel:ETI"RSS::DublinCoreModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/dublincore.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[	U:RDoc::Constant[iI"TEXT_ELEMENTS;TI"(RSS::DublinCoreModel::TEXT_ELEMENTS;T:public0o;;[;	@
;
0@
@cRDoc::NormalModule0U;[iI"DATE_ELEMENTS;TI"(RSS::DublinCoreModel::DATE_ELEMENTS;T;0o;;[;	@
;
0@
@@0U;[iI"ELEMENT_NAME_INFOS;TI"-RSS::DublinCoreModel::ELEMENT_NAME_INFOS;T;0o;;[;	@
;
0@
@@0U;[iI"
ELEMENTS;TI"#RSS::DublinCoreModel::ELEMENTS;T;0o;;[;	@
;
0@
@@0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[I"BaseModel;To;;[;	@
;
0I"lib/rss/dublincore.rb;T[I"BaseDublinCoreModel;To;;[;	@
;
0@B[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I" lib/rss/maker/dublincore.rb;TI"RSS;T@U:RDoc::AnyMethod[iI"csv_integer_writer:ETI"&RSS::BaseModel#csv_integer_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, disp_name=name);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"positive_integer_writer:ETI"+RSS::BaseModel#positive_integer_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, disp_name=name);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"%explicit_clean_other_attr_reader:ETI"4RSS::BaseModel#explicit_clean_other_attr_reader;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(*attrs);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"integer_writer:ETI""RSS::BaseModel#integer_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, disp_name=name);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"install_have_child_element:ETI".RSS::BaseModel#install_have_child_element;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[[I"#install_have_attribute_element;To;;	[;
@;0I"0(tag_name, uri, occurs, name=nil, type=nil);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"#install_have_attribute_element:ETI"2RSS::BaseModel#install_have_attribute_element;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"0(tag_name, uri, occurs, name=nil, type=nil);T@FI"BaseModel;TcRDoc::NormalModule0[I"RSS::BaseModel;TFI"install_have_child_element;TU:RDoc::AnyMethod[iI"yes_other_attr_reader:ETI")RSS::BaseModel#yes_other_attr_reader;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(*attrs);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"install_date_element:ETI"(RSS::BaseModel#install_date_element;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"?(tag_name, uri, occurs, name=nil, type=nil, disp_name=nil);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI" inherit_convert_attr_reader:ETI"/RSS::BaseModel#inherit_convert_attr_reader;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(*attrs);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"csv_attr_reader:ETI"#RSS::BaseModel#csv_attr_reader;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(*attrs);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"def_children_accessor:ETI")RSS::BaseModel#def_children_accessor;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"!(accessor_name, plural_name);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"install_element:ETI"#RSS::BaseModel#install_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, postfix="");T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"csv_writer:ETI"RSS::BaseModel#csv_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, disp_name=name);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"convert_attr_reader:ETI"'RSS::BaseModel#convert_attr_reader;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(*attrs);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"date_writer:ETI"RSS::BaseModel#date_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"!(name, type, disp_name=name);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"install_text_element:ETI"(RSS::BaseModel#install_text_element;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"?(tag_name, uri, occurs, name=nil, type=nil, disp_name=nil);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI" explicit_clean_other_writer:ETI"/RSS::BaseModel#explicit_clean_other_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, disp_name=name);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI""install_have_children_element:ETI"1RSS::BaseModel#install_have_children_element;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"7(tag_name, uri, occurs, name=nil, plural_name=nil);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"yes_other_writer:ETI"$RSS::BaseModel#yes_other_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, disp_name=name);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"boolean_writer:ETI""RSS::BaseModel#boolean_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, disp_name=name);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"BaseModel:ETI"RSS::BaseModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
Utils;To;;[;	@
;
0I"lib/rss/rss.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[
[I"install_date_element;T@[I"#install_have_attribute_element;T@[I"install_have_child_element;T@[I""install_have_children_element;T@[I"install_text_element;T@[;[[;
[[I"boolean_writer;T@[I"content_writer;T@[I"convert_attr_reader;T@[I"csv_attr_reader;T@[I"csv_integer_writer;T@[I"csv_writer;T@[I"date_writer;T@[I"def_children_accessor;T@[I"%explicit_clean_other_attr_reader;T@[I" explicit_clean_other_writer;T@[I" inherit_convert_attr_reader;T@[I"install_element;T@[I"integer_writer;T@[I"positive_integer_writer;T@[I"text_type_writer;T@[I"uri_convert_attr_reader;T@[I"yes_other_attr_reader;T@[I"yes_other_writer;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"uri_convert_attr_reader:ETI"+RSS::BaseModel#uri_convert_attr_reader;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(*attrs);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"content_writer:ETI""RSS::BaseModel#content_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, disp_name=name);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"text_type_writer:ETI"$RSS::BaseModel#text_type_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, disp_name=name);T@FI"BaseModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"new:ETI"$RSS::MissingAttributeError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag, attribute);T@TI"MissingAttributeError;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"MissingAttributeError:ETI"RSS::MissingAttributeError;TI"RSS::InvalidRSSError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"PCertain attributes are required on specific tags in an RSS feed. If a feed ;TI"Kis missing one of these attributes, a MissingAttributeError is raised.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"attribute;TI"R;T:publicFI"lib/rss/rss.rb;T[
I"tag;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::Attr[iI"attribute:ETI")RSS::MissingAttributeError#attribute;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::MissingAttributeError;TcRDoc::NormalClass0U:RDoc::Attr[iI"tag:ETI"#RSS::MissingAttributeError#tag;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::MissingAttributeError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"required_uri:ETI":RSS::ITunesChannelModel::ITunesCategory::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesCategory;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_prefix:ETI"=RSS::ITunesChannelModel::ITunesCategory::required_prefix;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesCategory;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"1RSS::ITunesChannelModel::ITunesCategory::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"ITunesCategory;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"6RSS::ITunesChannelModel::ITunesCategory#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesCategory;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ITunesCategory:ETI",RSS::ITunesChannelModel::ITunesCategory;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"ITunesCategory;TI"<RSS::ITunesChannelModel::ITunesCategory::ITunesCategory;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[I"
RSS09;To;;[;	@;
0I"lib/rss/itunes.rb;T[[I"
class;T[[;[[I"new;T@[I"required_prefix;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[;
[[;[[I"maker_target;T@[I"setup_maker_attributes;T@[I"setup_maker_elements;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::ITunesChannelModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"maker_target:ETI"9RSS::ITunesChannelModel::ITunesCategory#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(categories);T@FI"ITunesCategory;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_elements:ETI"ARSS::ITunesChannelModel::ITunesCategory#setup_maker_elements;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(category);T@TI"ITunesCategory;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_attributes:ETI"CRSS::ITunesChannelModel::ITunesCategory#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(category);T@FI"ITunesCategory;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ITunesImage:ETI")RSS::ITunesChannelModel::ITunesImage;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/itunes.rb;T[[I"
class;T[[:public[[I"new;T@[I"required_prefix;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[;[[;
[[I"maker_target;T@[I"setup_maker_attributes;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::ITunesChannelModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"required_uri:ETI"7RSS::ITunesChannelModel::ITunesImage::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesImage;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_prefix:ETI":RSS::ITunesChannelModel::ITunesImage::required_prefix;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesImage;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI".RSS::ITunesChannelModel::ITunesImage::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"ITunesImage;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"3RSS::ITunesChannelModel::ITunesImage#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesImage;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI"6RSS::ITunesChannelModel::ITunesImage#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"ITunesImage;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_attributes:ETI"@RSS::ITunesChannelModel::ITunesImage#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(image);T@FI"ITunesImage;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_uri:ETI"7RSS::ITunesChannelModel::ITunesOwner::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesOwner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_prefix:ETI":RSS::ITunesChannelModel::ITunesOwner::required_prefix;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesOwner;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ITunesOwner:ETI")RSS::ITunesChannelModel::ITunesOwner;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/itunes.rb;T[[I"
class;T[[:public[[I"new;T@[I"required_prefix;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[;[[;
[[I"maker_target;T@[I"setup_maker_element;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::ITunesChannelModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI".RSS::ITunesChannelModel::ITunesOwner::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"ITunesOwner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"3RSS::ITunesChannelModel::ITunesOwner#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesOwner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_element:ETI"=RSS::ITunesChannelModel::ITunesOwner#setup_maker_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(owner);T@TI"ITunesOwner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI"6RSS::ITunesChannelModel::ITunesOwner#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"ITunesOwner;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append_features:ETI"-RSS::ITunesChannelModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"ITunesChannelModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"ITunesChannelModel:ETI"RSS::ITunesChannelModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
ELEMENTS;TI"&RSS::ITunesChannelModel::ELEMENTS;T:public0o;;[;	@
;
0@
@cRDoc::NormalModule0U;[iI"ELEMENT_INFOS;TI"+RSS::ITunesChannelModel::ELEMENT_INFOS;T;0o;;[;	@
;
0@
@@0[[I"ITunesBaseModel;To;;[;	@
;
0I"lib/rss/itunes.rb;T[[I"
class;T[[;[[I"append_features;T@"[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[I"BaseModel;To;;[;	@
;
0@"[I"ITunesModelUtils;To;;[;	@
;
0@"[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"lib/rss/maker/itunes.rb;TI"RSS;T@U:RDoc::NormalClass[iI"TrackBackPing:ETI")RSS::TrackBackModel10::TrackBackPing;TI"RSS::Element;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/rss/trackback.rb;TI"RSS::TrackBackModel10;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"TrackBackAbout:ETI"*RSS::TrackBackModel10::TrackBackAbout;TI"RSS::Element;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/rss/trackback.rb;TI"RSS::TrackBackModel10;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"TrackBackModel10:ETI"RSS::TrackBackModel10;T0o:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/rss/trackback.rb;TI"RSS;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"ContentModel:ETI"RSS::ContentModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/content.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
ELEMENTS;TI" RSS::ContentModel::ELEMENTS;T:public0o;;[;	@
;
0@
@cRDoc::NormalModule0[[[I"
class;T[[;[[I"append_features;TI"lib/rss/content.rb;T[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[I"BaseModel;To;;[;	@
;
0@ [U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"lib/rss/maker/content.rb;TI"RSS;T@U:RDoc::AnyMethod[iI"append_features:ETI"'RSS::ContentModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/content.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"ContentModel;TcRDoc::NormalModule00U:RDoc::Attr[iI"uri:ETI"RSS::UnknownTagError#uri;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::UnknownTagError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"RSS::UnknownTagError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag, uri);T@TI"UnknownTagError;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"UnknownTagError:ETI"RSS::UnknownTagError;TI"RSS::InvalidRSSError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"NRSS does not allow for free-form tag names, so if an RSS feed contains a ;TI"@tag that we don't know about, an UnknownTagError is raised.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"tag;TI"R;T:publicFI"lib/rss/rss.rb;T[
I"uri;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::Attr[iI"tag:ETI"RSS::UnknownTagError#tag;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::UnknownTagError;TcRDoc::NormalClass0U:RDoc::Attr[iI"uri:ETI"!RSS::NotExpectedTagError#uri;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::NotExpectedTagError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI""RSS::NotExpectedTagError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag, uri, parent);T@TI"NotExpectedTagError;TcRDoc::NormalClass00U:RDoc::Attr[iI"parent:ETI"$RSS::NotExpectedTagError#parent;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::NotExpectedTagError;TcRDoc::NormalClass0U:RDoc::Attr[iI"tag:ETI"!RSS::NotExpectedTagError#tag;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::NotExpectedTagError;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"NotExpectedTagError:ETI"RSS::NotExpectedTagError;TI"RSS::InvalidRSSError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"2Raised when an unexpected tag is encountered.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"parent;TI"R;T:publicFI"lib/rss/rss.rb;T[
I"tag;T@;F@[
I"uri;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"!RSS::XMLStyleSheetMixin::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"XMLStyleSheetMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"xml_stylesheet_pi:ETI".RSS::XMLStyleSheetMixin#xml_stylesheet_pi;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"XMLStyleSheetMixin;TcRDoc::NormalModule00U:RDoc::Attr[iI"xml_stylesheets:ETI",RSS::XMLStyleSheetMixin#xml_stylesheets;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::XMLStyleSheetMixin;TcRDoc::NormalModule0U:RDoc::NormalModule[iI"XMLStyleSheetMixin:ETI"RSS::XMLStyleSheetMixin;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"xml_stylesheets;TI"RW;T:publicFI"lib/rss/xml-stylesheet.rb;T[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"xml_stylesheet_pi;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"RSS::NotSetError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, variables);T@TI"NotSetError;TcRDoc::NormalClass00U:RDoc::Attr[iI"variables:ETI"RSS::NotSetError#variables;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::NotSetError;TcRDoc::NormalClass0U:RDoc::Attr[iI"	name:ETI"RSS::NotSetError#name;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::NotSetError;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"NotSetError:ETI"RSS::NotSetError;TI"RSS::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"0Raised when a required variable is not set.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"	name;TI"R;T:publicFI"lib/rss/rss.rb;T[
I"variables;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"ignore_unknown_element=:ETI",RSS::BaseParser#ignore_unknown_element=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(new_value);T@FI"BaseParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::BaseParser::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(rss);T@FI"BaseParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"do_validate=:ETI"!RSS::BaseParser#do_validate=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(new_value);T@FI"BaseParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI" raise_for_undefined_entity?:ETI"1RSS::BaseParser::raise_for_undefined_entity?;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BaseParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"do_validate:ETI" RSS::BaseParser#do_validate;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BaseParser;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"BaseParser:ETI"RSS::BaseParser;TI"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"lib/rss/parser.rb;T[I" raise_for_undefined_entity?;T@[:protected[[:private[[I"
instance;T[[;[[I"do_validate;T@[I"do_validate=;T@[I"ignore_unknown_element;T@[I"ignore_unknown_element=;T@[I"
parse;T@[I"rss;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"ignore_unknown_element:ETI"+RSS::BaseParser#ignore_unknown_element;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BaseParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rss:ETI"RSS::BaseParser#rss;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BaseParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
parse:ETI"RSS::BaseParser#parse;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BaseParser;TcRDoc::NormalClass00U:RDoc::Attr[iI"prefix:ETI"&RSS::OverlappedPrefixError#prefix;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::OverlappedPrefixError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"$RSS::OverlappedPrefixError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(prefix);T@FI"OverlappedPrefixError;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"OverlappedPrefixError:ETI"RSS::OverlappedPrefixError;TI"RSS::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"RRSS, being an XML-based format, has namespace support. If two namespaces are ;TI"Jdeclared with the same name, an OverlappedPrefixError will be raised.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"prefix;TI"R;T:publicFI"lib/rss/rss.rb;T[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"required_uri:ETI"RSS::RDF::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"RDF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"0(version=nil, encoding=nil, standalone=nil);T@TI"RDF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"RSS::RDF#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"RDF;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_uri:ETI"!RSS::RDF::Item::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::Item::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"	Item;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Item:ETI"RSS::RDF::Item;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/content/1.0.rb;T;
0o;;[;	I"lib/rss/dublincore/1.0.rb;T;
0o;;[;	I"lib/rss/image.rb;T;
0o;;[;	I"lib/rss/slash.rb;T;
0o;;[;	I"lib/rss/taxonomy.rb;T;
0;	0;
0[[[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[I"ContentModel;To;;[;	@;
0I"lib/rss/content/1.0.rb;T[I"DublinCoreModel;To;;[;	@;
0I"lib/rss/dublincore/1.0.rb;T[I"ImageItemModel;To;;[;	@;
0I"lib/rss/image.rb;T[I"SlashModel;To;;[;	@;
0I"lib/rss/slash.rb;T[I"TaxonomyTopicsModel;To;;[;	@;
0I"lib/rss/taxonomy.rb;T[[I"
class;T[[:public[[I"new;T@%[I"required_uri;T@%[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"maker_target;T@%[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@@@@@I"lib/rss/trackback.rb;TI"
RSS::RDF;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"maker_target:ETI" RSS::RDF::Item#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(items);T@FI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_uri:ETI"RSS::RDF::Li::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Li;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::Li::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Li;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"RSS::RDF::Li#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Li;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Li:ETI"RSS::RDF::Li;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[[I"
class;T[[:public[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"
RSS::RDF;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_uri:ETI" RSS::RDF::Seq::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Seq;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::Seq::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Seq;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"RSS::RDF::Seq#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Seq;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Seq:ETI"RSS::RDF::Seq;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"Li;TI"RSS::RDF::Seq::Li;T:publicI"RSS::RDF::Li;To;;[;	@;
0@@cRDoc::NormalClass0[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[[I"
class;T[[;[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[I"setup_maker;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"lib/rss/maker/1.0.rb;TI"
RSS::RDF;T@U:RDoc::AnyMethod[iI"required_uri:ETI"RSS::RDF::Li::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Li;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::Li::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Li;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"RSS::RDF::Li#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Li;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Li:ETI"RSS::RDF::Seq::Li;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[[I"
class;T[[:public[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::RDF::Seq;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"setup_maker:ETI"RSS::RDF::Seq#setup_maker;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"Seq;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_uri:ETI""RSS::RDF::Image::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Image;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::Image::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"
Image;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI"!RSS::RDF::Image#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"
Image;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Image:ETI"RSS::RDF::Image;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/dublincore/1.0.rb;T;
0;	0;
0[[[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[I"DublinCoreModel;To;;[;	@;
0I"lib/rss/dublincore/1.0.rb;T[[I"
class;T[[:public[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"maker_target;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@I"
RSS::RDF;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_uri:ETI"+RSS::RDF::Channel::Items::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Items;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI""RSS::RDF::Channel::Items::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"
Items;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Items:ETI"RSS::RDF::Channel::Items;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"Seq;TI""RSS::RDF::Channel::Items::Seq;T:publicI"RSS::RDF::Seq;To;;[;	@;
0@@cRDoc::NormalClass0[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[[I"
class;T[[;[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"resources;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"lib/rss/maker/1.0.rb;TI"RSS::RDF::Channel;T@U:RDoc::AnyMethod[iI"resources:ETI"'RSS::RDF::Channel::Items#resources;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Items;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_uri:ETI" RSS::RDF::Seq::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Seq;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::Seq::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Seq;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"RSS::RDF::Seq#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Seq;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Seq:ETI""RSS::RDF::Channel::Items::Seq;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"Li;TI"RSS::RDF::Seq::Li;T:publicI"RSS::RDF::Li;To;;[;	@;
0@I"Seq;TcRDoc::NormalClass0[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[[I"
class;T[[;[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[I"setup_maker;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"lib/rss/maker/1.0.rb;TI"RSS::RDF::Channel::Items;T@U:RDoc::AnyMethod[iI"setup_maker:ETI"RSS::RDF::Seq#setup_maker;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"Seq;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Channel:ETI"RSS::RDF::Channel;TI"Element;To:RDoc::Markup::Document:@parts[
o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/dublincore/1.0.rb;T;
0o;;[;	I"lib/rss/image.rb;T;
0o;;[;	I"lib/rss/syndication.rb;T;
0o;;[;	I"lib/rss/taxonomy.rb;T;
0;	0;
0[[[
[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[I"DublinCoreModel;To;;[;	@;
0I"lib/rss/dublincore/1.0.rb;T[I"ImageFaviconModel;To;;[;	@;
0I"lib/rss/image.rb;T[I"SyndicationModel;To;;[;	@;
0I"lib/rss/syndication.rb;T[I"TaxonomyTopicsModel;To;;[;	@;
0I"lib/rss/taxonomy.rb;T[[I"
class;T[[:public[[I"new;T@"[I"required_uri;T@"[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"maker_target;T@"[I"setup_maker_attributes;T@"[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@@I"lib/rss/maker/1.0.rb;T@@I"
RSS::RDF;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_uri:ETI"$RSS::RDF::Channel::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::Channel::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_uri:ETI"+RSS::RDF::Channel::Image::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Image;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI""RSS::RDF::Channel::Image::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"
Image;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Image:ETI"RSS::RDF::Channel::Image;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[[I"
class;T[[:public[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::RDF::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"maker_target:ETI"#RSS::RDF::Channel#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_attributes:ETI"-RSS::RDF::Channel#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(channel);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Textinput:ETI"!RSS::RDF::Channel::Textinput;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[[I"
class;T[[:public[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::RDF::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_uri:ETI"/RSS::RDF::Channel::Textinput::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Textinput;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"&RSS::RDF::Channel::Textinput::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Textinput;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_uri:ETI" RSS::RDF::Bag::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Bag;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::Bag::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Bag;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"RSS::RDF::Bag#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Bag;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_uri:ETI"RSS::RDF::Li::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Li;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::Li::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Li;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"RSS::RDF::Li#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Li;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Li:ETI"RSS::RDF::Bag::Li;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[[I"
class;T[[:public[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::RDF::Bag;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Bag:ETI"RSS::RDF::Bag;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"Li;TI"RSS::RDF::Bag::Li;T:publicI"RSS::RDF::Li;To;;[;	@;
0@@cRDoc::NormalClass0[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[[I"
class;T[[;[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[I"setup_maker;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"
RSS::RDF;T@U:RDoc::AnyMethod[iI"setup_maker:ETI"RSS::RDF::Bag#setup_maker;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"Bag;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"RDF:ETI"
RSS::RDF;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/content/1.0.rb;T;
0o;;[;	I"lib/rss/dublincore/1.0.rb;T;
0o;;[;	I"lib/rss/image.rb;T;
0o;;[;	I"lib/rss/slash.rb;T;
0o;;[;	I"lib/rss/syndication.rb;T;
0o;;[;	I"lib/rss/taxonomy.rb;T;
0;	0;
0[[U:RDoc::Constant[iI"PREFIX;TI"RSS::RDF::PREFIX;T:public0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"URI;TI"RSS::RDF::URI;T;0o;;[;	@;
0@@@)0[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[I"RootElementMixin;To;;[;	@;
0@5[I"TaxonomyTopicModel;To;;[;	@ ;
0I"lib/rss/taxonomy.rb;T[[I"
class;T[[;[[I"new;T@5[I"required_uri;T@5[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@5[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@@@I"lib/rss/maker/1.0.rb;T@@@ I"lib/rss/trackback.rb;TI"RSS;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"Textinput:ETI"RSS::RDF::Textinput;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/dublincore/1.0.rb;T;
0;	0;
0[[[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[I"DublinCoreModel;To;;[;	@;
0I"lib/rss/dublincore/1.0.rb;T[[I"
class;T[[:public[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"maker_target;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@I"
RSS::RDF;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"required_uri:ETI"&RSS::RDF::Textinput::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Textinput;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::Textinput::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Textinput;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI"%RSS::RDF::Textinput#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"Textinput;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::ConversionError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(string, to, from);T@TI"ConversionError;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ConversionError:ETI"RSS::ConversionError;TI"RSS::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"-Raised when a conversion failure occurs.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"	from;TI"R;T:publicFI"lib/rss/rss.rb;T[
I"string;T@;F@[
I"to;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::Attr[iI"string:ETI" RSS::ConversionError#string;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::ConversionError;TcRDoc::NormalClass0U:RDoc::Attr[iI"to:ETI"RSS::ConversionError#to;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::ConversionError;TcRDoc::NormalClass0U:RDoc::Attr[iI"	from:ETI"RSS::ConversionError#from;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::ConversionError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"guess_type:ETI""RSS::XMLStyleSheet#guess_type;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below000[I"(filename);T@FI"XMLStyleSheet;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::XMLStyleSheet::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(*attrs);T@FI"XMLStyleSheet;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"alternate=:ETI""RSS::XMLStyleSheet#alternate=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value);T@FI"XMLStyleSheet;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"XMLStyleSheet:ETI"RSS::XMLStyleSheet;TI"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"do_validate;TI"RW;T:publicFI"lib/rss/xml-stylesheet.rb;T[U:RDoc::Constant[iI"ATTRIBUTES;TI"#RSS::XMLStyleSheet::ATTRIBUTES;T;0o;;[;	@;
0@@cRDoc::NormalClass0U;[iI"GUESS_TABLE;TI"$RSS::XMLStyleSheet::GUESS_TABLE;T;0o;;[;	@;
0@@@0[[I"
Utils;To;;[;	@;
0@[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[	[I"alternate=;T@[I"
href=;T@[I"setup_maker;T@[I"	to_s;T@[;
[[;[[I"guess_type;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/rss/maker/base.rb;T@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"	to_s:ETI"RSS::XMLStyleSheet#to_s;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"XMLStyleSheet;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
href=:ETI"RSS::XMLStyleSheet#href=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value);T@FI"XMLStyleSheet;TcRDoc::NormalClass00U:RDoc::Attr[iI"do_validate:ETI"#RSS::XMLStyleSheet#do_validate;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::XMLStyleSheet;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"setup_maker:ETI"#RSS::XMLStyleSheet#setup_maker;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xml-stylesheet.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"XMLStyleSheet;TcRDoc::NormalClass00U:RDoc::NormalModule[iI"ITunesBaseModel:ETI"RSS::ITunesBaseModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
ELEMENTS;TI"#RSS::ITunesBaseModel::ELEMENTS;T:public0o;;[;	@
;
0@
@cRDoc::NormalModule0U;[iI"ELEMENT_INFOS;TI"(RSS::ITunesBaseModel::ELEMENT_INFOS;T;0o;;[;	@
;
0@
@@0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[I"ITunesModelUtils;To;;[;	@
;
0I"lib/rss/itunes.rb;T[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;T@U:RDoc::NormalClass[iI"NotAvailableValueError:ETI" RSS::NotAvailableValueError;TI"RSS::InvalidRSSError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"OAttributes are in key-value form, and if there's no value provided for an ;TI"8attribute, a NotAvailableValueError will be raised.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"attribute;TI"R;T:publicFI"lib/rss/rss.rb;T[
I"tag;T@;F@[
I"
value;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"%RSS::NotAvailableValueError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I" (tag, value, attribute=nil);T@TI"NotAvailableValueError;TcRDoc::NormalClass00U:RDoc::Attr[iI"attribute:ETI"*RSS::NotAvailableValueError#attribute;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I" RSS::NotAvailableValueError;TcRDoc::NormalClass0U:RDoc::Attr[iI"tag:ETI"$RSS::NotAvailableValueError#tag;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I" RSS::NotAvailableValueError;TcRDoc::NormalClass0U:RDoc::Attr[iI"
value:ETI"&RSS::NotAvailableValueError#value;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I" RSS::NotAvailableValueError;TcRDoc::NormalClass0U:RDoc::NormalModule[iI"ITunesItemModel:ETI"RSS::ITunesItemModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"ELEMENT_INFOS;TI"(RSS::ITunesItemModel::ELEMENT_INFOS;T:public0o;;[;	@
;
0@
@cRDoc::NormalModule0[[I"ITunesBaseModel;To;;[;	@
;
0I"lib/rss/itunes.rb;T[[I"
class;T[[;[[I"append_features;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[I"BaseModel;To;;[;	@
;
0@[I"ITunesModelUtils;To;;[;	@
;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"lib/rss/maker/itunes.rb;TI"RSS;T@U:RDoc::AnyMethod[iI"value=:ETI"0RSS::ITunesItemModel::ITunesDuration#value=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(value);T@FI"ITunesDuration;TcRDoc::NormalClass0[I")RSS::ITunesItemModel::ITunesDuration;TFI"
content=;TU:RDoc::AnyMethod[iI"required_uri:ETI"7RSS::ITunesItemModel::ITunesDuration::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_prefix:ETI":RSS::ITunesItemModel::ITunesDuration::required_prefix;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI".RSS::ITunesItemModel::ITunesDuration::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
parse:ETI"0RSS::ITunesItemModel::ITunesDuration::parse;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"!(duration, do_validate=true);T@FI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"3RSS::ITunesItemModel::ITunesDuration#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"second=:ETI"1RSS::ITunesItemModel::ITunesDuration#second=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(second);T@FI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
hour=:ETI"/RSS::ITunesItemModel::ITunesDuration#hour=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(hour);T@FI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::Attr[iI"minute:ETI"0RSS::ITunesItemModel::ITunesDuration#minute;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below0F@I")RSS::ITunesItemModel::ITunesDuration;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"ITunesDuration:ETI")RSS::ITunesItemModel::ITunesDuration;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"	hour;TI"R;T:publicFI"lib/rss/itunes.rb;T[
I"minute;T@;F@[
I"second;T@;F@[[[I"
RSS09;To;;[;	@;
0@[[I"
class;T[[;[
[I"construct;T@[I"new;T@[I"
parse;T@[I"required_prefix;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"
content=;T@[I"full_name;T@[I"
hour=;T@[I"minute=;T@[I"second=;T@[I"value=;T@[;[[;
[[I"maker_target;T@[I"setup_maker_element;T@[I"update_content;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::ITunesItemModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"construct:ETI"4RSS::ITunesItemModel::ITunesDuration::construct;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(hour, minute, second);T@FI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_element:ETI"=RSS::ITunesItemModel::ITunesDuration#setup_maker_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(duration);T@TI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI"6RSS::ITunesItemModel::ITunesDuration#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::Attr[iI"	hour:ETI".RSS::ITunesItemModel::ITunesDuration#hour;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below0F@I")RSS::ITunesItemModel::ITunesDuration;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"
content=:ETI"2RSS::ITunesItemModel::ITunesDuration#content=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[[I"value=;To;;	[;
@;0I"(value);T@FI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"minute=:ETI"1RSS::ITunesItemModel::ITunesDuration#minute=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(minute);T@FI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::Attr[iI"second:ETI"0RSS::ITunesItemModel::ITunesDuration#second;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below0F@I")RSS::ITunesItemModel::ITunesDuration;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"update_content:ETI"8RSS::ITunesItemModel::ITunesDuration#update_content;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ITunesDuration;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append_features:ETI"*RSS::ITunesItemModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"ITunesItemModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"TrackBackUtils:ETI"RSS::TrackBackUtils;T0o:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/rss/trackback.rb;TI"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI" RSS::XMLParserNotFound::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"XMLParserNotFound;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"XMLParserNotFound:ETI"RSS::XMLParserNotFound;TI"
Error;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"new;TI"lib/rss/parser.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::Attr[iI"feed_subtype:ETI"'RSS::RootElementMixin#feed_subtype;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::RootElementMixin;TcRDoc::NormalModule0U:RDoc::Attr[iI"
encoding:ETI"#RSS::RootElementMixin#encoding;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::RootElementMixin;TcRDoc::NormalModule0U:RDoc::AnyMethod[iI"new:ETI"RSS::RootElementMixin::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I">(feed_version, version=nil, encoding=nil, standalone=nil);T@TI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::Attr[iI"standalone:ETI"%RSS::RootElementMixin#standalone;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::RootElementMixin;TcRDoc::NormalModule0U:RDoc::Attr[iI"output_encoding:ETI"*RSS::RootElementMixin#output_encoding;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::RootElementMixin;TcRDoc::NormalModule0U:RDoc::AnyMethod[iI"feed_info:ETI"$RSS::RootElementMixin#feed_info;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"same_feed_type?:ETI"*RSS::RootElementMixin#same_feed_type?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(type);T@FI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"ns_declarations:ETI"*RSS::RootElementMixin#ns_declarations;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::Attr[iI"feed_version:ETI"'RSS::RootElementMixin#feed_version;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::RootElementMixin;TcRDoc::NormalModule0U:RDoc::AnyMethod[iI"maker_target:ETI"'RSS::RootElementMixin#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::Attr[iI"version:ETI""RSS::RootElementMixin#version;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::RootElementMixin;TcRDoc::NormalModule0U:RDoc::AnyMethod[iI"to_atom:ETI""RSS::RootElementMixin#to_atom;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(type, &block);T@FI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::Attr[iI"feed_type:ETI"$RSS::RootElementMixin#feed_type;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::RootElementMixin;TcRDoc::NormalModule0U:RDoc::AnyMethod[iI"xmldecl:ETI""RSS::RootElementMixin#xmldecl;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"tag:ETI"RSS::RootElementMixin#tag;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(indent, attrs={}, &block);T@TI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"RootElementMixin:ETI"RSS::RootElementMixin;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"
encoding;TI"RW;T:publicFI"lib/rss/rss.rb;T[
I"feed_subtype;TI"R;T;F@[
I"feed_type;T@;F@[
I"feed_version;T@;F@[
I"output_encoding;T@;F@[
I"standalone;T@;F@[
I"version;T@;F@[[[I"XMLStyleSheetMixin;To;;[;	@
;
0@[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[I"feed_info;T@[I"output_encoding=;T@[I"setup_maker;T@[I"to_atom;T@[I"to_feed;T@[I"to_rss;T@[I"to_xml;T@[;[[;
[
[I"maker_target;T@[I"ns_declarations;T@[I"same_feed_type?;T@[I"tag;T@[I"xmldecl;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"to_rss:ETI"!RSS::RootElementMixin#to_rss;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(type, &block);T@FI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"setup_maker:ETI"&RSS::RootElementMixin#setup_maker;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@TI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"output_encoding=:ETI"+RSS::RootElementMixin#output_encoding=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(enc);T@FI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"to_xml:ETI"!RSS::RootElementMixin#to_xml;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(type=nil, &block);T@FI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"to_feed:ETI""RSS::RootElementMixin#to_feed;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(type, &block);T@FI"RootElementMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"new:ETI"RSS::Rss::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I">(feed_version, version=nil, encoding=nil, standalone=nil);T@TI"Rss;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
items:ETI"RSS::Rss#items;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Rss;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"textinput:ETI"RSS::Rss#textinput;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Rss;TcRDoc::NormalClass00U:RDoc::Attr[iI"feed_version:ETI"RSS::Rss#feed_version;TI"W;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
RSS::Rss;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"&RSS::Rss::Channel::TextInput::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"TextInput;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"TextInput:ETI"!RSS::Rss::Channel::TextInput;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[[I"
class;T[[:public[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"maker_target;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Rss::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"maker_target:ETI".RSS::Rss::Channel::TextInput#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"TextInput;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Channel:ETI"RSS::Rss::Channel;TI"Element;To:RDoc::Markup::Document:@parts[
o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/2.0.rb;T;
0o;;[;	I"lib/rss/content/2.0.rb;T;
0o;;[;	I"lib/rss/dublincore/2.0.rb;T;
0o;;[;	I"lib/rss/itunes.rb;T;
0;	0;
0[[U:RDoc::Constant[iI"
Category;TI" RSS::Rss::Channel::Category;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[I"DublinCoreModel;To;;[;	@;
0I"lib/rss/dublincore/2.0.rb;T[I"ITunesChannelModel;To;;[;	@;
0I"lib/rss/itunes.rb;T[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[I"maker_target;T@)[I"+not_need_to_call_setup_maker_variables;T@)[I"setup_maker_elements;T@)[[U:RDoc::Context::Section[i0o;;[;	0;
0[
@@@@@I"lib/rss/maker/0.9.rb;TI"lib/rss/maker/2.0.rb;TI"lib/rss/trackback.rb;TI"
RSS::Rss;T@#U:RDoc::NormalClass[iI"Day:ETI"%RSS::Rss::Channel::SkipDays::Day;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[[I"
class;T[[:public[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I" RSS::Rss::Channel::SkipDays;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI"*RSS::Rss::Channel::SkipDays::Day::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Day;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
SkipDays:ETI" RSS::Rss::Channel::SkipDays;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"lib/rss/maker/0.9.rb;TI"RSS::Rss::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"SkipHours:ETI"!RSS::Rss::Channel::SkipHours;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"lib/rss/maker/0.9.rb;TI"RSS::Rss::Channel;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Hour:ETI"'RSS::Rss::Channel::SkipHours::Hour;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[[I"
class;T[[:public[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"!RSS::Rss::Channel::SkipHours;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI",RSS::Rss::Channel::SkipHours::Hour::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"	Hour;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"'RSS::Rss::Channel::Item::Guid::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"	Guid;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Guid:ETI""RSS::Rss::Channel::Item::Guid;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/2.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/2.0.rb;T[[I"
class;T[[:public[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[I"PermaLink?;T@[I"_PermaLink?;T@[;[[;
[[I"maker_target;T@[I"setup_maker_attributes;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Rss::Channel::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"_PermaLink?:ETI".RSS::Rss::Channel::Item::Guid#_PermaLink?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Guid;TcRDoc::NormalClass0[I""RSS::Rss::Channel::Item::Guid;TFI"PermaLink?;TU:RDoc::AnyMethod[iI"maker_target:ETI"/RSS::Rss::Channel::Item::Guid#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(item);T@FI"	Guid;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"PermaLink?:ETI"-RSS::Rss::Channel::Item::Guid#PermaLink?;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[[I"_PermaLink?;To;;	[;
@;0I"();T@FI"	Guid;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_attributes:ETI"9RSS::Rss::Channel::Item::Guid#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(guid);T@FI"	Guid;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Source:ETI"$RSS::Rss::Channel::Item::Source;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[[I"
class;T[[:public[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"maker_target;T@[I"setup_maker_attributes;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Rss::Channel::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI")RSS::Rss::Channel::Item::Source::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Source;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI"1RSS::Rss::Channel::Item::Source#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(item);T@FI"Source;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_attributes:ETI";RSS::Rss::Channel::Item::Source#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(source);T@FI"Source;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"_setup_maker_element:ETI"1RSS::Rss::Channel::Item#_setup_maker_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/2.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(item);T@FI"	Item;TcRDoc::NormalClass0[I"RSS::Rss::Channel::Item;TFI"setup_maker_element;TU:RDoc::AnyMethod[iI"new:ETI",RSS::Rss::Channel::Item::Enclosure::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Enclosure;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Enclosure:ETI"'RSS::Rss::Channel::Item::Enclosure;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[[I"
class;T[[:public[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"maker_target;T@[I"setup_maker_attributes;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Rss::Channel::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"maker_target:ETI"4RSS::Rss::Channel::Item::Enclosure#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(item);T@FI"Enclosure;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_attributes:ETI">RSS::Rss::Channel::Item::Enclosure#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(enclosure);T@FI"Enclosure;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Item:ETI"RSS::Rss::Channel::Item;TI"Element;To:RDoc::Markup::Document:@parts[
o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/2.0.rb;T;
0o;;[;	I"lib/rss/content/2.0.rb;T;
0o;;[;	I"lib/rss/dublincore/2.0.rb;T;
0o;;[;	I"lib/rss/itunes.rb;T;
0;	0;
0[[[	[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[I"ContentModel;To;;[;	@;
0I"lib/rss/content/2.0.rb;T[I"DublinCoreModel;To;;[;	@;
0I"lib/rss/dublincore/2.0.rb;T[I"ITunesItemModel;To;;[;	@;
0I"lib/rss/itunes.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"_setup_maker_element;TI"lib/rss/2.0.rb;T[I"maker_target;T@"[I"setup_maker_element;T@"[[U:RDoc::Context::Section[i0o;;[;	0;
0[@@@@@I"lib/rss/maker/2.0.rb;TI"lib/rss/trackback.rb;TI"RSS::Rss::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"setup_maker_element:ETI"0RSS::Rss::Channel::Item#setup_maker_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[[I"_setup_maker_element;To;;	[;
I"lib/rss/2.0.rb;T;0I"(item);T@TI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI")RSS::Rss::Channel::Item#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(items);T@FI"	Item;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"+RSS::Rss::Channel::Item::Category::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"
Category;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Category:ETI"&RSS::Rss::Channel::Item::Category;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[[I"
class;T[[:public[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"maker_target;T@[I"setup_maker_attributes;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Rss::Channel::Item;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"maker_target:ETI"3RSS::Rss::Channel::Item::Category#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(item);T@FI"
Category;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_attributes:ETI"=RSS::Rss::Channel::Item::Category#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(category);T@FI"
Category;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI""RSS::Rss::Channel::Cloud::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"
Cloud;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Cloud:ETI"RSS::Rss::Channel::Cloud;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[[I"
class;T[[:public[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Rss::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI""RSS::Rss::Channel::Image::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"
Image;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI"*RSS::Rss::Channel::Image#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"
Image;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Image:ETI"RSS::Rss::Channel::Image;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS09;To;;[;	@;
0I"lib/rss/0.9.rb;T[[I"
class;T[[:public[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"maker_target;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::Rss::Channel;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"maker_target:ETI"#RSS::Rss::Channel#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"+not_need_to_call_setup_maker_variables:ETI"=RSS::Rss::Channel#not_need_to_call_setup_maker_variables;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Channel;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_elements:ETI"+RSS::Rss::Channel#setup_maker_elements;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(channel);T@TI"Channel;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Rss:ETI"
RSS::Rss;TI"Element;To:RDoc::Markup::Document:@parts[
o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0o;;[S:RDoc::Markup::Heading:
leveli:	textI"RSS 2.0 support;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"PRSS has three different versions. This module contains support for version ;TI"32.0[http://www.rssboard.org/rss-specification];T@S;;i;
I"Producing RSS 2.0;T@o;;[I"OProducing our own RSS feeds is easy as well. Let's make a very basic feed:;T@o:RDoc::Markup::Verbatim;[I"require "rss"
;TI"
;TI"-rss = RSS::Maker.make("2.0") do |maker|
;TI"%  maker.channel.language = "en"
;TI"%  maker.channel.author = "matz"
;TI"-  maker.channel.updated = Time.now.to_s
;TI"I  maker.channel.link = "http://www.ruby-lang.org/en/feeds/news.rss"
;TI",  maker.channel.title = "Example Feed"
;TI"F  maker.channel.description = "A longer description of my feed."
;TI"&  maker.items.new_item do |item|
;TI"`    item.link = "http://www.ruby-lang.org/en/news/2010/12/25/ruby-1-9-2-p136-is-released/"
;TI"4    item.title = "Ruby 1.9.2-p136 is released"
;TI"&    item.updated = Time.now.to_s
;TI"  end
;TI"	end
;TI"
;TI"puts rss
;T:@format0o;;[I"QAs you can see, this is a very Builder-like DSL. This code will spit out an ;TI"ORSS 2.0 feed with one item. If we needed a second item, we'd make another ;TI"<block with maker.items.new_item and build a second one.;T;	I"lib/rss/2.0.rb;T;
0o;;[;	I"lib/rss/content/2.0.rb;T;
0o;;[;	I"lib/rss/dublincore/2.0.rb;T;
0o;;[;	I"lib/rss/itunes.rb;T;
0;	0;
0[[
I"feed_version;TI"W;T:publicFI"lib/rss/0.9.rb;T[
I"rss_version;TI"RW;T;F@C[[[I"
RSS09;To;;[;	@;
0@C[I"RootElementMixin;To;;[;	@;
0@C[[I"
class;T[[;[[I"new;T@C[:protected[[:private[[I"
instance;T[[;[	[I"
image;T@C[I"
items;T@C[I"setup_maker_elements;T@C[I"textinput;T@C[;[[;[[I"_attrs;T@C[[U:RDoc::Context::Section[i0o;;[;	0;
0[
@@5@8@;@>I"lib/rss/maker/0.9.rb;TI"lib/rss/maker/2.0.rb;TI"lib/rss/trackback.rb;TI"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
image:ETI"RSS::Rss#image;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Rss;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_elements:ETI""RSS::Rss#setup_maker_elements;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@TI"Rss;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"_attrs:ETI"RSS::Rss#_attrs;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Rss;TcRDoc::NormalClass00U:RDoc::Attr[iI"rss_version:ETI"RSS::Rss#rss_version;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0F@I"
RSS::Rss;TcRDoc::NormalClass0U:RDoc::NormalModule[iI"DublincoreModel:ETI"RSS::DublincoreModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/dublincore.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[	U:RDoc::Constant[iI"TEXT_ELEMENTS;TI"(RSS::DublinCoreModel::TEXT_ELEMENTS;T:public0o;;[;	@
;
0@
I"DublinCoreModel;TcRDoc::NormalModule0U;[iI"DATE_ELEMENTS;TI"(RSS::DublinCoreModel::DATE_ELEMENTS;T;0o;;[;	@
;
0@
@@0U;[iI"ELEMENT_NAME_INFOS;TI"-RSS::DublinCoreModel::ELEMENT_NAME_INFOS;T;0o;;[;	@
;
0@
@@0U;[iI"
ELEMENTS;TI"#RSS::DublinCoreModel::ELEMENTS;T;0o;;[;	@
;
0@
@@0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[I"BaseModel;To;;[;	@
;
0I"lib/rss/dublincore.rb;T[I"BaseDublinCoreModel;To;;[;	@
;
0@C[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I" lib/rss/maker/dublincore.rb;TI"RSS;T@U:RDoc::AnyMethod[iI"required_uri:ETI";RSS::TaxonomyTopicsModel::TaxonomyTopics::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TaxonomyTopics;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_prefix:ETI">RSS::TaxonomyTopicsModel::TaxonomyTopics::required_prefix;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TaxonomyTopics;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"2RSS::TaxonomyTopicsModel::TaxonomyTopics::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"TaxonomyTopics;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"7RSS::TaxonomyTopicsModel::TaxonomyTopics#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TaxonomyTopics;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"resources:ETI"7RSS::TaxonomyTopicsModel::TaxonomyTopics#resources;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TaxonomyTopics;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"TaxonomyTopics:ETI"-RSS::TaxonomyTopicsModel::TaxonomyTopics;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"Bag;TI"2RSS::TaxonomyTopicsModel::TaxonomyTopics::Bag;T:publicI"RSS::RDF::Bag;To;;[;	@;
0@@cRDoc::NormalClass0[[I"
RSS10;To;;[;	@;
0I"lib/rss/taxonomy.rb;T[[I"
class;T[[;[[I"new;T@[I"required_prefix;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[I"maker_target;T@[I"resources;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::TaxonomyTopicsModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"maker_target:ETI":RSS::TaxonomyTopicsModel::TaxonomyTopics#maker_target;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"TaxonomyTopics;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_uri:ETI" RSS::RDF::Bag::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Bag;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::RDF::Bag::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"Bag;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"RSS::RDF::Bag#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Bag;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Bag:ETI"2RSS::TaxonomyTopicsModel::TaxonomyTopics::Bag;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"Li;TI"RSS::RDF::Bag::Li;T:publicI"RSS::RDF::Li;To;;[;	@;
0@I"Bag;TcRDoc::NormalClass0[[I"
RSS10;To;;[;	@;
0I"lib/rss/1.0.rb;T[[I"
class;T[[;[[I"new;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[I"setup_maker;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"-RSS::TaxonomyTopicsModel::TaxonomyTopics;T@U:RDoc::AnyMethod[iI"setup_maker:ETI"RSS::RDF::Bag#setup_maker;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"Bag;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append_features:ETI".RSS::TaxonomyTopicsModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"TaxonomyTopicsModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"TaxonomyTopicsModel:ETI"RSS::TaxonomyTopicsModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/taxonomy.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/taxonomy.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[I"BaseModel;To;;[;	@
;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"initial_start_rss:ETI")RSS::ListenerMixin#initial_start_rss;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below000[I""(tag_name, prefix, attrs, ns);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"tag_end:ETI"RSS::ListenerMixin#tag_end;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"!start_have_something_element:ETI"4RSS::ListenerMixin#start_have_something_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I")(tag_name, prefix, attrs, ns, klass);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"new:ETI"RSS::ListenerMixin::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"*setup_next_element_in_unknown_element:ETI"=RSS::ListenerMixin#setup_next_element_in_unknown_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"initial_start_RDF:ETI")RSS::ListenerMixin#initial_start_RDF;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/1.0.rb;T:0@omit_headings_from_table_of_contents_below000[I""(tag_name, prefix, attrs, ns);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"instruction:ETI"#RSS::ListenerMixin#instruction;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, content);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"parse_pi_content:ETI"(RSS::ListenerMixin#parse_pi_content;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Extract the first name="value" pair from content. ;TI"8Works with single quotes according to the constant ;TI"$CONTENT_PATTERN. Return a Hash.;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(content);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"ListenerMixin:ETI"RSS::ListenerMixin;T0o:RDoc::Markup::Document:@parts[	o;;[:
@fileI"lib/rss/0.9.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;	I"lib/rss/1.0.rb;T;
0o;;[;	I"lib/rss/atom.rb;T;
0o;;[;	I"lib/rss/parser.rb;T;
0;	0;
0[[
I"do_validate;TI"RW;T:publicFI"lib/rss/parser.rb;T[
I"ignore_unknown_element;T@;F@[
I"rss;TI"R;T;F@[U:RDoc::Constant[iI"CONTENT_PATTERN;TI"(RSS::ListenerMixin::CONTENT_PATTERN;T;0o;;[;	@;
0@@cRDoc::NormalModule0U;[iI"NAMESPLIT;TI""RSS::ListenerMixin::NAMESPLIT;T;0o;;[;	@;
0@@@(0[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[
[I"instruction;T@[I"tag_end;T@[I"tag_start;T@[I"	text;T@[I"xmldecl;T@[;
[[;[[I"_ns;T@[I"
check_ns;T@[I"collect_attributes;T@[I"initial_start_RDF;TI"lib/rss/1.0.rb;T[I"initial_start_entry;TI"lib/rss/atom.rb;T[I"initial_start_feed;T@Z[I"initial_start_rss;TI"lib/rss/0.9.rb;T[I"known_class?;T@[I"parse_pi_content;T@[I"setup_next_element;T@[I"*setup_next_element_in_unknown_element;T@[I"split_name;T@[I"start_else_element;T@[I"start_get_text_element;T@[I"!start_have_something_element;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[	@
@@@I"RSS;T@(U:RDoc::AnyMethod[iI"initial_start_entry:ETI"+RSS::ListenerMixin#initial_start_entry;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I""(tag_name, prefix, attrs, ns);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"start_get_text_element:ETI".RSS::ListenerMixin#start_get_text_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I")(tag_name, prefix, ns, required_uri);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"_ns:ETI"RSS::ListenerMixin#_ns;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(ns, prefix);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"split_name:ETI""RSS::ListenerMixin#split_name;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::Attr[iI"do_validate:ETI"#RSS::ListenerMixin#do_validate;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::ListenerMixin;TcRDoc::NormalModule0U:RDoc::AnyMethod[iI"	text:ETI"RSS::ListenerMixin#text;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(data);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
check_ns:ETI" RSS::ListenerMixin#check_ns;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"D(tag_name, prefix, ns, require_uri, ignore_unknown_element=nil);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"setup_next_element:ETI"*RSS::ListenerMixin#setup_next_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I""(tag_name, klass, attributes);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"xmldecl:ETI"RSS::ListenerMixin#xmldecl;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8set instance vars for version, encoding, standalone;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"$(version, encoding, standalone);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"collect_attributes:ETI"*RSS::ListenerMixin#collect_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I")(tag_name, prefix, attrs, ns, klass);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"tag_start:ETI"!RSS::ListenerMixin#tag_start;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, attributes);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"initial_start_feed:ETI"*RSS::ListenerMixin#initial_start_feed;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I""(tag_name, prefix, attrs, ns);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"known_class?:ETI"$RSS::ListenerMixin#known_class?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(target_class, class_name);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"start_else_element:ETI"*RSS::ListenerMixin#start_else_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(local, prefix, attrs, ns);T@FI"ListenerMixin;TcRDoc::NormalModule00U:RDoc::Attr[iI"ignore_unknown_element:ETI".RSS::ListenerMixin#ignore_unknown_element;TI"RW;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::ListenerMixin;TcRDoc::NormalModule0U:RDoc::Attr[iI"rss:ETI"RSS::ListenerMixin#rss;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::ListenerMixin;TcRDoc::NormalModule0U:RDoc::AnyMethod[iI"new:ETI"+RSS::UnknownConversionMethodError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(to, from);T@TI"!UnknownConversionMethodError;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"!UnknownConversionMethodError:ETI"&RSS::UnknownConversionMethodError;TI"RSS::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"4Raised when an unknown conversion error occurs.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"	from;TI"R;T:publicFI"lib/rss/rss.rb;T[
I"to;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::Attr[iI"to:ETI")RSS::UnknownConversionMethodError#to;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"&RSS::UnknownConversionMethodError;TcRDoc::NormalClass0U:RDoc::Attr[iI"	from:ETI"+RSS::UnknownConversionMethodError#from;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"&RSS::UnknownConversionMethodError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"_parse:ETI"RSS::XMLScanParser#_parse;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"XMLScanParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
listener:ETI"!RSS::XMLScanParser::listener;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"XMLScanParser;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"XMLScanParser:ETI"RSS::XMLScanParser;TI"RSS::BaseParser;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"
listener;TI"lib/rss/xmlscanner.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"_parse;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"class_name:ETI""RSS::BaseListener::class_name;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";retrieve class_name for the supplied uri and tag_name ;TI"1If it doesn't exist, capitalize the tag_name;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(uri, tag_name);T@FI"BaseListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"install_accessor_base:ETI"-RSS::BaseListener::install_accessor_base;TT:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0set the accessor for the uri, tag_name pair;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"#(uri, tag_name, accessor_base);T@FI"BaseListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"uri_registered?:ETI"'RSS::BaseListener::uri_registered?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5test if this uri is registered against this name;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(uri, name);T@FI"BaseListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI" raise_for_undefined_entity?:ETI"3RSS::BaseListener::raise_for_undefined_entity?;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"BaseListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"getter:ETI"RSS::BaseListener::getter;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(uri, tag_name);T@FI"BaseListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"available_tags:ETI"&RSS::BaseListener::available_tags;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9return the tag_names for setters associated with uri;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(uri);T@FI"BaseListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"install_class_name:ETI"*RSS::BaseListener::install_class_name;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8record class_name for the supplied uri and tag_name;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I" (uri, tag_name, class_name);T@FI"BaseListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"register_uri:ETI"$RSS::BaseListener::register_uri;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"$register uri against this name.;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(uri, name);T@FI"BaseListener;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"BaseListener:ETI"RSS::BaseListener;TI"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"available_tags;TI"lib/rss/parser.rb;T[I"class_name;T@[I"getter;T@[I"install_class_name;T@[I"install_get_text_element;T@[I" raise_for_undefined_entity?;T@[I"register_uri;T@[I"setter;T@[I"uri_registered?;T@[:protected[[:private[[I"def_get_text_element;T@[I"install_accessor_base;T@[I"
instance;T[[;[[;[[;
[[[I"
Utils;To;;[;	@;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"setter:ETI"RSS::BaseListener::setter;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":return the setter for the uri, tag_name pair, or nil.;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(uri, tag_name);T@FI"BaseListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"def_get_text_element:ETI",RSS::BaseListener::def_get_text_element;TT:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"$(uri, element_name, file, line);T@FI"BaseListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"install_get_text_element:ETI"0RSS::BaseListener::install_get_text_element;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(uri, name, accessor_base);T@FI"BaseListener;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"InvalidRSSError:ETI"RSS::InvalidRSSError;TI"RSS::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"IThe InvalidRSSError error is the base class for a variety of errors ;TI"Hrelated to a poorly-formed RSS feed. Rescue this error if you only ;TI"Icare that a file could be invalid, but don't care how it is invalid.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"SlashModel:ETI"RSS::SlashModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/slash.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"ELEMENT_INFOS;TI"#RSS::SlashModel::ELEMENT_INFOS;T:public0o;;[;	@
;
0@
@cRDoc::NormalModule0[[[I"
class;T[[;[[I"append_features;TI"lib/rss/slash.rb;T[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[I"BaseModel;To;;[;	@
;
0@ [U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;T@U:RDoc::AnyMethod[iI"append_features:ETI"%RSS::SlashModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/slash.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"SlashModel;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"XMLScanListener:ETI"RSS::XMLScanListener;TI"RSS::BaseListener;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
ENTITIES;TI"#RSS::XMLScanListener::ENTITIES;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[I"XMLScan::Visitor;To;;[;	@;
0I"lib/rss/xmlscanner.rb;T[I"ListenerMixin;To;;[;	@;
0@[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"on_attr_charref;T@[I"on_attr_charref_hex;T@[I"on_attr_entityref;T@[I"on_attr_value;T@[I"on_attribute;T@[I"on_charref;T@[I"on_charref_hex;T@[I"on_entityref;T@[I"on_etag;T@[I"on_stag;T@[I"on_stag_end;T@[I"on_stag_end_empty;T@[I"on_xmldecl_encoding;T@[I"on_xmldecl_end;T@[I"on_xmldecl_standalone;T@[I"on_xmldecl_version;T@[;
[[;[[I"entity;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"on_charref:ETI"$RSS::XMLScanListener#on_charref;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[[I"on_charref_hex;To;;	[;
@;0I"(code);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_entityref:ETI"&RSS::XMLScanListener#on_entityref;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(ref);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_stag_end_empty:ETI"+RSS::XMLScanListener#on_stag_end_empty;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_stag:ETI"!RSS::XMLScanListener#on_stag;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_attr_charref_hex:ETI"-RSS::XMLScanListener#on_attr_charref_hex;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"(code);T@FI"XMLScanListener;TcRDoc::NormalClass0[I"RSS::XMLScanListener;TFI"on_attr_charref;TU:RDoc::AnyMethod[iI"on_attr_entityref:ETI"+RSS::XMLScanListener#on_attr_entityref;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(ref);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_attr_value:ETI"'RSS::XMLScanListener#on_attr_value;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_charref_hex:ETI"(RSS::XMLScanListener#on_charref_hex;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"(code);T@FI"XMLScanListener;TcRDoc::NormalClass0[I"RSS::XMLScanListener;TFI"on_charref;TU:RDoc::AnyMethod[iI"on_xmldecl_encoding:ETI"-RSS::XMLScanListener#on_xmldecl_encoding;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_attribute:ETI"&RSS::XMLScanListener#on_attribute;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_xmldecl_end:ETI"(RSS::XMLScanListener#on_xmldecl_end;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_attr_charref:ETI")RSS::XMLScanListener#on_attr_charref;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[[I"on_attr_charref_hex;To;;	[;
@;0I"(code);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_xmldecl_version:ETI",RSS::XMLScanListener#on_xmldecl_version;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_etag:ETI"!RSS::XMLScanListener#on_etag;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_xmldecl_standalone:ETI"/RSS::XMLScanListener#on_xmldecl_standalone;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(str);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"on_stag_end:ETI"%RSS::XMLScanListener#on_stag_end;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"entity:ETI" RSS::XMLScanListener#entity;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlscanner.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(ref);T@FI"XMLScanListener;TcRDoc::NormalClass00U:RDoc::NormalModule[iI"RSS:ET@0o:RDoc::Markup::Document:@parts[/o;;[!S:RDoc::Markup::Heading:
leveli:	textI"RSS reading and writing;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[	I"SReally Simple Syndication (RSS) is a family of formats that describe 'feeds,' ;TI"Lspecially constructed XML documents that allow an interested person to ;TI"Rsubscribe and receive updates from a particular web service. This portion of ;TI"Jthe standard library provides tooling to read and create these feeds.;T@o;
;[I"SThe standard library supports RSS 0.91, 1.0, 2.0, and Atom, a related format. ;TI"FHere are some links to the standards documents for these formats:;T@o:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;
;[I"RSS;To;;;;[o;;0;[o;
;[I"60.9.1[http://www.rssboard.org/rss-0-9-1-netscape];To;;0;[o;
;[I"*1.0[http://web.resource.org/rss/1.0/];To;;0;[o;
;[I"32.0[http://www.rssboard.org/rss-specification];To;;0;[o;
;[I"-Atom[http://tools.ietf.org/html/rfc4287];T@S;	;
i;I"Consuming RSS;T@o;
;[I"RIf you'd like to read someone's RSS feed with your Ruby code, you've come to ;TI"Nthe right place. It's really easy to do this, but we'll need the help of ;TI"open-uri:;T@o:RDoc::Markup::Verbatim;[I"require 'rss'
;TI"require 'open-uri'
;TI"
;TI"8url = 'http://www.ruby-lang.org/en/feeds/news.rss'
;TI"open(url) do |rss|
;TI"%  feed = RSS::Parser.parse(rss)
;TI"+  puts "Title: #{feed.channel.title}"
;TI"!  feed.items.each do |item|
;TI"$    puts "Item: #{item.title}"
;TI"  end
;TI"	end
;T:@format0o;
;[
I"SAs you can see, the workhorse is RSS::Parser#parse, which takes the source of ;TI"Sthe feed and a parameter that performs validation on the feed. We get back an ;TI"Pobject that has all of the data from our feed, accessible through methods. ;TI"RThis example shows getting the title out of the channel element, and looping ;TI"through the list of items.;T@S;	;
i;I"Producing RSS;T@o;
;[I"OProducing our own RSS feeds is easy as well. Let's make a very basic feed:;T@o;;[I"require "rss"
;TI"
;TI".rss = RSS::Maker.make("atom") do |maker|
;TI"%  maker.channel.author = "matz"
;TI"-  maker.channel.updated = Time.now.to_s
;TI"J  maker.channel.about = "http://www.ruby-lang.org/en/feeds/news.rss"
;TI",  maker.channel.title = "Example Feed"
;TI"
;TI"&  maker.items.new_item do |item|
;TI"`    item.link = "http://www.ruby-lang.org/en/news/2010/12/25/ruby-1-9-2-p136-is-released/"
;TI"4    item.title = "Ruby 1.9.2-p136 is released"
;TI"&    item.updated = Time.now.to_s
;TI"  end
;TI"	end
;TI"
;TI"puts rss
;T;0o;
;[I"QAs you can see, this is a very Builder-like DSL. This code will spit out an ;TI"RAtom feed with one item. If we needed a second item, we'd make another block ;TI"6with maker.items.new_item and build a second one.;T@S;	;
i;I"Copyright;T@o;
;[I"<Copyright (c) 2003-2007 Kouhei Sutou <kou@cozmixng.org>;T@o;
;[I"KYou can redistribute it and/or modify it under the same terms as Ruby.;T@o;
;[I">There is an additional tutorial by the author of RSS at: ;TI"Nhttp://www.cozmixng.org/~rwiki/?cmd=view;name=RSS+Parser%3A%3ATutorial.en;T:
@fileI"lib/rss.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I"lib/rss/0.9.rb;T;0o;;[;I"lib/rss/1.0.rb;T;0o;;[;I"lib/rss/2.0.rb;T;0o;;[;I"lib/rss/atom.rb;T;0o;;[;I"lib/rss/content.rb;T;0o;;[;I"lib/rss/content/1.0.rb;T;0o;;[;I"lib/rss/content/2.0.rb;T;0o;;[;I"lib/rss/converter.rb;T;0o;;[;I"lib/rss/dublincore.rb;T;0o;;[;I"lib/rss/dublincore/1.0.rb;T;0o;;[;I"lib/rss/dublincore/2.0.rb;T;0o;;[;I"lib/rss/dublincore/atom.rb;T;0o;;[;I"lib/rss/image.rb;T;0o;;[;I"lib/rss/itunes.rb;T;0o;;[;I"lib/rss/maker.rb;T;0o;;[;I"lib/rss/maker/0.9.rb;T;0o;;[;I"lib/rss/maker/1.0.rb;T;0o;;[;I"lib/rss/maker/2.0.rb;T;0o;;[;I"lib/rss/maker/atom.rb;T;0o;;[;I"lib/rss/maker/base.rb;T;0o;;[;I"lib/rss/maker/content.rb;T;0o;;[;I" lib/rss/maker/dublincore.rb;T;0o;;[;I"lib/rss/maker/entry.rb;T;0o;;[;I"lib/rss/maker/feed.rb;T;0o;;[;I"lib/rss/maker/image.rb;T;0o;;[;I"lib/rss/maker/itunes.rb;T;0o;;[;I"lib/rss/maker/slash.rb;T;0o;;[;I"!lib/rss/maker/syndication.rb;T;0o;;[;I"lib/rss/maker/taxonomy.rb;T;0o;;[;I"lib/rss/maker/trackback.rb;T;0o;;[;I"lib/rss/parser.rb;T;0o;;[;I"lib/rss/rexmlparser.rb;T;0o;;[;I"lib/rss/rss.rb;T;0o;;[;I"lib/rss/slash.rb;T;0o;;[;I"lib/rss/syndication.rb;T;0o;;[;I"lib/rss/taxonomy.rb;T;0o;;[;I"lib/rss/utils.rb;T;0o;;[;I"lib/rss/xml-stylesheet.rb;T;0o;;[;I"lib/rss/xml.rb;T;0o;;[;I"lib/rss/xmlparser.rb;T;0o;;[;I"lib/rss/xmlscanner.rb;T;0;0;0[[U:RDoc::Constant[iI"CONTENT_PREFIX;TI"RSS::CONTENT_PREFIX;T:public0o;;[o;
;[I".The prefix for the Content XML namespace.;T;@�;0@�@cRDoc::NormalModule0U;[iI"CONTENT_URI;TI"RSS::CONTENT_URI;T;0o;;[o;
;[I"*The URI of the Content specification.;T;@�;0@�@@�0U;[iI"DC_PREFIX;TI"RSS::DC_PREFIX;T;0o;;[o;
;[I"2The prefix for the Dublin Core XML namespace.;T;@�;0@�@@�0U;[iI"DC_URI;TI"RSS::DC_URI;T;0o;;[o;
;[I".The URI of the Dublin Core specification.;T;@�;0@�@@�0U;[iI"DublincoreModel;TI"RSS::DublincoreModel;T;I"RSS::DublinCoreModel;To;;[o;
;[I"For backward compatibility;T;@�;0@�@@�0U;[iI"IMAGE_PREFIX;TI"RSS::IMAGE_PREFIX;T;0o;;[o;
;[I",The prefix for the Image XML namespace.;T;@�;0@�@@�0U;[iI"IMAGE_URI;TI"RSS::IMAGE_URI;T;0o;;[o;
;[I")The URI for the Image specification.;T;@�;0@�@@�0U;[iI"IMAGE_ELEMENTS;TI"RSS::IMAGE_ELEMENTS;T;0o;;[o;
;[I"<This constant holds strings which contain the names of ;TI"1image elements, with the appropriate prefix.;T;@�;0@�@@�0U;[iI"ITUNES_PREFIX;TI"RSS::ITUNES_PREFIX;T;0o;;[o;
;[I"-The prefix for the iTunes XML namespace.;T;@�;0@�@@�0U;[iI"ITUNES_URI;TI"RSS::ITUNES_URI;T;0o;;[o;
;[I")The URI of the iTunes specification.;T;@�;0@�@@�0U;[iI"AVAILABLE_PARSER_LIBRARIES;TI"$RSS::AVAILABLE_PARSER_LIBRARIES;T;0o;;[o;
;[I"5The list of all available libraries for parsing.;T;@�;0@�@@�0U;[iI"AVAILABLE_PARSERS;TI"RSS::AVAILABLE_PARSERS;T;0o;;[o;
;[I"9The list of all available parsers, in constant form.;T;@�;0@�@@�0U;[iI"VERSION;TI"RSS::VERSION;T;0o;;[o;
;[I"The current version of RSS;T;@�;0@�@@�0U;[iI"URI;TI"
RSS::URI;T;0o;;[o;
;[I")The URI of the RSS 1.0 specification;T;@�;0@�@@�0U;[iI"SLASH_PREFIX;TI"RSS::SLASH_PREFIX;T;0o;;[o;
;[I",The prefix for the Slash XML namespace.;T;@�;0@�@@�0U;[iI"SLASH_URI;TI"RSS::SLASH_URI;T;0o;;[o;
;[I"(The URI of the Slash specification.;T;@�;0@�@@�0U;[iI"SY_PREFIX;TI"RSS::SY_PREFIX;T;0o;;[o;
;[I"2The prefix for the Syndication XML namespace.;T;@�;0@�@@�0U;[iI"SY_URI;TI"RSS::SY_URI;T;0o;;[o;
;[I".The URI of the Syndication specification.;T;@�;0@�@@�0U;[iI"TAXO_PREFIX;TI"RSS::TAXO_PREFIX;T;0o;;[o;
;[I"/The prefix for the Taxonomy XML namespace.;T;@�;0@�@@�0U;[iI"
TAXO_URI;TI"RSS::TAXO_URI;T;0o;;[o;
;[I"AThe URI for the specification of the Taxonomy XML namespace.;T;@�;0@�@@�0U;[iI"TAXO_ELEMENTS;TI"RSS::TAXO_ELEMENTS;T;0o;;[o;
;[I"NThe listing of all the taxonomy elements, with the appropriate namespace.;T;@�;0@�@@�0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[0@y@|@@}@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�@�I"lib/rss/trackback.rb;T@�@�@�@�@�@�cRDoc::TopLevelU:RDoc::NormalClass[iI"XMLParserListener:ETI"RSS::XMLParserListener;TI"RSS::BaseListener;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"ListenerMixin;To;;[;	@;
0I"lib/rss/xmlparser.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"xmldecl;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"xmldecl:ETI"#RSS::XMLParserListener#xmldecl;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"$(version, encoding, standalone);T@TI"XMLParserListener;TcRDoc::NormalClass00U:RDoc::Attr[iI"uri:ETI"RSS::NSError#uri;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::NSError;TcRDoc::NormalClass0U:RDoc::Attr[iI"prefix:ETI"RSS::NSError#prefix;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::NSError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"RSS::NSError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag, prefix, require_uri);T@TI"NSError;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"NSError:ETI"RSS::NSError;TI"InvalidRSSError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"prefix;TI"R;T:publicFI"lib/rss/parser.rb;T[
I"tag;T@;F@[
I"uri;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::Attr[iI"tag:ETI"RSS::NSError#tag;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::NSError;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"	Feed:ETI"RSS::Atom::Feed;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[	o:RDoc::Markup::Paragraph;[I"=Defines the top-level element of an Atom Feed Document. ;TI"9It consists of a number of children Entry elements, ;TI"&and has the following attributes:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"author;To;;0;[o;	;[I"categories;To;;0;[o;	;[I"
category;To;;0;[o;	;[I"content;To;;0;[o;	;[I"contributor;To;;0;[o;	;[I"entries (aliased as items);To;;0;[o;	;[I"
entry;To;;0;[o;	;[I"generator;To;;0;[o;	;[I"	icon;To;;0;[o;	;[I"id;To;;0;[o;	;[I"	link;To;;0;[o;	;[I"	logo;To;;0;[o;	;[I"rights;To;;0;[o;	;[I"
subtitle;To;;0;[o;	;[I"
title;To;;0;[o;	;[I"updated;T@o;	;[I"LReference: https://validator.w3.org/feed/docs/rfc4287.html#element.feed;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I"lib/rss/dublincore/atom.rb;T;0;0;0[[[	[I"RootElementMixin;To;;[;@i;0I"lib/rss/atom.rb;T[I"CommonModel;To;;[;@i;0@t[I"DuplicateLinkChecker;To;;[;@i;0@t[I"DublinCoreModel;To;;[;@l;0I"lib/rss/dublincore/atom.rb;T[[I"
class;T[[:public[[I"new;T@t[:protected[[:private[[I"
instance;T[[;[[I"have_author?;T@t[;[[;[
[I"atom_validate;T@t[I"have_required_elements?;T@t[I"maker_target;T@t[I"setup_maker_element;T@t[I"setup_maker_elements;T@t[[U:RDoc::Context::Section[i0o;;[;0;0[@i@lI"RSS::Atom;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"	Icon:ETI"RSS::Atom::Feed::Icon;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"GDefines an image that provides a visual identification for a eed. ;TI"2The image should have an aspect ratio of 1:1.;To:RDoc::Markup::BlankLineo;	;[I"LReference: https://validator.w3.org/feed/docs/rfc4287.html#element.icon;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"URIContentModel;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Rights:ETI"RSS::Atom::Feed::Rights;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"ATextConstruct that contains copyright information regarding ;TI"?the content in an Entry or Feed. It should not be used to ;TI"3convey machine readable licensing information.;To:RDoc::Markup::BlankLineo;	;[I"NReference: https://validator.w3.org/feed/docs/rfc4287.html#element.rights;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"TextConstruct;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"new:ETI"RSS::Atom::Feed::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Creates a new Atom feed;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"0(version=nil, encoding=nil, standalone=nil);T@TI"	Feed;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_required_elements?:ETI",RSS::Atom::Feed#have_required_elements?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"	Feed;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Contributor:ETI"!RSS::Atom::Feed::Contributor;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"=PersonConstruct that contains information regarding the ;TI"%contributors of a Feed or Entry.;To:RDoc::Markup::BlankLineo;	;[I"SReference: https://validator.w3.org/feed/docs/rfc4287.html#element.contributor;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"PersonConstruct;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::NormalClass[iI"
Title:ETI"RSS::Atom::Feed::Title;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"KTextConstruct that conveys a description or title for a Feed or Entry.;To:RDoc::Markup::BlankLineo;	;[I"MReference: https://validator.w3.org/feed/docs/rfc4287.html#element.title;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"TextConstruct;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"setup_maker_element:ETI"(RSS::Atom::Feed#setup_maker_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(channel);T@TI"	Feed;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI"!RSS::Atom::Feed#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"	Feed;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Subtitle:ETI"RSS::Atom::Feed::Subtitle;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"ETextConstruct that conveys a description or subtitle for a Feed.;To:RDoc::Markup::BlankLineo;	;[I"PReference: https://validator.w3.org/feed/docs/rfc4287.html#element.subtitle;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"TextConstruct;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Id:ETI"RSS::Atom::Feed::Id;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"JDefines the Universally Unique Identifier (UUID) for a Feed or Entry.;To:RDoc::Markup::BlankLineo;	;[I"JReference: https://validator.w3.org/feed/docs/rfc4287.html#element.id;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"URIContentModel;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"setup_maker_element_writer:ETI"5RSS::Atom::Feed::Logo#setup_maker_element_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Logo;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI"'RSS::Atom::Feed::Logo#maker_target;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"	Logo;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"	Logo:ETI"RSS::Atom::Feed::Logo;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"JDefines an image that provides a visual identification for the Feed. ;TI"HThe image should have an aspect ratio of 2:1 (horizontal:vertical).;To:RDoc::Markup::BlankLineo;	;[I"LReference: https://validator.w3.org/feed/docs/rfc4287.html#element.logo;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"URIContentModel;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[I"maker_target;T@[;[[;[[I"setup_maker_element_writer;T@[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::NormalClass[iI"Author:ETI"RSS::Atom::Feed::Author;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"DPersonConstruct that contains information regarding the author ;TI"of a Feed or Entry.;To:RDoc::Markup::BlankLineo;	;[I"NReference: https://validator.w3.org/feed/docs/rfc4287.html#element.author;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"PersonConstruct;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"atom_validate:ETI""RSS::Atom::Feed#atom_validate;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"((ignore_unknown_element, tags, uri);T@FI"	Feed;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Generator:ETI"RSS::Atom::Feed::Generator;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"AContains information on the agent used to generate the feed.;To:RDoc::Markup::BlankLineo;	;[I"QReference: https://validator.w3.org/feed/docs/rfc4287.html#element.generator;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"ContentModel;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[I"setup_maker_attributes;T@[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"setup_maker_attributes:ETI"6RSS::Atom::Feed::Generator#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"Generator;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Category:ETI"RSS::Atom::Feed::Category;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[	o:RDoc::Markup::Paragraph;[I"LContains information about a category associated with a Feed or Entry. ;TI"%It has the following attributes:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"	term;To;;0;[o;	;[I"scheme;To;;0;[o;	;[I"
label;T@o;	;[I"PReference: https://validator.w3.org/feed/docs/rfc4287.html#element.category;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@';0I"lib/rss/atom.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;[[I"maker_target;T@/[[U:RDoc::Context::Section[i0o;;[;0;0[@'I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"maker_target:ETI"+RSS::Atom::Feed::Category#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"
Category;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Updated:ETI"RSS::Atom::Feed::Updated;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"BDateConstruct indicating the most recent time when a Feed or ;TI"9Entry was modified in a way the publisher considers ;TI"significant.;To:RDoc::Markup::BlankLineo;	;[I"OReference: https://validator.w3.org/feed/docs/rfc4287.html#element.updated;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"DateConstruct;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::NormalClass[iI"	Link:ETI"RSS::Atom::Feed::Link;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[	o:RDoc::Markup::Paragraph;[I"ADefines a reference to a Web resource. It has the following ;TI"attributes:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"	href;To;;0;[o;	;[I"rel;To;;0;[o;	;[I"	type;To;;0;[o;	;[I"
hreflang;To;;0;[o;	;[I"
title;To;;0;[o;	;[I"length;T@o;	;[I"LReference: https://validator.w3.org/feed/docs/rfc4287.html#element.link;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@6;0I"lib/rss/atom.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;[[I"maker_target;T@>[[U:RDoc::Context::Section[i0o;;[;0;0[@6I"RSS::Atom::Feed;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"maker_target:ETI"'RSS::Atom::Feed::Link#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"	Link;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_elements:ETI")RSS::Atom::Feed#setup_maker_elements;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(channel);T@TI"	Feed;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Source:ETI"#RSS::Atom::Feed::Entry::Source;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[	o:RDoc::Markup::Paragraph;[I"DDefines a Atom Source element. It has the following attributes:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"author;To;;0;[o;	;[I"
category;To;;0;[o;	;[I"categories;To;;0;[o;	;[I"content;To;;0;[o;	;[I"contributor;To;;0;[o;	;[I"generator;To;;0;[o;	;[I"	icon;To;;0;[o;	;[I"id;To;;0;[o;	;[I"	link;To;;0;[o;	;[I"	logo;To;;0;[o;	;[I"rights;To;;0;[o;	;[I"
subtitle;To;;0;[o;	;[I"
title;To;;0;[o;	;[I"updated;T@o;	;[I"NReference: https://validator.w3.org/feed/docs/rfc4287.html#element.source;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[U:RDoc::Constant[iI"Author;TI"+RSS::Atom::Feed::Entry::Source::Author;T:public0o;;[o;	;[I"Feed::Author;T;@];0@]@cRDoc::NormalClass0U;[iI"
Category;TI"-RSS::Atom::Feed::Entry::Source::Category;T;0o;;[o;	;[I"Feed::Category;T;@];0@]@@i0U;[iI"Contributor;TI"0RSS::Atom::Feed::Entry::Source::Contributor;T;0o;;[o;	;[I"Feed::Contributor;T;@];0@]@@i0U;[iI"Generator;TI".RSS::Atom::Feed::Entry::Source::Generator;T;0o;;[o;	;[I"Feed::Generator;T;@];0@]@@i0U;[iI"	Icon;TI")RSS::Atom::Feed::Entry::Source::Icon;T;0o;;[o;	;[I"Feed::Icon;T;@];0@]@@i0U;[iI"Id;TI"'RSS::Atom::Feed::Entry::Source::Id;T;0o;;[o;	;[I"
Feed::Id;T;@];0@]@@i0U;[iI"	Link;TI")RSS::Atom::Feed::Entry::Source::Link;T;0o;;[o;	;[I"Feed::Link;T;@];0@]@@i0U;[iI"	Logo;TI")RSS::Atom::Feed::Entry::Source::Logo;T;0o;;[o;	;[I"Feed::Logo;T;@];0@]@@i0U;[iI"Rights;TI"+RSS::Atom::Feed::Entry::Source::Rights;T;0o;;[o;	;[I"Feed::Rights;T;@];0@]@@i0U;[iI"
Subtitle;TI"-RSS::Atom::Feed::Entry::Source::Subtitle;T;0o;;[o;	;[I"Feed::Subtitle;T;@];0@]@@i0U;[iI"
Title;TI"*RSS::Atom::Feed::Entry::Source::Title;T;0o;;[o;	;[I"Feed::Title;T;@];0@]@@i0U;[iI"Updated;TI",RSS::Atom::Feed::Entry::Source::Updated;T;0o;;[o;	;[I"Feed::Updated;T;@];0@]@@i0[[I"CommonModel;To;;[;@];0I"lib/rss/atom.rb;T[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"have_author?;T@�[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@]I"RSS::Atom::Feed::Entry;T@iU:RDoc::AnyMethod[iI"have_author?:ETI"0RSS::Atom::Feed::Entry::Source#have_author?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"6Returns true if the Source element has an author.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Source;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Published:ETI"&RSS::Atom::Feed::Entry::Published;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"BDateConstruct that usually indicates the time of the initial ;TI"creation of an Entry.;To:RDoc::Markup::BlankLineo;	;[I"QReference: https://validator.w3.org/feed/docs/rfc4287.html#element.published;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"DateConstruct;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed::Entry;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"have_required_elements?:ETI"3RSS::Atom::Feed::Entry#have_required_elements?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"
Entry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI"(RSS::Atom::Feed::Entry#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(items);T@FI"
Entry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_other_xml?:ETI"6RSS::Atom::Feed::Entry::Content#inline_other_xml?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns true if the element contains inline content that ;TI"has a XML media type.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_html?:ETI"1RSS::Atom::Feed::Entry::Content#inline_html?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns true if the element contains inline content that ;TI"has a HTML media type.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
xhtml:ETI"*RSS::Atom::Feed::Entry::Content#xhtml;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Returns the element content in XHTML.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"xml_getter:ETI"0RSS::Atom::Feed::Entry::Content::xml_getter;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_other?:ETI"2RSS::Atom::Feed::Entry::Content#inline_other?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns true if the element contains inline content that ;TI"has a MIME media type.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_other_text?:ETI"7RSS::Atom::Feed::Entry::Content#inline_other_text?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns true if the element contains inline content that ;TI"has a text media type.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"xml_setter:ETI"0RSS::Atom::Feed::Entry::Content::xml_setter;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Content:ETI"$RSS::Atom::Feed::Entry::Content;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[	o:RDoc::Markup::Paragraph;[I"4Contains or links to the content of the Entry. ;TI"%It has the following attributes:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"	type;To;;0;[o;	;[I"src;T@o;	;[I"OReference: https://validator.w3.org/feed/docs/rfc4287.html#element.content;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[
I"xml;TI"W;T:publicFI"lib/rss/atom.rb;T[[[I"CommonModel;To;;[;@";0@'[[I"
class;T[[;[[I"xml_getter;T@'[I"xml_setter;T@'[:protected[[:private[[I"
instance;T[[;[[I"atom_validate;T@'[I"have_xml_content?;T@'[I"inline_html?;T@'[I"inline_other?;T@'[I"inline_other_base64?;T@'[I"inline_other_text?;T@'[I"inline_other_xml?;T@'[I"inline_text?;T@'[I"inline_xhtml?;T@'[I"mime_split;T@'[I"need_base64_encode?;T@'[I"out_of_line?;T@'[I"
xhtml;T@'[I"xml;T@'[;[[;[[I"empty_content?;T@'[[U:RDoc::Context::Section[i0o;;[;0;0[@"I"RSS::Atom::Feed::Entry;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"out_of_line?:ETI"1RSS::Atom::Feed::Entry::Content#out_of_line?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Returns true if the element contains linked content.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"need_base64_encode?:ETI"8RSS::Atom::Feed::Entry::Content#need_base64_encode?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Returns true if the content needs to be encoded in base64.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_xhtml?:ETI"2RSS::Atom::Feed::Entry::Content#inline_xhtml?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns true if the element contains inline content that ;TI"has a XHTML media type.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_xml_content?:ETI"6RSS::Atom::Feed::Entry::Content#have_xml_content?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Returns true if the element has inline XML content.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"mime_split:ETI"/RSS::Atom::Feed::Entry::Content#mime_split;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"BSplits the type attribute into an array, e.g. ["text", "xml"];T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_text?:ETI"1RSS::Atom::Feed::Entry::Content#inline_text?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Returns true if the element contains inline content ;TI"Athat has a text or HTML media type, or no media type at all.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"atom_validate:ETI"2RSS::Atom::Feed::Entry::Content#atom_validate;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Raises a MissingAttributeError, NotAvailableValueError, ;TI">MissingTagError or NotExpectedTagError if the element is ;TI"not properly formatted.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"((ignore_unknown_element, tags, uri);T@FI"Content;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inline_other_base64?:ETI"9RSS::Atom::Feed::Entry::Content#inline_other_base64?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Returns true if the element contains inline content ;TI"encoded in base64.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Content;TcRDoc::NormalClass00U:RDoc::Attr[iI"xml:ETI"(RSS::Atom::Feed::Entry::Content#xml;TI"W;T:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"(Returns the element content in XML.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0F@I"$RSS::Atom::Feed::Entry::Content;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"empty_content?:ETI"3RSS::Atom::Feed::Entry::Content#empty_content?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"Content;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Summary:ETI"$RSS::Atom::Feed::Entry::Summary;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"9TextConstruct that describes a summary of the Entry.;To:RDoc::Markup::BlankLineo;	;[I"OReference: https://validator.w3.org/feed/docs/rfc4287.html#element.summary;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"TextConstruct;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::Feed::Entry;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"atom_validate:ETI")RSS::Atom::Feed::Entry#atom_validate;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"((ignore_unknown_element, tags, uri);T@FI"
Entry;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Entry:ETI"RSS::Atom::Feed::Entry;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[	o:RDoc::Markup::Paragraph;[I"ADefines a child Atom Entry element of an Atom Feed element. ;TI"%It has the following attributes:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"author;To;;0;[o;	;[I"
category;To;;0;[o;	;[I"categories;To;;0;[o;	;[I"content;To;;0;[o;	;[I"contributor;To;;0;[o;	;[I"id;To;;0;[o;	;[I"	link;To;;0;[o;	;[I"published;To;;0;[o;	;[I"rights;To;;0;[o;	;[I"source;To;;0;[o;	;[I"summary;To;;0;[o;	;[I"
title;To;;0;[o;	;[I"updated;T@o;	;[I"MReference: https://validator.w3.org/feed/docs/rfc4287.html#element.entry;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I"lib/rss/dublincore/atom.rb;T;0;0;0[[
U:RDoc::Constant[iI"Author;TI"#RSS::Atom::Feed::Entry::Author;T:public0o;;[o;	;[I"Feed::Author;T;@Y;0@Y@cRDoc::NormalClass0U;[iI"
Category;TI"%RSS::Atom::Feed::Entry::Category;T;0o;;[o;	;[I"Feed::Category;T;@Y;0@Y@@h0U;[iI"Contributor;TI"(RSS::Atom::Feed::Entry::Contributor;T;0o;;[o;	;[I"Feed::Contributor;T;@Y;0@Y@@h0U;[iI"Id;TI"RSS::Atom::Feed::Entry::Id;T;0o;;[o;	;[I"
Feed::Id;T;@Y;0@Y@@h0U;[iI"	Link;TI"!RSS::Atom::Feed::Entry::Link;T;0o;;[o;	;[I"Feed::Link;T;@Y;0@Y@@h0U;[iI"Rights;TI"#RSS::Atom::Feed::Entry::Rights;T;0o;;[o;	;[I"Feed::Rights;T;@Y;0@Y@@h0U;[iI"
Title;TI""RSS::Atom::Feed::Entry::Title;T;0o;;[o;	;[I"Feed::Title;T;@Y;0@Y@@h0U;[iI"Updated;TI"$RSS::Atom::Feed::Entry::Updated;T;0o;;[o;	;[I"Feed::Updated;T;@Y;0@Y@@h0[[I"CommonModel;To;;[;@Y;0I"lib/rss/atom.rb;T[I"DuplicateLinkChecker;To;;[;@Y;0@�[I"DublinCoreModel;To;;[;@\;0I"lib/rss/dublincore/atom.rb;T[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[I"have_author?;T@�[;[[;[[I"atom_validate;T@�[I"have_required_elements?;T@�[I"maker_target;T@�[[U:RDoc::Context::Section[i0o;;[;0;0[@Y@\I"RSS::Atom::Feed;T@hU:RDoc::AnyMethod[iI"have_author?:ETI"(RSS::Atom::Feed::Entry#have_author?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Returns whether any of the following are true:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"&There are any authors in the feed;To;;0;	[o;
;	[I"@If the parent element has an author and the +check_parent+ ;TI"parameter was given.;To;;0;	[o;
;	[I"1There is a source element that has an author;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(check_parent=true);T@!FI"
Entry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_author?:ETI"!RSS::Atom::Feed#have_author?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LReturns true if there are any authors for the feed or any of the Entry ;TI""child elements have an author;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"	Feed;TcRDoc::NormalClass00U:RDoc::NormalModule[iI"TextConstruct:ETI"RSS::Atom::TextConstruct;T0o:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"OThe TextConstruct module is used to define a Text construct Atom element, ;TI"Dwhich is used to store small quantities of human-readable text.;To:RDoc::Markup::BlankLineo;	;[I"CThe TextConstruct has a type attribute, e.g. text, html, xhtml;T@o;	;[I"OReference: https://validator.w3.org/feed/docs/rfc4287.html#text.constructs;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[
I"
xhtml;TI"W;T:publicFI"lib/rss/atom.rb;T[[[[I"
class;T[[;
[[I"append_features;T@[I"xml_getter;T@[I"xml_setter;T@[:protected[[:private[[I"
instance;T[[;
[[I"atom_validate;T@[I"have_xml_content?;T@[I"
xhtml;T@[;[[;[[I"maker_target;T@[I"setup_maker_attributes;T@[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom;TcRDoc::NormalModuleU:RDoc::Attr[iI"
xhtml:ETI"#RSS::Atom::TextConstruct#xhtml;TI"W;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::Atom::TextConstruct;TcRDoc::NormalModule0U:RDoc::AnyMethod[iI"xml_getter:ETI")RSS::Atom::TextConstruct::xml_getter;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TextConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"xml_setter:ETI")RSS::Atom::TextConstruct::xml_setter;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TextConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"have_xml_content?:ETI"/RSS::Atom::TextConstruct#have_xml_content?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"%Returns true if type is "xhtml".;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"TextConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"maker_target:ETI"*RSS::Atom::TextConstruct#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"TextConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"atom_validate:ETI"+RSS::Atom::TextConstruct#atom_validate;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"5Raises a MissingTagError or NotExpectedTagError ;TI".if the element is not properly formatted.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"((ignore_unknown_element, tags, uri);T@FI"TextConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"append_features:ETI".RSS::Atom::TextConstruct::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"TextConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"setup_maker_attributes:ETI"4RSS::Atom::TextConstruct#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"TextConstruct;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"Uri:ETI"$RSS::Atom::PersonConstruct::Uri;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"%The URI of the person or entity.;To:RDoc::Markup::BlankLineo;	;[I"KReference: https://validator.w3.org/feed/docs/rfc4287.html#element.uri;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"URIContentModel;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::PersonConstruct;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"
Email:ETI"&RSS::Atom::PersonConstruct::Email;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"'The email of the person or entity.;To:RDoc::Markup::BlankLineo;	;[I"MReference: https://validator.w3.org/feed/docs/rfc4287.html#element.email;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"ContentModel;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::PersonConstruct;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"maker_target:ETI",RSS::Atom::PersonConstruct#maker_target;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"PersonConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"append_features:ETI"0RSS::Atom::PersonConstruct::append_features;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Adds attributes for name, uri, and email to the +klass+;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"PersonConstruct;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"PersonConstruct:ETI"RSS::Atom::PersonConstruct;T0o:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"TThe PersonConstruct module is used to define a person Atom element that can be ;TI">used to describe a person, corporation or similar entity.;To:RDoc::Markup::BlankLineo;	;[I"BThe PersonConstruct has a Name, Uri and Email child elements.;T@o;	;[I"SReference: https://validator.w3.org/feed/docs/rfc4287.html#atomPersonConstruct;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/atom.rb;T[:protected[[:private[[I"
instance;T[[;
[[I"maker_target;T@$[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"	Name:ETI"%RSS::Atom::PersonConstruct::Name;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"&The name of the person or entity.;To:RDoc::Markup::BlankLineo;	;[I"LReference: https://validator.w3.org/feed/docs/rfc4287.html#element.name;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"CommonModel;To;;[;@;0I"lib/rss/atom.rb;T[I"ContentModel;To;;[;@;0@[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;
[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@I"RSS::Atom::PersonConstruct;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"ContentModel:ETI"RSS::Atom::ContentModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"append_features;TI"lib/rss/atom.rb;T[:protected[[:private[[I"
instance;T[[;[[I"maker_target;T@[;[[;
[[I"setup_maker_element;T@[I"setup_maker_element_writer;T@[[I"ClassMethods;To;;[;	@
;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Atom;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"setup_maker_element_writer:ETI"7RSS::Atom::ContentModel#setup_maker_element_writer;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ContentModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"setup_maker_element:ETI"0RSS::Atom::ContentModel#setup_maker_element;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@TI"ContentModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"maker_target:ETI")RSS::Atom::ContentModel#maker_target;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"ContentModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"ClassMethods:ETI"*RSS::Atom::ContentModel::ClassMethods;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"content_type;TI"lib/rss/atom.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Atom::ContentModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"content_type:ETI"7RSS::Atom::ContentModel::ClassMethods#content_type;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ClassMethods;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"append_features:ETI"-RSS::Atom::ContentModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"ContentModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"URIContentModel:ETI"RSS::Atom::URIContentModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"ContentModel;To;;[;	@
;
0I"lib/rss/atom.rb;T[[I"
class;T[[:public[[I"append_features;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Atom;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"append_features:ETI"0RSS::Atom::URIContentModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"URIContentModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"DateConstruct:ETI"RSS::Atom::DateConstruct;T0o:RDoc::Markup::Document:@parts[o;;[	o:RDoc::Markup::Paragraph;[I"JElement used to describe an Atom date and time in the ISO 8601 format;To:RDoc::Markup::BlankLineo;	;[I"Examples:;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"2013-03-04T15:30:02Z;To;;0;[o;	;[I"2013-03-04T10:30:02-05:00;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[I"ContentModel;To;;[;@ ;0I"lib/rss/atom.rb;T[[I"
class;T[[:public[[I"append_features;T@([:protected[[:private[[I"
instance;T[[;[[I"atom_validate;T@([;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@ I"RSS::Atom;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"atom_validate:ETI"+RSS::Atom::DateConstruct#atom_validate;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Raises NotAvailableValueError if element content is nil;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"((ignore_unknown_element, tags, uri);T@FI"DateConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"append_features:ETI".RSS::Atom::DateConstruct::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"DateConstruct;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"required_uri:ETI")RSS::Atom::CommonModel::required_uri;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'Returns the Atom URI W3C Namespace;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"CommonModel;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"CommonModel:ETI"RSS::Atom::CommonModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"NSPOOL;TI"#RSS::Atom::CommonModel::NSPOOL;T:public0o;;[;	@
;
0@
@cRDoc::NormalModule0U;[iI"
ELEMENTS;TI"%RSS::Atom::CommonModel::ELEMENTS;T;0o;;[;	@
;
0@
@@0[[[I"
class;T[[;[[I"append_features;TI"lib/rss/atom.rb;T[I"need_parent?;T@&[I"required_uri;T@&[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Atom;T@U:RDoc::AnyMethod[iI"append_features:ETI",RSS::Atom::CommonModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"CommonModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"need_parent?:ETI")RSS::Atom::CommonModel::need_parent?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns true;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"CommonModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"validate_duplicate_links:ETI"=RSS::Atom::DuplicateLinkChecker#validate_duplicate_links;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"TChecks if there are duplicate links with the same type and hreflang attributes ;TI"4that have an alternate (or empty) rel attribute;To:RDoc::Markup::BlankLineo;
;	[I";Raises a TooMuchTagError if there are duplicates found;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(links);T@FI"DuplicateLinkChecker;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"DuplicateLinkChecker:ETI"$RSS::Atom::DuplicateLinkChecker;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"validate_duplicate_links;TI"lib/rss/atom.rb;T[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS::Atom;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"new:ETI"RSS::Atom::Entry::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&Creates a new Atom Entry element.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"0(version=nil, encoding=nil, standalone=nil);T@TI"
Entry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_required_elements?:ETI"-RSS::Atom::Entry#have_required_elements?;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@TI"
Entry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
items:ETI"RSS::Atom::Entry#items;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#Returns the Entry in an array.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Entry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"maker_target:ETI""RSS::Atom::Entry#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@FI"
Entry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"atom_validate:ETI"#RSS::Atom::Entry#atom_validate;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"((ignore_unknown_element, tags, uri);T@FI"
Entry;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Entry:ETI"RSS::Atom::Entry;TI"RSS::Element;To:RDoc::Markup::Document:@parts[o;;[	o:RDoc::Markup::Paragraph;[I"-Defines a top-level Atom Entry element, ;TI"Hused as the document element of a stand-alone Atom Entry Document. ;TI"%It has the following attributes:;To:RDoc::Markup::BlankLineo:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;[o;	;[I"author;To;;0;[o;	;[I"
category;To;;0;[o;	;[I"categories;To;;0;[o;	;[I"content;To;;0;[o;	;[I"contributor;To;;0;[o;	;[I"id;To;;0;[o;	;[I"	link;To;;0;[o;	;[I"published;To;;0;[o;	;[I"rights;To;;0;[o;	;[I"source;To;;0;[o;	;[I"summary;To;;0;[o;	;[I"
title;To;;0;[o;	;[I"updated;T@o;	;[I"NReference: https://validator.w3.org/feed/docs/rfc4287.html#element.entry];T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I"lib/rss/dublincore/atom.rb;T;0;0;0[[U:RDoc::Constant[iI"Author;TI"RSS::Atom::Entry::Author;T:public0o;;[o;	;[I"Feed::Entry::Author;T;@Z;0@Z@cRDoc::NormalClass0U;[iI"
Category;TI"RSS::Atom::Entry::Category;T;0o;;[o;	;[I"Feed::Entry::Category;T;@Z;0@Z@@i0U;[iI"Content;TI"RSS::Atom::Entry::Content;T;0o;;[o;	;[I"Feed::Entry::Content;T;@Z;0@Z@@i0U;[iI"Contributor;TI""RSS::Atom::Entry::Contributor;T;0o;;[o;	;[I"Feed::Entry::Contributor;T;@Z;0@Z@@i0U;[iI"Id;TI"RSS::Atom::Entry::Id;T;0o;;[o;	;[I"Feed::Entry::Id;T;@Z;0@Z@@i0U;[iI"	Link;TI"RSS::Atom::Entry::Link;T;0o;;[o;	;[I"Feed::Entry::Link;T;@Z;0@Z@@i0U;[iI"Published;TI" RSS::Atom::Entry::Published;T;0o;;[o;	;[I"Feed::Entry::Published;T;@Z;0@Z@@i0U;[iI"Rights;TI"RSS::Atom::Entry::Rights;T;0o;;[o;	;[I"Feed::Entry::Rights;T;@Z;0@Z@@i0U;[iI"Source;TI"RSS::Atom::Entry::Source;T;0o;;[o;	;[I"Feed::Entry::Source;T;@Z;0@Z@@i0U;[iI"Summary;TI"RSS::Atom::Entry::Summary;T;0o;;[o;	;[I"Feed::Entry::Summary;T;@Z;0@Z@@i0U;[iI"
Title;TI"RSS::Atom::Entry::Title;T;0o;;[o;	;[I"Feed::Entry::Title;T;@Z;0@Z@@i0U;[iI"Updated;TI"RSS::Atom::Entry::Updated;T;0o;;[o;	;[I"Feed::Entry::Updated;T;@Z;0@Z@@i0[	[I"RootElementMixin;To;;[;@Z;0I"lib/rss/atom.rb;T[I"CommonModel;To;;[;@Z;0@�[I"DuplicateLinkChecker;To;;[;@Z;0@�[I"DublinCoreModel;To;;[;@];0I"lib/rss/dublincore/atom.rb;T[[I"
class;T[[;[[I"new;T@�[:protected[[:private[[I"
instance;T[[;[[I"have_author?;T@�[I"
items;T@�[I"setup_maker;T@�[;[[;[[I"atom_validate;T@�[I"have_required_elements?;T@�[I"maker_target;T@�[[U:RDoc::Context::Section[i0o;;[;0;0[@Z@]I"RSS::Atom;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"setup_maker:ETI"!RSS::Atom::Entry#setup_maker;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9Sets up the +maker+ for constructing Entry elements.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"(maker);T@TI"
Entry;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"have_author?:ETI""RSS::Atom::Entry#have_author?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Returns where there are any authors present or there is a ;TI"source with an author.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Entry;TcRDoc::NormalClass00U:RDoc::NormalModule[iI"	Atom:ETI"RSS::Atom;T0o:RDoc::Markup::Document:@parts[o;;[
o:RDoc::Markup::Paragraph;[I"cAtom is an XML-based document format that is used to describe 'feeds' of related information. ;TI"cA typical use is in a news feed where the information is periodically updated and which users ;TI"Zcan subscribe to.  The Atom format is described in http://tools.ietf.org/html/rfc4287;To:RDoc::Markup::BlankLineo;	;[I"DThe Atom module provides support in reading and creating feeds.;T@o;	;[I"BSee the RSS module for examples consuming and creating feeds.;T:
@fileI"lib/rss/atom.rb;T:0@omit_headings_from_table_of_contents_below0o;;[;I"lib/rss/dublincore/atom.rb;T;0;0;0[[U:RDoc::Constant[iI"URI;TI"RSS::Atom::URI;T:public0o;;[o;	;[I"The Atom URI W3C Namespace;T;@;0@@cRDoc::NormalModule0U;
[iI"XHTML_URI;TI"RSS::Atom::XHTML_URI;T;0o;;[o;	;[I" The XHTML URI W3C Namespace;T;@;0@@@(0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[
@@I"lib/rss/maker/base.rb;TI"lib/rss/maker/entry.rb;TI"lib/rss/maker/feed.rb;TI"RSS;T@(U:RDoc::NormalModule[iI"ImageItemModel:ETI"RSS::ImageItemModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"ImageModelUtils;To;;[;	@
;
0I"lib/rss/image.rb;T[[I"
class;T[[:public[[I"append_features;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[I"BaseModel;To;;[;	@
;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"required_uri:ETI"1RSS::ImageItemModel::ImageItem::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ImageItem;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_prefix:ETI"4RSS::ImageItemModel::ImageItem::required_prefix;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ImageItem;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"(RSS::ImageItemModel::ImageItem::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"ImageItem;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"-RSS::ImageItemModel::ImageItem#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ImageItem;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ImageItem:ETI"#RSS::ImageItemModel::ImageItem;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
RSS10;To;;[;	@;
0I"lib/rss/image.rb;T[I"DublinCoreModel;To;;[;	@;
0@[[I"
class;T[[:public[[I"new;T@[I"required_prefix;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[[I"full_name;T@[;[[;
[[I"maker_target;T@[I"setup_maker_attributes;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::ImageItemModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"maker_target:ETI"0RSS::ImageItemModel::ImageItem#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"ImageItem;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"setup_maker_attributes:ETI":RSS::ImageItemModel::ImageItem#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(item);T@FI"ImageItem;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append_features:ETI")RSS::ImageItemModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"ImageItemModel;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI" def_elements_class_accessor:ETI"6RSS::ITunesModelUtils#def_elements_class_accessor;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"V(klass, name, full_name, klass_name, plural_name, recommended_attribute_name=nil);T@FI"ITunesModelUtils;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"def_element_class_accessor:ETI"5RSS::ITunesModelUtils#def_element_class_accessor;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"I(klass, name, full_name, klass_name, recommended_attribute_name=nil);T@FI"ITunesModelUtils;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"ITunesModelUtils:ETI"RSS::ITunesModelUtils;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"
Utils;To;;[;	@
;
0I"lib/rss/itunes.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"def_class_accessor;T@[I"def_element_class_accessor;T@[I" def_elements_class_accessor;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"def_class_accessor:ETI"-RSS::ITunesModelUtils#def_class_accessor;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/itunes.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass, name, type, *args);T@FI"ITunesModelUtils;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"xmlDecl:ETI"$RSS::REXMLLikeXMLParser#xmlDecl;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"$(version, encoding, standalone);T@FI"REXMLLikeXMLParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"listener=:ETI"&RSS::REXMLLikeXMLParser#listener=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(listener);T@FI"REXMLLikeXMLParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"character:ETI"&RSS::REXMLLikeXMLParser#character;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(data);T@FI"REXMLLikeXMLParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"startElement:ETI")RSS::REXMLLikeXMLParser#startElement;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name, attrs);T@FI"REXMLLikeXMLParser;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"REXMLLikeXMLParser:ETI"RSS::REXMLLikeXMLParser;TI"XML::Parser;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"::XML::Encoding_ja;To;;[;	@;
0I"lib/rss/xmlparser.rb;T[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"character;T@[I"endElement;T@[I"listener=;T@[I"processingInstruction;T@[I"startElement;T@[I"xmlDecl;T@[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"processingInstruction:ETI"2RSS::REXMLLikeXMLParser#processingInstruction;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(target, content);T@FI"REXMLLikeXMLParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"endElement:ETI"'RSS::REXMLLikeXMLParser#endElement;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(name);T@FI"REXMLLikeXMLParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"_parse:ETI"RSS::REXMLParser#_parse;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rexmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"REXMLParser;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"REXMLParser:ETI"RSS::REXMLParser;TI"RSS::BaseParser;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/rexmlparser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"
listener;TI"lib/rss/rexmlparser.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"_parse;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"
listener:ETI"RSS::REXMLParser::listener;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rexmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"REXMLParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"RSS::TooMuchTagError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(tag, parent);T@TI"TooMuchTagError;TcRDoc::NormalClass00U:RDoc::Attr[iI"parent:ETI" RSS::TooMuchTagError#parent;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::TooMuchTagError;TcRDoc::NormalClass0U:RDoc::Attr[iI"tag:ETI"RSS::TooMuchTagError#tag;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::TooMuchTagError;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"TooMuchTagError:ETI"RSS::TooMuchTagError;TI"RSS::InvalidRSSError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"OSome tags must only exist a specific number of times in a given RSS feed. ;TI"PIf a feed has too many occurrences of one of these tags, a TooMuchTagError ;TI"will be raised.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"parent;TI"R;T:publicFI"lib/rss/rss.rb;T[
I"tag;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"ImageFaviconModel:ETI"RSS::ImageFaviconModel;T0o:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[I"ImageModelUtils;To;;[;	@
;
0I"lib/rss/image.rb;T[[I"
class;T[[:public[[I"append_features;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[I"BaseModel;To;;[;	@
;
0@[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"image_size=:ETI"5RSS::ImageFaviconModel::ImageFavicon#image_size=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(new_value);T@FI"ImageFavicon;TcRDoc::NormalClass0[I")RSS::ImageFaviconModel::ImageFavicon;TFI"
size=;TU:RDoc::AnyMethod[iI"required_uri:ETI"7RSS::ImageFaviconModel::ImageFavicon::required_uri;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ImageFavicon;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"required_prefix:ETI":RSS::ImageFaviconModel::ImageFavicon::required_prefix;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ImageFavicon;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI".RSS::ImageFaviconModel::ImageFavicon::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@TI"ImageFavicon;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"full_name:ETI"3RSS::ImageFaviconModel::ImageFavicon#full_name;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ImageFavicon;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
set_size:ETI"2RSS::ImageFaviconModel::ImageFavicon#set_size;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(new_value);T@FI"ImageFavicon;TcRDoc::NormalClass0[I")RSS::ImageFaviconModel::ImageFavicon;TFI"
size=;TU:RDoc::AnyMethod[iI"maker_target:ETI"6RSS::ImageFaviconModel::ImageFavicon#maker_target;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(target);T@FI"ImageFavicon;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"ImageFavicon:ETI")RSS::ImageFaviconModel::ImageFavicon;TI"Element;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"AVAILABLE_SIZES;TI":RSS::ImageFaviconModel::ImageFavicon::AVAILABLE_SIZES;T:public0o;;[;	@;
0@@cRDoc::NormalClass0[[I"
RSS10;To;;[;	@;
0I"lib/rss/image.rb;T[I"DublinCoreModel;To;;[;	@;
0@[[I"
class;T[[;[[I"new;T@[I"required_prefix;T@[I"required_uri;T@[:protected[[:private[[I"
instance;T[[;[	[I"full_name;T@[I"image_size=;T@[I"
set_size;T@[I"
size=;T@[;
[[;[[I"maker_target;T@[I"setup_maker_attributes;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS::ImageFaviconModel;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"setup_maker_attributes:ETI"@RSS::ImageFaviconModel::ImageFavicon#setup_maker_attributes;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(favicon);T@FI"ImageFavicon;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
size=:ETI"/RSS::ImageFaviconModel::ImageFavicon#size=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[[I"
set_size;To;;	[;
@;0[I"image_size=;To;;	[;
@;0I"(new_value);T@FI"ImageFavicon;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append_features:ETI",RSS::ImageFaviconModel::append_features;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/image.rb;T:0@omit_headings_from_table_of_contents_below000[I"(klass);T@TI"ImageFaviconModel;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"TrackBackPing:ETI")RSS::TrackBackModel20::TrackBackPing;TI"RSS::Element;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/rss/trackback.rb;TI"RSS::TrackBackModel20;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"TrackBackAbout:ETI"*RSS::TrackBackModel20::TrackBackAbout;TI"RSS::Element;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/rss/trackback.rb;TI"RSS::TrackBackModel20;TcRDoc::NormalModuleU:RDoc::NormalModule[iI"TrackBackModel20:ETI"RSS::TrackBackModel20;T0o:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/rss/trackback.rb;TI"RSS;TcRDoc::NormalModuleU:RDoc::NormalClass[iI"NotWellFormedError:ETI"RSS::NotWellFormedError;TI"
Error;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[
I"element;TI"R;T:publicFI"lib/rss/parser.rb;T[
I"	line;T@;F@[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::Attr[iI"element:ETI"$RSS::NotWellFormedError#element;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::NotWellFormedError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"new:ETI"!RSS::NotWellFormedError::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Create a new NotWellFormedError for an error at +line+ ;TI"<in +element+.  If a block is given the return value of ;TI",the block ends up in the error message.;T:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below000[I"(line=nil, element=nil);T@TI"NotWellFormedError;TcRDoc::NormalClass00U:RDoc::Attr[iI"	line:ETI"!RSS::NotWellFormedError#line;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/parser.rb;T:0@omit_headings_from_table_of_contents_below0F@I"RSS::NotWellFormedError;TcRDoc::NormalClass0U:RDoc::NormalClass[iI"XMLParserParser:ETI"RSS::XMLParserParser;TI"RSS::BaseParser;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[[[[I"
class;T[[:public[[I"
listener;TI"lib/rss/xmlparser.rb;T[:protected[[:private[[I"
instance;T[[;[[;[[;
[[I"_parse;T@[[U:RDoc::Context::Section[i0o;;[;	0;
0[@I"RSS;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"_parse:ETI" RSS::XMLParserParser#_parse;TF:privateo:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"XMLParserParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
listener:ETI"#RSS::XMLParserParser::listener;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/xmlparser.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"XMLParserParser;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"+RSS::UnsupportedMakerVersionError::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below000[I"(version);T@TI"!UnsupportedMakerVersionError;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"!UnsupportedMakerVersionError:ETI"&RSS::UnsupportedMakerVersionError;TI"RSS::Error;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"?Raised when a RSS::Maker attempts to use an unknown maker.;T:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[
I"version;TI"R;T:publicFI"lib/rss/rss.rb;T[[[[I"
class;T[[;[[I"new;T@[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"RSS;TcRDoc::NormalModuleU:RDoc::Attr[iI"version:ETI".RSS::UnsupportedMakerVersionError#version;TI"R;T:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/rss/rss.rb;T:0@omit_headings_from_table_of_contents_below0F@I"&RSS::UnsupportedMakerVersionError;TcRDoc::NormalClass0U:RDoc::AnyMethod[iI"executable_real?:ETI"FileTest#executable_real?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KReturns <code>true</code> if the named file is executable by the real ;TI"6user and group id of this process. See access(3).;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"9File.executable_real?(file_name)   -> true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
symlink?:ETI"FileTest#symlink?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DReturns <code>true</code> if the named file is a symbolic link.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"2File.symlink?(file_name)   ->  true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"world_readable?:ETI"FileTest#world_readable?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[	I"CIf <i>file_name</i> is readable by others, returns an integer ;TI"Hrepresenting the file permission bits of <i>file_name</i>. Returns ;TI"E<code>nil</code> otherwise. The meaning of the bits is platform ;TI":dependent; on Unix systems, see <code>stat(2)</code>.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T@o:RDoc::Markup::Verbatim;	[I";File.world_readable?("/etc/passwd")           #=> 420
;TI"-m = File.world_readable?("/etc/passwd")
;TI"<sprintf("%o", m)                              #=> "644";T:@format0:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"9File.world_readable?(file_name)   -> integer or nil
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"readable_real?:ETI"FileTest#readable_real?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IReturns <code>true</code> if the named file is readable by the real ;TI"6user and group id of this process. See access(3).;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"7File.readable_real?(file_name)   -> true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"executable?:ETI"FileTest#executable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"PReturns <code>true</code> if the named file is executable by the effective ;TI"7user and group id of this process. See eaccess(3).;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"4File.executable?(file_name)   -> true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"sticky?:ETI"FileTest#sticky?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns <code>true</code> if the named file has the sticky bit set.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"1File.sticky?(file_name)   ->  true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"identical?:ETI"FileTest#identical?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"@Returns <code>true</code> if the named files are identical.;To:RDoc::Markup::BlankLineo;
;	[I"/_file_1_ and _file_2_ can be an IO object.;T@o:RDoc::Markup::Verbatim;	[I"open("a", "w") {}
;TI"/p File.identical?("a", "a")      #=> true
;TI"/p File.identical?("a", "./a")    #=> true
;TI"File.link("a", "b")
;TI"/p File.identical?("a", "b")      #=> true
;TI"File.symlink("a", "c")
;TI"/p File.identical?("a", "c")      #=> true
;TI"open("d", "w") {}
;TI"/p File.identical?("a", "d")      #=> false;T:@format0:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"9File.identical?(file_1, file_2)   ->  true or false
;T0[I"
(p1, p2);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"exist?:ETI"FileTest#exist?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"7Return <code>true</code> if the named file exists.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T@o;
;	[I"J"file exists" means that stat() or fstat() system call is successful.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"1File.exist?(file_name)    ->  true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
file?:ETI"FileTest#file?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"EReturns +true+ if the named +file+ exists and is a regular file.;To:RDoc::Markup::BlankLineo;
;	[I" +file+ can be an IO object.;T@o;
;	[I"RIf the +file+ argument is a symbolic link, it will resolve the symbolic link ;TI"-and use the file referenced by the link.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"'File.file?(file) -> true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"empty?:ETI"FileTest#empty?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns <code>true</code> if the named file exists and has ;TI"a zero size.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I".File.zero?(file_name)   -> true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"writable_real?:ETI"FileTest#writable_real?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IReturns <code>true</code> if the named file is writable by the real ;TI"5user and group id of this process. See access(3);T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"7File.writable_real?(file_name)   -> true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"blockdev?:ETI"FileTest#blockdev?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns <code>true</code> if the named file is a block device.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"3File.blockdev?(file_name)   ->  true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"directory?:ETI"FileTest#directory?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"AReturns <code>true</code> if the named file is a directory, ;TI"Eor a symlink that points at a directory, and <code>false</code> ;TI"otherwise.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T@o:RDoc::Markup::Verbatim;	[I"File.directory?(".");T:@format0:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"4File.directory?(file_name)   ->  true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"
FileTest:ET@0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[	I"F<code>FileTest</code> implements file test operations similar to ;TI"Fthose used in <code>File::Stat</code>. It exists as a standalone ;TI"Lmodule, and its methods are also insinuated into the <code>File</code> ;TI"Nclass. (Note that this is not done by inclusion: the interpreter cheats).;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[ [I"blockdev?;TI"file.c;T[I"
chardev?;T@'[I"directory?;T@'[I"empty?;T@'[I"executable?;T@'[I"executable_real?;T@'[I"exist?;T@'[I"exists?;T@'[I"
file?;T@'[I"grpowned?;T@'[I"identical?;T@'[I"owned?;T@'[I"
pipe?;T@'[I"readable?;T@'[I"readable_real?;T@'[I"setgid?;T@'[I"setuid?;T@'[I"	size;T@'[I"
size?;T@'[I"socket?;T@'[I"sticky?;T@'[I"
symlink?;T@'[I"world_readable?;T@'[I"world_writable?;T@'[I"writable?;T@'[I"writable_real?;T@'[I"
zero?;T@'[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"grpowned?:ETI"FileTest#grpowned?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns <code>true</code> if the named file exists and the ;TI"?effective group id of the calling process is the owner of ;TI"5the file. Returns <code>false</code> on Windows.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"2File.grpowned?(file_name)   -> true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	size:ETI"FileTest#size;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Returns the size of <code>file_name</code>.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"'File.size(file_name)   -> integer
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"world_writable?:ETI"FileTest#world_writable?;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[	I"CIf <i>file_name</i> is writable by others, returns an integer ;TI"Hrepresenting the file permission bits of <i>file_name</i>. Returns ;TI"E<code>nil</code> otherwise. The meaning of the bits is platform ;TI":dependent; on Unix systems, see <code>stat(2)</code>.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T@o:RDoc::Markup::Verbatim;	[I";File.world_writable?("/tmp")                  #=> 511
;TI"&m = File.world_writable?("/tmp")
;TI"<sprintf("%o", m)                              #=> "777";T:@format0:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"9File.world_writable?(file_name)   -> integer or nil
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
chardev?:ETI"FileTest#chardev?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GReturns <code>true</code> if the named file is a character device.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"2File.chardev?(file_name)   ->  true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"socket?:ETI"FileTest#socket?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Returns <code>true</code> if the named file is a socket.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"1File.socket?(file_name)   ->  true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"exists?:ETI"FileTest#exists?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""Deprecated method. Don't use.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"1File.exists?(file_name)   ->  true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
size?:ETI"FileTest#size?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"RReturns +nil+ if +file_name+ doesn't exist or has zero size, the size of the ;TI"file otherwise.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"/File.size?(file_name)   -> Integer or nil
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"writable?:ETI"FileTest#writable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns <code>true</code> if the named file is writable by the effective ;TI"7user and group id of this process. See eaccess(3).;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"2File.writable?(file_name)   -> true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"setuid?:ETI"FileTest#setuid?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns <code>true</code> if the named file has the setuid bit set.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"1File.setuid?(file_name)   ->  true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"owned?:ETI"FileTest#owned?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns <code>true</code> if the named file exists and the ;TI">effective used id of the calling process is the owner of ;TI"the file.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"/File.owned?(file_name)   -> true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"readable?:ETI"FileTest#readable?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns <code>true</code> if the named file is readable by the effective ;TI"7user and group id of this process. See eaccess(3).;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"2File.readable?(file_name)   -> true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
pipe?:ETI"FileTest#pipe?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I";Returns <code>true</code> if the named file is a pipe.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"/File.pipe?(file_name)   ->  true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"setgid?:ETI"FileTest#setgid?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns <code>true</code> if the named file has the setgid bit set.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"1File.setgid?(file_name)   ->  true or false
;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
zero?:ETI"FileTest#zero?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns <code>true</code> if the named file exists and has ;TI"a zero size.;To:RDoc::Markup::BlankLineo;
;	[I"%_file_name_ can be an IO object.;T:
@fileI"file.c;T:0@omit_headings_from_table_of_contents_below0I"-File.zero?(file_name)   -> true or false;T0[I"	(p1);T@FI"
FileTest;TcRDoc::NormalModule00U:RDoc::NormalClass[iI"HTTPRequestURITooLarge:ET@I"Net::HTTPClientError;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"lib/net/http/responses.rb;T:0@omit_headings_from_table_of_contents_below0;	0;
0[[U:RDoc::Constant[iI"
HAS_BODY;TI")Net::HTTPRequestURITooLong::HAS_BODY;T:public0o;;[;	@
;
0@
I"HTTPRequestURITooLong;TcRDoc::NormalClass0[[[I"
class;T[[;[[:protected[[:private[[I"
instance;T[[;[[;
[[;[[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
@
cRDoc::TopLevelU:RDoc::AnyMethod[iI"new:ETI"OLEProperty::new;TT:publico:RDoc::Markup::Document:@parts[:
@fileI"*ext/win32ole/lib/win32ole/property.rb;T:0@omit_headings_from_table_of_contents_below000[I"&(obj, dispid, gettypes, settypes);T@FI"OLEProperty;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"[]:ETI"OLEProperty#[];TF:publico:RDoc::Markup::Document:@parts[:
@fileI"*ext/win32ole/lib/win32ole/property.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"OLEProperty;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"[]=:ETI"OLEProperty#[]=;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"*ext/win32ole/lib/win32ole/property.rb;T:0@omit_headings_from_table_of_contents_below000[I"(*args);T@FI"OLEProperty;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"OLEProperty:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"OLEProperty ;TI"-helper class of Property with arguments.;T:
@fileI"*ext/win32ole/lib/win32ole/property.rb;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[I"new;TI"*ext/win32ole/lib/win32ole/property.rb;T[:protected[[:private[[I"
instance;T[[;[[I"[];T@[I"[]=;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"
src_type:ETI"WIN32OLE_TYPE#src_type;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Returns source class when the OLE class is 'Alias'.;To:RDoc::Markup::Verbatim;	[I"Ttobj =  WIN32OLE_TYPE.new('Microsoft Office 9.0 Object Library', 'MsoRGBType')
;TI"puts tobj.src_type # => I4;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"1WIN32OLE_TYPE#src_type #=> OLE source class
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"WIN32OLE_TYPE#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"+Returns the type name with class name.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"7ie = WIN32OLE.new('InternetExplorer.Application')
;TI"9ie.ole_type.inspect => #<WIN32OLE_TYPE:IWebBrowser2>;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"%WIN32OLE_TYPE#inspect -> String
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"progids:ETI"WIN32OLE_TYPE::progids;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns array of ProgID.;T:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"WIN32OLE_TYPE.progids
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ole_classes:ETI"WIN32OLE_TYPE::ole_classes;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"XReturns array of WIN32OLE_TYPE objects defined by the <i>typelib</i> type library. ;TI"YThis method will be OBSOLETE. Use WIN32OLE_TYPELIB.new(typelib).ole_classes instead.;T:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"(WIN32OLE_TYPE.ole_classes(typelib)
;T0[I"	(p1);T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"helpstring:ETI"WIN32OLE_TYPE#helpstring;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns help string.;To:RDoc::Markup::Verbatim;	[I"Ltobj = WIN32OLE_TYPE.new('Microsoft Internet Controls', 'IWebBrowser')
;TI"4puts tobj.helpstring # => Web Browser interface;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"/WIN32OLE_TYPE#helpstring #=> help string.
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
ole_type:ETI"WIN32OLE_TYPE#ole_type;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"returns type of OLE class.;To:RDoc::Markup::Verbatim;	[I"Stobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
;TI"#puts tobj.ole_type  # => Class;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"1WIN32OLE_TYPE#ole_type #=> OLE type string.
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"helpcontext:ETI"WIN32OLE_TYPE#helpcontext;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns helpcontext. If helpcontext is not found, then returns nil.;To:RDoc::Markup::Verbatim;	[I"Qtobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Worksheet')
;TI"#puts tobj.helpfile # => 131185;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"WIN32OLE_TYPE#helpcontext
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"WIN32OLE_TYPE::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I")Returns a new WIN32OLE_TYPE object. ;TI"HThe first argument <i>typelib</i> specifies OLE type library name. ;TI"2The second argument specifies OLE class name.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"LWIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
;TI"A    # => WIN32OLE_TYPE object of Application class of Excel.;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"CWIN32OLE_TYPE.new(typelib, ole_class) -> WIN32OLE_TYPE object
;T0[I"
(p1, p2);T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ole_typelib:ETI"WIN32OLE_TYPE#ole_typelib;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NReturns the WIN32OLE_TYPELIB object which is including the WIN32OLE_TYPE ;TI"2object. If it is not found, then returns nil.;To:RDoc::Markup::Verbatim;	[I"Qtobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Worksheet')
;TI"Dputs tobj.ole_typelib # => 'Microsoft Excel 9.0 Object Library';T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"WIN32OLE_TYPE#ole_typelib
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"variables:ETI"WIN32OLE_TYPE#variables;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JReturns array of WIN32OLE_VARIABLE objects which represent variables ;TI"defined in OLE class.;To:RDoc::Markup::Verbatim;	[I"Stobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'XlSheetType')
;TI"vars = tobj.variables
;TI"vars.each do |v|
;TI"%  puts "#{v.name} = #{v.value}"
;TI"	end
;TI"
;TI"3The result of above sample script is follows:
;TI"  xlChart = -4109
;TI"  xlDialogSheet = -4116
;TI""  xlExcel4IntlMacroSheet = 4
;TI"  xlExcel4MacroSheet = 3
;TI"  xlWorksheet = -4167;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"WIN32OLE_TYPE#variables
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"minor_version:ETI" WIN32OLE_TYPE#minor_version;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns minor version.;To:RDoc::Markup::Verbatim;	[I"Qtobj = WIN32OLE_TYPE.new('Microsoft Word 10.0 Object Library', 'Documents')
;TI"#puts tobj.minor_version # => 2;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"7WIN32OLE_TYPE#minor_version #=> OLE minor version
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"WIN32OLE_TYPE:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"P<code>WIN32OLE_TYPE</code> objects represent OLE type libarary information.;T:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[	[I"new;TI"!ext/win32ole/win32ole_type.c;T[I"ole_classes;T@[I"progids;T@[I"
typelibs;T@[:protected[[:private[[I"
instance;T[[;[[I"default_event_sources;T@[I"default_ole_types;T@[I"	guid;T@[I"helpcontext;T@[I"
helpfile;T@[I"helpstring;T@[I"implemented_ole_types;T@[I"inspect;T@[I"major_version;T@[I"minor_version;T@[I"	name;T@[I"ole_methods;T@[I"
ole_type;T@[I"ole_typelib;T@[I"progid;T@[I"source_ole_types;T@[I"
src_type;T@[I"	to_s;T@[I"
typekind;T@[I"variables;T@[I"
visible?;T@[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"	to_s:ETI"WIN32OLE_TYPE#to_s;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass0[@FI"	name;TU:RDoc::AnyMethod[iI"
visible?:ETI"WIN32OLE_TYPE#visible?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"-Returns true if the OLE class is public.;To:RDoc::Markup::Verbatim;	[I"Stobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
;TI"!puts tobj.visible  # => true;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"/WIN32OLE_TYPE#visible?  #=> true or false
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
typekind:ETI"WIN32OLE_TYPE#typekind;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Returns number which represents type.;To:RDoc::Markup::Verbatim;	[I"Qtobj = WIN32OLE_TYPE.new('Microsoft Word 10.0 Object Library', 'Documents')
;TI"puts tobj.typekind # => 4;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"0WIN32OLE_TYPE#typekind #=> number of type.
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	name:ETI"WIN32OLE_TYPE#name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns OLE type name.;To:RDoc::Markup::Verbatim;	[I"Stobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
;TI"%puts tobj.name  # => Application;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"*WIN32OLE_TYPE#name #=> OLE type name
;T0[[I"	to_s;To;;	[;
@;0I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"major_version:ETI" WIN32OLE_TYPE#major_version;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns major version.;To:RDoc::Markup::Verbatim;	[I"Qtobj = WIN32OLE_TYPE.new('Microsoft Word 10.0 Object Library', 'Documents')
;TI"#puts tobj.major_version # => 8;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"!WIN32OLE_TYPE#major_version
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"ole_methods:ETI"WIN32OLE_TYPE#ole_methods;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"TReturns array of WIN32OLE_METHOD objects which represent OLE method defined in ;TI"OLE type library.;To:RDoc::Markup::Verbatim;	[
I"Qtobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Worksheet')
;TI",methods = tobj.ole_methods.collect{|m|
;TI"  m.name
;TI"}
;TI"-# => ['Activate', 'Copy', 'Delete',....];T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"GWIN32OLE_TYPE#ole_methods # the array of WIN32OLE_METHOD objects.
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"source_ole_types:ETI"#WIN32OLE_TYPE#source_ole_types;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"YReturns the array of WIN32OLE_TYPE object which is implemented by the WIN32OLE_TYPE ;TI",object and having IMPLTYPEFLAG_FSOURCE.;To:RDoc::Markup::Verbatim;	[I"Qtobj = WIN32OLE_TYPE.new('Microsoft Internet Controls', "InternetExplorer")
;TI"p tobj.source_ole_types
;TI"S# => [#<WIN32OLE_TYPE:DWebBrowserEvents2>, #<WIN32OLE_TYPE:DWebBrowserEvents>];T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"$WIN32OLE_TYPE#source_ole_types
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
typelibs:ETI"WIN32OLE_TYPE::typelibs;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"&Returns array of type libraries. ;TI"]This method will be OBSOLETE. Use WIN32OLE_TYPELIB.typelibs.collect{|t| t.name} instead.;T:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"WIN32OLE_TYPE.typelibs
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_event_sources:ETI"(WIN32OLE_TYPE#default_event_sources;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"YReturns the array of WIN32OLE_TYPE object which is implemented by the WIN32OLE_TYPE ;TI"Fobject and having IMPLTYPEFLAG_FSOURCE and IMPLTYPEFLAG_FDEFAULT.;To:RDoc::Markup::Verbatim;	[I"Qtobj = WIN32OLE_TYPE.new('Microsoft Internet Controls', "InternetExplorer")
;TI"Mp tobj.default_event_sources  # => [#<WIN32OLE_TYPE:DWebBrowserEvents2>];T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I")WIN32OLE_TYPE#default_event_sources
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	guid:ETI"WIN32OLE_TYPE#guid;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns GUID.;To:RDoc::Markup::Verbatim;	[I"Stobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
;TI"@puts tobj.guid  # => {00024500-0000-0000-C000-000000000046};T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I""WIN32OLE_TYPE#guid  #=> GUID
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"progid:ETI"WIN32OLE_TYPE#progid;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns ProgID if it exists. If not found, then returns nil.;To:RDoc::Markup::Verbatim;	[I"Stobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Application')
;TI"1puts tobj.progid  # =>   Excel.Application.9;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"&WIN32OLE_TYPE#progid  #=> ProgID
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
helpfile:ETI"WIN32OLE_TYPE#helpfile;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GReturns helpfile path. If helpfile is not found, then returns nil.;To:RDoc::Markup::Verbatim;	[I"Qtobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Worksheet')
;TI".puts tobj.helpfile # => C:\...\VBAXL9.CHM;T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"WIN32OLE_TYPE#helpfile
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"implemented_ole_types:ETI"(WIN32OLE_TYPE#implemented_ole_types;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"YReturns the array of WIN32OLE_TYPE object which is implemented by the WIN32OLE_TYPE ;TI"object.;To:RDoc::Markup::Verbatim;	[I"Qtobj = WIN32OLE_TYPE.new('Microsoft Excel 9.0 Object Library', 'Worksheet')
;TI">p tobj.implemented_ole_types # => [_Worksheet, DocEvents];T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I")WIN32OLE_TYPE#implemented_ole_types
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"default_ole_types:ETI"$WIN32OLE_TYPE#default_ole_types;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"YReturns the array of WIN32OLE_TYPE object which is implemented by the WIN32OLE_TYPE ;TI"-object and having IMPLTYPEFLAG_FDEFAULT.;To:RDoc::Markup::Verbatim;	[I"Qtobj = WIN32OLE_TYPE.new('Microsoft Internet Controls', "InternetExplorer")
;TI"p tobj.default_ole_types
;TI"N# => [#<WIN32OLE_TYPE:IWebBrowser2>, #<WIN32OLE_TYPE:DWebBrowserEvents2>];T:@format0:
@fileI"!ext/win32ole/win32ole_type.c;T:0@omit_headings_from_table_of_contents_below0I"%WIN32OLE_TYPE#default_ole_types
;T0[I"();T@FI"WIN32OLE_TYPE;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"length:ETI"Tempfile#length;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Tempfile;TcRDoc::NormalClass0[@FI"	size;TU:RDoc::AnyMethod[iI"create:ETI"Tempfile::create;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CCreates a temporary file as usual File object (not Tempfile). ;TI"-It doesn't use finalizer and delegation.;To:RDoc::Markup::BlankLineo;
;	[	I"BIf no block is given, this is similar to Tempfile.new except ;TI"(creating File instead of Tempfile. ;TI"4The created file is not removed automatically. ;TI"-You should use File.unlink to remove it.;T@o;
;	[
I"BIf a block is given, then a File object will be constructed, ;TI"?and the block is invoked with the object as the argument. ;TI"6The File object will be automatically closed and ;TI"?the temporary file is removed after the block terminates. ;TI"-The call returns the value of the block.;T@o;
;	[I"CIn any case, all arguments (+basename+, +tmpdir+, +mode+, and ;TI"=<code>**options</code>) will be treated as Tempfile.new.;T@o:RDoc::Markup::Verbatim;	[I"1Tempfile.create('foo', '/home/temp') do |f|
;TI"$   ... do something with f ...
;TI"end;T:@format0:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below00I"tmpfile;T[I"2(basename="", tmpdir=nil, mode: 0, **options);T@&FI"
Tempfile;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unlink:ETI"Tempfile#unlink;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NUnlinks (deletes) the file from the filesystem. One should always unlink ;TI"Kthe file after using it, as is explained in the "Explicit close" good ;TI"/practice section in the Tempfile overview:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I" file = Tempfile.new('foo')
;TI"begin
;TI"%   ...do something with file...
;TI"ensure
;TI"   file.close
;TI".   file.unlink   # deletes the temp file
;TI"	end
;T:@format0S:RDoc::Markup::Heading:
leveli:	textI"Unlink-before-close;T@o;
;	[I"MOn POSIX systems it's possible to unlink a file before closing it. This ;TI"Gpractice is explained in detail in the Tempfile overview (section ;TI"G"Unlink after creation"); please refer there for more information.;T@o;
;	[
I"NHowever, unlink-before-close may not be supported on non-POSIX operating ;TI"Qsystems. Microsoft Windows is the most notable case: unlinking a non-closed ;TI"Nfile will result in an error, which this method will silently ignore. If ;TI"Qyou want to practice unlink-before-close whenever possible, then you should ;TI"write code like this:;T@o;;	[I" file = Tempfile.new('foo')
;TI"5file.unlink   # On Windows this silently fails.
;TI"begin
;TI"'   ... do something with file ...
;TI"ensure
;TI"L   file.close!   # Closes the file handle. If the file wasn't unlinked
;TI"N                 # because #unlink failed, then this method will attempt
;TI"(                 # to do so again.
;TI"end;T;
0:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below000[[I"delete;To;;	[;@3;0I"();T@3FI"
Tempfile;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Tempfile::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ICreates a temporary file with permissions 0600 (= only readable and ;TI"8writable by the owner) and opens it with mode "w+".;To:RDoc::Markup::BlankLineo;
;	[I"CThe +basename+ parameter is used to determine the name of the ;TI"Ctemporary file. You can either pass a String or an Array with ;TI"F2 String elements. In the former form, the temporary file's base ;TI"@name will begin with the given string. In the latter form, ;TI"Fthe temporary file's base name will begin with the array's first ;TI";element, and end with the second element. For example:;T@o:RDoc::Markup::Verbatim;	[I""file = Tempfile.new('hello')
;TI"Gfile.path  # => something like: "/tmp/hello2843-8392-92849382--0"
;TI"
;TI"C# Use the Array form to enforce an extension in the filename:
;TI",file = Tempfile.new(['hello', '.jpg'])
;TI"Kfile.path  # => something like: "/tmp/hello2843-8392-92849382--0.jpg"
;T:@format0o;
;	[I"EThe temporary file will be placed in the directory as specified ;TI"Bby the +tmpdir+ parameter. By default, this is +Dir.tmpdir+. ;TI"?When $SAFE > 0 and the given +tmpdir+ is tainted, it uses ;TI"D'/tmp' as the temporary directory. Please note that ENV values ;TI"Care tainted by default, and +Dir.tmpdir+'s return value might ;TI"=come from environment variables (e.g. <tt>$TMPDIR</tt>).;T@o;;	[I"2file = Tempfile.new('hello', '/home/aisaka')
;TI"Ofile.path  # => something like: "/home/aisaka/hello2843-8392-92849382--0"
;T;
0o;
;	[	I"IYou can also pass an options hash. Under the hood, Tempfile creates ;TI"Kthe temporary file using +File.open+. These options will be passed to ;TI"@+File.open+. This is mostly useful for specifying encoding ;TI"options, e.g.:;T@o;;	[	I"FTempfile.new('hello', '/home/aisaka', :encoding => 'ascii-8bit')
;TI"
;TI"1# You can also omit the 'tmpdir' parameter:
;TI"6Tempfile.new('hello', :encoding => 'ascii-8bit')
;T;
0S:RDoc::Markup::Heading:
leveli:	textI"Exceptions;T@o;
;	[I"DIf Tempfile.new cannot find a unique filename within a limited ;TI"6number of tries, then it will raise an exception.;T:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below0I":new(basename = "", [tmpdir = Dir.tmpdir], [options])
;T0[I"2(basename="", tmpdir=nil, mode: 0, **options);T@>TI"
Tempfile;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"
Tempfile:ET@I"DelegateClass(File);To:RDoc::Markup::Document:@parts[o;;[ o:RDoc::Markup::Paragraph;[I"NA utility class for managing temporary files. When you create a Tempfile ;TI"Pobject, it will create a temporary file with a unique filename. A Tempfile ;TI"Pobjects behaves just like a File object, and you can perform all the usual ;TI"Rfile operations on it: reading data, writing data, changing its permissions, ;TI"Setc. So although this class does not explicitly document all instance methods ;TI"Ksupported by File, you can in fact call any File instance method on a ;TI"Tempfile object.;To:RDoc::Markup::BlankLineS:RDoc::Markup::Heading:
leveli:	textI"
Synopsis;T@o:RDoc::Markup::Verbatim;[I"require 'tempfile'
;TI"
;TI" file = Tempfile.new('foo')
;TI"Gfile.path      # => A unique filename in the OS's temp directory,
;TI"2               #    e.g.: "/tmp/foo.24722.0"
;TI"G               #    This filename contains 'foo' in its basename.
;TI"file.write("hello world")
;TI"file.rewind
;TI"'file.read      # => "hello world"
;TI"file.close
;TI",file.unlink    # deletes the temp file
;T:@format0S;;i;
I"Good practices;T@S;;i;
I"Explicit close;T@o;	;[I"OWhen a Tempfile object is garbage collected, or when the Ruby interpreter ;TI"Oexits, its associated temporary file is automatically deleted. This means ;TI"Othat's it's unnecessary to explicitly delete a Tempfile after use, though ;TI"Oit's good practice to do so: not explicitly deleting unused Tempfiles can ;TI"Kpotentially leave behind large amounts of tempfiles on the filesystem ;TI"Quntil they're garbage collected. The existence of these temp files can make ;TI"4it harder to determine a new Tempfile filename.;T@o;	;[I"QTherefore, one should always call #unlink or close in an ensure block, like ;TI"
this:;T@o;;[I" file = Tempfile.new('foo')
;TI"begin
;TI"%   ...do something with file...
;TI"ensure
;TI"   file.close
;TI".   file.unlink   # deletes the temp file
;TI"	end
;T;0S;;i;
I"Unlink after creation;T@o;	;[I"OOn POSIX systems, it's possible to unlink a file right after creating it, ;TI"Nand before closing it. This removes the filesystem entry without closing ;TI"Mthe file handle, so it ensures that only the processes that already had ;TI"Hthe file handle open can access the file's contents. It's strongly ;TI"Lrecommended that you do this if you do not want any other processes to ;TI"Kbe able to read from or write to the Tempfile, and you do not need to ;TI")know the Tempfile's filename either.;T@o;	;[	I"PFor example, a practical use case for unlink-after-creation would be this: ;TI"Nyou need a large byte buffer that's too large to comfortably fit in RAM, ;TI"Oe.g. when you're writing a web server and you want to buffer the client's ;TI"file upload data.;T@o;	;[I"EPlease refer to #unlink for more information and a code example.;T@S;;i;
I"Minor notes;T@o;	;[I"TTempfile's filename picking method is both thread-safe and inter-process-safe: ;TI"Rit guarantees that no other threads or processes will pick the same filename.;T@o;	;[I"PTempfile itself however may not be entirely thread-safe. If you access the ;TI"Rsame Tempfile object from multiple threads then you should protect it with a ;TI"mutex.;T:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[[I"create;TI"lib/tempfile.rb;T[I"new;T@k[I"	open;T@k[:protected[[:private[[I"
instance;T[[;[
[I"
close;T@k[I"close!;T@k[I"delete;T@k[I"length;T@k[I"	open;T@k[I"	path;T@k[I"	size;T@k[I"unlink;T@k[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@_@_cRDoc::TopLevelU:RDoc::AnyMethod[iI"close!:ETI"Tempfile#close!;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JCloses and unlinks (deletes) the file. Has the same effect as called ;TI"<tt>close(true)</tt>.;T:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Tempfile;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	size:ETI"Tempfile#size;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GReturns the size of the temporary file.  As a side effect, the IO ;TI"3buffer is flushed before determining the size.;T:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below000[[I"length;To;;	[;@;0I"();T@FI"
Tempfile;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
close:ETI"Tempfile#close;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NCloses the file. If +unlink_now+ is true, then the file will be unlinked ;TI"N(deleted) after closing. Of course, you can choose to later call #unlink ;TI"!if you do not unlink it now.;To:RDoc::Markup::BlankLineo;
;	[I"DIf you don't explicitly unlink the temporary file, the removal ;TI"3will be delayed until the object is finalized.;T:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below000[I"(unlink_now=false);T@FI"
Tempfile;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Remover:ETI"Tempfile::Remover;TI"Object;To:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/tempfile.rb;TI"
Tempfile;TcRDoc::NormalClassU:RDoc::AnyMethod[iI"delete:ETI"Tempfile#delete;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Tempfile;TcRDoc::NormalClass0[@FI"unlink;TU:RDoc::AnyMethod[iI"	path:ETI"Tempfile#path;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Returns the full path name of the temporary file. ;TI"1This will be nil if #unlink has been called.;T:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Tempfile;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	open:ETI"Tempfile::open;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Creates a new Tempfile.;To:RDoc::Markup::BlankLineo;
;	[I">If no block is given, this is a synonym for Tempfile.new.;T@o;
;	[	I"FIf a block is given, then a Tempfile object will be constructed, ;TI"Eand the block is run with said object as argument. The Tempfile ;TI"Eobject will be automatically closed after the block terminates. ;TI"-The call returns the value of the block.;T@o;
;	[I"TIn any case, all arguments (<code>*args</code>) will be passed to Tempfile.new.;T@o:RDoc::Markup::Verbatim;	[I"/Tempfile.open('foo', '/home/temp') do |f|
;TI"$   ... do something with f ...
;TI"	end
;TI"
;TI"# Equivalent:
;TI",f = Tempfile.open('foo', '/home/temp')
;TI"begin
;TI"$   ... do something with f ...
;TI"ensure
;TI"   f.close
;TI"end;T:@format0:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below00I"
tempfile;T[I"(*args);T@(FI"
Tempfile;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	open:ETI"Tempfile#open;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Opens or reopens the file with mode "r+".;T:
@fileI"lib/tempfile.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"
Tempfile;TcRDoc::NormalClass00U:RDoc::TopLevel[	iI"NEWS-2.0.0:EFcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[S:RDoc::Markup::Heading:
leveli:	textI"NEWS for Ruby 2.0.0;To:RDoc::Markup::BlankLineo:RDoc::Markup::Paragraph;[I"JThis document is a list of user visible feature changes made between ;TI"#releases except for bug fixes.;T@
o;
;[I"DNote that each entry is kept so brief that no reason behind or ;TI"Ireference information is supplied with.  For a full list of changes ;TI"=with all sufficient information, see the ChangeLog file.;T@
S;	;
i;I"$Changes since the 1.9.3 release;T@
S;	;
i;I"Language changes;T@
o:RDoc::Markup::List:
@type:BULLET:@items[	o:RDoc::Markup::ListItem:@label0;[o;
;[I"Added keyword arguments.;T@
o;;0;[o;
;[I"EAdded %i and %I for symbol list creation (similar to %w and %W).;T@
o;;0;[o;
;[I"@Default source encoding is changed to UTF-8. (was US-ASCII);T@
o;;0;[o;
;[I"6No warning for unused variables starting with '_';T@
S;	;
i;I"1Core classes updates (outstanding ones only);T@
o;;;;[!o;;0;[o;
;[I"	ARGF;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"Kadded ARGF#codepoints and ARGF#each_codepoint, like the corresponding ;TI"methods for IO.;T@
o;;0;[o;
;[I"
Array;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"+added Array#bsearch for binary search.;To;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[I"=random parameter of Array#shuffle! and Array#sample now ;TI"5will be called with one argument, maximum value.;To;;0;[o;
;[I"Jwhen given Range arguments, Array#values_at now returns nil for each ;TI" value that is out-of-range.;T@
o;;0;[o;
;[I"Enumerable;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"7added Enumerable#lazy method for lazy enumeration.;T@
o;;0;[o;
;[I"Enumerator;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"4added Enumerator#size for lazy size evaluation.;To;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"@Enumerator.new accept an argument for lazy size evaluation.;To;;0;[o;
;[I"4new class Enumerator::Lazy for lazy enumeration;T@
o;;0;[o;
;[I"ENV;To;;;;[o;;0;[o;
;[I"aliased method:;To;;;;[o;;0;[o;
;[I",ENV.to_h is a new alias for ENV.to_hash;T@
o;;0;[o;
;[I"
Fiber;To;;;;[o;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[I"GFiber#resume cannot resume a fiber which invokes "Fiber#transfer".;T@
o;;0;[o;
;[I"	File;To;;;;[o;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"8File.fnmatch? now expands braces in the pattern if ;TI"'File::FNM_EXTGLOB option is given.;T@
o;;0;[o;
;[I"GC;To;;;;[o;;0;[o;
;[I"improvements:;To;;;;[o;;0;[o;
;[I"Jintroduced the bitmap marking which suppresses to copy a memory page ;TI"with Copy-on-Write.;To;;0;[o;
;[I"Qintroduced the non-recursive marking which avoids unexpected stack overflow.;T@
o;;0;[o;
;[I"GC::Profiler;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"Gadded GC::Profiler.raw_data which returns raw profile data for GC.;T@
o;;0;[o;
;[I"	Hash;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"Dadded Hash#to_h as explicit conversion method, like Array#to_a.;To;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"DHash#default_proc= can be passed nil to clear the default proc.;T@
o;;0;[o;
;[I"IO;To;;;;[o;;0;[o;
;[I"deprecated methods:;To;;;;[o;;0;[o;
;[I"=IO#lines, #bytes, #chars and #codepoints are deprecated.;T@
o;;0;[o;
;[I"Kernel;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"Aadded Kernel#Hash conversion method like Array() or Float().;To;;0;[o;
;[I"Aadded Kernel#__dir__ which returns the absolute path of the ;TI"<directory of the file from which this method is called.;To;;0;[o;
;[I"=added Kernel#caller_locations which returns an array of ;TI"frame information objects.;To;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"4Kernel#warn accepts multiple args in like puts.;To;;0;[o;
;[I"FKernel#caller accepts second optional argument `n' which specify ;TI"required caller size.;To;;0;[o;
;[I"IKernel#to_enum and enum_for accept a block for lazy size evaluation.;To;;0;[o;
;[I"incompatible changes:;To;;;;[	o;;0;[o;
;[I">system() and exec() closes non-standard file descriptors ;TI"I(The default of :close_others option is changed to true by default.);To;;0;[o;
;[I"Erespond_to? against a protected method now returns false unless ;TI"!the second argument is true.;To;;0;[o;
;[I"?__callee__ has returned to the original behavior, and now ;TI"=returns the called name but not the original name in an ;TI"aliased method.;To;;0;[o;
;[I"0Kernel#inspect does not call #to_s anymore ;TI"'(it used to call redefined #to_s).;T@
o;;0;[o;
;[I"LoadError;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"Kadded LoadError#path method to return the file name that could not be ;TI"loaded.;T@
o;;0;[o;
;[I"Module;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I">added Module#prepend which is similar to Module#include, ;TI"<however a method in the prepended module overrides the ;TI"3corresponding method in the prepending module.;To;;0;[o;
;[I"Aadded Module.prepended and Module.prepend_features, similar ;TI"%to included and append_features.;To;;0;[o;
;[I"Badded Module#refine, which extends a class or module locally.;To;;:
LABEL;[o;;[I"experimental;T;[@
o;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"@Module#define_method accepts a UnboundMethod from a Module.;To;;0;[o;
;[I"@Module#const_get accepts a qualified constant string, e.g. ;TI"&Object.const_get("Foo::Bar::Baz");T@
o;;0;[o;
;[I"
Mutex;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"Cadded Mutex#owned? which returns the mutex is held by current ;TI""thread or not. [experimental];To;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[I"AMutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize ;TI"Hand Mutex#sleep are no longer allowed to be used from trap handler ;TI"*and raise a ThreadError in such case.;To;;0;[o;
;[I"9Mutex#sleep may spurious wakeup. Check after wakeup.;T@
o;;0;[o;
;[I"
NilClass;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"$added nil.to_h which returns {};T@
o;;0;[o;
;[I"ObjectSpace::WeakMap;To;;;;[o;;0;[o;
;[I"<new low level class to hold weak references to objects.;T@
o;;0;[o;
;[I"	Proc;To;;;;[o;;0;[o;
;[I"incompatible change:;To;;;;[o;;0;[o;
;[I"Fremoved Proc#== and #eql? so two procs are == only when they are ;TI"the same object.;T@
o;;0;[o;
;[I"Process;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"5added getsid for getting session id (unix only).;T@
o;;0;[o;
;[I"
Range;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"/added Range#size for lazy size evaluation.;To;;0;[o;
;[I"+added Range#bsearch for binary search.;T@
o;;0;[o;
;[I"RubyVM (MRI specific);To;;;;[	o;;0;[o;
;[I"Jadded RubyVM::InstructionSequence.of to get the instruction sequence ;TI"from a method or a block.;To;;0;[o;
;[I"Eadded RubyVM::InstructionSequence#path, #absolute_path, #label, ;TI"F#base_label and #first_lineno to retrieve information from where ;TI"*the instruction sequence was defined.;To;;0;[o;
;[I"8added Environment variables to specify stack usage:;To;;;;[	o;;0;[o;
;[I"GRUBY_THREAD_VM_STACK_SIZE: vm stack size used at thread creation. ;TI"5default: 128KB (32bit CPU) or 256KB (64bit CPU).;To;;0;[o;
;[I"GRUBY_THREAD_MACHINE_STACK_SIZE: machine stack size used at thread ;TI"(creation. default: 512KB or 1024KB.;To;;0;[o;
;[I"ERUBY_FIBER_VM_STACK_SIZE: vm stack size used at fiber creation. ;TI"default: 64KB or 128KB.;To;;0;[o;
;[I"ERUBY_FIBER_MACHINE_STACK_SIZE: machine stack size used at fiber ;TI"'creation. default: 256KB or 512KB.;To;
;[I"7These variables are checked only at launched time.;To;;0;[o;
;[I"Cadded constant DEFAULT_PARAMS to get above default parameters.;T@
o;;0;[o;
;[I"Signal;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"3added Signal.signame which returns signal name;T@
o;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[I"LSignal.trap raises ArgumentError when :SEGV, :BUS, :ILL, :FPE, :VTALRM ;TI"are specified.;T@
o;;0;[o;
;[I"String;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"Kadded String#b returning a copied string whose encoding is ASCII-8BIT.;To;;0;[o;
;[I"change return value:;To;;;;[	o;;0;[o;
;[I"@String#lines now returns an array instead of an enumerator.;To;;0;[o;
;[I"@String#chars now returns an array instead of an enumerator.;To;;0;[o;
;[I"EString#codepoints now returns an array instead of an enumerator.;To;;0;[o;
;[I"@String#bytes now returns an array instead of an enumerator.;T@
o;;0;[o;
;[I"Struct;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"Gadded Struct#to_h returning values with keys corresponding to the ;TI"instance variable names.;T@
o;;0;[o;
;[I"Thread;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I"Iadded Thread#thread_variable_get for getting thread local variables ;TI"6(these are different than Fiber local variables).;To;;0;[o;
;[I"Iadded Thread#thread_variable_set for setting thread local variables.;To;;0;[o;
;[I"Jadded Thread#thread_variables for getting a list of the thread local ;TI"variable keys.;To;;0;[o;
;[I"Madded Thread#thread_variable? for testing to see if a particular thread ;TI"variable has been set.;To;;0;[o;
;[I"Madded Thread.handle_interrupt as well as instance and singleton methods ;TI"?pending_interrupt? for asynchronous handling of exceptions;To;;0;[o;
;[I"Kadded Thread#backtrace_locations which returns similar information of ;TI"Kernel#caller_locations.;To;;0;[o;
;[I"Fnew class Thread::Backtrace::Location to hold backtrace location ;TI"Ginformation. These are returned by Thread#backtrace_locations and ;TI"Kernel#caller_locations.;To;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[I"LThread#join and Thread#value now raises a ThreadError if target thread ;TI"#is the current or main thread.;T@
o;;0;[o;
;[I"	Time;To;;;;[o;;0;[o;
;[I"change return value:;To;;;;[o;;0;[o;
;[I"?Time#to_s now returns US-ASCII encoding instead of BINARY.;T@
o;;0;[o;
;[I"TracePoint;To;;;;[o;;0;[o;
;[I"=new class. This class is replacement of set_trace_func. ;TI".Easy to use and efficient implementation.;T@
o;;0;[o;
;[I"
toplevel;To;;;;[o;;0;[o;
;[I"added method:;To;;;;[o;;0;[o;
;[I">added main.define_method which defines a global function.;To;;0;[o;
;[I"Jadded main.using, which imports refinements into the current file or ;TI" eval string. [experimental];T@
S;	;
i;I"DCore classes compatibility issues (excluding feature bug fixes);T@
o;;;;[%o;;0;[	o;
;[I"Array#values_at;T@
o;
;[I"See above.;T@
o;;0;[o;
;[I"String#lines;To;;0;[o;
;[I"String#chars;To;;0;[o;
;[I"String#codepoints;To;;0;[o;
;[I"String#bytes;T@
o;
;[I"FThese methods no longer return an Enumerator, although passing a ;TI":block is still supported for backwards compatibility.;T@
o;
;[I"HCode like str.lines.with_index(1) { |line, lineno| ... } no longer ;TI"Cworks because str.lines returns an array.  Replace lines with ;TI"each_line in such cases.;T@
o;;0;[o;
;[I"
IO#lines;To;;0;[o;
;[I"
IO#chars;To;;0;[o;
;[I"IO#codepoints;To;;0;[o;
;[I"
IO#bytes;To;;0;[o;
;[I"ARGF#lines;To;;0;[o;
;[I"ARGF#chars;To;;0;[o;
;[I"ARGF#bytes;To;;0;[o;
;[I"StringIO#lines;To;;0;[o;
;[I"StringIO#chars;To;;0;[o;
;[I"StringIO#codepoints;To;;0;[o;
;[I"StringIO#bytes;To;;0;[o;
;[I"Zlib::GzipReader#lines;To;;0;[	o;
;[I"Zlib::GzipReader#bytes;T@
o;
;[I"DThese methods are deprecated in favor of each_line, each_byte, ;TI""each_char and each_codepoint.;T@
o;;0;[o;
;[I"Proc#==;To;;0;[	o;
;[I"Proc#eql?;T@
o;
;[I"EThese methods were removed. Two procs are == only when they are ;TI"the same object.;T@
o;;0;[o;
;[I"Fixnum;To;;0;[o;
;[I"Bignum;To;;0;[	o;
;[I"
Float;T@
o;
;[I",Fixnums, Bignums and Floats are frozen.;T@
o;;0;[	o;
;[I"Signal.trap;T@
o;
;[I"See above.;T@
o;;0;[o;
;[I"Merge Onigmo. ;TI"'https://github.com/k-takata/Onigmo;T@
o;;0;[o;
;[	I"JThe :close_others option is true by default for system() and exec(). ;TI"RAlso, the close-on-exec flag is set by default for all new file descriptors. ;TI"KThis means file descriptors doesn't inherit to spawned process unless ;TI"6explicitly requested such as system(..., fd=>fd).;T@
o;;0;[o;
;[I"EKernel#respond_to? against a protected method now returns false ;TI"(unless the second argument is true.;T@
o;;0;[o;
;[I"Kernel#respond_to_missing?;To;;0;[o;
;[I"Kernel#initialize_clone;To;;0;[	o;
;[I"Kernel#initialize_dup;T@
o;
;[I"#These methods are now private.;T@
o;;0;[	o;
;[I"Thread#join, Thread#value;T@
o;
;[I"See above.;T@
o;;0;[	o;
;[I"PMutex#lock, Mutex#unlock, Mutex#try_lock, Mutex#synchronize and Mutex#sleep;T@
o;
;[I"See above.;T@
S;	;
i;I"+Stdlib updates (outstanding ones only);T@
o;;;;[o;;0;[o;
;[I"cgi;To;;;;[o;;0;[o;
;[I"Add HTML5 tag maker.;To;;0;[o;
;[I"8CGI#header has been renamed to CGI#http_header and ;TI"aliased to CGI#header.;To;;0;[o;
;[I"7When HTML5 tagmaker called, overwrite CGI#header, ;TI"9CGI#header function is to create a <header> element.;T@
o;;0;[o;
;[I"CSV;To;;;;[o;;0;[o;
;[I"ERemoved CSV::dump and CSV::load to protect users from dangerous ;TI" serialization vulnerability;T@
o;;0;[o;
;[I"
iconv;To;;;;[o;;0;[o;
;[I"7Iconv has been removed. Use String#encode instead.;T@
o;;0;[o;
;[I"io/console;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Sadded IO#cooked which sets the terminal to cooked mode within the given block.;To;;0;[o;
;[I"8added IO#cooked! which sets the terminal to cooked.;To;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"LIO#raw, IO#raw!, and IO#getch accept keyword arguments, :min and :time.;T@
o;;0;[o;
;[I"io/wait;To;;;;[o;;0;[o;
;[I"new features:;To;;;;[o;;0;[o;
;[I"#added IO#wait_writable method.;To;;0;[o;
;[I"7added IO#wait_readable method as alias of IO#wait.;T@
o;;0;[o;
;[I"	json;To;;;;[o;;0;[o;
;[I"updated to 1.7.7.;T@
o;;0;[o;
;[I"
net/http;To;;;;[o;;0;[o;
;[I"new features:;To;;;;[
o;;0;[o;
;[I"LProxies are now automatically detected from the http_proxy environment ;TI"/variable.  See Net::HTTP::new for details.;To;;0;[o;
;[I"Hgzip and deflate compression are now requested for all requests by ;TI")default.  See Net::HTTP for details.;To;;0;[o;
;[I"KSSL sessions are now reused across connections for a single instance. ;TI"HThis speeds up connection by using a previously negotiated session.;To;;0;[o;
;[I"LRequests may be created from a URI which sets the request_uri and host ;TI"Gheader of the request (but does not change the host connected to).;To;;0;[o;
;[I"OResponses contain the URI requested which allows easier implementation of ;TI"redirect following.;To;;0;[o;
;[I"new methods:;To;;;;[	o;;0;[o;
;[I"Net::HTTP#local_host;To;;0;[o;
;[I"Net::HTTP#local_host=;To;;0;[o;
;[I"Net::HTTP#local_port;To;;0;[o;
;[I"Net::HTTP#local_port=;To;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"CNet::HTTP#connect uses local_host and local_port if specified.;T@
o;;0;[o;
;[I"
net/imap;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[
o;;0;[o;
;[I"Net::IMAP.default_port;To;;0;[o;
;[I" Net::IMAP.default_imap_port;To;;0;[o;
;[I"Net::IMAP.default_tls_port;To;;0;[o;
;[I"Net::IMAP.default_ssl_port;To;;0;[o;
;[I"!Net::IMAP.default_imaps_port;T@
o;;0;[o;
;[I"
objspace;To;;;;[o;;0;[o;
;[I"new method:;To;;;;[o;;0;[o;
;[I",ObjectSpace.reachable_objects_from(obj);T@
o;;0;[o;
;[I"openssl;To;;;;[o;;0;[o;
;[
I"QConsistently raise an error when trying to encode nil values. All instances ;TI"Oof OpenSSL::ASN1::Primitive now raise TypeError when calling to_der on an ;TI"Oinstance whose value is nil. All instances of OpenSSL::ASN1::Constructive ;TI"Mraise NoMethodError in the same case. Constructing such values is still ;TI"permitted.;To;;0;[o;
;[I"NTLS 1.1 & 1.2 support by setting OpenSSL::SSL::SSLContext#ssl_version to ;TI"M:TLSv1_2, :TLSv1_2_server, :TLSv1_2_client or :TLSv1_1, :TLSv1_1_server ;TI"H:TLSv1_1_client. The version being effectively used can be queried ;TI"Hwith OpenSSL::SSL#ssl_version. Furthermore, it is also possible to ;TI"Hblacklist the new TLS versions with OpenSSL::SSL:OP_NO_TLSv1_1 and ;TI"!OpenSSL::SSL::OP_NO_TLSv1_2.;To;;0;[o;
;[I"NAdded OpenSSL::SSL::SSLContext#renegotiation_cb. A user-defined callback ;TI"Omay be set which gets called whenever a new handshake is negotiated. This ;TI"Malso allows to programmatically decline (client) renegotiation attempts.;To;;0;[o;
;[I"DSupport for "0/n" splitting of records as BEAST mitigation via ;TI"2OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS.;To;;0;[o;
;[	I"FThe default options for OpenSSL::SSL::SSLContext have changed to ;TI"JOpenSSL::SSL::OP_ALL & ~OpenSSL::SSL::OP_DONT_INSERT_EMPTY_FRAGMENTS ;TI"Oinstead of OpenSSL::SSL::OP_ALL only. This enables the countermeasure for ;TI"!the BEAST attack by default.;To;;0;[o;
;[I"POpenSSL requires passwords for decrypting PEM-encoded files to be at least ;TI"Ofour characters long. This led to awkward situations where an export with ;TI"Pa password with fewer than four characters was possible, but accessing the ;TI"Hfile afterwards failed. OpenSSL::PKey::RSA, OpenSSL::PKey::DSA and ;TI"MOpenSSL::PKey::EC therefore now enforce the same check when exporting a ;TI"Pprivate key to PEM with a password - it has to be at least four characters ;TI"
long.;To;;0;[o;
;[I"LSSL/TLS support for the Next Protocol Negotiation extension. Supported ;TI"#with OpenSSL 1.0.1 and higher.;To;;0;[o;
;[	I"POpenSSL::OPENSSL_FIPS allows client applications to detect whether OpenSSL ;TI"Mis FIPS-enabled. OpenSSL.fips_mode= allows turning on and off FIPS mode ;TI"Jmanually in order to adapt to situations where FIPS mode would be an ;TI"explicit requirement.;To;;0;[o;
;[I"KAuthenticated Encryption with Associated Data (AEAD) is supported via ;TI"=Cipher#auth_data= and Cipher#auth_tag/Cipher#auth_tag=. ;TI"<Currently (OpenSSL 1.0.1c), only GCM mode is supported.;T@
o;;0;[o;
;[I"ostruct;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[
o;;0;[o;
;[I"OpenStruct#[], []=;To;;0;[o;
;[I"OpenStruct#each_pair;To;;0;[o;
;[I"OpenStruct#eql?;To;;0;[o;
;[I"OpenStruct#hash;To;;0;[o;
;[I"3OpenStruct#to_h converts the struct to a hash.;To;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I"8OpenStruct.new also accepts an OpenStruct / Struct.;T@
o;;0;[o;
;[I"
pathname;To;;;;[o;;0;[o;
;[I"extended method:;To;;;;[o;;0;[o;
;[I">Pathname#find returns an enumerator if no block is given.;T@
o;;0;[o;
;[I"	rake;To;;;;[o;;0;[o;
;[I",rake has been updated to version 0.9.5.;T@
o;
;[I"JThis version is backwards-compatible with previous rake versions and ;TI"contains many bug fixes.;T@
o;
;[I"	See ;TI"Qhttp://rake.rubyforge.org/doc/release_notes/rake-0_9_5_rdoc.html for a list ;TI"/of changes in rake 0.9.3, 0.9.4 and 0.9.5.;T@
o;;0;[o;
;[I"	RDoc;To;;;;[o;;0;[o;
;[I")RDoc has been updated to version 4.0;T@
o;
;[	I"OThis version is largely backwards-compatible with previous rdoc versions. ;TI"NThe most notable change is an update to the ri data format (ri data must ;TI"Pbe regenerated for gems shared across rdoc versions).  Further API changes ;TI".are internal and won't affect most users.;T@
o;
;[I"Notable changes include:;T@
o;;;;[o;;0;[o;
;[I"IPage support for ri.  Try `ri ruby:` for a list of pages in ruby or ;TI"I`ri ruby:syntax/literals` for the syntax documentation for literals.;T@
o;
;[I"LThis also works for gems such as `ri rspec:README` for the rspec gem's ;TI"README file.;To;;0;[o;
;[I":Markdown support.  See ri RDoc::Markdown for details.;T@
o;
;[I"OSee https://github.com/rdoc/rdoc/blob/master/History.rdoc for a full list ;TI"of changes in rdoc 4.0.;T@
o;;0;[o;
;[I"resolv;To;;;;[o;;0;[o;
;[I"new methods:;To;;;;[o;;0;[o;
;[I"Resolv::DNS#timeouts=;To;;0;[o;
;[I""Resolv::DNS::Config#timeouts=;T@
o;;0;[o;
;[I"
rexml;To;;;;[o;;0;[o;
;[I"3REXML::Document#write supports Hash arguments.;To;;0;[o;
;[I"EREXML::Document#write supports new :encoding option. It changes ;TI"BXML document encoding. Without :encoding option, encoding in ;TI"7XML declaration is used for XML document encoding.;T@
o;;0;[o;
;[I"
RubyGems;To;;;;[o;;0;[o;
;[I"Updated to 2.0.0;T@
o;
;[I"8RubyGems 2.0.0 features the following improvements:;T@
o;;;;[o;;0;[o;
;[I"@Improved support for default gems shipping with ruby 2.0.0+;To;;0;[o;
;[I"JA gem can have arbitrary metadata through Gem::Specification#metadata;To;;0;[o;
;[I"I`gem search` now defaults to --remote and is anchored like gem list.;To;;0;[o;
;[I"HAdded --document to replace --rdoc and --ri.  Use --no-document to ;TI"Bdisable documentation, --document=rdoc to only generate rdoc.;To;;0;[o;
;[I":Only ri-format documentation is generated by default.;To;;0;[o;
;[I"D`gem server` uses RDoc::Servlet from RDoc 4.0 to generate HTML ;TI"documentation.;T@
o;
;[I"8For an expanded list of updates and bug fixes see: ;TI"Ahttps://github.com/rubygems/rubygems/blob/master/History.txt;T@
o;;0;[o;
;[I"shellwords;To;;;;[o;;0;[o;
;[I"HShellwords#shellescape now stringifies the given object using to_s.;To;;0;[o;
;[I"BShellwords#shelljoin accepts non-string objects in the given ;TI"4array, each of which is stringified using to_s.;T@
o;;0;[o;
;[I"
stringio;To;;;;[o;;0;[o;
;[I"deprecated methods:;To;;;;[o;;0;[o;
;[I"CStringIO#lines, #bytes, #chars and #codepoints are deprecated.;T@
o;;0;[o;
;[I"syslog;To;;;;[o;;0;[o;
;[I"BAdded Syslog::Logger which provides a Logger API atop Syslog.;To;;0;[o;
;[I"HSyslog::Priority, Syslog::Level, Syslog::Option and Syslog::Macros ;TI"Care introduced for easy detection of available constants on a ;TI"running system.;T@
o;;0;[o;
;[I"tmpdir;To;;;;[o;;0;[o;
;[I"incompatible changes:;To;;;;[o;;0;[o;
;[	I"9Dir.mktmpdir uses FileUtils.remove_entry instead of ;TI"MFileUtils.remove_entry_secure.  This means that applications should not ;TI"Fchange the permission of the created temporary directory to make ;TI"writable from other users.;T@
o;;0;[o;
;[I"	yaml;To;;;;[o;;0;[o;
;[I"JSyck has been removed.  YAML now completely depends on libyaml being ;TI"installed.;To;;0;[o;
;[I"Jlibyaml is now bundled with ruby, for cases where the library is not ;TI"installed locally.;T@
o;;0;[o;
;[I"	zlib;To;;;;[	o;;0;[o;
;[I"OAdded streaming support for Zlib::Inflate and Zlib::Deflate.  This allows ;TI"Gprocessing of a stream without the use of large amounts of memory.;To;;0;[o;
;[I"LAdded support for the new deflate strategies Zlib::RLE and Zlib::FIXED.;To;;0;[o;
;[I"QZlib streams are now processed without the GVL.  This allows gzip, zlib and ;TI"1deflate streams to be processed in parallel.;To;;0;[o;
;[I"deprecated methods:;To;;;;[o;;0;[o;
;[I"6Zlib::GzipReader#lines and #bytes are deprecated.;T@
S;	;
i;I">Stdlib compatibility issues (excluding feature bug fixes);T@
o;;;;[o;;0;[o;
;[I"FOpenStruct new methods can conflict with custom attributes named ;TI"+"each_pair", "eql?", "hash" or "to_h".;T@
o;;0;[	o;
;[I""Dir.mktmpdir in lib/tmpdir.rb;T@
o;
;[I"See above.;T@
S;	;
i;I"C API updates;T@
o;;;;[o;;0;[o;
;[I"PNUM2SHORT() and NUM2USHORT() added. They are similar to NUM2INT, but short.;T@
o;;0;[o;
;[I"Urb_newobj_of() and NEWOBJ_OF() added. They create a new object of a given class.;T:
@file@:0@omit_headings_from_table_of_contents_below0U:RDoc::NormalClass[iI"ChildExited:ETI"PTY::ChildExited;TI"RuntimeError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"OThrown when PTY::check is called for a pid that represents a process that ;TI"has exited.;T:
@fileI"ext/pty/pty.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[I"status;TI"ext/pty/pty.c;T[;
[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@I"PTY;TcRDoc::NormalModuleU:RDoc::AnyMethod[iI"status:ETI"PTY::ChildExited#status;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Returns the exit status of the child for which PTY#check ;TI"raised this exception;T:
@fileI"ext/pty/pty.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"ChildExited;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
check:ETI"PTY::check;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"@Checks the status of the child process specified by +pid+. ;TI"1Returns +nil+ if the process is still alive.;To:RDoc::Markup::BlankLineo;
;	[I"KIf the process is not alive, and +raise+ was true, a PTY::ChildExited ;TI"Jexception will be raised. Otherwise it will return a Process::Status ;TI"instance.;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"
+pid+;T;	[o;
;	[I"+The process id of the process to check;To;;[I"+raise+;T;	[o;
;	[I"@If +true+ and the process identified by +pid+ is no longer ;TI"(alive a PTY::ChildExited is raised.;T:
@fileI"ext/pty/pty.c;T:0@omit_headings_from_table_of_contents_below0I"}PTY.check(pid, raise = false) => Process::Status or nil
PTY.check(pid, true)          => nil or raises PTY::ChildExited
;T0[I"(p1, p2 = v2);T@&FI"PTY;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"	open:ETI"PTY::open;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'Allocates a pty (pseudo-terminal).;To:RDoc::Markup::BlankLineo;
;	[I"LIn the block form, yields two arguments <tt>master_io, slave_file</tt> ;TI"8and the value of the block is returned from +open+.;T@o;
;	[I"OThe IO and File are both closed after the block completes if they haven't ;TI"been already closed.;T@o:RDoc::Markup::Verbatim;	[
I"PTY.open {|master, slave|
;TI"4  p master      #=> #<IO:masterpty:/dev/pts/1>
;TI"+  p slave      #=> #<File:/dev/pts/1>
;TI"%  p slave.path #=> "/dev/pts/1"
;TI"}
;T:@format0o;
;	[I"IIn the non-block form, returns a two element array, <tt>[master_io, ;TI"slave_file]</tt>.;T@o;;	[I"master, slave = PTY.open
;TI":# do something with master for IO, or the slave file
;T;
0o;
;	[I"%The arguments in both forms are:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"+master_io+;T;	[o;
;	[I"%the master of the pty, as an IO.;To;;[I"+slave_file+;T;	[o;
;	[I"7the slave of the pty, as a File.  The path to the ;TI"7terminal device is available via +slave_file.path+;T@o;
;	[I"6IO#raw! is usable to disable newline conversions:;T@o;;	[
I"require 'io/console'
;TI"PTY.open {|m, s|
;TI"  s.raw!
;TI"  ...
;TI"};T;
0:
@fileI"ext/pty/pty.c;T:0@omit_headings_from_table_of_contents_below0I"`PTY.open => [master_io, slave_file]
PTY.open {|master_io, slave_file| ... } => block value
;T0[I"();T@DFI"PTY;TcRDoc::NormalModule00U:RDoc::NormalModule[iI"PTY:ET@0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"<Creates and managed pseudo terminals (PTYs).  See also ;TI"1http://en.wikipedia.org/wiki/Pseudo_terminal;To:RDoc::Markup::BlankLineo;	;[I"LPTY allows you to allocate new terminals using ::open or ::spawn a new ;TI"&terminal with a specific command.;T@S:RDoc::Markup::Heading:
leveli:	textI"Example;T@o;	;[I"PIn this example we will change the buffering type in the +factor+ command, ;TI":assuming that factor uses stdio for stdout buffering.;T@o;	;[I"RIf IO.pipe is used instead of PTY.open, this code deadlocks because factor's ;TI"stdout is fully buffered.;T@o:RDoc::Markup::Verbatim;[ I"3# start by requiring the standard library PTY
;TI"require 'pty'
;TI"
;TI"master, slave = PTY.open
;TI"read, write = IO.pipe
;TI"3pid = spawn("factor", :in=>read, :out=>slave)
;TI",read.close     # we dont need the read
;TI"#slave.close    # or the slave
;TI"
;TI"'# pipe "42" to the factor command
;TI"write.puts "42"
;TI"'# output the response from factor
;TI"%p master.gets #=> "42: 2 3 7\n"
;TI"
;TI"7# pipe "144" to factor and print out the response
;TI"write.puts "144"
;TI",p master.gets #=> "144: 2 2 2 2 3 3\n"
;TI""write.close # close the pipe
;TI"
;TI"I# The result of read operation when pty slave is closed is platform
;TI"# dependent.
;TI"ret = begin
;TI"4        master.gets     # FreeBSD returns nil.
;TI"5      rescue Errno::EIO # GNU/Linux raises EIO.
;TI"        nil
;TI"      end
;TI"p ret #=> nil
;T:@format0S;;i;
I"License;T@o;;[I"'C) Copyright 1998 by Akinori Ito.
;TI"
;TI"IThis software may be redistributed freely for this purpose, in full
;TI"Hor in part, provided that this entire copyright notice is included
;TI"Non any copies of this software and applications and derivations thereof.
;TI"
;TI"LThis software is provided on an "as is" basis, without warranty of any
;TI"Lkind, either expressed or implied, as to any matter including, but not
;TI"Glimited to warranty of fitness of purpose, or merchantability, or
;TI"0results obtained from use of this software.;T;0:
@fileI"ext/pty/pty.c;T:0@omit_headings_from_table_of_contents_below0;0;0[[[[[I"
class;T[[:public[	[I"
check;TI"ext/pty/pty.c;T[I"getpty;T@V[I"	open;T@V[I"
spawn;T@V[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[@J@JcRDoc::TopLevelU:RDoc::AnyMethod[iI"getpty:ETI"PTY::getpty;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"QSpawns the specified command on a newly allocated pty. You can also use the ;TI"alias ::getpty.;To:RDoc::Markup::BlankLineo;
;	[I"IThe command's controlling tty is set to the slave device of the pty ;TI"Kand its standard input/output/error is redirected to the slave device.;T@o;
;	[I"P+command+ and +command_line+ are the full commands to run, given a String. ;TI">Any additional +arguments+ will be passed to the command.;T@S:RDoc::Markup::Heading:
leveli:	textI"Return values;T@o;
;	[I"@In the non-block form this returns an array of size three, ;TI"<tt>[r, w, pid]</tt>.;T@o;
;	[I"FIn the block form these same values will be yielded to the block:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"+r+;T;	[o;
;	[I"/A readable IO that contains the command's ;TI"'standard output and standard error;To;;[I"+w+;T;	[o;
;	[I"7A writable IO that is the command's standard input;To;;[I"
+pid+;T;	[o;
;	[I",The process identifier for the command.;T:
@fileI"ext/pty/pty.c;T:0@omit_headings_from_table_of_contents_below0I"�PTY.spawn(command_line)  { |r, w, pid| ... }
PTY.spawn(command_line)  => [r, w, pid]
PTY.spawn(command, arguments, ...)  { |r, w, pid| ... }
PTY.spawn(command, arguments, ...)  => [r, w, pid]
;T0[I"(*args);T@9FI"PTY;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"
spawn:ETI"PTY::spawn;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"QSpawns the specified command on a newly allocated pty. You can also use the ;TI"alias ::getpty.;To:RDoc::Markup::BlankLineo;
;	[I"IThe command's controlling tty is set to the slave device of the pty ;TI"Kand its standard input/output/error is redirected to the slave device.;T@o;
;	[I"P+command+ and +command_line+ are the full commands to run, given a String. ;TI">Any additional +arguments+ will be passed to the command.;T@S:RDoc::Markup::Heading:
leveli:	textI"Return values;T@o;
;	[I"@In the non-block form this returns an array of size three, ;TI"<tt>[r, w, pid]</tt>.;T@o;
;	[I"FIn the block form these same values will be yielded to the block:;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"+r+;T;	[o;
;	[I"/A readable IO that contains the command's ;TI"'standard output and standard error;To;;[I"+w+;T;	[o;
;	[I"7A writable IO that is the command's standard input;To;;[I"
+pid+;T;	[o;
;	[I",The process identifier for the command.;T:
@fileI"ext/pty/pty.c;T:0@omit_headings_from_table_of_contents_below0I"�PTY.spawn(command_line)  { |r, w, pid| ... }
PTY.spawn(command_line)  => [r, w, pid]
PTY.spawn(command, arguments, ...)  { |r, w, pid| ... }
PTY.spawn(command, arguments, ...)  => [r, w, pid];T0[I"(*args);T@9FI"PTY;TcRDoc::NormalModule00U:RDoc::AnyMethod[iI"entries:ETI"Dir::entries;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"CReturns an array containing all of the filenames in the given ;TI"Gdirectory. Will raise a <code>SystemCallError</code> if the named ;TI"directory doesn't exist.;To:RDoc::Markup::BlankLineo;
;	[I"QThe optional <i>encoding</i> keyword argument specifies the encoding of the ;TI"Bdirectory. If not specified, the filesystem encoding is used.;T@o:RDoc::Markup::Verbatim;	[I"DDir.entries("testdir")   #=> [".", "..", "config.h", "main.rb"];T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"cDir.entries( dirname )                -> array
Dir.entries( dirname, encoding: enc ) -> array
;T0[I"(*args);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"to_path:ETI"Dir#to_path;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns the path parameter passed to <em>dir</em>'s constructor.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"d = Dir.new("..")
;TI"d.path   #=> "..";T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"!dir.to_path -> string or nil;T0[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	home:ETI"Dir::home;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FReturns the home directory of the current user or the named user ;TI"if given.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"@Dir.home()       -> "/home/me"
Dir.home("root") -> "/root"
;T0[I"(*args);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"Dir#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Return a string describing this Dir object.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"dir.inspect -> string
;T0[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"delete:ETI"Dir::delete;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Deletes the named directory. Raises a subclass of ;TI"?<code>SystemCallError</code> if the directory isn't empty.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"Dir.delete( string ) -> 0;T0[I"	(p1);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"[]:ETI"Dir::[];TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Equivalent to calling ;TI"@<code>Dir.glob([</code><i>string,...</i><code>], 0)</code>.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I":Dir[ string [, string ...] [, base: path] ] -> array
;T0[I"(*args, p2 = {});T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	glob:ETI"Dir::glob;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"IExpands +pattern+, which is a pattern string or an Array of pattern ;TI"Fstrings, and returns an array containing the matching filenames. ;TI"KIf a block is given, calls the block once for each matching filename, ;TI"6passing the filename as a parameter to the block.;To:RDoc::Markup::BlankLineo;
;	[
I"KThe optional +base+ keyword argument specifies the base directory for ;TI"Ointerpreting relative pathnames instead of the current working directory. ;TI"JAs the results are not prefixed with the base directory name in this ;TI"Mcase, you will need to prepend the base directory name if you want real ;TI"paths.;T@o;
;	[	I"INote that the pattern is not a regexp, it's closer to a shell glob. ;TI"ASee File::fnmatch for the meaning of the +flags+ parameter. ;TI"NCase sensitivity depends on your system (File::FNM_CASEFOLD is ignored), ;TI"9as does the order in which the results are returned.;T@o:RDoc::Markup::List:
@type:	NOTE:@items[o:RDoc::Markup::ListItem:@label[I"<code>*</code>;T;	[
o;
;	[I"FMatches any file. Can be restricted by other values in the glob. ;TI"2Equivalent to <code>/ .* /x</code> in regexp.;T@o;;
;;[	o;;[I"<code>*</code>;T;	[o;
;	[I"Matches all files;To;;[I"<code>c*</code>;T;	[o;
;	[I"4Matches all files beginning with <code>c</code>;To;;[I"<code>*c</code>;T;	[o;
;	[I"1Matches all files ending with <code>c</code>;To;;[I"<code>\*c\*</code>;T;	[o;
;	[I"6Match all files that have <code>c</code> in them ;TI")(including at the beginning or end).;T@o;
;	[I"LNote, this will not match Unix-like hidden files (dotfiles).  In order ;TI"=to include those in the match results, you must use the ;TI"EFile::FNM_DOTMATCH flag or something like <code>"{*,.*}"</code>.;T@o;;[I"<code>**</code>;T;	[o;
;	[I"%Matches directories recursively.;T@o;;[I"<code>?</code>;T;	[o;
;	[I"LMatches any one character. Equivalent to <code>/.{1}/</code> in regexp.;T@o;;[I"<code>[set]</code>;T;	[o;
;	[I"NMatches any one character in +set+.  Behaves exactly like character sets ;TI"=in Regexp, including set negation (<code>[^a-z]</code>).;T@o;;[I"<code>{p,q}</code>;T;	[	o;
;	[I"FMatches either literal <code>p</code> or literal <code>q</code>. ;TI"1Equivalent to pattern alternation in regexp.;T@o;
;	[I"LMatching literals may be more than one character in length.  More than ;TI"#two literals may be specified.;T@o;;[I"<code> \\ </code>;T;	[	o;
;	[I"$Escapes the next metacharacter.;T@o;
;	[I"KNote that this means you cannot use backslash on windows as part of a ;TI"Aglob, i.e.  <code>Dir["c:\\foo*"]</code> will not work, use ;TI")<code>Dir["c:/foo*"]</code> instead.;T@o;
;	[I"Examples:;T@o:RDoc::Markup::Verbatim;	[I":Dir["config.?"]                     #=> ["config.h"]
;TI":Dir.glob("config.?")                #=> ["config.h"]
;TI"9Dir.glob("*.[a-z][a-z]")            #=> ["main.rb"]
;TI":Dir.glob("*.[^r]*")                 #=> ["config.h"]
;TI"EDir.glob("*.{rb,h}")                #=> ["main.rb", "config.h"]
;TI"EDir.glob("*")                       #=> ["config.h", "main.rb"]
;TI"PDir.glob("*", File::FNM_DOTMATCH)   #=> [".", "..", "config.h", "main.rb"]
;TI"
;TI"'rbfiles = File.join("**", "*.rb")
;TI"9Dir.glob(rbfiles)                   #=> ["main.rb",
;TI"=                                    #    "lib/song.rb",
;TI"E                                    #    "lib/song/karaoke.rb"]
;TI"
;TI"9Dir.glob(rbfiles, base: "lib")      #=> ["song.rb",
;TI"A                                    #    "song/karaoke.rb"]
;TI"
;TI"&libdirs = File.join("**", "lib")
;TI"5Dir.glob(libdirs)                   #=> ["lib"]
;TI"
;TI"7librbfiles = File.join("**", "lib", "**", "*.rb")
;TI"=Dir.glob(librbfiles)                #=> ["lib/song.rb",
;TI"E                                    #    "lib/song/karaoke.rb"]
;TI"
;TI"1librbfiles = File.join("**", "lib", "*.rb")
;TI"<Dir.glob(librbfiles)                #=> ["lib/song.rb"];T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"�Dir.glob( pattern, [flags], [base: path] )                       -> array
Dir.glob( pattern, [flags], [base: path] ) { |filename| block }  -> nil
;T0[I"(p1, p2 = v2, p3 = {});T@�FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
mktmpdir:ETI"Dir::mktmpdir;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Dir.mktmpdir creates a temporary directory.;To:RDoc::Markup::BlankLineo;
;	[I"4The directory is created with 0700 permission. ;TI"nApplication should not change the permission to make the temporary directory accessible from other users.;T@o;
;	[I"HThe prefix and suffix of the name of the directory is specified by ;TI"7the optional first argument, <i>prefix_suffix</i>.;To:RDoc::Markup::List:
@type:BULLET:@items[o:RDoc::Markup::ListItem:@label0;	[o;
;	[I"TIf it is not specified or nil, "d" is used as the prefix and no suffix is used.;To;;0;	[o;
;	[I"GIf it is a string, it is used as the prefix and no suffix is used.;To;;0;	[o;
;	[I"cIf it is an array, first element is used as the prefix and second element is used as a suffix.;T@o:RDoc::Markup::Verbatim;	[I"-Dir.mktmpdir {|dir| dir is ".../d..." }
;TI"6Dir.mktmpdir("foo") {|dir| dir is ".../foo..." }
;TI"BDir.mktmpdir(["foo", "bar"]) {|dir| dir is ".../foo...bar" }
;T:@format0o;
;	[I"2The directory is created under Dir.tmpdir or ;TI"Jthe optional second argument <i>tmpdir</i> if non-nil value is given.;T@o;;	[I"7Dir.mktmpdir {|dir| dir is "#{Dir.tmpdir}/d..." }
;TI"CDir.mktmpdir(nil, "/var/tmp") {|dir| dir is "/var/tmp/d..." }
;T;0o;
;	[
I"If a block is given, ;TI"3it is yielded with the path of the directory. ;TI"0The directory and its contents are removed ;TI"?using FileUtils.remove_entry before Dir.mktmpdir returns. ;TI"(The value of the block is returned.;T@o;;	[	I"Dir.mktmpdir {|dir|
;TI"  # use the directory...
;TI"'  open("#{dir}/foo", "w") { ... }
;TI"}
;T;0o;
;	[I"If a block is not given, ;TI",The path of the directory is returned. ;TI"=In this case, Dir.mktmpdir doesn't remove the directory.;T@o;;	[
I"dir = Dir.mktmpdir
;TI"begin
;TI"  # use the directory...
;TI"'  open("#{dir}/foo", "w") { ... }
;TI"ensure
;TI"  # remove the directory.
;TI""  FileUtils.remove_entry dir
;TI"end;T;0:
@fileI"lib/tmpdir.rb;T:0@omit_headings_from_table_of_contents_below00I"	path;T[I"(prefix_suffix=nil, *rest);T@QFI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
rmdir:ETI"Dir::rmdir;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Deletes the named directory. Raises a subclass of ;TI"?<code>SystemCallError</code> if the directory isn't empty.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"Dir.rmdir( string ) -> 0;T0[I"	(p1);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"
Dir::new;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Returns a new directory object for the named directory.;To:RDoc::Markup::BlankLineo;
;	[I"\The optional <i>encoding</i> keyword argument specifies the encoding of the directory. ;TI"7If not specified, the filesystem encoding is used.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"HDir.new( string ) -> aDir
Dir.new( string, encoding: enc ) -> aDir
;T0[I"(p1, p2 = {});T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"each_child:ETI"Dir::each_child;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"HCalls the block once for each entry except for "." and ".." in the ;TI"Hnamed directory, passing the filename of each entry as a parameter ;TI"to the block.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"6Dir.each_child("testdir") {|x| puts "Got #{x}" }
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"Got config.h
;TI"Got main.rb;T;
0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"0Dir.each_child( dirname ) {| filename | block }                 -> nil
Dir.each_child( dirname, encoding: enc ) {| filename | block }  -> nil
Dir.each_child( dirname )                                       -> an_enumerator
Dir.each_child( dirname, encoding: enc )                        -> an_enumerator
;T0[I"(*args);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Dir:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[	I"JObjects of class <code>Dir</code> are directory streams representing ;TI"Jdirectories in the underlying file system. They provide a variety of ;TI";ways to list directories and their contents. See also ;TI"<code>File</code>.;To:RDoc::Markup::BlankLineo;	;[	I"IThe directory used in these examples contains the two regular files ;TI"B(<code>config.h</code> and <code>main.rb</code>), the parent ;TI";directory (<code>..</code>), and the directory itself ;TI"(<code>.</code>).;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0o;;[;I"lib/tmpdir.rb;T;0;0;0[[[[I"Enumerable;To;;[;@;0I"
dir.c;T[[I"
class;T[[:public[[I"[];T@%[I"
chdir;T@%[I"
children;T@%[I"chroot;T@%[I"delete;T@%[I"each_child;T@%[I"empty?;T@%[I"entries;T@%[I"exist?;T@%[I"exists?;T@%[I"foreach;T@%[I"
getwd;T@%[I"	glob;T@%[I"	home;T@%[I"
mkdir;T@%[I"
mktmpdir;TI"lib/tmpdir.rb;T[I"new;T@%[I"	open;T@%[I"pwd;T@%[I"
rmdir;T@%[I"tmpdir;T@L[I"unlink;T@%[:protected[[:private[[I"
instance;T[[;
[[I"
close;T@%[I"	each;T@%[I"fileno;T@%[I"inspect;T@%[I"	path;T@%[I"pos;T@%[I"	pos=;T@%[I"	read;T@%[I"rewind;T@%[I"	seek;T@%[I"	tell;T@%[I"to_path;T@%[;[[;[[[U:RDoc::Context::Section[i0o;;[;0;0[
@I"lib/cgi/session.rb;TI"lib/cgi/session/pstore.rb;TI"lib/drb/unix.rb;TI"lib/tempfile.rb;T@I"*lib/webrick/httpservlet/cgi_runner.rb;TI"+lib/webrick/httpservlet/filehandler.rb;T@cRDoc::TopLevelU:RDoc::AnyMethod[iI"
chdir:ETI"Dir::chdir;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[
I"GChanges the current working directory of the process to the given ;TI"Gstring. When called without an argument, changes the directory to ;TI"Athe value of the environment variable <code>HOME</code>, or ;TI"A<code>LOGDIR</code>. <code>SystemCallError</code> (probably ;TI"H<code>Errno::ENOENT</code>) if the target directory does not exist.;To:RDoc::Markup::BlankLineo;
;	[
I"CIf a block is given, it is passed the name of the new current ;TI"Cdirectory, and the block is executed with that as the current ;TI"Jdirectory. The original working directory is restored when the block ;TI"Gexits. The return value of <code>chdir</code> is the value of the ;TI">block. <code>chdir</code> blocks can be nested, but in a ;TI"Imulti-threaded program an error will be raised if a thread attempts ;TI"Eto open a <code>chdir</code> block while another thread has one ;TI"
open.;T@o:RDoc::Markup::Verbatim;	[I""Dir.chdir("/var/spool/mail")
;TI"puts Dir.pwd
;TI"Dir.chdir("/tmp") do
;TI"  puts Dir.pwd
;TI"  Dir.chdir("/usr") do
;TI"    puts Dir.pwd
;TI"  end
;TI"  puts Dir.pwd
;TI"	end
;TI"puts Dir.pwd
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[
I"/var/spool/mail
;TI"
/tmp
;TI"
/usr
;TI"
/tmp
;TI"/var/spool/mail;T;
0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"WDir.chdir( [ string] ) -> 0
Dir.chdir( [ string] ) {| path | block }  -> anObject
;T0[I"(p1 = v1);T@3FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	tell:ETI"
Dir#tell;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Returns the current position in <em>dir</em>. See also ;TI"<code>Dir#seek</code>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"d = Dir.new("testdir")
;TI"d.tell   #=> 0
;TI"d.read   #=> "."
;TI"d.tell   #=> 12;T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"dir.tell -> integer;T0[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
close:ETI"Dir#close;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""Closes the directory stream. ;TI"HCalling this method on closed Dir object is ignored since Ruby 2.3.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"d = Dir.new("testdir")
;TI"d.close   #=> nil;T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"dir.close -> nil
;T0[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"unlink:ETI"Dir::unlink;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Deletes the named directory. Raises a subclass of ;TI"?<code>SystemCallError</code> if the directory isn't empty.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"Dir.unlink( string ) -> 0;T0[I"	(p1);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pos:ETI"Dir#pos;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"<Returns the current position in <em>dir</em>. See also ;TI"<code>Dir#seek</code>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"d = Dir.new("testdir")
;TI"d.tell   #=> 0
;TI"d.read   #=> "."
;TI"d.tell   #=> 12;T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"dir.pos -> integer;T0[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	pos=:ETI"
Dir#pos=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ASynonym for <code>Dir#seek</code>, but returns the position ;TI"parameter.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"4d = Dir.new("testdir")   #=> #<Dir:0x401b3c40>
;TI"&d.read                   #=> "."
;TI"%i = d.pos                #=> 12
;TI"'d.read                   #=> ".."
;TI"%d.pos = i                #=> 12
;TI"&d.read                   #=> "..";T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"#dir.pos = integer  -> integer
;T0[I"	(p1);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
children:ETI"Dir::children;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"EReturns an array containing all of the filenames except for "." ;TI"3and ".." in the given directory. Will raise a ;TI"G<code>SystemCallError</code> if the named directory doesn't exist.;To:RDoc::Markup::BlankLineo;
;	[I"QThe optional <i>encoding</i> keyword argument specifies the encoding of the ;TI"Bdirectory. If not specified, the filesystem encoding is used.;T@o:RDoc::Markup::Verbatim;	[I":Dir.children("testdir")   #=> ["config.h", "main.rb"];T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"eDir.children( dirname )                -> array
Dir.children( dirname, encoding: enc ) -> array
;T0[I"(*args);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	path:ETI"
Dir#path;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns the path parameter passed to <em>dir</em>'s constructor.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"d = Dir.new("..")
;TI"d.path   #=> "..";T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"dir.path -> string or nil;T0[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	seek:ETI"
Dir#seek;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DSeeks to a particular location in <em>dir</em>. <i>integer</i> ;TI"7must be a value returned by <code>Dir#tell</code>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"4d = Dir.new("testdir")   #=> #<Dir:0x401b3c40>
;TI"&d.read                   #=> "."
;TI"%i = d.tell               #=> 12
;TI"'d.read                   #=> ".."
;TI"4d.seek(i)                #=> #<Dir:0x401b3c40>
;TI"&d.read                   #=> "..";T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I" dir.seek( integer ) -> dir
;T0[I"	(p1);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"fileno:ETI"Dir#fileno;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"6Returns the file descriptor used in <em>dir</em>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"d = Dir.new("..")
;TI"d.fileno   #=> 8
;T:@format0o;
;	[I">This method uses dirfd() function defined by POSIX 2008. ;TI"HNotImplementedError is raised on other platforms, such as Windows, ;TI"(which doesn't provide the function.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"dir.fileno -> integer
;T0[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	open:ETI"Dir::open;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"\The optional <i>encoding</i> keyword argument specifies the encoding of the directory. ;TI"7If not specified, the filesystem encoding is used.;To:RDoc::Markup::BlankLineo;
;	[
I"7With no block, <code>open</code> is a synonym for ;TI"@<code>Dir::new</code>. If a block is present, it is passed ;TI"G<i>aDir</i> as a parameter. The directory is closed at the end of ;TI"Dthe block, and <code>Dir::open</code> returns the value of the ;TI"block.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"�Dir.open( string ) -> aDir
Dir.open( string, encoding: enc ) -> aDir
Dir.open( string ) {| aDir | block } -> anObject
Dir.open( string, encoding: enc ) {| aDir | block } -> anObject
;T0[I"(*args);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	read:ETI"
Dir#read;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReads the next entry from <em>dir</em> and returns it as a string. ;TI"7Returns <code>nil</code> at the end of the stream.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"d = Dir.new("testdir")
;TI"d.read   #=> "."
;TI"d.read   #=> ".."
;TI"d.read   #=> "config.h";T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"dir.read -> string or nil
;T0[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"chroot:ETI"Dir::chroot;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"AChanges this process's idea of the file system root. Only a ;TI"Aprivileged process may make this call. Not available on all ;TI"Eplatforms. On Unix systems, see <code>chroot(2)</code> for more ;TI"information.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"Dir.chroot( string ) -> 0
;T0[I"	(p1);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"foreach:ETI"Dir::foreach;TT:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"ICalls the block once for each entry in the named directory, passing ;TI"<the filename of each entry as a parameter to the block.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"3Dir.foreach("testdir") {|x| puts "Got #{x}" }
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[	I"Got .
;TI"Got ..
;TI"Got config.h
;TI"Got main.rb;T;
0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"$Dir.foreach( dirname ) {| filename | block }                 -> nil
Dir.foreach( dirname, encoding: enc ) {| filename | block }  -> nil
Dir.foreach( dirname )                                       -> an_enumerator
Dir.foreach( dirname, encoding: enc )                        -> an_enumerator
;T0[I"(*args);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
getwd:ETI"Dir::getwd;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JReturns the path to the current working directory of this process as ;TI"a string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Dir.chdir("/tmp")   #=> 0
;TI"$Dir.getwd           #=> "/tmp"
;TI"#Dir.pwd             #=> "/tmp";T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"Dir.getwd -> string;T0[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rewind:ETI"Dir#rewind;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"1Repositions <em>dir</em> to the first entry.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"d = Dir.new("testdir")
;TI"d.read     #=> "."
;TI"&d.rewind   #=> #<Dir:0x401b3fb0>
;TI"d.read     #=> ".";T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"dir.rewind -> dir
;T0[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"pwd:ETI"
Dir::pwd;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JReturns the path to the current working directory of this process as ;TI"a string.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"Dir.chdir("/tmp")   #=> 0
;TI"$Dir.getwd           #=> "/tmp"
;TI"#Dir.pwd             #=> "/tmp";T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"Dir.pwd -> string;T0[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	each:ETI"
Dir#each;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"HCalls the block once for each entry in this directory, passing the ;TI"8filename of each entry as a parameter to the block.;To:RDoc::Markup::BlankLineo;
;	[I"=If no block is given, an enumerator is returned instead.;T@o:RDoc::Markup::Verbatim;	[I"d = Dir.new("testdir")
;TI"$d.each  {|x| puts "Got #{x}" }
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[	I"Got .
;TI"Got ..
;TI"Got config.h
;TI"Got main.rb;T;
0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"[dir.each { |filename| block }  -> dir
dir.each                       -> an_enumerator
;T0[I"();T@ FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"empty?:ETI"Dir::empty?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HReturns <code>true</code> if the named file is an empty directory, ;TI"><code>false</code> if it is not a directory or non-empty.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I".Dir.empty?(path_name)  ->  true or false
;T0[I"	(p1);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"tmpdir:ETI"Dir::tmpdir;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Returns the operating system's temporary file path.;T:
@fileI"lib/tmpdir.rb;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"exist?:ETI"Dir::exist?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns <code>true</code> if the named file is a directory, ;TI""<code>false</code> otherwise.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"/Dir.exist?(file_name)   ->  true or false
;T0[I"	(p1);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
mkdir:ETI"Dir::mkdir;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DMakes a new directory named by <i>string</i>, with permissions ;TI"?specified by the optional parameter <i>anInteger</i>. The ;TI"1permissions may be modified by the value of ;TI"?<code>File::umask</code>, and are ignored on NT. Raises a ;TI"J<code>SystemCallError</code> if the directory cannot be created. See ;TI"Galso the discussion of permissions in the class documentation for ;TI"<code>File</code>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"7Dir.mkdir(File.join(Dir.home, ".foo"), 0700) #=> 0;T:@format0:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"*Dir.mkdir( string [, integer] ) -> 0
;T0[I"(p1, p2 = v2);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"exists?:ETI"Dir::exists?;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I""Deprecated method. Don't use.;T:
@fileI"
dir.c;T:0@omit_headings_from_table_of_contents_below0I"/Dir.exists?(file_name)  ->  true or false
;T0[I"	(p1);T@FI"Dir;TcRDoc::NormalClass00U:RDoc::NormalModule[iI"	Rake:ET@0o:RDoc::Markup::Document:@parts[:
@file0:0@omit_headings_from_table_of_contents_below0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;
[[[U:RDoc::Context::Section[i0o;;[;	0;
0[I"lib/rdoc/task.rb;T@'cRDoc::TopLevelWed, 26 Jul 2023 14:55:13 +0000
./loadpath.c	Mon, 05 Apr 2021 11:46:35 +0000
./regexec.c	Mon, 05 Apr 2021 11:46:35 +0000
./rational.c	Mon, 05 Apr 2021 11:46:35 +0000
./id_table.c	Mon, 05 Apr 2021 11:46:35 +0000
./vm.c	Mon, 05 Apr 2021 11:46:35 +0000
./vm_args.c	Mon, 05 Apr 2021 11:46:35 +0000
./prelude.c	Mon, 05 Apr 2021 11:46:37 +0000
./main.c	Mon, 05 Apr 2021 11:46:35 +0000
./file.c	Mon, 05 Apr 2021 11:46:35 +0000
./random.c	Mon, 05 Apr 2021 11:46:35 +0000
./st.c	Mon, 05 Apr 2021 11:46:35 +0000
./range.c	Mon, 05 Apr 2021 11:46:35 +0000
./thread_sync.c	Mon, 05 Apr 2021 11:46:35 +0000
./util.c	Mon, 05 Apr 2021 11:46:35 +0000
./vsnprintf.c	Mon, 05 Apr 2021 11:46:35 +0000
./thread_win32.c	Mon, 05 Apr 2021 11:46:35 +0000
./process.c	Mon, 05 Apr 2021 11:46:35 +0000
./miniprelude.c	Mon, 05 Apr 2021 11:46:37 +0000
./compile.c	Mon, 05 Apr 2021 11:46:35 +0000
./vm_trace.c	Mon, 05 Apr 2021 11:46:35 +0000
./transcode.c	Mon, 05 Apr 2021 11:46:35 +0000
./array.c	Mon, 05 Apr 2021 11:46:35 +0000
./bignum.c	Mon, 05 Apr 2021 11:46:35 +0000
./thread.c	Mon, 05 Apr 2021 11:46:35 +0000
./time.c	Mon, 05 Apr 2021 11:46:35 +0000
./eval.c	Mon, 05 Apr 2021 11:46:35 +0000
./dmyext.c	Mon, 05 Apr 2021 11:46:35 +0000
./parse.c	Mon, 05 Apr 2021 11:46:37 +0000
./safe.c	Mon, 05 Apr 2021 11:46:35 +0000
./siphash.c	Mon, 05 Apr 2021 11:46:35 +0000
./dir.c	Mon, 05 Apr 2021 11:46:35 +0000
./vm_method.c	Mon, 05 Apr 2021 11:46:35 +0000
./goruby.c	Mon, 05 Apr 2021 11:46:35 +0000
./regparse.c	Mon, 05 Apr 2021 11:46:35 +0000
./sparc.c	Mon, 05 Apr 2021 11:46:35 +0000
./cont.c	Mon, 05 Apr 2021 11:46:35 +0000
./strftime.c	Mon, 05 Apr 2021 11:46:35 +0000
./error.c	Mon, 05 Apr 2021 11:46:35 +0000
./regcomp.c	Mon, 05 Apr 2021 11:46:35 +0000
./eval_jump.c	Mon, 05 Apr 2021 11:46:35 +0000
./vm_eval.c	Mon, 05 Apr 2021 11:46:35 +0000
./id.c	Mon, 05 Apr 2021 11:46:37 +0000
./version.c	Mon, 05 Apr 2021 11:46:35 +0000
./io.c	Mon, 05 Apr 2021 11:46:35 +0000
./thread_pthread.c	Mon, 05 Apr 2021 11:46:35 +0000
./numeric.c	Mon, 05 Apr 2021 11:46:35 +0000
./gc.c	Mon, 05 Apr 2021 11:46:35 +0000
./encoding.c	Mon, 05 Apr 2021 11:46:35 +0000
./regerror.c	Mon, 05 Apr 2021 11:46:35 +0000
./enumerator.c	Mon, 05 Apr 2021 11:46:35 +0000
./complex.c	Mon, 05 Apr 2021 11:46:35 +0000
./load.c	Mon, 05 Apr 2021 11:46:35 +0000
./iseq.c	Mon, 05 Apr 2021 11:46:35 +0000
./math.c	Mon, 05 Apr 2021 11:46:35 +0000
./dmyenc.c	Mon, 05 Apr 2021 11:46:35 +0000
./inits.c	Mon, 05 Apr 2021 11:46:35 +0000
./struct.c	Mon, 05 Apr 2021 11:46:35 +0000
./hash.c	Mon, 05 Apr 2021 11:46:35 +0000
./localeinit.c	Mon, 05 Apr 2021 11:46:35 +0000
./string.c	Mon, 05 Apr 2021 11:46:35 +0000
./regsyntax.c	Mon, 05 Apr 2021 11:46:35 +0000
./debug_counter.c	Mon, 05 Apr 2021 11:46:35 +0000
./re.c	Mon, 05 Apr 2021 11:46:35 +0000
./vm_exec.c	Mon, 05 Apr 2021 11:46:35 +0000
./dln.c	Mon, 05 Apr 2021 11:46:35 +0000
./node.c	Mon, 05 Apr 2021 11:46:35 +0000
./class.c	Mon, 05 Apr 2021 11:46:35 +0000
./compar.c	Mon, 05 Apr 2021 11:46:35 +0000
./vm_dump.c	Mon, 05 Apr 2021 11:46:35 +0000
./object.c	Mon, 05 Apr 2021 11:46:35 +0000
./dmydln.c	Mon, 05 Apr 2021 11:46:35 +0000
./ruby.c	Mon, 05 Apr 2021 11:46:35 +0000
./vm_insnhelper.c	Mon, 05 Apr 2021 11:46:35 +0000
./regenc.c	Mon, 05 Apr 2021 11:46:35 +0000
./dln_find.c	Mon, 05 Apr 2021 11:46:35 +0000
./rubystub.c	Mon, 05 Apr 2021 11:46:35 +0000
./signal.c	Mon, 05 Apr 2021 11:46:35 +0000
./ruby-runner.c	Mon, 05 Apr 2021 11:46:35 +0000
./pack.c	Mon, 05 Apr 2021 11:46:35 +0000
./golf_prelude.c	Mon, 05 Apr 2021 11:46:37 +0000
./variable.c	Mon, 05 Apr 2021 11:46:35 +0000
./proc.c	Mon, 05 Apr 2021 11:46:35 +0000
./vm_backtrace.c	Mon, 05 Apr 2021 11:46:35 +0000
./enum.c	Mon, 05 Apr 2021 11:46:35 +0000
./marshal.c	Mon, 05 Apr 2021 11:46:35 +0000
./addr2line.c	Mon, 05 Apr 2021 11:46:35 +0000
./eval_error.c	Mon, 05 Apr 2021 11:46:35 +0000
./sprintf.c	Mon, 05 Apr 2021 11:46:35 +0000
./lex.c	Mon, 05 Apr 2021 11:46:37 +0000
./miniinit.c	Mon, 05 Apr 2021 11:46:35 +0000
./symbol.c	Mon, 05 Apr 2021 11:46:35 +0000
./debug.c	Mon, 05 Apr 2021 11:46:35 +0000
./parse.y	Mon, 05 Apr 2021 11:46:35 +0000
./prelude.rb	Mon, 05 Apr 2021 11:46:35 +0000
./rbconfig.rb	Wed, 26 Jul 2023 14:54:53 +0000
./lib/ipaddr.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/thwait.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/fileutils.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/tracer.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/delegate.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/optparse.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/monitor.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/securerandom.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/forwardable.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/ostruct.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/e2mmap.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/uri.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/cmath.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/profiler.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/time.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/shell.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/resolv-replace.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/base64.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/prettyprint.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/singleton.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/weakref.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/matrix.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/pp.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/sync.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/open3.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/erb.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/scanf.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/resolv.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/getoptlong.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/yaml.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/timeout.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/pstore.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/benchmark.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/debug.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/tempfile.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/find.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/shellwords.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/abbrev.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/mkmf.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/optionparser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/un.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/cgi.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/tmpdir.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/mutex_m.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/prime.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/profile.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/English.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/open-uri.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/observer.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/tsort.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/logger.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/csv.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/cgi/util.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/cgi/html.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/cgi/cookie.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/cgi/core.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/cgi/session.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/cgi/session/pstore.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb/drb.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb/acl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb/eq.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb/gw.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb/unix.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb/timeridconv.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb/ssl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb/extservm.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb/extserv.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb/observer.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/drb/invokemethod.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/forwardable/impl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/cmd/pushws.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/cmd/nop.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/cmd/load.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/cmd/subirb.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/cmd/fork.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/cmd/chws.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/cmd/help.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/inspector.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/src_encoding.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/notifier.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/version.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/xmp.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/magic-file.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/workspace.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/ws-for-case-2.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/locale.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/slex.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/input-method.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/lc/error.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/lc/ja/encoding_aliases.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/lc/ja/error.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/output-method.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/init.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/context.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/ruby-lex.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/ext/multi-irb.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/ext/tracer.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/ext/change-ws.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/ext/workspaces.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/ext/use-loader.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/ext/history.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/ext/save-history.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/ext/loader.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/ruby-token.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/extend-command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/help.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/completion.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/irb/frame.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/matrix/eigenvalue_decomposition.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/matrix/lup_decomposition.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/smtp.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/http/header.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/http/responses.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/http/response.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/http/proxy_delta.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/http/exceptions.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/http/status.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/http/generic_request.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/http/request.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/http/backward.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/http/requests.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/http.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/ftp.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/pop.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/protocol.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/imap.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/net/https.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/optparse/uri.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/optparse/time.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/optparse/version.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/optparse/date.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/optparse/kwargs.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/optparse/ac.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/optparse/shellwords.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/racc/rdoc/grammar.en.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./lib/racc/parser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/encoding.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/any_method.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/class_module.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/require.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/tom_doc.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/stats.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/known_classes.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/anon_class.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/rubygems_hook.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/ghost_method.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/generator.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/normal_module.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/servlet.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/meta_method.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/mixin.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/markup.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/top_level.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/markdown.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/token_stream.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/erb_partial.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/i18n.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/code_objects.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/test_case.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/extend.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/parser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/constant.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/rdoc.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/code_object.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/method_attr.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/ri.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/erbio.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/normal_class.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/task.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/include.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/rd.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/context.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/comment.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/single_class.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/options.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/attr.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/text.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/cross_reference.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/alias.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rdoc/store.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/encoding.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/syncenumerator.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/attlistdecl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/xpath.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/xpath_parser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/rexml.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/parsers/treeparser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/parsers/pullparser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/parsers/baseparser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/parsers/streamparser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/parsers/xpathparser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/parsers/ultralightparser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/parsers/lightparser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/parsers/sax2parser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/child.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/namespace.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/dtd/attlistdecl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/dtd/entitydecl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/dtd/notationdecl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/dtd/elementdecl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/dtd/dtd.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/source.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/quickpath.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/parseexception.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/sax2listener.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/entity.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/functions.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/element.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/xmltokens.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/document.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/doctype.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/output.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/parent.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/xmldecl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/instruction.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/streamlistener.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/undefinednamespaceexception.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/cdata.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/light/node.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/attribute.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/validation/validationexception.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/validation/validation.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/validation/relaxng.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/comment.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/security.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/text.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/node.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/formatters/pretty.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/formatters/transitive.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rexml/formatters/default.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rinda/tuplespace.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rinda/rinda.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rinda/ring.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/xml-stylesheet.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/xml.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/0.9.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/dublincore.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/trackback.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/1.0.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/2.0.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/itunes.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/syndication.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/image.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/atom.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/feed.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/content.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/taxonomy.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/base.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/slash.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker/entry.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/0.9.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/dublincore.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/xmlparser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/content/1.0.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/content/2.0.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/trackback.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/rss.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/1.0.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/xmlscanner.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/2.0.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/itunes.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/converter.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/syndication.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/image.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/atom.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/content.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/parser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/taxonomy.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/maker.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/utils.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/slash.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/dublincore/1.0.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/dublincore/2.0.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/dublincore/atom.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rss/rexmlparser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/local_remote_options.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/package.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/package/io_source.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/package/tar_writer.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/package/digest_io.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/package/source.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/package/tar_test_case.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/package/tar_reader/entry.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/package/file_source.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/package/old.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/package/tar_reader.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/package/tar_header.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/remote_fetcher.rb	Wed, 26 Jul 2023 14:54:23 +0000
./lib/rubygems/package_task.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/errors.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/mock_gem_ui.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/util.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/version_option.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/requirement.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/security/policies.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/security/policy.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/security/trust_dir.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/security/signer.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/stub_specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/available_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/core_ext/kernel_require.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/core_ext/kernel_gem.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/request_set/gem_dependency_api.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/request_set/lockfile.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/request_set/lockfile/tokenizer.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/request_set/lockfile/parser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/validator.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/compatibility.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/installer_test_case.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/gemcutter_utilities.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/user_interaction.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/doctor.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/uri_formatter.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/install_update_options.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/dependency.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/source_list.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/version.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/ext.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/source.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/exceptions.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/psych_tree.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/server.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/test_case.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/defaults.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/install_default_message.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/bundler_version_finder.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/source_specific_file.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/spec_fetcher.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/name_tuple.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/signin_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/check_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/cert_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/pristine_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/sources_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/cleanup_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/which_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/push_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/update_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/specification_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/mirror_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/setup_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/lock_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/build_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/environment_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/install_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/unpack_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/rdoc_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/owner_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/help_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/outdated_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/open_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/stale_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/server_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/search_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/generate_index_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/yank_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/fetch_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/signout_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/query_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/contents_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/list_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/dependency_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/commands/uninstall_command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/safe_yaml.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/platform.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/request.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/rdoc.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/request/http_pool.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/request/connection_pools.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/request/https_pool.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/syck_hack.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/command_manager.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/psych_additions.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/config_file.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/deprecate.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/installer.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/request_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/gem_runner.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/source/lock.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/source/git.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/source/vendor.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/source/installed.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/source/specific_file.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/source/local.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/install_message.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/dependency_installer.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/basic_specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/dependency_list.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/lock_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/stats.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/dependency_request.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/vendor_specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/local_specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/requirement_list.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/api_specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/api_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/lock_specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/index_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/current_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/installer_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/spec_specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/activation_request.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/vendor_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/state.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo/lib/molinillo.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/git_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/conflict.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/composed_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/installed_specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/molinillo.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/index_specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/source_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/best_set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/resolver/git_specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/security_option.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/path_support.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/security.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/util/licenses.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/util/list.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/source_local.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/ext/builder.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/ext/ext_conf_builder.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/ext/cmake_builder.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/ext/build_error.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/ext/configure_builder.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/ext/rake_builder.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/test_utilities.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/text.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/indexer.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/uninstaller.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/rubygems/specification.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/shell/system-command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/shell/process-controller.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/shell/version.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/shell/builtin-command.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/shell/filter.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/shell/error.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/shell/command-processor.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/unicode_normalize/tables.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/unicode_normalize/normalize.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/uri/ldaps.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/uri/rfc3986_parser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/uri/http.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/uri/mailto.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/uri/ftp.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/uri/common.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/uri/ldap.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/uri/https.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/uri/generic.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/uri/rfc2396_parser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpauth.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpservlet.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/config.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpversion.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/compat.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpproxy.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/version.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpstatus.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/htmlutils.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/server.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpserver.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/cookie.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httputils.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/https.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/utils.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/cgi.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/ssl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/log.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/accesslog.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpresponse.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httprequest.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpauth/basicauth.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpauth/htdigest.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpauth/authenticator.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpauth/digestauth.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpauth/htgroup.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpauth/userdb.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpauth/htpasswd.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpservlet/erbhandler.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpservlet/abstract.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpservlet/cgi_runner.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpservlet/cgihandler.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpservlet/prochandler.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/webrick/httpservlet/filehandler.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/yaml/store.rb	Mon, 05 Apr 2021 11:46:35 +0000
./lib/yaml/dbm.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/bigdecimal/bigdecimal.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/bigdecimal/lib/bigdecimal/math.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/bigdecimal/lib/bigdecimal/newton.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/bigdecimal/lib/bigdecimal/util.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/bigdecimal/lib/bigdecimal/ludcmp.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/bigdecimal/lib/bigdecimal/jacobian.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/continuation/continuation.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/coverage/coverage.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/date/date_core.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/dbm/dbm.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/digest/bubblebabble/bubblebabble.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/digest/digest.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/digest/lib/digest.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/digest/md5/md5init.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/digest/rmd160/rmd160init.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/digest/sha1/sha1init.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/digest/sha2/sha2init.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/etc/etc.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fcntl/fcntl.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiber/fiber.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/closure.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/conversions.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/fiddle.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/function.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/pointer.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/handle.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/lib/fiddle/import.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/lib/fiddle/pack.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/lib/fiddle/closure.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/lib/fiddle/cparser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/lib/fiddle/struct.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/lib/fiddle/function.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/lib/fiddle/types.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/lib/fiddle/value.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/fiddle/lib/fiddle.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/gdbm/gdbm.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/io/console/console.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/io/nonblock/nonblock.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/io/wait/wait.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/generator/generator.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/generic_object.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/version.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/ext.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/common.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/rational.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/ostruct.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/symbol.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/time.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/date.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/core.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/date_time.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/bigdecimal.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/regexp.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/range.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/complex.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/exception.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json/add/struct.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/lib/json.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/json/parser/parser.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/nkf/lib/kconv.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/nkf/nkf.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/objspace/objspace.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/objspace/objspace_dump.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/objspace/object_tracing.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/lib/openssl/config.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/lib/openssl/bn.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/lib/openssl/x509.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/lib/openssl/pkcs5.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/lib/openssl/pkey.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/lib/openssl/buffering.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/lib/openssl/digest.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/lib/openssl/ssl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/lib/openssl/cipher.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/lib/openssl.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_asn1.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_bio.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_bn.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_cipher.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_config.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_digest.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_engine.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_hmac.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_kdf.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_ns_spki.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_ocsp.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_pkcs12.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_pkcs7.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_pkey.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_pkey_dh.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_pkey_dsa.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_pkey_ec.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_pkey_rsa.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_rand.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_ssl.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_ssl_session.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_x509.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_x509attr.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_x509cert.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_x509crl.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_x509ext.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_x509name.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_x509req.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_x509revoked.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/openssl/ossl_x509store.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/pathname/lib/pathname.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/pathname/pathname.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/nodes/stream.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/nodes/mapping.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/nodes/scalar.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/nodes/sequence.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/nodes/document.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/nodes/node.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/nodes/alias.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/class_loader.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/syntax_error.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/json/yaml_events.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/json/stream.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/json/tree_builder.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/json/ruby_events.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/stream.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/nodes.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/handlers/recorder.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/handlers/document_stream.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/core_ext.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/versions.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/visitors/to_ruby.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/visitors/depth_first.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/visitors/emitter.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/visitors/json_tree.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/visitors/yaml_tree.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/visitors/visitor.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/tree_builder.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/parser.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/omap.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/streaming.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/y.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/coder.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/visitors.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/exception.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/set.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/scalar_scanner.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/lib/psych/handler.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/psych.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/psych_emitter.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/psych_parser.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/psych_to_ruby.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/psych/psych_yaml_tree.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/pty/lib/expect.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/pty/pty.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/racc/cparse/cparse.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/readline/readline.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/ripper/lib/ripper/sexp.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/ripper/lib/ripper/core.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/ripper/lib/ripper/filter.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/ripper/lib/ripper/lexer.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/ripper/lib/ripper.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/sdbm/init.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/ancdata.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/basicsocket.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/constants.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/constdefs.c	Mon, 05 Apr 2021 11:46:37 +0000
./ext/socket/ifaddr.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/init.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/ipsocket.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/option.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/raddrinfo.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/socket.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/sockssocket.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/tcpserver.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/tcpsocket.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/udpsocket.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/unixserver.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/unixsocket.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/socket/lib/socket.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/stringio/stringio.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/strscan/strscan.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/syslog/syslog.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/syslog/lib/syslog/logger.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/lib/win32ole.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/lib/win32ole/property.rb	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/win32ole_variant_m.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/win32ole_typelib.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/win32ole_variant.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/win32ole.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/win32ole_param.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/win32ole_record.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/win32ole_event.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/win32ole_method.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/win32ole_variable.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/win32ole_type.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/win32ole/win32ole_error.c	Mon, 05 Apr 2021 11:46:35 +0000
./ext/zlib/zlib.c	Mon, 05 Apr 2021 11:46:35 +0000
./NEWS	Mon, 05 Apr 2021 11:46:35 +0000
./README.md	Mon, 05 Apr 2021 11:46:35 +0000
./README.ja.md	Mon, 05 Apr 2021 11:46:35 +0000
./doc/extension.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/extension.ja.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/dtrace_probes.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/regexp.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/security.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/marshal.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/globals.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/standard_library.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/maintainers.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/keywords.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/contributors.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/contributing.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/syntax.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/NEWS-1.9.3	Mon, 05 Apr 2021 11:46:35 +0000
./doc/NEWS-1.8.7	Mon, 05 Apr 2021 11:46:35 +0000
./doc/NEWS-2.1.0	Mon, 05 Apr 2021 11:46:35 +0000
./doc/NEWS-2.2.0	Mon, 05 Apr 2021 11:46:35 +0000
./doc/NEWS-2.4.0	Mon, 05 Apr 2021 11:46:35 +0000
./doc/NEWS-2.0.0	Mon, 05 Apr 2021 11:46:35 +0000
./doc/NEWS-2.3.0	Mon, 05 Apr 2021 11:46:35 +0000
./doc/NEWS-1.9.1	Mon, 05 Apr 2021 11:46:35 +0000
./doc/NEWS-1.9.2	Mon, 05 Apr 2021 11:46:35 +0000
./doc/syntax/assignment.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/syntax/miscellaneous.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/syntax/precedence.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/syntax/literals.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/syntax/control_expressions.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/syntax/refinements.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/syntax/methods.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/syntax/modules_and_classes.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/syntax/calling_methods.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
./doc/syntax/exceptions.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/extension.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/extension.ja.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/dtrace_probes.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/regexp.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/security.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/marshal.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/globals.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/standard_library.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/maintainers.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/keywords.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/contributors.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/contributing.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/syntax.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/NEWS-1.9.3	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/NEWS-1.8.7	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/NEWS-2.1.0	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/NEWS-2.2.0	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/NEWS-2.4.0	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/NEWS-2.0.0	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/NEWS-2.3.0	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/NEWS-1.9.1	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/NEWS-1.9.2	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/syntax/assignment.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/syntax/miscellaneous.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/syntax/precedence.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/syntax/literals.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/syntax/control_expressions.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/syntax/refinements.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/syntax/methods.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/syntax/modules_and_classes.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/syntax/calling_methods.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
/builddir/build/BUILD/ruby-2.5.9/doc/syntax/exceptions.rdoc	Mon, 05 Apr 2021 11:46:35 +0000
U:RDoc::NormalClass[iI"RangeError:ET@I"StandardError;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"9Raised when a given numerical value is out of range.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;[I"[1, 2, 3].drop(1 << 100)
;T:@format0o;	;[I"#<em>raises the exception:</em>;T@o;;[I"6RangeError: bignum too big to convert into `long';T;0:
@fileI"error.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[[[[[I"
class;T[[:public[[:protected[[:private[[I"
instance;T[[;[[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@@cRDoc::TopLevelU:RDoc::AnyMethod[iI"ancestors:ETI"Module#ancestors;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns a list of modules included/prepended in <i>mod</i> ;FI"#(including <i>mod</i> itself).;Fo:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module Mod
;TI"  include Math
;TI"  include Comparable
;TI"  prepend Enumerable
;TI"	end
;TI"
;TI"BMod.ancestors        #=> [Enumerable, Mod, Comparable, Math]
;TI"%Math.ancestors       #=> [Math]
;TI"*Enumerable.ancestors #=> [Enumerable];T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"mod.ancestors -> array
;F0[I"();T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"remove_method:ETI"Module#remove_method;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Removes the method identified by _symbol_ from the current ;TI"Bclass. For an example, see <code>Module.undef_method</code>. ;TI"/String arguments are converted to symbols.;T:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"Eremove_method(symbol)   -> self
remove_method(string)   -> self
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"module_exec:ETI"Module#module_exec;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"CEvaluates the given block in the context of the class/module. ;TI"BThe method defined in the block will belong to the receiver. ;TI"EAny arguments passed to the method will be passed to the block. ;TI"FThis can be used if the block needs to access instance variables.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"class Thing
;TI"	end
;TI"Thing.class_exec{
;TI"&  def hello() "Hello there!" end
;TI"}
;TI"puts Thing.new.hello()
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"Hello there!;T;
0:
@fileI"vm_eval.c;T:0@omit_headings_from_table_of_contents_below0I";mod.module_exec(arg...) {|var...| block }       -> obj;T0[I"(*args);T@ FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"include:ETI"Module#include;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"TInvokes <code>Module.append_features</code> on each parameter in reverse order.;T:
@fileI"eval.c;T:0@omit_headings_from_table_of_contents_below0I"%include(module, ...)    -> self
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"method_removed:ETI"Module#method_removed;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KInvoked as a callback whenever an instance method is removed from the ;TI"receiver.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module Chatty
;TI",  def self.method_removed(method_name)
;TI"0    puts "Removing #{method_name.inspect}"
;TI"  end
;TI"(  def self.some_class_method() end
;TI"&  def some_instance_method() end
;TI"  class << self
;TI"*    remove_method :some_class_method
;TI"  end
;TI"+  remove_method :some_instance_method
;TI"	end
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"#Removing :some_instance_method;T;
0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I" method_removed(method_name);T0[I"	(p1);T@#FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"instance_method:ETI"Module#instance_method;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"7Returns an +UnboundMethod+ representing the given ;TI"instance method in _mod_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"class Interpreter
;TI"'  def do_a() print "there, "; end
;TI"'  def do_d() print "Hello ";  end
;TI"'  def do_e() print "!\n";     end
;TI"'  def do_v() print "Dave";    end
;TI"  Dispatcher = {
;TI"(    "a" => instance_method(:do_a),
;TI"(    "d" => instance_method(:do_d),
;TI"(    "e" => instance_method(:do_e),
;TI"'    "v" => instance_method(:do_v)
;TI"	  }
;TI"  def interpret(string)
;TI"?    string.each_char {|b| Dispatcher[b].bind(self).call }
;TI"  end
;TI"	end
;TI"
;TI"#interpreter = Interpreter.new
;TI"#interpreter.interpret('dave')
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"Hello there, Dave!;T;
0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"5mod.instance_method(symbol)   -> unbound_method
;T0[I"	(p1);T@*FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"class_variable_get:ETI"Module#class_variable_get;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"@Returns the value of the given class variable (or throws a ;TI"H<code>NameError</code> exception). The <code>@@</code> part of the ;TI"Cvariable name should be included for regular class variables. ;TI"/String arguments are converted to symbols.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"class Fred
;TI"  @@foo = 99
;TI"	end
;TI"/Fred.class_variable_get(:@@foo)     #=> 99;T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"Wmod.class_variable_get(symbol)    -> obj
mod.class_variable_get(string)    -> obj
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"const_missing:ETI"Module#const_missing;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"BInvoked when a reference is made to an undefined constant in ;FI"G<i>mod</i>. It is passed a symbol for the undefined constant, and ;FI"7returns a value to be used for that constant. The ;FI".following code is an example of the same:;Fo:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"!def Foo.const_missing(name)
;TI"1  name # return the constant name as Symbol
;TI"	end
;TI"
;TI"CFoo::UNDEFINED_CONST    #=> :UNDEFINED_CONST: symbol returned
;T:@format0o;
;	[I"LIn the next example when a reference is made to an undefined constant, ;FI"Kit attempts to load a file whose name is the lowercase version of the ;FI"Econstant (thus class <code>Fred</code> is assumed to be in file ;FI"G<code>fred.rb</code>).  If found, it returns the loaded class. It ;FI"Mtherefore implements an autoload feature similar to Kernel#autoload and ;FI"Module#autoload.;F@o;;	[I"$def Object.const_missing(name)
;TI"  @looked_for ||= {}
;TI"  str_name = name.to_s
;TI"A  raise "Class not found: #{name}" if @looked_for[str_name]
;TI"!  @looked_for[str_name] = 1
;TI"   file = str_name.downcase
;TI"  require file
;TI"  klass = const_get(name)
;TI"  return klass if klass
;TI"(  raise "Class not found: #{name}"
;TI"end;T;
0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"&mod.const_missing(sym)    -> obj
;F0[I"	(p1);T@.FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"remove_const:ETI"Module#remove_const;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"BRemoves the definition of the given constant, returning that ;FI">constant's previous value.  If that constant referred to ;FI"Da module, this will not change that module's name and can lead ;FI"to confusion.;F:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I" remove_const(sym)   -> obj
;F0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"extend_object:ETI"Module#extend_object;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"HExtends the specified object by adding this module's constants and ;TI"Jmethods (which are added as singleton methods). This is the callback ;TI"/method used by <code>Object#extend</code>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module Picky
;TI""  def Picky.extend_object(o)
;TI"    if String === o
;TI".      puts "Can't add Picky to a String"
;TI"    else
;TI",      puts "Picky added to #{o.class}"
;TI"      super
;TI"
    end
;TI"  end
;TI"	end
;TI"8(s = Array.new).extend Picky  # Call Object.extend
;TI"*(s = "quick brown fox").extend Picky
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"Picky added to Array
;TI" Can't add Picky to a String;T;
0:
@fileI"eval.c;T:0@omit_headings_from_table_of_contents_below0I""extend_object(obj)    -> obj
;T0[I"	(p1);T@&FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"class_exec:ETI"Module#class_exec;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"CEvaluates the given block in the context of the class/module. ;TI"BThe method defined in the block will belong to the receiver. ;TI"EAny arguments passed to the method will be passed to the block. ;TI"FThis can be used if the block needs to access instance variables.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"class Thing
;TI"	end
;TI"Thing.class_exec{
;TI"&  def hello() "Hello there!" end
;TI"}
;TI"puts Thing.new.hello()
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"Hello there!;T;
0:
@fileI"vm_eval.c;T:0@omit_headings_from_table_of_contents_below0I";mod.class_exec(arg...) {|var...| block }        -> obj;T0[I"(*args);T@ FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"append_features:ETI"Module#append_features;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"9When this module is included in another, Ruby calls ;TI"A<code>append_features</code> in this module, passing it the ;TI"Areceiving module in _mod_. Ruby's default implementation is ;TI"Hto add the constants, methods, and module variables of this module ;TI";to _mod_ if this module has not already been added to ;TI"I_mod_ or one of its ancestors. See also <code>Module#include</code>.;T:
@fileI"eval.c;T:0@omit_headings_from_table_of_contents_below0I"#append_features(mod)   -> mod
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"Module#inspect;TF:publico:RDoc::Markup::Document:@parts[:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below000[I"();T@FI"Module;TcRDoc::NormalClass0[@FI"	to_s;TU:RDoc::AnyMethod[iI"private_class_method:ETI" Module#private_class_method;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[I"JMakes existing class methods private. Often used to hide the default ;TI""constructor <code>new</code>.;To:RDoc::Markup::BlankLineo;
;	[I"/String arguments are converted to symbols.;T@o:RDoc::Markup::Verbatim;	[I".class SimpleSingleton  # Not thread safe
;TI"!  private_class_method :new
;TI"1  def SimpleSingleton.create(*args, &block)
;TI"+    @me = new(*args, &block) if ! @me
;TI"
    @me
;TI"  end
;TI"end;T:@format0:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"cmod.private_class_method(symbol, ...)   -> mod
mod.private_class_method(string, ...)   -> mod
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Module:ET@I"Object;To:RDoc::Markup::Document:@parts[o;;[:
@fileI"class.c;T:0@omit_headings_from_table_of_contents_below0o;;[
o:RDoc::Markup::Paragraph;[I"IA <code>Module</code> is a collection of methods and constants. The ;TI"Dmethods in a module may be instance methods or module methods. ;TI"FInstance methods appear as methods in a class when the module is ;TI"Hincluded, module methods do not. Conversely, module methods may be ;TI"Ecalled without creating an encapsulating object, while instance ;TI"@methods may not. (See <code>Module#module_function</code>.);To:RDoc::Markup::BlankLineo;;[I"FIn the descriptions that follow, the parameter <i>sym</i> refers ;TI"7to a symbol, which is either a quoted string or a ;TI"6<code>Symbol</code> (such as <code>:name</code>).;T@o:RDoc::Markup::Verbatim;[I"module Mod
;TI"  include Math
;TI"  CONST = 1
;TI"  def meth
;TI"    #  ...
;TI"  end
;TI"	end
;TI"'Mod.class              #=> Module
;TI"2Mod.constants          #=> [:CONST, :PI, :E]
;TI"'Mod.instance_methods   #=> [:meth];T:@format0;	I"
object.c;T;
0;	0;
0[[[[[I"
class;T[[:public[	[I"constants;TI"eval.c;T[I"nesting;T@6[I"new;TI"
object.c;T[I"used_modules;T@6[:protected[[:private[[I"
instance;T[[;[=[I"<;T@;[I"<=;T@;[I"<=>;T@;[I"==;T@;[I"===;T@;[I">;T@;[I">=;T@;[I"alias_method;TI"vm_method.c;T[I"ancestors;T@;[I"	attr;T@;[I"attr_accessor;T@;[I"attr_reader;T@;[I"attr_writer;T@;[I"
autoload;TI"load.c;T[I"autoload?;T@d[I"class_eval;TI"vm_eval.c;T[I"class_exec;T@i[I"class_variable_defined?;T@;[I"class_variable_get;T@;[I"class_variable_set;T@;[I"class_variables;T@;[I"const_defined?;T@;[I"const_get;T@;[I"const_missing;T@;[I"const_set;T@;[I"constants;T@;[I"define_method;TI"proc.c;T[I"deprecate_constant;T@;[I"freeze;T@;[I"include;T@6[I"
include?;T@;[I"included_modules;T@;[I"inspect;T@;[I"instance_method;T@{[I"instance_methods;T@;[I"method_defined?;T@W[I"module_eval;T@i[I"module_exec;T@i[I"	name;T@;[I"prepend;T@6[I"private_class_method;T@W[I"private_constant;T@;[I"private_instance_methods;T@;[I"private_method_defined?;T@W[I"protected_instance_methods;T@;[I"protected_method_defined?;T@W[I"public_class_method;T@W[I"public_constant;T@;[I"public_instance_method;T@{[I"public_instance_methods;T@;[I"public_method_defined?;T@W[I"remove_class_variable;T@;[I"remove_method;T@W[I"singleton_class?;T@;[I"	to_s;T@;[I"undef_method;T@W[;[[;[[I"append_features;T@6[I"extend_object;T@6[I"
extended;T@;[I"
included;T@;[I"method_added;T@;[I"method_removed;T@;[I"method_undefined;T@;[I"module_function;T@W[I"prepend_features;T@6[I"prepended;T@;[I"private;T@W[I"protected;T@W[I"public;T@W[I"refine;T@6[I"remove_const;T@;[I"
using;T@6[[U:RDoc::Context::Section[i0o;;[;	0;
0[@
I"eval.c;TI"load.c;T@*I"proc.c;TI"vm_eval.c;TI"vm_method.c;T@�cRDoc::TopLevelU:RDoc::AnyMethod[iI"private_constant:ETI"Module#private_constant;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"0Makes a list of existing constants private.;F:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"1mod.private_constant(symbol, ...)    => mod
;F0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"undef_method:ETI"Module#undef_method;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"FPrevents the current class from responding to calls to the named ;TI"Jmethod. Contrast this with <code>remove_method</code>, which deletes ;TI"Bthe method from the particular class; Ruby will still search ;TI"@superclasses and mixed-in modules for a possible receiver. ;TI"/String arguments are converted to symbols.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"class Parent
;TI"  def hello
;TI"    puts "In parent"
;TI"  end
;TI"	end
;TI"class Child < Parent
;TI"  def hello
;TI"    puts "In child"
;TI"  end
;TI"	end
;TI"
;TI"c = Child.new
;TI"
c.hello
;TI"
;TI"class Child
;TI"B  remove_method :hello  # remove from child, still in parent
;TI"	end
;TI"
c.hello
;TI"
;TI"class Child
;TI"<  undef_method :hello   # prevent any calls to 'hello'
;TI"	end
;TI"
c.hello
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"In child
;TI"In parent
;TI"Qprog.rb:23: undefined method `hello' for #<Child:0x401b3bb4> (NoMethodError);T;
0:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"Eundef_method(symbol)    -> self
undef_method(string)    -> self
;T0[I"(*args);T@4FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"nesting:ETI"Module::nesting;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Returns the list of +Modules+ nested at the point of call.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module M1
;TI"  module M2
;TI"    $a = Module.nesting
;TI"  end
;TI"	end
;TI"#$a           #=> [M1::M2, M1]
;TI"$a[0].name   #=> "M1::M2";T:@format0:
@fileI"eval.c;T:0@omit_headings_from_table_of_contents_below0I" Module.nesting    -> array
;T0[I"();T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"const_set:ETI"Module#const_set;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ISets the named constant to the given object, returning that object. ;TI"JCreates a new constant if no constant with the given name previously ;TI"
existed.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"GMath.const_set("HIGH_SCHOOL_PI", 22.0/7.0)   #=> 3.14285714285714
;TI"JMath::HIGH_SCHOOL_PI - Math::PI              #=> 0.00126448926734968
;T:@format0o;
;	[I"JIf +sym+ or +str+ is not a valid constant name a +NameError+ will be ;TI"1raised with a warning "wrong constant name".;T@o;;	[I"MObject.const_set('foobar', 42) #=> NameError: wrong constant name foobar;T;
0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"Imod.const_set(sym, obj)    -> obj
mod.const_set(str, obj)    -> obj
;T0[I"
(p1, p2);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"new:ETI"Module::new;TT:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"GCreates a new anonymous module. If a block is given, it is passed ;TI"Jthe module object, and the block is evaluated in the context of this ;TI"*module like <code>module_eval</code>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"fred = Module.new do
;TI"  def meth1
;TI"    "hello"
;TI"  end
;TI"  def meth2
;TI"    "bye"
;TI"  end
;TI"	end
;TI"a = "my string"
;TI"&a.extend(fred)   #=> "my string"
;TI""a.meth1          #=> "hello"
;TI" a.meth2          #=> "bye"
;T:@format0o;
;	[I"FAssign the module to a constant (name starting uppercase) if you ;TI",want to treat it like a regular module.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"KModule.new                  -> mod
Module.new {|mod| block }   -> mod
;T0[I"();T@#FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"class_eval:ETI"Module#class_eval;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"MEvaluates the string or block in the context of _mod_, except that when ;TI"La block is given, constant/class variable lookup is not affected. This ;TI"Mcan be used to add methods to a class. <code>module_eval</code> returns ;TI"Hthe result of evaluating its argument. The optional _filename_ and ;TI"9_lineno_ parameters set the text for error messages.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"class Thing
;TI"	end
;TI",a = %q{def hello() "Hello there!" end}
;TI"Thing.module_eval(a)
;TI"puts Thing.new.hello()
;TI"5Thing.module_eval("invalid code", "dummy", 123)
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"Hello there!
;TI":dummy:123:in `module_eval': undefined local variable
;TI")    or method `code' for Thing:Class;T;
0:
@fileI"vm_eval.c;T:0@omit_headings_from_table_of_contents_below0I"rmod.class_eval(string [, filename [, lineno]])  -> obj
mod.class_eval {|mod| block }                   -> obj;T0[I"(*args);T@#FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"private_instance_methods:ETI"$Module#private_instance_methods;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Returns a list of the private instance methods defined in ;FI"F<i>mod</i>. If the optional parameter is <code>false</code>, the ;FI"/methods of any ancestors are not included.;Fo:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module Mod
;TI"  def method1()  end
;TI"  private :method1
;TI"  def method2()  end
;TI"	end
;TI"3Mod.instance_methods           #=> [:method2]
;TI"2Mod.private_instance_methods   #=> [:method1];T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"Bmod.private_instance_methods(include_super=true)    -> array
;F0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"freeze:ETI"Module#freeze;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Prevents further modifications to <i>mod</i>.;To:RDoc::Markup::BlankLineo;
;	[I"This method returns self.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"mod.freeze       -> mod
;T0[I"();T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"public:ETI"Module#public;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"EWith no arguments, sets the default visibility for subsequently ;TI"Jdefined methods to public. With arguments, sets the named methods to ;TI"have public visibility. ;TI"/String arguments are converted to symbols.;T:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"bpublic                 -> self
public(symbol, ...)    -> self
public(string, ...)    -> self
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"singleton_class?:ETI"Module#singleton_class?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns <code>true</code> if <i>mod</i> is a singleton class or ;TI"=<code>false</code> if it is an ordinary class or module.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"
class C
;TI"	end
;TI"3C.singleton_class?                  #=> false
;TI"1C.singleton_class.singleton_class?  #=> true;T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I".mod.singleton_class?    -> true or false
;T0[I"();T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"refine:ETI"Module#refine;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"'Refine <i>mod</i> in the receiver.;To:RDoc::Markup::BlankLineo;
;	[I"9Returns a module, where refined methods are defined.;T:
@fileI"eval.c;T:0@omit_headings_from_table_of_contents_below0I"'refine(mod) { block }   -> module
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"constants:ETI"Module::constants;TT:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[	I"=In the first form, returns an array of the names of all ;TI"2constants accessible from the point of call. ;TI"=This list includes the names of all modules and classes ;TI"!defined in the global scope.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"Module.constants.first(4)
;TI"4   # => [:ARGF, :ARGV, :ArgumentError, :Array]
;TI"
;TI"7Module.constants.include?(:SEEK_SET)   # => false
;TI"
;TI"class IO
;TI"6  Module.constants.include?(:SEEK_SET) # => true
;TI"	end
;T:@format0o;
;	[I";The second form calls the instance method +constants+.;T:
@fileI"eval.c;T:0@omit_headings_from_table_of_contents_below0I"HModule.constants   -> array
Module.constants(inherited)   -> array
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"remove_class_variable:ETI"!Module#remove_class_variable;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Removes the definition of the <i>sym</i>, returning that ;FI"constant's value.;Fo:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"class Dummy
;TI"  @@var = 99
;TI"  puts @@var
;TI"%  remove_class_variable(:@@var)
;TI"  p(defined? @@var)
;TI"	end
;T:@format0o;
;	[I"<em>produces:</em>;F@o;;	[I"99
;TI"nil;T;
0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"*remove_class_variable(sym)    -> obj
;F0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"class_variable_defined?:ETI"#Module#class_variable_defined?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FReturns <code>true</code> if the given class variable is defined ;TI"in <i>obj</i>. ;TI"/String arguments are converted to symbols.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"class Fred
;TI"  @@foo = 99
;TI"	end
;TI"6Fred.class_variable_defined?(:@@foo)    #=> true
;TI"6Fred.class_variable_defined?(:@@bar)    #=> false;T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"uobj.class_variable_defined?(symbol)    -> true or false
obj.class_variable_defined?(string)    -> true or false
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	attr:ETI"Module#attr;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?The first form is equivalent to <code>attr_reader</code>. ;TI"WThe second form is equivalent to <code>attr_accessor(name)</code> but deprecated. ;TI"RThe last form is equivalent to <code>attr_reader(name)</code> but deprecated.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"Mattr(name, ...) -> nil
attr(name, true) -> nil
attr(name, false) -> nil
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
include?:ETI"Module#include?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Returns <code>true</code> if <i>module</i> is included in ;FI"1<i>mod</i> or one of <i>mod</i>'s ancestors.;Fo:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module A
;TI"	end
;TI"
class B
;TI"  include A
;TI"	end
;TI"class C < B
;TI"	end
;TI"B.include?(A)   #=> true
;TI"C.include?(A)   #=> true
;TI"A.include?(A)   #=> false;T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I".mod.include?(module)    -> true or false
;F0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"class_variable_set:ETI"Module#class_variable_set;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"ASets the class variable named by <i>symbol</i> to the given ;TI"
object. ;TI"CIf the class variable name is passed as a string, that string ;TI"is converted to a symbol.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"class Fred
;TI"  @@foo = 99
;TI"  def foo
;TI"    @@foo
;TI"  end
;TI"	end
;TI"6Fred.class_variable_set(:@@foo, 101)     #=> 101
;TI"5Fred.new.foo                             #=> 101;T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"aobj.class_variable_set(symbol, obj)    -> obj
obj.class_variable_set(string, obj)    -> obj
;T0[I"
(p1, p2);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"method_undefined:ETI"Module#method_undefined;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Not documented;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below000[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"prepend_features:ETI"Module#prepend_features;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I":When this module is prepended in another, Ruby calls ;TI"B<code>prepend_features</code> in this module, passing it the ;TI"Areceiving module in _mod_. Ruby's default implementation is ;TI"Lto overlay the constants, methods, and module variables of this module ;TI";to _mod_ if this module has not already been added to ;TI"I_mod_ or one of its ancestors. See also <code>Module#prepend</code>.;T:
@fileI"eval.c;T:0@omit_headings_from_table_of_contents_below0I"$prepend_features(mod)   -> mod
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"public_instance_methods:ETI"#Module#public_instance_methods;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"JReturns a list of the public instance methods defined in <i>mod</i>. ;FI"EIf the optional parameter is <code>false</code>, the methods of ;FI"$any ancestors are not included.;F:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"@mod.public_instance_methods(include_super=true)   -> array
;F0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"<=:ETI"Module#<=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"AReturns true if <i>mod</i> is a subclass of <i>other</i> or ;TI"*is the same as <i>other</i>. Returns ;TI"B<code>nil</code> if there's no relationship between the two. ;TI"B(Think of the relationship in terms of the class definition: ;TI"$"class A < B" implies "A < B".);T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I",mod <= other   ->  true, false, or nil
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"public_instance_method:ETI""Module#public_instance_method;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"?Similar to _instance_method_, searches public method only.;T:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"<mod.public_instance_method(symbol)   -> unbound_method
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"instance_methods:ETI"Module#instance_methods;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"PReturns an array containing the names of the public and protected instance ;FI"Xmethods in the receiver. For a module, these are the public and protected methods; ;FI"Qfor a class, they are the instance (not singleton) methods. If the optional ;FI"Tparameter is <code>false</code>, the methods of any ancestors are not included.;Fo:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module A
;TI"  def method1()  end
;TI"	end
;TI"
class B
;TI"  include A
;TI"  def method2()  end
;TI"	end
;TI"class C < B
;TI"  def method3()  end
;TI"	end
;TI"
;TI"@A.instance_methods(false)                   #=> [:method1]
;TI"@B.instance_methods(false)                   #=> [:method2]
;TI":B.instance_methods(true).include?(:method1) #=> true
;TI"@C.instance_methods(false)                   #=> [:method3]
;TI"9C.instance_methods.include?(:method2)       #=> true;T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"9mod.instance_methods(include_super=true)   -> array
;F0[I"(*args);T@$FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"public_constant:ETI"Module#public_constant;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"/Makes a list of existing constants public.;F:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"0mod.public_constant(symbol, ...)    => mod
;F0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI">=:ETI"Module#>=;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"GReturns true if <i>mod</i> is an ancestor of <i>other</i>, or the ;TI"'two modules are the same. Returns ;TI"B<code>nil</code> if there's no relationship between the two. ;TI"B(Think of the relationship in terms of the class definition: ;TI"$"class A < B" implies "B > A".);T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I",mod >= other   ->  true, false, or nil
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI">:ETI"
Module#>;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"HReturns true if <i>mod</i> is an ancestor of <i>other</i>. Returns ;TI"B<code>nil</code> if there's no relationship between the two. ;TI"B(Think of the relationship in terms of the class definition: ;TI"$"class A < B" implies "B > A".);T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"+mod > other   ->  true, false, or nil
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"public_method_defined?:ETI""Module#public_method_defined?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"=Returns +true+ if the named public method is defined by ;TI">_mod_ (or its included modules and, if _mod_ is a class, ;TI"its ancestors). ;TI"/String arguments are converted to symbols.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module A
;TI"  def method1()  end
;TI"	end
;TI"
class B
;TI"  protected
;TI"  def method2()  end
;TI"	end
;TI"class C < B
;TI"  include A
;TI"  def method3()  end
;TI"	end
;TI"
;TI"3A.method_defined? :method1           #=> true
;TI"3C.public_method_defined? "method1"   #=> true
;TI"4C.public_method_defined? "method2"   #=> false
;TI"2C.method_defined? "method2"          #=> true;T:@format0:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"qmod.public_method_defined?(symbol)   -> true or false
mod.public_method_defined?(string)   -> true or false
;T0[I"	(p1);T@$FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"constants:ETI"Module#constants;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"BReturns an array of the names of the constants accessible in ;FI"F<i>mod</i>. This includes the names of constants in any included ;FI"Fmodules (example at start of section), unless the <i>inherit</i> ;FI",parameter is set to <code>false</code>.;Fo:RDoc::Markup::BlankLineo;
;	[I"IThe implementation makes no guarantees about the order in which the ;FI"constants are yielded.;F@o:RDoc::Markup::Verbatim;	[I"2IO.constants.include?(:SYNC)        #=> true
;TI"3IO.constants(false).include?(:SYNC) #=> false
;T:@format0o;
;	[I"2Also see <code>Module::const_defined?</code>.;F:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"-mod.constants(inherit=true)    -> array
;F0[I"(p1 = v1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
using:ETI"Module#using;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"KImport class refinements from <i>module</i> into the current class or ;TI"module definition.;T:
@fileI"eval.c;T:0@omit_headings_from_table_of_contents_below0I"using(module)    -> self
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"autoload?:ETI"Module#autoload?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"@Returns _filename_ to be loaded if _name_ is registered as ;TI"*+autoload+ in the namespace of _mod_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"module A
;TI"	end
;TI"A.autoload(:B, "b")
;TI"'A.autoload?(:B)            #=> "b";T:@format0:
@fileI"load.c;T:0@omit_headings_from_table_of_contents_below0I",mod.autoload?(name)   -> String or nil
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"included_modules:ETI"Module#included_modules;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"8Returns the list of modules included in <i>mod</i>.;Fo:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module Mixin
;TI"	end
;TI"
;TI"module Outer
;TI"  include Mixin
;TI"	end
;TI"
;TI"%Mixin.included_modules   #=> []
;TI")Outer.included_modules   #=> [Mixin];T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"#mod.included_modules -> array
;F0[I"();T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_s:ETI"Module#to_s;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CReturns a string representing this module or class. For basic ;TI"?classes and modules, this is the name. For singletons, we ;TI"=show information on the thing we're attached to as well.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"mod.to_s   -> string
;T0[[I"inspect;To;;	[;@;0I"();T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"define_method:ETI"Module#define_method;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I">Defines an instance method in the receiver. The _method_ ;TI"Iparameter can be a +Proc+, a +Method+ or an +UnboundMethod+ object. ;TI"HIf a block is specified, it is used as the method body. This block ;TI"3is evaluated using <code>instance_eval</code>.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"
class A
;TI"  def fred
;TI"    puts "In Fred"
;TI"  end
;TI"'  def create_method(name, &block)
;TI"0    self.class.define_method(name, &block)
;TI"  end
;TI"3  define_method(:wilma) { puts "Charge it!" }
;TI"	end
;TI"class B < A
;TI"6  define_method(:barney, instance_method(:fred))
;TI"	end
;TI"a = B.new
;TI"a.barney
;TI"
a.wilma
;TI"(a.create_method(:betty) { p self }
;TI"
a.betty
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"
In Fred
;TI"Charge it!
;TI"#<B:0x401b39e8>;T;
0:
@fileI"proc.c;T:0@omit_headings_from_table_of_contents_below0I"]define_method(symbol, method)     -> symbol
define_method(symbol) { block }   -> symbol
;T0[I"(*args);T@-FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
included:ETI"Module#included;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"CCallback invoked whenever the receiver is included in another ;TI";module or class. This should be used in preference to ;TI"H<tt>Module.append_features</tt> if your code wants to perform some ;TI"1action when a module is included in another.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module A
;TI"  def A.included(mod)
;TI"+    puts "#{self} included in #{mod}"
;TI"  end
;TI"	end
;TI"module Enumerable
;TI"  include A
;TI"	end
;TI", # => prints "A included in Enumerable";T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"included(othermod);T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	name:ETI"Module#name;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"SReturns the name of the module <i>mod</i>.  Returns nil for anonymous modules.;F:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"mod.name    -> string
;F0[I"();T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"module_function:ETI"Module#module_function;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"ICreates module functions for the named methods. These functions may ;TI"Hbe called with the module as a receiver, and also become available ;TI"Cas instance methods to classes that mix in the module. Module ;TI"Afunctions are copies of the original, and so may be changed ;TI"Findependently. The instance-method versions are made private. If ;TI"Hused with no arguments, subsequently defined methods become module ;TI"functions. ;TI"/String arguments are converted to symbols.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module Mod
;TI"  def one
;TI"    "This is one"
;TI"  end
;TI"  module_function :one
;TI"	end
;TI"class Cls
;TI"  include Mod
;TI"  def call_one
;TI"
    one
;TI"  end
;TI"	end
;TI"#Mod.one     #=> "This is one"
;TI"c = Cls.new
;TI"#c.call_one  #=> "This is one"
;TI"module Mod
;TI"  def one
;TI"    "This is the new one"
;TI"  end
;TI"	end
;TI"#Mod.one     #=> "This is one"
;TI"*c.call_one  #=> "This is the new one";T:@format0:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"Umodule_function(symbol, ...)    -> self
module_function(string, ...)    -> self
;T0[I"(*args);T@.FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"prepend:ETI"Module#prepend;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"UInvokes <code>Module.prepend_features</code> on each parameter in reverse order.;T:
@fileI"eval.c;T:0@omit_headings_from_table_of_contents_below0I"%prepend(module, ...)    -> self
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"<:ETI"
Module#<;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"GReturns true if <i>mod</i> is a subclass of <i>other</i>. Returns ;TI"B<code>nil</code> if there's no relationship between the two. ;TI"B(Think of the relationship in terms of the class definition: ;TI"$"class A < B" implies "A < B".);T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"+mod < other   ->  true, false, or nil
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"protected:ETI"Module#protected;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"EWith no arguments, sets the default visibility for subsequently ;TI"Jdefined methods to protected. With arguments, sets the named methods ;TI"#to have protected visibility. ;TI"/String arguments are converted to symbols.;To:RDoc::Markup::BlankLineo;
;	[	I"EIf a method has protected visibility, it is callable only where ;TI"A<code>self</code> of the context is the same as the method. ;TI"K(method definition or instance_eval). This behavior is different from ;TI"JJava's protected method. Usually <code>private</code> should be used.;T@o;
;	[I"LNote that a protected method is slow because it can't use inline cache.;T@o;
;	[I"NTo show a private method on RDoc, use <code>:doc:</code> instead of this.;T:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"hprotected                -> self
protected(symbol, ...)   -> self
protected(string, ...)   -> self
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"method_defined?:ETI"Module#method_defined?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"6Returns +true+ if the named method is defined by ;TI">_mod_ (or its included modules and, if _mod_ is a class, ;TI"?its ancestors). Public and protected methods are matched. ;TI"/String arguments are converted to symbols.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module A
;TI"  def method1()  end
;TI"$  def protected_method1()  end
;TI"$  protected :protected_method1
;TI"	end
;TI"
class B
;TI"  def method2()  end
;TI""  def private_method2()  end
;TI"   private :private_method2
;TI"	end
;TI"class C < B
;TI"  include A
;TI"  def method3()  end
;TI"	end
;TI"
;TI"6A.method_defined? :method1              #=> true
;TI"6C.method_defined? "method1"             #=> true
;TI"6C.method_defined? "method2"             #=> true
;TI"6C.method_defined? "method3"             #=> true
;TI"6C.method_defined? "protected_method1"   #=> true
;TI"7C.method_defined? "method4"             #=> false
;TI"6C.method_defined? "private_method2"     #=> false;T:@format0:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"emod.method_defined?(symbol)    -> true or false
mod.method_defined?(string)    -> true or false
;T0[I"	(p1);T@*FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"protected_instance_methods:ETI"&Module#protected_instance_methods;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns a list of the protected instance methods defined in ;FI"F<i>mod</i>. If the optional parameter is <code>false</code>, the ;FI"/methods of any ancestors are not included.;F:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"Cmod.protected_instance_methods(include_super=true)   -> array
;F0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"protected_method_defined?:ETI"%Module#protected_method_defined?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"=Returns +true+ if the named protected method is defined ;TI":by _mod_ (or its included modules and, if _mod_ is a ;TI"class, its ancestors). ;TI"/String arguments are converted to symbols.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module A
;TI"  def method1()  end
;TI"	end
;TI"
class B
;TI"  protected
;TI"  def method2()  end
;TI"	end
;TI"class C < B
;TI"  include A
;TI"  def method3()  end
;TI"	end
;TI"
;TI"6A.method_defined? :method1              #=> true
;TI"7C.protected_method_defined? "method1"   #=> false
;TI"6C.protected_method_defined? "method2"   #=> true
;TI"5C.method_defined? "method2"             #=> true;T:@format0:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"wmod.protected_method_defined?(symbol)   -> true or false
mod.protected_method_defined?(string)   -> true or false
;T0[I"	(p1);T@$FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"===:ETI"Module#===;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"CCase Equality---Returns <code>true</code> if <i>obj</i> is an ;TI"Oinstance of <i>mod</i> or an instance of one of <i>mod</i>'s descendants. ;TI"QOf limited use for modules, but can be used in <code>case</code> statements ;TI""to classify objects by class.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"%mod === obj    -> true or false
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"const_get:ETI"Module#const_get;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I">Checks for a constant with the given name in <i>mod</i>. ;TI"6If +inherit+ is set, the lookup will also search ;TI">the ancestors (and +Object+ if <i>mod</i> is a +Module+).;To:RDoc::Markup::BlankLineo;
;	[I"EThe value of the constant is returned if a definition is found, ;TI"'otherwise a +NameError+ is raised.;T@o:RDoc::Markup::Verbatim;	[I"0Math.const_get(:PI)   #=> 3.14159265358979
;T:@format0o;
;	[I"IThis method will recursively look up constant names if a namespaced ;TI"*class name is provided.  For example:;T@o;;	[I"$module Foo; class Bar; end end
;TI"!Object.const_get 'Foo::Bar'
;T;
0o;
;	[I"BThe +inherit+ flag is respected on each lookup.  For example:;T@o;;	[I"module Foo
;TI"  class Bar
;TI"    VAL = 10
;TI"  end
;TI"
;TI"  class Baz < Bar; end
;TI"	end
;TI"
;TI"6Object.const_get 'Foo::Baz::VAL'         # => 10
;TI"=Object.const_get 'Foo::Baz::VAL', false  # => NameError
;T;
0o;
;	[I"HIf the argument is not a valid constant name a +NameError+ will be ;TI"1raised with a warning "wrong constant name".;T@o;;	[I"HObject.const_get 'foobar' #=> NameError: wrong constant name foobar;T;
0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"[mod.const_get(sym, inherit=true)    -> obj
mod.const_get(str, inherit=true)    -> obj
;T0[I"(*args);T@6FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"prepended:ETI"Module#prepended;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"DThe equivalent of <tt>included</tt>, but for prepended modules.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module A
;TI"  def self.prepended(mod)
;TI",    puts "#{self} prepended to #{mod}"
;TI"  end
;TI"	end
;TI"module Enumerable
;TI"  prepend A
;TI"	end
;TI"- # => prints "A prepended to Enumerable";T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"prepended(othermod);T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
extended:ETI"Module#extended;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"CThe equivalent of <tt>included</tt>, but for extended modules.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module A
;TI"  def self.extended(mod)
;TI"+    puts "#{self} extended in #{mod}"
;TI"  end
;TI"	end
;TI"module Enumerable
;TI"  extend A
;TI"	end
;TI", # => prints "A extended in Enumerable";T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"extended(othermod);T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"attr_reader:ETI"Module#attr_reader;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"JCreates instance variables and corresponding methods that return the ;TI"<value of each instance variable. Equivalent to calling ;TI"=``<code>attr</code><i>:name</i>'' on each name in turn. ;TI"/String arguments are converted to symbols.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"�attr_reader(symbol, ...)  -> nil
attr(symbol, ...)         -> nil
attr_reader(string, ...)  -> nil
attr(string, ...)         -> nil
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"deprecate_constant:ETI"Module#deprecate_constant;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Makes a list of existing constants deprecated.;F:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"3mod.deprecate_constant(symbol, ...)    => mod
;F0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"attr_writer:ETI"Module#attr_writer;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"ECreates an accessor method to allow assignment to the attribute ;TI")<i>symbol</i><code>.id2name</code>. ;TI"/String arguments are converted to symbols.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"Kattr_writer(symbol, ...)    -> nil
attr_writer(string, ...)    -> nil
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"used_modules:ETI"Module::used_modules;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MReturns an array of all modules used in the current scope. The ordering ;TI"6of modules in the resulting array is not defined.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module A
;TI"  refine Object do
;TI"  end
;TI"	end
;TI"
;TI"module B
;TI"  refine Object do
;TI"  end
;TI"	end
;TI"
;TI"
using A
;TI"
using B
;TI"p Module.used_modules
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"[B, A];T;
0:
@fileI"eval.c;T:0@omit_headings_from_table_of_contents_below0I"used_modules -> array
;T0[I"();T@%FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
autoload:ETI"Module#autoload;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"LRegisters _filename_ to be loaded (using <code>Kernel::require</code>) ;TI"Ithe first time that _module_ (which may be a <code>String</code> or ;TI"5a symbol) is accessed in the namespace of _mod_.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"module A
;TI"	end
;TI"A.autoload(:B, "b")
;TI")A::B.doit            # autoloads "b";T:@format0:
@fileI"load.c;T:0@omit_headings_from_table_of_contents_below0I"-mod.autoload(module, filename)   -> nil
;T0[I"
(p1, p2);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"attr_accessor:ETI"Module#attr_accessor;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"BDefines a named attribute for this module, where the name is ;TI"G<i>symbol.</i><code>id2name</code>, creating an instance variable ;TI"H(<code>@name</code>) and a corresponding access method to read it. ;TI"KAlso creates a method called <code>name=</code> to set the attribute. ;TI"/String arguments are converted to symbols.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"module Mod
;TI"!  attr_accessor(:one, :two)
;TI"	end
;TI"?Mod.instance_methods.sort   #=> [:one, :one=, :two, :two=];T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"Oattr_accessor(symbol, ...)    -> nil
attr_accessor(string, ...)    -> nil
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"class_variables:ETI"Module#class_variables;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I"EReturns an array of the names of class variables in <i>mod</i>. ;FI"@This includes the names of class variables in any included ;FI"<modules, unless the <i>inherit</i> parameter is set to ;FI"<code>false</code>.;Fo:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"class One
;TI"  @@var1 = 1
;TI"	end
;TI"class Two < One
;TI"  @@var2 = 2
;TI"	end
;TI"0One.class_variables          #=> [:@@var1]
;TI"9Two.class_variables          #=> [:@@var2, :@@var1]
;TI"/Two.class_variables(false)   #=> [:@@var2];T:@format0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"3mod.class_variables(inherit=true)    -> array
;F0[I"(p1 = v1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"==:ETI"Module#==;TF:publico:RDoc::Markup::Document:@parts[
o:RDoc::Markup::Paragraph;	[	I"LEquality --- At the <code>Object</code> level, <code>==</code> returns ;TI"F<code>true</code> only if +obj+ and +other+ are the same object. ;TI"KTypically, this method is overridden in descendant classes to provide ;TI"class-specific meaning.;To:RDoc::Markup::BlankLineo;
;	[	I"LUnlike <code>==</code>, the <code>equal?</code> method should never be ;TI"Ioverridden by subclasses as it is used to determine object identity ;TI"M(that is, <code>a.equal?(b)</code> if and only if <code>a</code> is the ;TI"$same object as <code>b</code>):;T@o:RDoc::Markup::Verbatim;	[I"obj = "a"
;TI"other = obj.dup
;TI"
;TI" obj == other      #=> true
;TI"!obj.equal? other  #=> false
;TI" obj.equal? obj    #=> true
;T:@format0o;
;	[
I"IThe <code>eql?</code> method returns <code>true</code> if +obj+ and ;TI"O+other+ refer to the same hash key.  This is used by Hash to test members ;TI"Pfor equality.  For objects of class <code>Object</code>, <code>eql?</code> ;TI"Lis synonymous with <code>==</code>.  Subclasses normally continue this ;TI"Qtradition by aliasing <code>eql?</code> to their overridden <code>==</code> ;TI"Hmethod, but there are exceptions.  <code>Numeric</code> types, for ;TI"Mexample, perform type conversion across <code>==</code>, but not across ;TI"<code>eql?</code>, so:;T@o;;	[I"1 == 1.0     #=> true
;TI"1.eql? 1.0   #=> false;T;
0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"tobj == other        -> true or false
obj.equal?(other)   -> true or false
obj.eql?(other)     -> true or false
;T0[I"	(p1);T@.FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"<=>:ETI"Module#<=>;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"IComparison---Returns -1, 0, +1 or nil depending on whether +module+ ;TI"Oincludes +other_module+, they are the same, or if +module+ is included by ;TI"+other_module+.;To:RDoc::Markup::BlankLineo;
;	[I"KReturns +nil+ if +module+ has no relationship with +other_module+, if ;TI"K+other_module+ is not a module, or if the two values are incomparable.;T:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"4module <=> other_module   -> -1, 0, +1, or nil
;T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"const_defined?:ETI"Module#const_defined?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MSays whether _mod_ or its ancestors have a constant with the given name:;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"IFloat.const_defined?(:EPSILON)      #=> true, found in Float itself
;TI"NFloat.const_defined?("String")      #=> true, found in Object (ancestor)
;TI"3BasicObject.const_defined?(:Hash)   #=> false
;T:@format0o;
;	[I"QIf _mod_ is a +Module+, additionally +Object+ and its ancestors are checked:;T@o;;	[I">Math.const_defined?(:String)   #=> true, found in Object
;T;
0o;
;	[I"OIn each of the checked classes or modules, if the constant is not present ;TI"Jbut there is an autoload for it, +true+ is returned directly without ;TI"autoloading:;T@o;;	[	I"module Admin
;TI"$  autoload :User, 'admin/user'
;TI"	end
;TI",Admin.const_defined?(:User)   #=> true
;T;
0o;
;	[I"OIf the constant is not found the callback +const_missing+ is *not* called ;TI"$and the method returns +false+.;T@o;
;	[I"QIf +inherit+ is false, the lookup only checks the constants in the receiver:;T@o;;	[I"UIO.const_defined?(:SYNC)          #=> true, found in File::Constants (ancestor)
;TI"IIO.const_defined?(:SYNC, false)   #=> false, not found in IO itself
;T;
0o;
;	[I":In this case, the same logic for autoloading applies.;T@o;
;	[I"SIf the argument is not a valid constant name a +NameError+ is raised with the ;TI"*message "wrong constant name _name_":;T@o;;	[I"MHash.const_defined? 'foobar'   #=> NameError: wrong constant name foobar;T;
0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"wmod.const_defined?(sym, inherit=true)   -> true or false
mod.const_defined?(str, inherit=true)   -> true or false
;T0[I"(*args);T@:FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"method_added:ETI"Module#method_added;TF:privateo:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"GInvoked as a callback whenever an instance method is added to the ;TI"receiver.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module Chatty
;TI"*  def self.method_added(method_name)
;TI".    puts "Adding #{method_name.inspect}"
;TI"  end
;TI"(  def self.some_class_method() end
;TI"&  def some_instance_method() end
;TI"	end
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"!Adding :some_instance_method;T;
0:
@fileI"
object.c;T:0@omit_headings_from_table_of_contents_below0I"method_added(method_name);T0[I"	(p1);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"alias_method:ETI"Module#alias_method;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"NMakes <i>new_name</i> a new copy of the method <i>old_name</i>. This can ;TI"=be used to retain access to methods that are overridden.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module Mod
;TI"&  alias_method :orig_exit, :exit
;TI"  def exit(code=0)
;TI"*    puts "Exiting with code #{code}"
;TI"    orig_exit(code)
;TI"  end
;TI"	end
;TI"include Mod
;TI"exit(99)
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"Exiting with code 99;T;
0:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"0alias_method(new_name, old_name)   -> self
;T0[I"
(p1, p2);T@!FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"private:ETI"Module#private;TF:privateo:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[	I"EWith no arguments, sets the default visibility for subsequently ;TI"Hdefined methods to private. With arguments, sets the named methods ;TI"!to have private visibility. ;TI"/String arguments are converted to symbols.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"module Mod
;TI"  def a()  end
;TI"  def b()  end
;TI"  private
;TI"  def c()  end
;TI"  private :a
;TI"	end
;TI"1Mod.private_instance_methods   #=> [:a, :c]
;T:@format0o;
;	[I"HNote that to show a private method on RDoc, use <code>:doc:</code>.;T:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"eprivate                 -> self
private(symbol, ...)    -> self
private(string, ...)    -> self
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"public_class_method:ETI"Module#public_class_method;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"3Makes a list of existing class methods public.;To:RDoc::Markup::BlankLineo;
;	[I"/String arguments are converted to symbols.;T:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"cmod.public_class_method(symbol, ...)    -> mod
mod.public_class_method(string, ...)    -> mod
;T0[I"(*args);T@FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"private_method_defined?:ETI"#Module#private_method_defined?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[	I">Returns +true+ if the named private method is defined by ;TI"?_ mod_ (or its included modules and, if _mod_ is a class, ;TI"its ancestors). ;TI"/String arguments are converted to symbols.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"module A
;TI"  def method1()  end
;TI"	end
;TI"
class B
;TI"  private
;TI"  def method2()  end
;TI"	end
;TI"class C < B
;TI"  include A
;TI"  def method3()  end
;TI"	end
;TI"
;TI"4A.method_defined? :method1            #=> true
;TI"5C.private_method_defined? "method1"   #=> false
;TI"4C.private_method_defined? "method2"   #=> true
;TI"4C.method_defined? "method2"           #=> false;T:@format0:
@fileI"vm_method.c;T:0@omit_headings_from_table_of_contents_below0I"umod.private_method_defined?(symbol)    -> true or false
mod.private_method_defined?(string)    -> true or false
;T0[I"	(p1);T@$FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"module_eval:ETI"Module#module_eval;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[
I"MEvaluates the string or block in the context of _mod_, except that when ;TI"La block is given, constant/class variable lookup is not affected. This ;TI"Mcan be used to add methods to a class. <code>module_eval</code> returns ;TI"Hthe result of evaluating its argument. The optional _filename_ and ;TI"9_lineno_ parameters set the text for error messages.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"class Thing
;TI"	end
;TI",a = %q{def hello() "Hello there!" end}
;TI"Thing.module_eval(a)
;TI"puts Thing.new.hello()
;TI"5Thing.module_eval("invalid code", "dummy", 123)
;T:@format0o;
;	[I"<em>produces:</em>;T@o;;	[I"Hello there!
;TI":dummy:123:in `module_eval': undefined local variable
;TI")    or method `code' for Thing:Class;T;
0:
@fileI"vm_eval.c;T:0@omit_headings_from_table_of_contents_below0I"rmod.module_eval(string [, filename [, lineno]]) -> obj
mod.module_eval {|mod| block }                  -> obj;T0[I"(*args);T@#FI"Module;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_r:ETI"Complex#to_r;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"EReturns the value as a rational if possible (the imaginary part ;TI"should be exactly zero).;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"%Complex(1, 0).to_r    #=> (1/1)
;TI"(Complex(1, 0.0).to_r  # RangeError
;TI"(Complex(1, 2).to_r    # RangeError
;T:@format0o;
;	[I"See rationalize.;T:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"cmp.to_r  ->  rational
;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
phase:ETI"Complex#phase;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Returns the angle part of its polar form.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"=Complex.polar(3, Math::PI/2).arg  #=> 1.5707963267948966;T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"cmp.phase  ->  float;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"inspect:ETI"Complex#inspect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"2Returns the value as a string for inspection.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I";Complex(2).inspect                       #=> "(2+0i)"
;TI"@Complex('-8/6').inspect                  #=> "((-4/3)+0i)"
;TI"@Complex('1/2i').inspect                  #=> "(0+(1/2)*i)"
;TI"CComplex(0, Float::INFINITY).inspect      #=> "(0+Infinity*i)"
;TI"?Complex(Float::NAN, Float::NAN).inspect  #=> "(NaN+NaN*i)";T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"cmp.inspect  ->  string
;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	fdiv:ETI"Complex#fdiv;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"FPerforms division as each part is a float, never returns a float.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"IComplex(11, 22).fdiv(3)  #=> (3.6666666666666665+7.333333333333333i);T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"$cmp.fdiv(numeric)  ->  complex
;T0[I"	(p1);T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"json_create:ETI"Complex::json_create;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"MDeserializes JSON string by converting Real value <tt>r</tt>, imaginary ;TI"+value <tt>i</tt>, to a Complex object.;T:
@fileI"%ext/json/lib/json/add/complex.rb;T:0@omit_headings_from_table_of_contents_below000[I"
(object);T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
polar:ETI"Complex::polar;TT:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"AReturns a complex object which denotes the given polar form.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[	I"3Complex.polar(3, 0)            #=> (3.0+0.0i)
;TI"EComplex.polar(3, Math::PI/2)   #=> (1.836909530733566e-16+3.0i)
;TI"FComplex.polar(3, Math::PI)     #=> (-3.0+3.673819061467132e-16i)
;TI"DComplex.polar(3, -Math::PI/2)  #=> (1.836909530733566e-16-3.0i);T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I",Complex.polar(abs[, arg])  ->  complex
;T0[I"(p1, p2 = v2);T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	rect:ETI"Complex#rect;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I",Returns an array; [cmp.real, cmp.imag].;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"*Complex(1, 2).rectangular  #=> [1, 2];T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I";cmp.rect         ->  array
cmp.rectangular  ->  array
;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	imag:ETI"Complex#imag;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I" Returns the imaginary part.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"%Complex(7).imaginary      #=> 0
;TI"%Complex(9, -4).imaginary  #=> -4;T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"4cmp.imag       ->  real
cmp.imaginary  ->  real;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"arg:ETI"Complex#arg;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Returns the angle part of its polar form.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"=Complex.polar(3, Math::PI/2).arg  #=> 1.5707963267948966;T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"cmp.arg    ->  float;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"rationalize:ETI"Complex#rationalize;TF:publico:RDoc::Markup::Document:@parts[	o:RDoc::Markup::Paragraph;	[I"EReturns the value as a rational if possible (the imaginary part ;TI"should be exactly zero).;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I".Complex(1.0/3, 0).rationalize  #=> (1/3)
;TI"1Complex(1, 0.0).rationalize    # RangeError
;TI"1Complex(1, 2).rationalize      # RangeError
;T:@format0o;
;	[I"See to_r.;T:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"*cmp.rationalize([eps])  ->  rational
;T0[I"(p1 = v1);T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
angle:ETI"Complex#angle;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I".Returns the angle part of its polar form.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"=Complex.polar(3, Math::PI/2).arg  #=> 1.5707963267948966;T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"cmp.angle  ->  float;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"
polar:ETI"Complex#polar;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"*Returns an array; [cmp.abs, cmp.arg].;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"DComplex(1, 2).polar  #=> [2.23606797749979, 1.1071487177940904];T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"cmp.polar  ->  array
;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"finite?:ETI"Complex#finite?;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"=Returns +true+ if +cmp+'s magnitude is a finite number, ;TI"otherwise returns +false+.;T:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"$cmp.finite?  ->  true or false
;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"magnitude:ETI"Complex#magnitude;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"1Returns the absolute part of its polar form.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"#Complex(-1).abs         #=> 1
;TI"$Complex(3.0, -4.0).abs  #=> 5.0;T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"cmp.magnitude  ->  real;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	to_i:ETI"Complex#to_i;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"EReturns the value as an integer if possible (the imaginary part ;TI"should be exactly zero).;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"!Complex(1, 0).to_i    #=> 1
;TI"(Complex(1, 0.0).to_i  # RangeError
;TI"'Complex(1, 2).to_i    # RangeError;T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"cmp.to_i  ->  integer
;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"*:ETI"Complex#*;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Performs multiplication.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[
I"3Complex(2, 3)  * Complex(2, 3)   #=> (-5+12i)
;TI"3Complex(900)   * Complex(1)      #=> (900+0i)
;TI"2Complex(-2, 9) * Complex(-9, 2)  #=> (0-85i)
;TI"3Complex(9, 8)  * 4               #=> (36+32i)
;TI"7Complex(20, 9) * 9.8             #=> (196.0+88.2i);T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I" cmp * numeric  ->  complex
;T0[I"	(p1);T@FI"Complex;TcRDoc::NormalClass00U:RDoc::AnyMethod[iI"	conj:ETI"Complex#conj;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"#Returns the complex conjugate.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"(Complex(1, 2).conjugate  #=> (1-2i);T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I":cmp.conj       ->  complex
cmp.conjugate  ->  complex;T0[I"();T@FI"Complex;TcRDoc::NormalClass00U:RDoc::NormalClass[iI"Complex:ET@I"Numeric;To:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[	I"FA complex number can be represented as a paired real number with ;TI"Fimaginary unit; a+bi.  Where a is real part, b is imaginary part ;TI":and i is imaginary unit.  Real a equals complex a+0i ;TI"mathematically.;To:RDoc::Markup::BlankLineo;	;[I"AComplex object can be created as literal, and also by using ;TI"BKernel#Complex, Complex::rect, Complex::polar or to_c method.;T@o:RDoc::Markup::Verbatim;[
I"%2+1i                 #=> (2+1i)
;TI"%Complex(1)           #=> (1+0i)
;TI"%Complex(2, 3)        #=> (2+3i)
;TI"HComplex.polar(2, 3)  #=> (-1.9799849932008908+0.2822400161197344i)
;TI"%3.to_c               #=> (3+0i)
;T:@format0o;	;[I"GYou can also create complex object from floating-point numbers or ;TI"
strings.;T@o;;[I"'Complex(0.3)         #=> (0.3+0i)
;TI")Complex('0.3-0.5i')  #=> (0.3-0.5i)
;TI".Complex('2/3+3/4i')  #=> ((2/3)+(3/4)*i)
;TI"HComplex('1@2')       #=> (-0.4161468365471424+0.9092974268256817i)
;TI"
;TI"'0.3.to_c             #=> (0.3+0i)
;TI")'0.3-0.5i'.to_c      #=> (0.3-0.5i)
;TI".'2/3+3/4i'.to_c      #=> ((2/3)+(3/4)*i)
;TI"H'1@2'.to_c           #=> (-0.4161468365471424+0.9092974268256817i)
;T;0o;	;[I">A complex object is either an exact or an inexact number.;T@o;;[I".Complex(1, 1) / 2    #=> ((1/2)+(1/2)*i)
;TI"(Complex(1, 1) / 2.0  #=> (0.5+0.5i);T;0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0o;;[;
I"%ext/json/lib/json/add/complex.rb;T;0;
0;0[[U:RDoc::Constant[iI"I;TI"Complex::I;T:public0o;;[o;	;[I"The imaginary unit.;T;
@5;0@5@cRDoc::NormalClass0[[[I"
class;T[[;[	[I"json_create;TI"%ext/json/lib/json/add/complex.rb;T[I"
polar;TI"complex.c;T[I"	rect;T@Q[I"rectangular;T@Q[:protected[[:private[[I"
instance;T[[;[+[I"*;T@Q[I"**;T@Q[I"+;T@Q[I"-;T@Q[I"-@;T@Q[I"/;T@Q[I"==;T@Q[I"abs;T@Q[I"	abs2;T@Q[I"
angle;T@Q[I"arg;T@Q[I"as_json;T@N[I"	conj;T@Q[I"conjugate;T@Q[I"denominator;T@Q[I"	fdiv;T@Q[I"finite?;T@Q[I"	imag;T@Q[I"imaginary;T@Q[I"infinite?;T@Q[I"inspect;T@Q[I"magnitude;T@Q[I"numerator;T@Q[I"
phase;T@Q[I"
polar;T@Q[I"quo;T@Q[I"rationalize;T@Q[I"	real;T@Q[I"
real?;T@Q[I"	rect;T@Q[I"rectangular;T@Q[I"	to_c;T@Q[I"	to_f;T@Q[I"	to_i;T@Q[I"to_json;T@N[I"	to_r;T@Q[I"	to_s;T@Q[I"~;T@Q[;[[;[[[U:RDoc::Context::Section[i0o;;[;
0;0[@5@8@8cRDoc::TopLevelU:RDoc::AnyMethod[iI"	to_c:ETI"Complex#to_c;TF:publico:RDoc::Markup::Document:@parts[o:RDoc::Markup::Paragraph;	[I"Returns self.;To:RDoc::Markup::BlankLineo:RDoc::Markup::Verbatim;	[I"%Complex(2).to_c      #=> (2+0i)
;TI"%Complex(-8, 6).to_c  #=> (-8+6i);T:@format0:
@fileI"complex.c;T:0@omit_headings_from_table_of_contents_below0I"complex.to_c  ->  self
;T0[I"();T@FI"Complex;TcRDoc::NormalClass00