ree_lib 1.0.93 → 1.0.95

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 (71) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -0
  3. data/Gemfile.lock +41 -36
  4. data/lib/ree_lib/packages/ree_dao/package/ree_dao/wrappers/pg_array.rb +34 -26
  5. data/lib/ree_lib/packages/ree_dao/package/ree_dao/wrappers/pg_jsonb.rb +35 -25
  6. data/lib/ree_lib/packages/ree_enum/package/ree_enum/base_enum_mapper.rb +6 -18
  7. data/lib/ree_lib/packages/ree_enum/package/ree_enum/integer_value_enum_mapper.rb +6 -18
  8. data/lib/ree_lib/packages/ree_enum/package/ree_enum/string_value_enum_mapper.rb +6 -18
  9. data/lib/ree_lib/packages/ree_errors/Package.schema.json +10 -7
  10. data/lib/ree_lib/packages/ree_errors/package/ree_errors/auth_error.rb +8 -8
  11. data/lib/ree_lib/packages/ree_errors/package/ree_errors/build_error.rb +4 -2
  12. data/lib/ree_lib/packages/ree_errors/package/ree_errors/conflict_error.rb +8 -8
  13. data/lib/ree_lib/packages/ree_errors/package/ree_errors/error.rb +89 -6
  14. data/lib/ree_lib/packages/ree_errors/package/ree_errors/invalid_param_error.rb +9 -9
  15. data/lib/ree_lib/packages/ree_errors/package/ree_errors/not_found_error.rb +8 -8
  16. data/lib/ree_lib/packages/ree_errors/package/ree_errors/payment_required_error.rb +8 -8
  17. data/lib/ree_lib/packages/ree_errors/package/ree_errors/permission_error.rb +8 -8
  18. data/lib/ree_lib/packages/ree_errors/package/ree_errors/validation_error.rb +8 -8
  19. data/lib/ree_lib/packages/ree_errors/package/ree_errors.rb +1 -0
  20. data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/auth_error.schema.json +24 -1
  21. data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/build_error.schema.json +10 -0
  22. data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/conflict_error.schema.json +24 -1
  23. data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/invalid_param_error.schema.json +24 -1
  24. data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/not_found_error.schema.json +24 -1
  25. data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/payment_required_error.schema.json +24 -1
  26. data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/permission_error.schema.json +24 -1
  27. data/lib/ree_lib/packages/ree_errors/schemas/ree_errors/validation_error.schema.json +24 -1
  28. data/lib/ree_lib/packages/ree_errors/spec/ree_errors/auth_error_spec.rb +22 -8
  29. data/lib/ree_lib/packages/ree_errors/spec/ree_errors/invalid_param_error_spec.rb +3 -1
  30. data/lib/ree_lib/packages/ree_errors/spec/ree_errors/locales/en.yml +6 -1
  31. data/lib/ree_lib/packages/ree_errors/spec/ree_errors/not_found_error_spec.rb +3 -1
  32. data/lib/ree_lib/packages/ree_errors/spec/ree_errors/payment_required_error_spec.rb +3 -1
  33. data/lib/ree_lib/packages/ree_errors/spec/ree_errors/permission_error_spec.rb +3 -1
  34. data/lib/ree_lib/packages/ree_errors/spec/ree_errors/validation_error_spec.rb +3 -1
  35. data/lib/ree_lib/packages/ree_i18n/Package.schema.json +7 -0
  36. data/lib/ree_lib/packages/ree_i18n/package/ree_i18n/functions/check_locale_exists.rb +12 -0
  37. data/lib/ree_lib/packages/ree_i18n/schemas/ree_i18n/functions/check_locale_exists.schema.json +33 -0
  38. data/lib/ree_lib/packages/ree_i18n/spec/ree_i18n/functions/check_locale_exists.rb +16 -0
  39. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/errors/error_with_location.rb +47 -14
  40. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/field.rb +1 -1
  41. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/fields_filter.rb +11 -20
  42. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/mapper.rb +36 -48
  43. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/abstract_type.rb +2 -2
  44. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/any.rb +8 -8
  45. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/bool.rb +12 -12
  46. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/date.rb +14 -14
  47. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/date_time.rb +13 -13
  48. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/float.rb +14 -14
  49. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/integer.rb +13 -13
  50. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/rational.rb +14 -14
  51. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/string.rb +12 -12
  52. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/types/time.rb +13 -13
  53. data/lib/ree_lib/packages/ree_mapper/package/ree_mapper/wrappers/array.rb +88 -80
  54. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/benchmarks/mapper_benchmark_spec.rb +41 -1
  55. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/mapper_factory_spec.rb +17 -6
  56. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/hash_spec.rb +1 -1
  57. data/lib/ree_lib/packages/ree_mapper/spec/ree_mapper/types/type_options_spec.rb +7 -26
  58. data/lib/ree_lib/packages/ree_roda/spec/ree_roda/services/build_swagger_from_routes_spec.rb +7 -4
  59. data/lib/ree_lib/packages/ree_roda/spec/ree_roda/services/locales/en.yml +3 -1
  60. data/lib/ree_lib/packages/ree_string/package/ree_string/functions/deconstantize.rb +1 -1
  61. data/lib/ree_lib/packages/ree_swagger/Package.schema.json +3 -0
  62. data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_parameters.rb +2 -1
  63. data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_request_body_schema.rb +12 -5
  64. data/lib/ree_lib/packages/ree_swagger/package/ree_swagger/functions/build_serializer_schema.rb +12 -5
  65. data/lib/ree_lib/packages/ree_swagger/package/ree_swagger.rb +1 -0
  66. data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/build_parameters.schema.json +8 -0
  67. data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/build_request_body_schema.schema.json +1 -1
  68. data/lib/ree_lib/packages/ree_swagger/schemas/ree_swagger/functions/build_serializer_schema.schema.json +1 -1
  69. data/lib/ree_lib/version.rb +1 -1
  70. metadata +5 -3
  71. data/lib/ree_lib/packages/ree_errors/package/ree_errors/error_factory.rb +0 -15
