Module: Leafy

Defined in:
lib/leafy.rb,
lib/leafy/field.rb,
lib/leafy/utils.rb,
lib/leafy/schema.rb,
lib/leafy/version.rb,
lib/leafy/coder/mock.rb,
lib/leafy/field_value.rb,
lib/leafy/mixin/fields.rb,
lib/leafy/mixin/schema.rb,
lib/leafy/coder/default.rb,
lib/leafy/configuration.rb,
lib/leafy/mixin/poro/fields.rb,
lib/leafy/mixin/poro/schema.rb,
lib/leafy/mixin/data_accessor.rb,
lib/leafy/field_value_collection.rb,
lib/leafy/converter/bool_converter.rb,
lib/leafy/converter/date_converter.rb,
lib/leafy/converter/dummy_converter.rb,
lib/leafy/converter/double_converter.rb,
lib/leafy/converter/string_converter.rb,
lib/leafy/mixin/active_record/fields.rb,
lib/leafy/mixin/active_record/schema.rb,
lib/leafy/mixin/active_record/shared.rb,
lib/leafy/converter/integer_converter.rb,
lib/leafy/converter/datetime_converter.rb

Overview

module definition

Defined Under Namespace

Modules: Coder, Converter, Mixin, Utils, VERSION Classes: Configuration, Field, FieldValue, FieldValueCollection, Schema

Class Method Summary collapse

Class Method Details

.configurationObject



26
27
28
29
30
31
32
# File 'lib/leafy.rb', line 26

def self.configuration
  return @config if defined?(@config) && @config

  @config_mutex.synchronize do
    @config ||= Leafy::Configuration.new
  end
end

.configure {|configuration| ... } ⇒ Object

Yields:



22
23
24
# File 'lib/leafy.rb', line 22

def self.configure
  yield configuration if block_given?
end

.convertersObject



44
45
46
47
48
49
50
# File 'lib/leafy.rb', line 44

def self.converters
  return @converters if defined?(@converters) && @converters

  @converters_mutex.synchronize do
    @converters ||= {}
  end
end

.register_converter(name, converter) ⇒ Object

Raises:

  • (ArgumentError)


34
35
36
37
38
39
40
41
42
# File 'lib/leafy.rb', line 34

def self.register_converter(name, converter)
  raise(ArgumentError, "converter is not provided") if converter.nil?

  if !converter.respond_to?(:load) || !converter.respond_to?(:dump)
    raise(ArgumentError, "converter must respond to #dump and #load")
  end

  converters[name] = converter
end

.versionObject



4
5
6
# File 'lib/leafy/version.rb', line 4

def self.version
  Gem::Version.new VERSION::STRING
end