Module: Mingle

Included in:
BinCodec::MingleBinCodec, Io::Stream::Connection, Io::Stream::MinglePeer, Json, Service::MingleServices
Defined in:
lib/mingle.rb,
lib/mingle-em.rb,
lib/mingle/io.rb,
lib/mingle/http.rb,
lib/mingle/json.rb,
lib/mingle/codec.rb,
lib/mingle/service.rb,
lib/mingle/bincodec.rb,
lib/mingle/io/stream.rb

Defined Under Namespace

Modules: BinCodec, CastImpl, Chars, Codec, Http, Io, IoConstants, Json, MingleModels, Service, StringParser Classes: AtomicTypeReference, BinIoBase, BinIoError, BinReader, BinWriter, DeclaredTypeName, EmHttpMingleRpcClient, GenericRaisedMingleError, ListTypeReference, MingleBoolean, MingleBuffer, MingleEnum, MingleFloat32, MingleFloat64, MingleFloatingPointImpl, MingleIdentifiedName, MingleIdentifier, MingleInt32, MingleInt64, MingleIntegerImpl, MingleLexer, MingleList, MingleNamespace, MingleNull, MingleNumber, MingleParseError, MingleParser, MingleServiceRequest, MingleServiceResponse, MingleString, MingleStruct, MingleSymbolMap, MingleTimestamp, MingleTypeReference, MingleTypedValue, MingleUint32, MingleUint64, MingleValue, NullableTypeReference, NumericToken, ParseLocation, ParsedNumber, QualifiedTypeName, RangeRestriction, RegexRestriction, RestrictionTypeError, SpecialToken, StringToken, TypeCastError, WhitespaceToken

Constant Summary collapse

USE_ICONV =

For processing uXXXX escapes in string tokens

! "".respond_to?( :encode )
PARSED_TYPES =
[ MingleString, String, Symbol ]
ID_STYLE_LC_CAMEL_CAPPED =
:lc_camel_capped
ID_STYLE_LC_UNDERSCORE =
:lc_underscore
ID_STYLE_LC_HYPHENATED =
:lc_hyphenated
ID_STYLES =
[ 
    ID_STYLE_LC_CAMEL_CAPPED, 
    ID_STYLE_LC_UNDERSCORE,
    ID_STYLE_LC_HYPHENATED
]
QNAME_RESOLV_MAP =
{}
NUM_TYPES =
%w{ INT32 INT64 UINT32 UINT64 FLOAT32 FLOAT64 }.map do |s| 
    const_get( :"TYPE_#{s}" )
end
INT_TYPES =
[ TYPE_INT32, TYPE_INT64, TYPE_UINT32, TYPE_UINT64 ]
COMPARABLE_TYPES =
NUM_TYPES + [ TYPE_STRING, TYPE_TIMESTAMP ]

Class Method Summary collapse

Class Method Details

.cast_value(val, typ, path = nil) ⇒ Object



2566
2567
2568
# File 'lib/mingle.rb', line 2566

def self.cast_value( val, typ, path = nil )
    CastImpl.cast_value( val, typ, path )
end

.quote_value(val) ⇒ Object



2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
# File 'lib/mingle.rb', line 2570

def self.quote_value( val )
    case val
    when MingleString then Chars.external_form_of( val.to_s )
    when MingleInt32, MingleInt64, MingleUint32, MingleUint64, 
         MingleFloat32, MingleFloat64 
        val.to_s
    when MingleTimestamp then Chars.external_form_of( val.rfc3339 )
    else raise "Can't quote: #{val} (#{val.class})"
    end
end