@@ -3,15 +3,46 @@ module ReeErrors
3
3
  include Ree::LinkDSL
4
4
 
5
5
  link :t, from: :ree_i18n
6
+ link :check_locale_exists, from: :ree_i18n
7
+ link :underscore, from: :ree_string
6
8
 
7
9
  def initialize(msg = nil)
8
- if !locale && !msg
9
- raise ArgumentError, "message or locale should be specified"
10
+ if !msg && !locale && !default_msg
11
+ raise ArgumentError, "message, locale or default message should be specified"
10
12
  end
11
13
 
12
- super(
13
- locale ? t(locale, default_by_locale: :en) : msg
14
- )
14
+ message = if msg
15
+ msg
16
+ elsif default_msg
17
+ default_msg
18
+ else
19
+ path = (locale || code).to_s
20
+ has_path = path.include?(".")
21
+
22
+ if has_path
23
+ pre_path = [caller_module, caller_class].compact.map { underscore(_)}.join(".")
24
+
25
+ if check_locale_exists(path)
26
+ t(path, default_by_locale: :en)
27
+ else
28
+ t("#{pre_path}.#{path}", default_by_locale: :en)
29
+ end
30
+ else
31
+ if caller_module
32
+ mod = underscore(caller_module)
33
+ klass = underscore(caller_class)
34
+
35
+ if check_locale_exists(loc = "#{mod}.errors.#{klass}.#{path}")
36
+ t(loc, default_by_locale: :en)
37
+ else check_locale_exists(loc = "#{mod}.errors.#{path}")
38
+ t(loc, default_by_locale: :en)
39
+ end
40
+ else
41
+ end
42
+ end
43
+ end
44
+
45
+ super(message)
15
46
  end
16
47
 
17
48
  def type
@@ -26,20 +57,72 @@ module ReeErrors
26
57
  t
27
58
  end
28
59
 
60
+ def default_msg
61
+ self.class.instance_variable_get(:@default_msg)
62
+ end
63
+
29
64
  def locale
