Module: KeyValueName
- Defined in:
- lib/key_value_name.rb,
lib/key_value_name/spec.rb,
lib/key_value_name/schema.rb,
lib/key_value_name/version.rb,
lib/key_value_name/collection.rb,
lib/key_value_name/marshalers.rb,
lib/key_value_name/mixins/name.rb,
lib/key_value_name/marshalers/base.rb,
lib/key_value_name/mixins/file_name.rb,
lib/key_value_name/mixins/folder_name.rb,
lib/key_value_name/builders/file_builder.rb,
lib/key_value_name/builders/folder_builder.rb,
lib/key_value_name/builders/schema_builder.rb,
lib/key_value_name/builders/container_builder.rb,
lib/key_value_name/builders/key_value_builder.rb,
lib/key_value_name/marshalers/float_marshaler.rb,
lib/key_value_name/marshalers/symbol_marshaler.rb,
lib/key_value_name/marshalers/boolean_marshaler.rb,
lib/key_value_name/marshalers/integer_marshaler.rb
Defined Under Namespace
Modules: ContainerBuilder, FileName, FolderName, Name
Classes: BooleanMarshaler, Collection, FileBuilder, FloatMarshaler, FolderBuilder, IntegerMarshaler, KeyValueBuilder, MarshalerBase, Schema, SchemaBuilder, Spec, SymbolMarshaler
Constant Summary
collapse
- KEY_RX =
/\w+/
- KEY_VALUE_SEPARATOR =
'-'
- PAIR_SEPARATOR =
'.'
- PAIR_SEPARATOR_RX =
/[.]/
- VERSION_MAJOR =
0
- VERSION_MINOR =
2
- VERSION_PATCH =
0
- VERSION =
[VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH].join('.')
- MARSHALERS =
{
boolean: BooleanMarshaler,
Float => FloatMarshaler,
Integer => IntegerMarshaler,
Symbol => SymbolMarshaler
}.freeze
Class Method Summary
collapse
Class Method Details
.camelize(name) ⇒ Object
12
13
14
|
# File 'lib/key_value_name.rb', line 12
def self.camelize(name)
name.to_s.gsub(/(?:\A|_)(.)/) { Regexp.last_match(1).upcase }
end
|
.check_marshaler(type) ⇒ Object
20
21
22
|
# File 'lib/key_value_name/marshalers.rb', line 20
def self.check_marshaler(type)
raise ArgumentError, "bad type: #{type}" unless MARSHALERS.key?(type)
end
|
.check_symbol(name) ⇒ Object
16
17
18
19
20
21
|
# File 'lib/key_value_name.rb', line 16
def self.check_symbol(name)
raise ArgumentError, "bad symbol: #{name}" unless
name.match?(/\A#{KEY_RX}\z/)
raise ArgumentError, "reserved symbol: #{name}" if
i[parent].member?(name)
end
|
.new(name = nil, &block) ⇒ Object
23
24
25
26
|
# File 'lib/key_value_name.rb', line 23
def self.new(name = nil, &block)
raise unless block_given?
FileBuilder.new(name, &block).build
end
|
.schema(&block) ⇒ Object
28
29
30
31
|
# File 'lib/key_value_name.rb', line 28
def self.schema(&block)
raise unless block_given?
SchemaBuilder.new(&block).build
end
|