c80_shared 0.1.62 → 0.1.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/app/serializers/boat_serializer.rb +5 -0
  3. data/lib/c80_shared/version.rb +1 -1
  4. data/lib/c80_shared.rb +1 -1
  5. data/scratch_105___02.txt +13 -0
  6. metadata +3 -44
  7. data/app/repositories/accounts/admin_account_repository.rb +0 -35
  8. data/app/repositories/accounts/central_agent_account_repository.rb +0 -46
  9. data/app/repositories/accounts/client_account_repository.rb +0 -43
  10. data/app/repositories/accounts/manager_account_repository.rb +0 -35
  11. data/app/repositories/accounts/manager_guest_account_repository.rb +0 -35
  12. data/app/repositories/accounts/moderator_account_repository.rb +0 -35
  13. data/app/schemas/base.rb +0 -69
  14. data/app/schemas/base_boat_schema.rb +0 -235
  15. data/app/schemas/central_agent/save_boat_schema.rb +0 -57
  16. data/app/services/abstract_prices_service.rb +0 -70
  17. data/app/services/boats/boat_prices_save_service.rb +0 -81
  18. data/app/services/boats/boat_sale_prices_save_service.rb +0 -60
  19. data/app/services/boats/dimension_service.rb +0 -44
  20. data/app/services/central_agent/save_boat_service.rb +0 -111
  21. data/app/services/lease/create_broadcast_inquiry_service.rb +0 -62
  22. data/app/services/lease/destroy_inquiry_service.rb +0 -5
  23. data/config/initializers/core_ext/active_record_log_subscriber.rb +0 -60
  24. data/config/initializers/core_ext/string.rb +0 -62
  25. data/lib/dry/errors.rb +0 -77
  26. data/lib/dry/rule.rb +0 -75
  27. data/lib/dry/rules/and.rb +0 -13
  28. data/lib/dry/rules/between.rb +0 -20
  29. data/lib/dry/rules/binary.rb +0 -18
  30. data/lib/dry/rules/collection.rb +0 -18
  31. data/lib/dry/rules/composite.rb +0 -21
  32. data/lib/dry/rules/equal.rb +0 -20
  33. data/lib/dry/rules/format.rb +0 -20
  34. data/lib/dry/rules/greater_than.rb +0 -20
  35. data/lib/dry/rules/greater_than_or_equal.rb +0 -20
  36. data/lib/dry/rules/included.rb +0 -20
  37. data/lib/dry/rules/length_between.rb +0 -20
  38. data/lib/dry/rules/length_equal.rb +0 -20
  39. data/lib/dry/rules/less_than.rb +0 -20
  40. data/lib/dry/rules/less_than_or_equal.rb +0 -20
  41. data/lib/dry/rules/max_length.rb +0 -20
  42. data/lib/dry/rules/min_length.rb +0 -20
  43. data/lib/dry/rules/not_equal.rb +0 -20
  44. data/lib/dry/rules/or.rb +0 -15
  45. data/lib/dry/rules/present.rb +0 -23
  46. data/lib/dry/rules/then.rb +0 -15
  47. data/lib/dry/rules_factory.rb +0 -134
  48. data/lib/dry/schema.rb +0 -148