30
65
  self.class.instance_variable_get(:@locale)
31
66
  end
32
67
 
68
+ def caller
69
+ self.class.instance_variable_get(:@caller)
70
+ end
71
+
72
+ def caller_module
73
+ @caller_module ||= begin
74
+ if !caller
75
+ nil
76
+ else
77
+ c = caller
78
+
79
+ if c.is_a?(Class)
80
+ extract_module_name(c.to_s)
81
+ else
82
+ extract_module_name(c.class.to_s)
83
+ end
84
+ end
85
+ end
86
+ end
87
+
88
+ def caller_class
89
+ @caller_class ||= begin
90
+ if !caller
91
+ nil
92
+ else
93
+ c = caller
94
+
95
+ if c.is_a?(Class)
96
+ extract_class_name(c.to_s)
97
+ else
98
+ extract_class_name(c.class.to_s)
99
+ end
100
+ end
101
+ end
102
+ end
103
+
33
104
  def code
34
105
  c = self.class.instance_variable_get(:@code)
35
106
 
36
107
  if !c
37
108
  raise ArgumentError.new(
38
- "code was not specified for domain error => #{self.inspect}"
109
+ "code not specified for error => #{self.inspect}"
39
110
  )
40
111
  end
41
112
 
42
113
  c
43
114
  end
115
+
116
+ private
117
+
118
+ def extract_module_name(klass_str)
119
+ class_name = klass_str.split("::").first
120
+ return nil if class_name == klass_str
121
+ return class_name
122
+ end
123
+
124
+ def extract_class_name(klass_str)
125
+ klass_str.split("::").last
126
+ end
44
127
  end
45
128
  end
@@ -1,15 +1,15 @@
1
- require_relative 'error_factory'
1
+ class ReeErrors::InvalidParamError
2
+ include Ree::FnDSL
2
3
 
3
- class ReeErrors::InvalidParamError < ReeErrors::ErrorFactory
4
- include Ree::BeanDSL
5
-
6
- bean :invalid_param_error do
4
+ fn :invalid_param_error do
5
+ target :class
6
+ with_caller
7
7
  link :build_error
8
8
  link 'ree_errors/error', -> { Error }
9
9
  end
10
10
 
11
- contract Symbol, Nilor[String] => SubclassOf[Error]
12
- def build(code, locale = nil)
13
- build_error(:invalid_param, code, locale)
11
+ contract Symbol, Nilor[String], Kwargs[msg: Nilor[String]] => SubclassOf[Error]
12
+ def call(code, locale = nil, msg: nil)
13
+ build_error(get_caller, :invalid_param, code,locale, msg)
14
14
  end
15
- end
15
+ end
@@ -1,15 +1,15 @@
1
- require_relative 'error_factory'
1
+ class ReeErrors::NotFoundError
2
+ include Ree::FnDSL
2
3
 
3
- class ReeErrors::NotFoundError < ReeErrors::ErrorFactory
4
- include Ree::BeanDSL
5
-
6
- bean :not_found_error do
4
+ fn :not_found_error do
5
+ target :class
6
+ with_caller
7
7
  link :build_error
8
8
  link 'ree_errors/error', -> { Error }
9
9
  end
10
10
 
11
- contract Symbol, Nilor[String] => SubclassOf[Error]
12
- def build(code, locale = nil)
13
- build_error(:not_found, code, locale)
11
+ contract Symbol, Nilor[String], Kwargs[msg: Nilor[String]] => SubclassOf[Error]
12
+ def call(code, locale = nil, msg: nil)
13
+ build_error(get_caller, :not_found, code,locale, msg)
14
14
  end
15
15
  end
@@ -1,15 +1,15 @@
1
- require_relative 'error_factory'
1
+ class ReeErrors::PaymentRequiredError
2
+ include Ree::FnDSL
2
3
 
3
- class ReeErrors::PaymentRequiredError < ReeErrors::ErrorFactory
4
- include Ree::BeanDSL
5
-
6
- bean :payment_required_error do
4
+ fn :payment_required_error do
5
+ target :class
6
+ with_caller
7
7
  link :build_error
