-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdynamicschema.gemspec
More file actions
44 lines (36 loc) · 2.12 KB
/
dynamicschema.gemspec
File metadata and controls
44 lines (36 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Gem::Specification.new do | spec |
spec.name = 'dynamicschema'
spec.version = '2.2.0'
spec.authors = [ 'Kristoph Cichocki-Romanov' ]
spec.email = [ 'rubygems.org@kristoph.net' ]
spec.summary = <<~TEXT.gsub( /(?<!\n)\n(?!\n)/, ' ').strip
DynamicSchema is a lightweight and simple yet powerful gem that enables flexible semantic
schema definitions for constructing and validating complex configurations and other similar
payloads.
TEXT
spec.description = <<~TEXT.gsub( /(?<!\n)\n(?!\n)/, ' ').strip
The DynamicSchema gem provides a elegant and expressive way to define a domain-specific
language (DSL) schemas, making it effortless to build and validate complex Ruby hashes.
This is particularly useful when dealing with intricate configurations or
interfacing with external APIs, where data structures need to adhere to specific formats
and validations. By allowing default values, type constraints, nested schemas, and
transformations, DynamicSchema ensures that your data structures are both robust and
flexible.
New in 2.0, DynamicSchema adds DynamicSchema::Struct which faciliates effortless definition
and construction of complex object hierarchies, with optional type coersion and validation.
Where DynamicSchema simplified configuration and API payload construction,
DynamicSchema::Struct simplifies construction of complex API reponses.
TEXT
spec.license = 'MIT'
spec.homepage = 'https://github.com/EndlessInternational/dynamic_schema'
spec.metadata = {
'source_code_uri' => 'https://github.com/EndlessInternational/dynamic_schema',
'bug_tracker_uri' => 'https://github.com/EndlessInternational/dynamic_schema/issues',
# 'documentation_uri' => 'https://github.com/EndlessInternational/dynamic_schema'
}
spec.required_ruby_version = '>= 3.0'
spec.files = Dir[ "lib/**/*.rb", "LICENSE", "README.md", "dynamicschema.gemspec" ]
spec.require_paths = [ "lib" ]
spec.add_development_dependency 'minitest', '~> 6.0'
spec.add_development_dependency 'debug', '~> 1.9'
end