c80_shared 0.1.62 → 0.1.63

Sign up to get free protection for your applications and to get access to all the features.
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