8
8
  link 'ree_errors/error', -> { Error }
9
9
  end
10
10
 
11
- contract Symbol, Nilor[String] => SubclassOf[Error]
12
- def build(code, locale = nil)
13
- build_error(:payment_required, code, locale)
11
+ contract Symbol, Nilor[String], Kwargs[msg: Nilor[String]] => SubclassOf[Error]
12
+ def call(code, locale = nil, msg: nil)
13
+ build_error(get_caller, :payment_required, code,locale, msg)
14
14
  end
15
15
  end
@@ -1,15 +1,15 @@
1
- require_relative 'error_factory'
1
+ class ReeErrors::PermissionError
2
+ include Ree::FnDSL
2
3
 
3
- class ReeErrors::PermissionError < ReeErrors::ErrorFactory
4
- include Ree::BeanDSL
5
-
6
- bean :permission_error do
4
+ fn :permission_error do
5
+ target :class
6
+ with_caller
7
7
  link :build_error
8
8
  link 'ree_errors/error', -> { Error }
9
9
  end
10
10
 
11
- contract Symbol, Nilor[String] => SubclassOf[Error]
12
- def build(code, locale = nil)
13
- build_error(:permission, code, locale)
11
+ contract Symbol, Nilor[String], Kwargs[msg: Nilor[String]] => SubclassOf[Error]
12
+ def call(code, locale = nil, msg: nil)
13
+ build_error(get_caller, :permission, code,locale, msg)
14
14
  end
15
15
  end
@@ -1,15 +1,15 @@
1
- require_relative 'error_factory'
1
+ class ReeErrors::ValidationError
2
+ include Ree::FnDSL
2
3
 
3
- class ReeErrors::ValidationError < ReeErrors::ErrorFactory
4
- include Ree::BeanDSL
5
-
6
- bean :validation_error do
4
+ fn :validation_error do
5
+ target :class
6
+ with_caller
7
7
  link :build_error
8
8
  link 'ree_errors/error', -> { Error }
9
9
  end
10
10
 
11
- contract Symbol, Nilor[String] => SubclassOf[Error]
12
- def build(code, locale = nil)
13
- build_error(:validation, code, locale)
11
+ contract Symbol, Nilor[String], Kwargs[msg: Nilor[String]] => SubclassOf[Error]
12
+ def call(code, locale = nil, msg: nil)
13
+ build_error(get_caller, :validation, code,locale, msg)
14
14
  end
15
15
  end
@@ -3,5 +3,6 @@ module ReeErrors
3
3
 
4
4
  package do
5
5
  depends_on :ree_i18n
6
+ depends_on :ree_string
6
7
  end
7
8
  end
@@ -3,11 +3,34 @@
3
3
  "schema_version": "1.1",
4
4
  "name": "auth_error",
5
5
  "path": "packages/ree_errors/package/ree_errors/auth_error.rb",
6
- "mount_as": "object",
6
+ "mount_as": "fn",
7
7
  "class": "ReeErrors::AuthError",
8
8
  "factory": null,
9
9
  "methods": [
10
+ {
11
+ "doc": "",
12
+ "throws": [
10
13
 
14
+ ],
15
+ "return": "SubclassOf[ReeErrors::Error]",
16
+ "args": [
17
+ {
18
+ "arg": "code",
19
+ "arg_type": "req",
20
+ "type": "Symbol"
21
+ },
22
+ {
23
+ "arg": "locale",
24
+ "arg_type": "opt",
25
+ "type": "Nilor[String]"
26
+ },
27
+ {
28
+ "arg": "msg",
29
+ "arg_type": "key",
30
+ "type": "Nilor[String]"
31
+ }
32
+ ]
33
+ }
11
34
  ],
