Module: KeyValueName
- Defined in:
- lib/key_value_name.rb,
lib/key_value_name/spec.rb,
lib/key_value_name/builder.rb,
lib/key_value_name/version.rb,
lib/key_value_name/marshalers.rb,
lib/key_value_name/marshalers/base.rb,
lib/key_value_name/marshalers/symbol_marshaler.rb,
lib/key_value_name/marshalers/numeric_marshaler.rb
Overview
A terrible idea, but also a useful one.
Defined Under Namespace
Classes: Builder, MarshalerBase, NumericMarshaler, Spec, SymbolMarshaler
Constant Summary collapse
- KEY_RX =
/\w+/
- KEY_VALUE_SEPARATOR =
'-'
- PAIR_SEPARATOR =
'.'
- PAIR_SEPARATOR_RX =
/[.]/
- VERSION_MAJOR =
0
- VERSION_MINOR =
0
- VERSION_PATCH =
1
- VERSION =
[VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH].join('.')
- MARSHALERS =
{ Numeric => NumericMarshaler, Symbol => SymbolMarshaler }.freeze
Class Method Summary collapse
Class Method Details
.check_symbol(name) ⇒ Object
12 13 14 |
# File 'lib/key_value_name.rb', line 12 def self.check_symbol(name) raise ArgumentError, "bad symbol: #{name}" unless name =~ /\A#{KEY_RX}\z/ end |
.new {|builder| ... } ⇒ Object
16 17 18 19 20 |
# File 'lib/key_value_name.rb', line 16 def self.new builder = Builder.new yield builder builder.build end |