clean-architecture 2.0.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rspec.yml +21 -0
  3. data/.gitignore +1 -0
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.md +42 -0
  6. data/Gemfile +1 -0
  7. data/README.md +423 -4
  8. data/clean-architecture.gemspec +9 -5
  9. data/generate_require_files.rb +1 -0
  10. data/lib/clean-architecture.rb +1 -0
  11. data/lib/clean_architecture/adapters/all.rb +1 -0
  12. data/lib/clean_architecture/adapters/attribute_hash_base.rb +1 -0
  13. data/lib/clean_architecture/all.rb +3 -0
  14. data/lib/clean_architecture/builders/abstract_active_record_entity_builder.rb +124 -0
  15. data/lib/clean_architecture/builders/all.rb +6 -0
  16. data/lib/clean_architecture/checks/all.rb +1 -0
  17. data/lib/clean_architecture/checks/authorization.rb +1 -0
  18. data/lib/clean_architecture/entities/all.rb +1 -0
  19. data/lib/clean_architecture/entities/failure_details.rb +2 -1
  20. data/lib/clean_architecture/entities/targeted_parameters.rb +1 -0
  21. data/lib/clean_architecture/entities/untargeted_parameters.rb +1 -0
  22. data/lib/clean_architecture/interfaces/all.rb +1 -0
  23. data/lib/clean_architecture/interfaces/authorization_parameters.rb +1 -0
  24. data/lib/clean_architecture/interfaces/base_parameters.rb +1 -0
  25. data/lib/clean_architecture/interfaces/jsonable.rb +1 -0
  26. data/lib/clean_architecture/interfaces/success_payload.rb +1 -0
  27. data/lib/clean_architecture/interfaces/targeted_parameters.rb +1 -0
  28. data/lib/clean_architecture/interfaces/use_case.rb +1 -0
  29. data/lib/clean_architecture/interfaces/use_case_actor.rb +1 -0
  30. data/lib/clean_architecture/interfaces/use_case_target.rb +1 -0
  31. data/lib/clean_architecture/matchers/all.rb +1 -0
  32. data/lib/clean_architecture/matchers/use_case_result.rb +1 -0
  33. data/lib/clean_architecture/queries/all.rb +1 -0
  34. data/lib/clean_architecture/queries/http_failure_code.rb +1 -0
  35. data/lib/clean_architecture/queries/http_success_code.rb +1 -0
  36. data/lib/clean_architecture/serializers/all.rb +1 -0
  37. data/lib/clean_architecture/serializers/html_response_from_result.rb +1 -0
  38. data/lib/clean_architecture/serializers/json_response_from_result.rb +1 -0
  39. data/lib/clean_architecture/serializers/success_collection_payload.rb +1 -0
  40. data/lib/clean_architecture/serializers/success_payload.rb +1 -0
  41. data/lib/clean_architecture/types.rb +2 -1
  42. data/lib/clean_architecture/use_cases/abstract_use_case.rb +62 -0
  43. data/lib/clean_architecture/use_cases/all.rb +10 -0
  44. data/lib/clean_architecture/use_cases/contract.rb +9 -0
  45. data/lib/clean_architecture/use_cases/errors.rb +57 -0
  46. data/lib/clean_architecture/use_cases/form.rb +116 -0
  47. data/lib/clean_architecture/use_cases/parameters.rb +42 -0
  48. data/lib/clean_architecture/version.rb +2 -1
  49. data/sorbet/config +2 -0
  50. data/sorbet/rbi/gems/activemodel.rbi +74 -0
  51. data/sorbet/rbi/gems/activesupport.rbi +440 -0
  52. data/sorbet/rbi/gems/ast.rbi +47 -0
  53. data/sorbet/rbi/gems/axiom-types.rbi +159 -0
  54. data/sorbet/rbi/gems/byebug.rbi +1039 -0
  55. data/sorbet/rbi/gems/codeclimate-engine-rb.rbi +123 -0
  56. data/sorbet/rbi/gems/coderay.rbi +91 -0
  57. data/sorbet/rbi/gems/coercible.rbi +156 -0
  58. data/sorbet/rbi/gems/concurrent-ruby.rbi +1587 -0
  59. data/sorbet/rbi/gems/descendants_tracker.rbi +17 -0
  60. data/sorbet/rbi/gems/docile.rbi +31 -0
  61. data/sorbet/rbi/gems/dry-configurable.rbi +89 -0
  62. data/sorbet/rbi/gems/dry-container.rbi +88 -0
  63. data/sorbet/rbi/gems/dry-core.rbi +79 -0
  64. data/sorbet/rbi/gems/dry-equalizer.rbi +25 -0
  65. data/sorbet/rbi/gems/dry-inflector.rbi +72 -0
  66. data/sorbet/rbi/gems/dry-initializer.rbi +209 -0
  67. data/sorbet/rbi/gems/dry-logic.rbi +304 -0
  68. data/sorbet/rbi/gems/dry-matcher.rbi +33 -0
  69. data/sorbet/rbi/gems/dry-monads.rbi +508 -0
  70. data/sorbet/rbi/gems/dry-schema.rbi +790 -0
  71. data/sorbet/rbi/gems/dry-struct.rbi +165 -0
  72. data/sorbet/rbi/gems/dry-types.rbi +688 -0
  73. data/sorbet/rbi/gems/dry-validation.rbi +284 -0
  74. data/sorbet/rbi/gems/duckface-interfaces.rbi +93 -0
  75. data/sorbet/rbi/gems/equalizer.rbi +22 -0
  76. data/sorbet/rbi/gems/i18n.rbi +132 -0
  77. data/sorbet/rbi/gems/ice_nine.rbi +66 -0
  78. data/sorbet/rbi/gems/jaro_winkler.rbi +14 -0
  79. data/sorbet/rbi/gems/kwalify.rbi +339 -0
  80. data/sorbet/rbi/gems/method_source.rbi +63 -0
  81. data/sorbet/rbi/gems/parallel.rbi +81 -0
  82. data/sorbet/rbi/gems/parser.rbi +1293 -0
  83. data/sorbet/rbi/gems/pry-byebug.rbi +149 -0
  84. data/sorbet/rbi/gems/pry.rbi +1964 -0
  85. data/sorbet/rbi/gems/psych.rbi +462 -0
  86. data/sorbet/rbi/gems/rainbow.rbi +117 -0
  87. data/sorbet/rbi/gems/rake.rbi +634 -0
  88. data/sorbet/rbi/gems/rb-readline.rbi +766 -0
  89. data/sorbet/rbi/gems/reek.rbi +1066 -0
  90. data/sorbet/rbi/gems/rspec-core.rbi +1658 -0
  91. data/sorbet/rbi/gems/rspec-expectations.rbi +430 -0
  92. data/sorbet/rbi/gems/rspec-mocks.rbi +815 -0
  93. data/sorbet/rbi/gems/rspec-support.rbi +268 -0
  94. data/sorbet/rbi/gems/rspec.rbi +14 -0
  95. data/sorbet/rbi/gems/rubocop-rspec.rbi +875 -0
  96. data/sorbet/rbi/gems/rubocop.rbi +7014 -0
  97. data/sorbet/rbi/gems/ruby-progressbar.rbi +304 -0
  98. data/sorbet/rbi/gems/simplecov-html.rbi +30 -0
  99. data/sorbet/rbi/gems/simplecov.rbi +225 -0
  100. data/sorbet/rbi/gems/stackprof.rbi +51 -0
  101. data/sorbet/rbi/gems/thread_safe.rbi +81 -0
  102. data/sorbet/rbi/gems/timecop.rbi +97 -0
  103. data/sorbet/rbi/gems/unicode-display_width.rbi +16 -0
  104. data/sorbet/rbi/gems/virtus.rbi +421 -0
  105. data/sorbet/rbi/hidden-definitions/errors.txt +7332 -0
  106. data/sorbet/rbi/hidden-definitions/hidden.rbi +17521 -0
  107. data/sorbet/rbi/sorbet-typed/lib/activemodel/all/activemodel.rbi +422 -0
  108. data/sorbet/rbi/sorbet-typed/lib/activesupport/>=6.0.0.rc1/activesupport.rbi +23 -0
  109. data/sorbet/rbi/sorbet-typed/lib/activesupport/all/activesupport.rbi +625 -0
  110. data/sorbet/rbi/sorbet-typed/lib/bundler/all/bundler.rbi +8684 -0
  111. data/sorbet/rbi/sorbet-typed/lib/minitest/all/minitest.rbi +99 -0
  112. data/sorbet/rbi/sorbet-typed/lib/rainbow/all/rainbow.rbi +254 -0
  113. data/sorbet/rbi/sorbet-typed/lib/ruby/all/gem.rbi +4222 -0
  114. data/sorbet/rbi/sorbet-typed/lib/ruby/all/open3.rbi +111 -0
  115. data/sorbet/rbi/sorbet-typed/lib/ruby/all/resolv.rbi +543 -0
  116. data/sorbet/rbi/todo.rbi +12 -0
  117. metadata +156 -24
  118. data/Gemfile.lock +0 -187