12
35
  "links": [
13
36
  {
@@ -14,6 +14,11 @@
14
14
  ],
15
15
  "return": "SubclassOf[ReeErrors::Error]",
16
16
  "args": [
17
+ {
18
+ "arg": "caller",
19
+ "arg_type": "req",
20
+ "type": "Any"
21
+ },
17
22
  {
18
23
  "arg": "type",
19
24
  "arg_type": "req",
@@ -28,6 +33,11 @@
28
33
  "arg": "locale",
29
34
  "arg_type": "req",
30
35
  "type": "Nilor[String]"
36
+ },
37
+ {
38
+ "arg": "default_msg",
39
+ "arg_type": "req",
40
+ "type": "Nilor[String]"
31
41
  }
32
42
  ]
33
43
  }
@@ -3,11 +3,34 @@
3
3
  "schema_version": "1.1",
4
4
  "name": "conflict_error",
5
5
  "path": "packages/ree_errors/package/ree_errors/conflict_error.rb",
6
- "mount_as": "object",
6
+ "mount_as": "fn",
7
7
  "class": "ReeErrors::ConflictError",
8
8
  "factory": null,
9
9
  "methods": [
10
+ {
11
+ "doc": "",
12
+ "throws": [
10
13
 
14
+ ],
15
+ "return": "SubclassOf[ReeErrors::Error]",
16
+ "args": [
17
+ {
18
+ "arg": "code",
19
+ "arg_type": "req",
20
+ "type": "Symbol"
21
+ },
22
+ {
23
+ "arg": "locale",
24
+ "arg_type": "opt",
25
+ "type": "Nilor[String]"
26
+ },
27
+ {
28
+ "arg": "msg",
29
+ "arg_type": "key",
30
+ "type": "Nilor[String]"
31
+ }
32
+ ]
33
+ }
11
34
  ],