data/lib/dry/schema.rb DELETED
@@ -1,148 +0,0 @@
1
- module Dry
2
- module Schema
3
-
4
- attr_reader :attributes, :errors
5
-
6
- def initialize(params)
7
- @errors = Dry::Errors.new
8
- @attributes = cast({ wrap: params }.deep_symbolize_keys[:wrap], schema)
9
- JSON::Validator.validate!(schema, attributes)
10
- end
11
-
12
-
13
- def [](key)
14
- attributes[key.to_sym]
15
- end
16
-
17
-
18
- def valid?
19
- validate_attributes(attributes, schema)
20
- validate_additional
21
- !errors.any?
22
- end
23
-
24
-
25
- def schema
26
- raise NotImplemented
27
- end
28
-
29
-
30
- private
31
-
32
-
33
- def validate_additional
34
- end
35
-
36
-
37
- def validate_attributes(props, schema, parents = [], key = nil)
38
- case props
39
- when Dry::Schema
40
- errors.merge!(props.errors, (parents + [key]).compact.join('.')) unless props.valid?
41
- else
42
- [schema[:rule]].flatten.compact.each do |rule|
43
- rule = rule.arity == 0 ? rule(key, parents, &rule) : rule.call(parents)
44
- rule.valid? if rule
45
- end
46
- end
47
-
48
- if schema[:properties]
49
- (schema[:properties] || {}).each do |_key, data|
50
- validate_attributes((props.present? ? props : {})[_key.to_sym], data, (parents + [key]).compact, _key)
51
- end
52
- elsif schema[:items]
53
- (props.present? ? props : []).each_with_index do |e, i|
54
- validate_attributes(e, schema[:items], (parents + [key]).compact, i)
55
- end
56
- end
57
-
58
- if schema[:oneOf] || schema[:allOf] || schema[:anyOf]
59
- [:oneOf, :allOf, :anyOf].each do |k|
60
- s = schema[k]
61
- case s
62
- when Hash
63
- validate_attributes(props, s, parents, key)
64
- when Array
65
- s.each { |_s| validate_attributes(props, _s, parents, key) if _s.is_a?(Hash) }
66
- else
67
- end
68
- end
69
- end
70
- end
71
-
72
-
73
- def cast(params, schema)
74
- props = schema.is_a?(Hash) && schema[:cast] ? schema[:cast].call(params) : params
75
-
76
- case props
77
- when Hash
78
- props.each_with_object({}) do |(key, value), result|
79
- result[key] = find_schemas_for_attribute(key, schema).inject((value.dup rescue value)) do
80
- |_value, _schema| _value = cast(_value, _schema); _value
81
- end
82
- end
83
- when Array
84
- props.map { |e| cast(e, (schema[:items] rescue nil)) }
85
- else
86
- props
87
- end
88
- end
89
-
90
-
91
- def rule(attrs, parents, messages = {}, name = nil, &block)
92
- if block.arity == 0
93
- _attrs = [attrs].flatten.compact
94
- raise 'Invalid rule' if _attrs.size > 1
95
- single_rule(parents + _attrs, messages, &block)
96
- else
97
- multi_rule(attrs, parents, messages, name, &block)
98
- end
99
- end
100
-
101
-
102
- def single_rule(keys, messages = {}, &block)
103
- value = attributes.dig(*keys) rescue nil
104
- factory = Dry::RulesFactory.new(value, errors, key: keys.join('.'), messages: messages)
105
- factory.instance_exec &block
106
- end
107
-
108
-
109
- def multi_rule(keys, parents, messages = {}, name = nil, &block)
110
- _keys = [keys].flatten.compact
111
- data = parents.present? ? attributes.dig(*parents) : attributes
112
-
113
- data = _keys.inject({}) do |res, key|
114
- res[key.to_sym] = data[key.to_sym] rescue nil; res
115
- end
116
-
117
- factories = data.map do |key, value|
118
- _key = name || key
119
- _key = (parents + [_key]).join('.')
120
- Dry::RulesFactory.new(value, errors, key: _key, messages: messages)
121
- end
122
-
123
- block.call *factories
124
- end
125
-
126
-
127
- def find_schemas_for_attribute(key, schema, schemas = [])
128
- case schema
129
- when Hash
130
- s = schema[:properties][key] rescue nil
131
- schemas << s if s
132
- [:allOf, :anyOf, :oneOf].each { |k| find_schemas_for_attribute(key, schema[k], schemas) }
133
- when Array
134
- schema.each { |s| find_schemas_for_attribute(key, s, schemas) }
135
- else
136
- end
137
-
138
-
139
- schemas
140
- end
141
-
142
-
143
- def method_missing(method)
144
- attributes[method.to_sym]
145
- end
146
-
147
- end
148
- end