@@ -0,0 +1,17 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strong
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/descendants_tracker/all/descendants_tracker.rbi
9
+ #
10
+ # descendants_tracker-0.0.4
11
+ module DescendantsTracker
12
+ def add_descendant(descendant); end
13
+ def descendants; end
14
+ def inherited(descendant); end
15
+ def self.extended(descendant); end
16
+ def self.setup(descendant); end
17
+ end
@@ -0,0 +1,31 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strong
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/docile/all/docile.rbi
9
+ #
10
+ # docile-1.3.2
11
+ module Docile
12
+ def dsl_eval(dsl, *args, &block); end
13
+ def dsl_eval_immutable(dsl, *args, &block); end
14
+ def dsl_eval_with_block_return(dsl, *args, &block); end
15
+ def self.dsl_eval(dsl, *args, &block); end
16
+ def self.dsl_eval_immutable(dsl, *args, &block); end
17
+ def self.dsl_eval_with_block_return(dsl, *args, &block); end
18
+ extend Docile::Execution
19
+ end
20
+ module Docile::Execution
21
+ def exec_in_proxy_context(dsl, proxy_type, *args, &block); end
22
+ def self.exec_in_proxy_context(dsl, proxy_type, *args, &block); end
23
+ end
24
+ class Docile::FallbackContextProxy
25
+ def initialize(receiver, fallback); end
26
+ def instance_variables; end
27
+ def method_missing(method, *args, &block); end
28
+ end
29
+ class Docile::ChainingFallbackContextProxy < Docile::FallbackContextProxy
30
+ def method_missing(method, *args, &block); end
31
+ end
@@ -0,0 +1,89 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strong
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/dry-configurable/all/dry-configurable.rbi
9
+ #
10
+ # dry-configurable-0.8.3
11
+ module Dry
12
+ end
13
+ module Dry::Configurable
14
+ def clone; end
15
+ def config; end
16
+ def configure; end
17
+ def dup; end
18
+ def finalize!; end
19
+ def initialize(*arg0); end
20
+ def self.extended(base); end
21
+ def self.included(base); end
22
+ include Dry::Core::Constants
23
+ end
24
+ class Dry::Configurable::Settings
25
+ def add(key, value = nil, options = nil, &block); end
26
+ def config_class; end
27
+ def config_defined?; end
28
+ def create_config; end
29
+ def dup; end
30
+ def each; end
31
+ def empty?; end
32
+ def freeze; end
33
+ def initialize(settings = nil); end
34
+ def name?(name); end
35
+ def names; end
36
+ def self.capture(&block); end
37
+ def settings; end
38
+ end
39
+ class Dry::Configurable::Settings::ArgumentParser
40
+ def call(val, opts, block); end
41
+ def options(reader: nil); end
42
+ end
43
+ class Dry::Configurable::Setting
44
+ def initialize(name, value, processor, options = nil); end
45
+ def name; end
46
+ def node?; end
47
+ def options; end
48
+ def processor; end
49
+ def reader?; end
50
+ def undefined?; end
51
+ def value; end
52
+ end
53
+ class Dry::Configurable::Config
54
+ def [](name); end
55
+ def []=(name, value); end
56
+ def define!(parent_config = nil); end
57
+ def defined?; end
58
+ def dup; end
59
+ def finalize!; end
60
+ def initialize; end
61
+ def key?(name); end
62
+ def raise_unknown_setting_error(name); end
63
+ def self.[](settings); end
64
+ def self.config_defined?; end
65
+ def self.define_accessors!; end
66
+ def set_values!(parent); end
67
+ def to_h; end
68
+ def to_hash; end
69
+ def update(values); end
70
+ end
71
+ class Dry::Configurable::Settings::DSL
72
+ def initialize; end
73
+ def self.call(&block); end
74
+ def setting(*args, &block); end
75
+ end
76
+ class Dry::Configurable::Error < StandardError
77
+ end
78
+ class Dry::Configurable::AlreadyDefinedConfig < Dry::Configurable::Error
79
+ end
80
+ class Dry::Configurable::FrozenConfig < Dry::Configurable::Error
81
+ end
82
+ module Dry::Configurable::ClassMethods
83
+ def _settings; end
84
+ def inherited(subclass); end
85
+ def raise_already_defined_config(key); end
86
+ def self.extended(base); end
87
+ def setting(key, value = nil, options = nil, &block); end
88
+ def settings; end
89
+ end
@@ -0,0 +1,88 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strong
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/dry-container/all/dry-container.rbi
9
+ #
10
+ # dry-container-0.7.2
11
+ module Dry
12
+ end
13
+ class Dry::Container
14
+ def config; end
15
+ extend Dry::Configurable
16
+ extend Dry::Configurable::ClassMethods
17
+ include Dry::Container::Mixin
18
+ end
19
+ class Dry::Container::Error < StandardError
20
+ end
21
+ class Dry::Container::Namespace
22
+ def block; end
23
+ def initialize(name, &block); end
24
+ def name; end
25
+ end
26
+ class Dry::Container::Item
27
+ def call; end
28
+ def callable?; end
29
+ def initialize(item, options = nil); end
30
+ def item; end
31
+ def map(func); end
32
+ def options; end
33
+ def value?; end
34
+ end
35
+ class Dry::Container::Item::Memoizable < Dry::Container::Item
36
+ def call; end
37
+ def initialize(item, options = nil); end
38
+ def memoize_mutex; end
39
+ def raise_not_supported_error; end
40
+ end
41
+ class Dry::Container::Item::Callable < Dry::Container::Item
42
+ def call; end
43
+ end
44
+ class Dry::Container::Item::Factory
45
+ def call(item, options = nil); end
46
+ end
47
+ class Dry::Container::Registry
48
+ def call(container, key, item, options); end
49
+ def factory; end
50
+ def initialize; end
51
+ end
52
+ class Dry::Container::Resolver
53
+ def call(container, key); end
54
+ def each(container, &block); end
55
+ def each_key(container, &block); end
56
+ def key?(container, key); end
57
+ def keys(container); end
58
+ end
59
+ class Dry::Container::NamespaceDSL < SimpleDelegator
60
+ def import(namespace); end
61
+ def initialize(container, namespace, namespace_separator, &block); end
62
+ def namespace(namespace, &block); end
63
+ def namespaced(key); end
64
+ def register(key, *args, &block); end
65
+ def resolve(key); end
66
+ end
67
+ module Dry::Container::Mixin
68
+ def [](key); end
69
+ def _container; end
70
+ def clone; end
71
+ def decorate(key, with: nil, &block); end
72
+ def dup; end
73
+ def each(&block); end
74
+ def each_key(&block); end
75
+ def freeze; end
76
+ def import(namespace); end
77
+ def key?(key); end
78
+ def keys; end
79
+ def merge(other, namespace: nil); end
80
+ def namespace(namespace, &block); end
81
+ def register(key, contents = nil, options = nil, &block); end
82
+ def resolve(key, &block); end
83
+ def self.extended(base); end
84
+ def self.included(base); end
85
+ end
86
+ module Dry::Container::Mixin::Initializer
87
+ def initialize(*args, &block); end
88
+ end
@@ -0,0 +1,79 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strong
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/dry-core/all/dry-core.rbi
9
+ #
10
+ # dry-core-0.4.9
11
+ module Dry
12
+ end
13
+ module Dry::Core
14
+ end
15
+ module Dry::Core::Constants
16
+ def self.included(base); end
17
+ end
18
+ module Dry::Core::Deprecations
19
+ def self.[](tag); end
20
+ def self.announce(name, msg, tag: nil); end
21
+ def self.deprecated_name_message(old, new = nil, msg = nil); end
22
+ def self.deprecation_message(name, msg); end
23
+ def self.logger(output = nil); end
24
+ def self.set_logger!(output = nil); end
25
+ def self.warn(msg, tag: nil); end
26
+ end
27
+ class Dry::Core::Deprecations::Tagged < Module
28
+ def extended(base); end
29
+ def initialize(tag); end
30
+ end
31
+ module Dry::Core::Deprecations::Interface
32
+ def deprecate(old_name, new_name = nil, message: nil); end
33
+ def deprecate_class_method(old_name, new_name = nil, message: nil); end
34
+ def deprecate_constant(constant_name, message: nil); end
35
+ def deprecation_tag(tag = nil); end
36
+ def warn(msg); end
37
+ end
38
+ module Dry::Core::Extensions
39
+ def available_extension?(name); end
40
+ def load_extensions(*extensions); end
41
+ def register_extension(name, &block); end
42
+ def self.extended(obj); end
43
+ end
44
+ class Dry::Core::InvalidClassAttributeValue < StandardError
45
+ def initialize(name, value); end
46
+ end
47
+ module Dry::Core::ClassAttributes
48
+ def defines(*args, type: nil); end
49
+ include Dry::Core::Constants
50
+ end
51
+ module Dry::Core::Inflector
52
+ def self.camelize(input); end
53
+ def self.classify(input); end
54
+ def self.constantize(input); end
55
+ def self.demodulize(input); end
56
+ def self.detect_backend; end
57
+ def self.inflector; end
58
+ def self.pluralize(input); end
59
+ def self.realize_backend(path, backend_factory); end
60
+ def self.select_backend(name = nil); end
61
+ def self.singularize(input); end
62
+ def self.underscore(input); end
63
+ end
64
+ module Dry::Core::DescendantsTracker
65
+ def add_descendant(descendant); end
66
+ def descendants; end
67
+ def inherited(descendant); end
68
+ def self.extended(base); end
69
+ def self.setup(target); end
70
+ end
71
+ module Dry::Core::Cache
72
+ def cache; end
73
+ def fetch_or_store(*args, &block); end
74
+ def inherited(klass); end
75
+ def self.extended(klass); end
76
+ end
77
+ module Dry::Core::Cache::Methods
78
+ def fetch_or_store(*args, &block); end
79
+ end
@@ -0,0 +1,25 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strong
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/dry-equalizer/all/dry-equalizer.rbi
9
+ #
10
+ # dry-equalizer-0.2.2
11
+ module Dry
12
+ def self.Equalizer(*keys, **options); end
13
+ end
14
+ class Dry::Equalizer < Module
15
+ def define_cmp_method; end
16
+ def define_hash_method; end
17
+ def define_inspect_method; end
18
+ def define_methods(inspect: nil); end
19
+ def included(descendant); end
20
+ def initialize(*keys, inspect: nil); end
21
+ end
22
+ module Dry::Equalizer::Methods
23
+ def ==(other); end
24
+ def eql?(other); end
25
+ end
@@ -0,0 +1,72 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strong
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/dry-inflector/all/dry-inflector.rbi
9
+ #
10
+ # dry-inflector-0.2.0
11
+ module Dry
12
+ end
13
+ class Dry::Inflector
14
+ def camelize(input); end
15
+ def camelize_lower(input); end
16
+ def camelize_upper(input); end
17
+ def classify(input); end
18
+ def constantize(input); end
19
+ def dasherize(input); end
20
+ def demodulize(input); end
21
+ def foreign_key(input); end
22
+ def humanize(input); end
23
+ def inflections; end
24
+ def initialize(&blk); end
25
+ def inspect; end
26
+ def internal_camelize(input, upper); end
27
+ def ordinalize(number); end
28
+ def pluralize(input); end
29
+ def singularize(input); end
30
+ def tableize(input); end
31
+ def to_s; end
32
+ def uncountable?(input); end
33
+ def underscore(input); end
34
+ end
35
+ class Dry::Inflector::Rules
36
+ def apply_to(word); end
37
+ def each(&blk); end
38
+ def initialize; end
39
+ def insert(index, array); end
40
+ end
41
+ class Dry::Inflector::Acronyms
42
+ def add(rule, replacement); end
43
+ def apply_to(word, capitalize = nil); end
44
+ def define_regex_patterns; end
45
+ def initialize; end
46
+ def regex; end
47
+ end
48
+ class Dry::Inflector::Inflections
49
+ def acronym(*words); end
50
+ def acronyms; end
51
+ def add_irregular(rule, replacement, target); end
52
+ def human(rule, replacement); end
53
+ def humans; end
54
+ def initialize; end
55
+ def irregular(singular, plural); end
56
+ def plural(rule, replacement); end
57
+ def plurals; end
58
+ def rule(rule, replacement, target); end
59
+ def self.build(&blk); end
60
+ def singular(rule, replacement); end
61
+ def singulars; end
62
+ def uncountable(*words); end
63
+ def uncountables; end
64
+ end
65
+ module Dry::Inflector::Inflections::Defaults
66
+ def self.acronyms(inflect); end
67
+ def self.call(inflect); end
68
+ def self.irregular(inflect); end
69
+ def self.plural(inflect); end
70
+ def self.singular(inflect); end
71
+ def self.uncountable(inflect); end
72
+ end
@@ -0,0 +1,209 @@
1
+ # This file is autogenerated. Do not edit it by hand. Regenerate it with:
2
+ # srb rbi gems
3
+
4
+ # typed: strong
5
+ #
6
+ # If you would like to make changes to this file, great! Please create the gem's shim here:
7
+ #
8
+ # https://github.com/sorbet/sorbet-typed/new/master?filename=lib/dry-initializer/all/dry-initializer.rbi
9
+ #
10
+ # dry-initializer-3.0.1
11
+ module Dry::Initializer::UNDEFINED
12
+ end
13
+ module Dry::Initializer
14
+ def dry_initializer; end
15
+ def inherited(klass); end
16
+ def option(name, type = nil, **opts, &block); end
17
+ def param(name, type = nil, **opts, &block); end
18
+ extend Dry::Initializer::DSL
19
+ end
20
+ module Dry::Initializer::DSL
21
+ def [](undefined: nil, **arg1); end
22
+ def define(procedure = nil, &block); end
23
+ def extended(klass); end
24
+ def null; end
25
+ def self.extended(mod); end
26
+ end
27
+ class Dry::Initializer::Definition
28
+ def ==(other); end
29
+ def code; end
30
+ def default; end
31
+ def desc; end
32
+ def inch; end
33
+ def initialize(**options); end
34
+ def inspect; end
35
+ def ivar; end
36
+ def name; end
37
+ def null; end
38
+ def option; end
39
+ def optional; end
40
+ def options; end
41
+ def reader; end
42
+ def source; end
43
+ def target; end
44
+ def to_s; end
45
+ def to_str; end
46
+ def type; end
47
+ end
48
+ module Dry::Initializer::Builders
49
+ end
50
+ class Dry::Initializer::Builders::Reader
51
+ def attribute_line; end
52
+ def call; end
53
+ def initialize(definition); end
54
+ def lines; end
55
+ def method_lines; end
56
+ def self.[](definition); end
57
+ def type_line; end
58
+ def undef_line; end
59
+ end
60
+ class Dry::Initializer::Builders::Signature
61
+ def call; end
62
+ def initialize(config); end
63
+ def optional_params; end
64
+ def options; end
65
+ def required_params; end
66
+ def self.[](config); end
67
+ end
68
+ class Dry::Initializer::Builders::Attribute
69
+ def assignment_line; end
70
+ def call; end
71
+ def coercion_line; end
72
+ def default_line; end
73
+ def definition_line; end
74
+ def initialize(definition); end
75
+ def lines; end
76
+ def optional_reader; end
77
+ def reader_line; end
78
+ def required_reader; end
79
+ def self.[](definition); end
80
+ end
81
+ class Dry::Initializer::Builders::Initializer
82
+ def call; end
83
+ def define_line; end
84
+ def end_line; end
85
+ def initialize(config); end
86
+ def lines; end
87
+ def options_lines; end
88
+ def params_lines; end
89
+ def private_line; end
90
+ def self.[](config); end
91
+ def undef_line; end
92
+ end
93
+ class Dry::Initializer::Config
94
+ def add_definition(option, name, type, block, **opts); end
95
+ def attributes(instance); end
96
+ def check_order_of_params; end
97
+ def check_type(previous, current); end
98
+ def children; end
99
+ def code; end
100
+ def definitions; end
101
+ def extended_class; end
102
+ def final_definitions; end
103
+ def finalize; end
104
+ def inch; end
105
+ def initialize(extended_class = nil, null: nil); end
106
+ def mixin; end
107
+ def null; end
108
+ def option(name, type = nil, **opts, &block); end
109
+ def options; end
110
+ def param(name, type = nil, **opts, &block); end
111
+ def params; end
112
+ def parent; end
113
+ def public_attributes(instance); end
114
+ end
115
+ module Dry::Initializer::Mixin
116
+ def self.extended(klass); end
117
+ extend Dry::Initializer::DSL
118
+ include Dry::Initializer
119
+ end
120
+ module Dry::Initializer::Mixin::Root
121
+ def initialize(*args); end
122
+ end
123
+ module Dry::Initializer::Mixin::Local
124
+ def included(klass); end
125
+ def inspect; end
126
+ def klass; end
127
+ def to_s; end
128
+ def to_str; end
129
+ end
130
+ module Dry::Initializer::Dispatchers::BuildNestedType
131
+ def build_nested_type(parent, name, block); end
132
+ def build_struct(klass_name, block); end
133
+ def call(parent:, source:, target:, type: nil, block: nil, **options); end
134
+ def check_certainty!(source, type, block); end
135
+ def check_name!(name, block); end
136
+ def full_name(parent, name); end
137
+ extend Dry::Initializer::Dispatchers::BuildNestedType
138
+ end
139
+ module Dry::Initializer::Dispatchers::CheckType
140
+ def call(source:, type: nil, wrap: nil, **options); end
141
+ def check_arity!(_source, type, wrap); end
142
+ def check_if_callable!(source, type); end
143
+ extend Dry::Initializer::Dispatchers::CheckType
144
+ end
145
+ module Dry::Initializer::Dispatchers::PrepareDefault
146
+ def call(default: nil, optional: nil, **options); end
147
+ def callable!(default); end
148
+ def check_arity!(default); end
149
+ def invalid!(default); end
150
+ extend Dry::Initializer::Dispatchers::PrepareDefault
151
+ end
152
+ module Dry::Initializer::Dispatchers::PrepareIvar
153
+ def call(target:, **options); end
154
+ def self.call(target:, **options); end
155
+ end
156
+ module Dry::Initializer::Dispatchers::PrepareOptional
157
+ def call(optional: nil, default: nil, required: nil, **options); end
158
+ def self.call(optional: nil, default: nil, required: nil, **options); end
159
+ end
160
+ module Dry::Initializer::Dispatchers::PrepareReader
161
+ def call(target: nil, reader: nil, **options); end
162
+ def invalid_reader!(target, _reader); end
163
+ extend Dry::Initializer::Dispatchers::PrepareReader
164
+ end
165
+ module Dry::Initializer::Dispatchers::PrepareSource
166
+ def call(source:, **options); end
167
+ def self.call(source:, **options); end
168
+ end
169
+ module Dry::Initializer::Dispatchers::PrepareTarget
170
+ def call(source:, target: nil, as: nil, **options); end
171
+ def check_reserved_names!(target); end
172
+ def check_ruby_name!(target); end
173
+ extend Dry::Initializer::Dispatchers::PrepareTarget
174
+ end
175
+ module Dry::Initializer::Dispatchers::UnwrapType
176
+ def call(type: nil, wrap: nil, **options); end
177
+ def unwrap(type, count); end
178
+ extend Dry::Initializer::Dispatchers::UnwrapType
179
+ end
180
+ module Dry::Initializer::Dispatchers::WrapType
181
+ def call(type: nil, wrap: nil, **options); end
182
+ def wrap_value(value, count, type); end
183
+ def wrapped_type(type, count); end
184
+ extend Dry::Initializer::Dispatchers::WrapType
185
+ end
186
+ module Dry::Initializer::Dispatchers
187
+ def <<(dispatcher); end
188
+ def call(**options); end
189
+ def null; end
190
+ def null=(arg0); end
191
+ def pipeline; end
192
+ extend Dry::Initializer::Dispatchers
193
+ end
194
+ class Dry::Initializer::Struct
195
+ def __hashify(value); end
196
+ def self.call(options); end
197
+ def self.new(options); end
198
+ def to_h; end
199
+ extend Dry::Initializer
200
+ include Anonymous_Module_64
201
+ include Dry::Initializer::Mixin::Root
202
+ end
203
+ module Anonymous_Module_64
204
+ def __dry_initializer_config__; end
205
+ def __dry_initializer_initialize__(*arg0); end
206
+ extend Dry::Initializer::Mixin::Local
207
+ end
208
+ module Dry
209
+ end