12
35
  "links": [
13
36
  {
@@ -3,11 +3,34 @@
3
3
  "schema_version": "1.1",
4
4
  "name": "invalid_param_error",
5
5
  "path": "packages/ree_errors/package/ree_errors/invalid_param_error.rb",
6
- "mount_as": "object",
6
+ "mount_as": "fn",
7
7
  "class": "ReeErrors::InvalidParamError",
8
8
  "factory": null,
9
9
  "methods": [
10
+ {
11
+ "doc": "",
12
+ "throws": [
10
13
 
14
+ ],
15
+ "return": "SubclassOf[ReeErrors::Error]",
16
+ "args": [
17
+ {
18
+ "arg": "code",
19
+ "arg_type": "req",
20
+ "type": "Symbol"
21
+ },
22
+ {
23
+ "arg": "locale",
24
+ "arg_type": "opt",
25
+ "type": "Nilor[String]"
26
+ },
27
+ {
28
+ "arg": "msg",
29
+ "arg_type": "key",
30
+ "type": "Nilor[String]"
31
+ }
32
+ ]
33
+ }
11
34
  ],
12
35
  "links": [
13
36
  {
@@ -3,11 +3,34 @@
3
3
  "schema_version": "1.1",
4
4
  "name": "not_found_error",
5
5
  "path": "packages/ree_errors/package/ree_errors/not_found_error.rb",
6
- "mount_as": "object",
6
+ "mount_as": "fn",
7
7
  "class": "ReeErrors::NotFoundError",
8
8
  "factory": null,
9
9
  "methods": [
10
+ {
11
+ "doc": "",
12
+ "throws": [
10
13
 
14
+ ],
15
+ "return": "SubclassOf[ReeErrors::Error]",
16
+ "args": [
17
+ {
18
+ "arg": "code",
19
+ "arg_type": "req",
20
+ "type": "Symbol"
21
+ },
22
+ {
23
+ "arg": "locale",
24
+ "arg_type": "opt",
25
+ "type": "Nilor[String]"
26
+ },
27
+ {
28
+ "arg": "msg",
29
+ "arg_type": "key",
30
+ "type": "Nilor[String]"
31
+ }
32
+ ]
33
+ }
11
34
  ],
12
35
  "links": [
13
36
  {
@@ -3,11 +3,34 @@
3
3
  "schema_version": "1.1",
4
4
  "name": "payment_required_error",
5
5
  "path": "packages/ree_errors/package/ree_errors/payment_required_error.rb",
6
- "mount_as": "object",
6
+ "mount_as": "fn",
7
7
  "class": "ReeErrors::PaymentRequiredError",
8
8
  "factory": null,
9
9
  "methods": [
10
+ {
11
+ "doc": "",
12
+ "throws": [
10
13
 
14
+ ],
15
+ "return": "SubclassOf[ReeErrors::Error]",
16
+ "args": [
17
+ {
18
+ "arg": "code",
19
+ "arg_type": "req",
20
+ "type": "Symbol"
21
+ },
22
+ {
23
+ "arg": "locale",
24
+ "arg_type": "opt",
25
+ "type": "Nilor[String]"
26
+ },
27
+ {
28
+ "arg": "msg",
29
+ "arg_type": "key",
30
+ "type": "Nilor[String]"
31
+ }
32
+ ]
33
+ }
11
34
  ],
12
35
  "links": [
13
36
  {
@@ -3,11 +3,34 @@
3
3
  "schema_version": "1.1",
4
4
  "name": "permission_error",
5
5
  "path": "packages/ree_errors/package/ree_errors/permission_error.rb",
6
- "mount_as": "object",
6
+ "mount_as": "fn",
7
7
  "class": "ReeErrors::PermissionError",
8
8
  "factory": null,
9
9
  "methods": [
10
+ {
11
+ "doc": "",
12
+ "throws": [
10
13
 
14
+ ],
15
+ "return": "SubclassOf[ReeErrors::Error]",
16
+ "args": [
17
+ {
18
+ "arg": "code",
19
+ "arg_type": "req",
20
+ "type": "Symbol"
21
+ },
22
+ {
23
+ "arg": "locale",
24
+ "arg_type": "opt",
25
+ "type": "Nilor[String]"
26
+ },
27
+ {
28
+ "arg": "msg",
29
+ "arg_type": "key",
30
+ "type": "Nilor[String]"
31
+ }
32
+ ]
33
+ }
11
34
  ],
12
35
  "links": [
13
36
  {
@@ -3,11 +3,34 @@
3
3
  "schema_version": "1.1",
4
4
  "name": "validation_error",
5
5
  "path": "packages/ree_errors/package/ree_errors/validation_error.rb",
6
- "mount_as": "object",
6
+ "mount_as": "fn",
7
7
  "class": "ReeErrors::ValidationError",
8
8
  "factory": null,
9
9
  "methods": [
10
+ {
11
+ "doc": "",
12
+ "throws": [
10
13
 
14
+ ],
15
+ "return": "SubclassOf[ReeErrors::Error]",
16
+ "args": [
17
+ {
18
+ "arg": "code",
19
+ "arg_type": "req",
20
+ "type": "Symbol"
21
+ },
22
+ {
23
+ "arg": "locale",
24
+ "arg_type": "opt",
25
+ "type": "Nilor[String]"
26
+ },
27
+ {
28
+ "arg": "msg",
29
+ "arg_type": "key",
30
+ "type": "Nilor[String]"
31
+ }
32
+ ]
33
+ }
11
34
  ],
12
35
  "links": [
13
36
  {
@@ -2,25 +2,27 @@ package_require('ree_errors/auth_error')
2
2
 
3
3
  RSpec.describe ReeErrors::AuthError do
4
4
  link :add_load_path, from: :ree_i18n
5
+ link :auth_error, from: :ree_errors
5
6
 
6
7
  before :all do
7
8
  add_load_path(Dir[File.join(__dir__, 'locales/*.yml')])
8
9
  end
9
10
 
10
11
  it {
11
- klass = described_class.build(:code, 'ree_errors_test.error')
12
- error = klass.new('CUSTOM MESSAGE')
12
+ klass = auth_error(:code, 'ree_errors_test.error', msg: "test")
13
+ error = klass.new
13
14
 
14
15
  expect(klass).to be_a(Class)
15
16
  expect(error).to be_a(ReeErrors::Error)
16
- expect(error.message).to eq('test error message')
17
+ expect(error.message).to eq('test')
17
18
  expect(error.code).to eq(:code)
18
19
  expect(error.type).to eq(:auth)
19
20
  expect(error.locale).to eq('ree_errors_test.error')
21
+ expect(error.caller).to eq(self)
20
22
  }
21
23
 
22
24
  it {
23
- klass = described_class.build(:code)
25
+ klass = auth_error(:code)
24
26
 
25
27
  expect {
26
28
  klass.new
@@ -28,7 +30,7 @@ RSpec.describe ReeErrors::AuthError do
28
30
  }
29
31
 
30
32
  it {
31
- klass = described_class.build(:code)
33
+ klass = auth_error(:code)
32
34
  error = klass.new('CUSTOM MESSAGE')
33
35
 
34
36
  expect(klass).to be_a(Class)
@@ -40,14 +42,26 @@ RSpec.describe ReeErrors::AuthError do
40
42
  }
41
43
 
42
44
  it {
43
- klass = described_class.build(:code, 'ree_errors_test.error')
45
+ klass = auth_error(:code, 'locale_error')
46
+ error = klass.new
47
+
48
+ expect(klass).to be_a(Class)
49
+ expect(error).to be_a(ReeErrors::Error)
50
+ expect(error.message).to eq('locale error')
51
+ expect(error.code).to eq(:code)
52
+ expect(error.type).to eq(:auth)
53
+ expect(error.locale).to eq("locale_error")
54
+ }
55
+
56
+ it {
57
+ klass = auth_error(:code, 'locale_error1')
44
58
  error = klass.new
45
59
 
46
60
  expect(klass).to be_a(Class)
47
61
  expect(error).to be_a(ReeErrors::Error)
48
- expect(error.message).to eq('test error message')
62
+ expect(error.message).to eq('locale error 1')
49
63
  expect(error.code).to eq(:code)
50
64
  expect(error.type).to eq(:auth)
51
- expect(error.locale).to eq("ree_errors_test.error")
65
+ expect(error.locale).to eq("locale_error1")
52
66
  }
53
67
  end
@@ -1,8 +1,10 @@
1
1
  package_require('ree_errors/invalid_param_error')
2
2
 
3
3
  RSpec.describe ReeErrors::InvalidParamError do
4
+ link :invalid_param_error, from: :ree_errors
5
+
4
6
  it {
5
- klass = described_class.build(:code)
7
+ klass = invalid_param_error(:code)
6
8
  error = klass.new('message')
7
9
 
8
10
  expect(klass).to be_a(Class)
@@ -1,3 +1,8 @@
1
1
  en:
2
2
  ree_errors_test:
3
- error: 'test error message'
3
+ error: 'test error message'
4
+ r_spec:
5
+ errors:
6
+ locale_error1: "locale error 1"
7
+ ree_errors_auth_error:
8
+ locale_error: "locale error"
@@ -1,8 +1,10 @@
1
1
  package_require('ree_errors/not_found_error')
2
2
 
3
3
  RSpec.describe ReeErrors::NotFoundError do
4
+ link :not_found_error, from: :ree_errors
5
+
4
6
  it {
5
- klass = described_class.build(:code)
7
+ klass = not_found_error(:code)
6
8
  error = klass.new('message')
7
9
 
8
10
  expect(klass).to be_a(Class)
@@ -1,8 +1,10 @@
1
1
  package_require('ree_errors/payment_required_error')
2
2
 
3
3
  RSpec.describe ReeErrors::PaymentRequiredError do
4
+ link :payment_required_error, from: :ree_errors
5
+
4
6
  it {
5
- klass = described_class.build(:code)
7
+ klass = payment_required_error(:code)
6
8
  error = klass.new('message')
7
9
 
8
10
  expect(klass).to be_a(Class)
@@ -1,8 +1,10 @@
1
1
  package_require('ree_errors/permission_error')
2
2
 
3
3
  RSpec.describe ReeErrors::PermissionError do
4
+ link :permission_error, from: :ree_errors
5
+
4
6
  it {
5
- klass = described_class.build(:code)
7
+ klass = permission_error(:code)
6
8
  error = klass.new('message')
7
9
 
8
10
  expect(klass).to be_a(Class)