Module: EasyTalk

Defined in:
lib/easy_talk.rb,
lib/easy_talk/model.rb,
lib/easy_talk/errors.rb,
lib/easy_talk/version.rb,
lib/easy_talk/keywords.rb,
lib/easy_talk/property.rb,
lib/easy_talk/configuration.rb,
lib/easy_talk/errors_helper.rb,
lib/easy_talk/types/composer.rb,
lib/easy_talk/schema_definition.rb,
lib/easy_talk/types/base_composer.rb,
lib/easy_talk/builders/base_builder.rb,
lib/easy_talk/builders/null_builder.rb,
lib/easy_talk/builders/union_builder.rb,
lib/easy_talk/tools/function_builder.rb,
lib/easy_talk/builders/number_builder.rb,
lib/easy_talk/builders/object_builder.rb,
lib/easy_talk/builders/string_builder.rb,
lib/easy_talk/builders/boolean_builder.rb,
lib/easy_talk/builders/integer_builder.rb,
lib/easy_talk/builders/temporal_builder.rb,
lib/easy_talk/builders/collection_helpers.rb,
lib/easy_talk/active_record_schema_builder.rb,
lib/easy_talk/builders/composition_builder.rb,
lib/easy_talk/builders/typed_array_builder.rb

Overview

typed: true

Defined Under Namespace

Modules: Builders, ErrorHelper, Model, Tools, Types Classes: ActiveRecordSchemaBuilder, Configuration, ConstraintError, Error, InvalidPropertyNameError, Property, SchemaDefinition, UnknownOptionError

Constant Summary collapse

VERSION =
'1.1.1'
KEYWORDS =
%i[
  description
  type
  title
  property
  required
  items
  additional_items
  pattern_properties
  additional_properties
  dependencies
  dependent_required
  format
  content_media_type
  content_encoding
  enum
  const
  default
  examples
  max_length
  min_length
  pattern
  maximum
  exclusive_maximum
  minimum
  exclusive_minimum
  multiple_of
  max_items
  min_items
  unique_items
  max_properties
  min_properties
].freeze

Class Method Summary collapse

Class Method Details

.assert_valid_property_options(property_name, options, *valid_keys) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/easy_talk.rb', line 17

def self.assert_valid_property_options(property_name, options, *valid_keys)
  valid_keys.flatten!
  options.each_key do |k|
    next if valid_keys.include?(k)

    ErrorHelper.raise_unknown_option_error(property_name: property_name, option: options, valid_options: valid_keys)
  end
end

.configurationObject



21
22
23
# File 'lib/easy_talk/configuration.rb', line 21

def configuration
  @configuration ||= Configuration.new
end

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

Yields:



25
26
27
# File 'lib/easy_talk/configuration.rb', line 25

def configure
  yield(configuration)
end

.configure_nilable_behavior(nilable_is_optional = false) ⇒ Object



26
27
28
# File 'lib/easy_talk.rb', line 26

def self.configure_nilable_behavior(nilable_is_optional = false)
  configuration.nilable_is_optional = nilable_is_optional
end