Module: Yass
- Defined in:
- lib/yass/node.rb,
lib/yass.rb,
lib/yass/rules.rb,
lib/yass/general.rb,
lib/yass/version.rb,
lib/yass/visitor.rb,
lib/yass/selectors.rb,
lib/yass/stylesheet.rb,
lib/yass/declarations.rb
Overview
frozen_string_literal
Defined Under Namespace
Modules: Declarations, Font, FontStretch, FontStyle, FontWeight, MediaType, Node Classes: FontFaceRule, MediaQuery, MediaRule, RelativeSelector, Selector, SourceLocation, StyleQuery, StyleRule, Stylesheet, UnicodeRange, UnimplementedRule, Visitor
Constant Summary collapse
- VERSION =
"0.2.0"
Class Method Summary collapse
Class Method Details
.serialize(obj) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/yass.rb', line 24 def self.serialize(obj) case obj when Integer, String, Symbol obj when Float if obj == Float::INFINITY "inf" elsif obj == -Float::INFINITY "-inf" elsif obj.nan? "NaN" else obj end when Array obj.map { |elem| serialize(elem) } else if obj.class.const_defined?(:RUBY_METHODS) obj.class::RUBY_METHODS.each_with_object({}) do |method_name, memo| plain_method_name = method_name.to_s.chomp("?") memo[plain_method_name.to_sym] = serialize(obj.send(method_name)) end end end end |