fmrest 0.11.0 → 0.14.0

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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +2 -0
  3. data/CHANGELOG.md +32 -0
  4. data/README.md +228 -844
  5. metadata +71 -101
  6. data/.github/workflows/ci.yml +0 -33
  7. data/.gitignore +0 -26
  8. data/.rspec +0 -3
  9. data/.travis.yml +0 -5
  10. data/Gemfile +0 -3
  11. data/Rakefile +0 -6
  12. data/fmrest.gemspec +0 -38
  13. data/lib/fmrest.rb +0 -34
  14. data/lib/fmrest/connection_settings.rb +0 -124
  15. data/lib/fmrest/errors.rb +0 -30
  16. data/lib/fmrest/spyke.rb +0 -21
  17. data/lib/fmrest/spyke/base.rb +0 -23
  18. data/lib/fmrest/spyke/container_field.rb +0 -59
  19. data/lib/fmrest/spyke/model.rb +0 -36
  20. data/lib/fmrest/spyke/model/associations.rb +0 -82
  21. data/lib/fmrest/spyke/model/attributes.rb +0 -171
  22. data/lib/fmrest/spyke/model/auth.rb +0 -43
  23. data/lib/fmrest/spyke/model/connection.rb +0 -135
  24. data/lib/fmrest/spyke/model/container_fields.rb +0 -25
  25. data/lib/fmrest/spyke/model/global_fields.rb +0 -40
  26. data/lib/fmrest/spyke/model/http.rb +0 -37
  27. data/lib/fmrest/spyke/model/orm.rb +0 -212
  28. data/lib/fmrest/spyke/model/serialization.rb +0 -91
  29. data/lib/fmrest/spyke/model/uri.rb +0 -30
  30. data/lib/fmrest/spyke/portal.rb +0 -55
  31. data/lib/fmrest/spyke/relation.rb +0 -359
  32. data/lib/fmrest/spyke/spyke_formatter.rb +0 -273
  33. data/lib/fmrest/spyke/validation_error.rb +0 -25
  34. data/lib/fmrest/string_date.rb +0 -220
  35. data/lib/fmrest/token_store.rb +0 -12
  36. data/lib/fmrest/token_store/active_record.rb +0 -74
  37. data/lib/fmrest/token_store/base.rb +0 -25
  38. data/lib/fmrest/token_store/memory.rb +0 -26
  39. data/lib/fmrest/token_store/moneta.rb +0 -41
  40. data/lib/fmrest/token_store/redis.rb +0 -45
  41. data/lib/fmrest/v1.rb +0 -23
  42. data/lib/fmrest/v1/auth.rb +0 -30
  43. data/lib/fmrest/v1/connection.rb +0 -115
  44. data/lib/fmrest/v1/container_fields.rb +0 -114
  45. data/lib/fmrest/v1/dates.rb +0 -81
  46. data/lib/fmrest/v1/paths.rb +0 -47
  47. data/lib/fmrest/v1/raise_errors.rb +0 -59
  48. data/lib/fmrest/v1/token_session.rb +0 -134
  49. data/lib/fmrest/v1/token_store/active_record.rb +0 -13
  50. data/lib/fmrest/v1/token_store/memory.rb +0 -13
  51. data/lib/fmrest/v1/type_coercer.rb +0 -192
  52. data/lib/fmrest/v1/utils.rb +0 -94
  53. data/lib/fmrest/version.rb +0 -5
@@ -1,94 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module FmRest
4
- module V1
5
- module Utils
6
- VALID_SCRIPT_KEYS = [:prerequest, :presort, :after].freeze
7
-
8
- # Converts custom script options to a hash with the Data API's expected
9
- # JSON script format.
10
- #
11
- # If script_options is a string or symbol it will be passed as the name
12
- # of the script to execute (after the action, e.g. save).
13
- #
14
- # If script_options is an array the first element will be the name of the
15
- # script to execute (after the action) and the second element (if any)
16
- # will be its param value.
17
- #
18
- # If script_options is a hash it will expect to contain one or more of
19
- # the following keys: :prerequest, :presort, :after
20
- #
21
- # Any of those keys should contain either a string/symbol or array, which
22
- # will be treated as described above, except for their own script
23
- # execution order (prerequest, presort or after action).
24
- #
25
- # Examples:
26
- #
27
- # convert_script_params("My Script")
28
- # # => { "script": "My Script" }
29
- #
30
- # convert_script_params(["My Script", "the param"])
31
- # # => { "script": "My Script", "script.param": "the param" }
32
- #
33
- # convert_script_params(after: "After Script", prerequest: "Prerequest Script")
34
- # # => { "script": "After Script", "script.prerequest": "Prerequest Script" }
35
- #
36
- # convert_script_params(presort: ["Presort Script", "foo"], prerequest: "Prerequest Script")
37
- # # => {
38
- # # "script.presort": "After Script",
39
- # # "script.presort.param": "foo",
40
- # # "script.prerequest": "Prerequest Script"
41
- # # }
42
- #
43
- def convert_script_params(script_options)
44
- params = {}
45
-
46
- case script_options
47
- when String, Symbol
48
- params[:script] = script_options.to_s
49
-
50
- when Array
51
- params.merge!(convert_script_arguments(script_options))
52
-
53
- when Hash
54
- script_options.each_key do |key|
55
- next if VALID_SCRIPT_KEYS.include?(key)
56
- raise ArgumentError, "Invalid script option #{key.inspect}"
57
- end
58
-
59
- if script_options.has_key?(:prerequest)
60
- params.merge!(convert_script_arguments(script_options[:prerequest], :prerequest))
61
- end
62
-
63
- if script_options.has_key?(:presort)
64
- params.merge!(convert_script_arguments(script_options[:presort], :presort))
65
- end
66
-
67
- if script_options.has_key?(:after)
68
- params.merge!(convert_script_arguments(script_options[:after]))
69
- end
70
- end
71
-
72
- params
73
- end
74
-
75
- private
76
-
77
- def convert_script_arguments(script_arguments, suffix = nil)
78
- base = suffix ? "script.#{suffix}".to_sym : :script
79
-
80
- {}.tap do |params|
81
- case script_arguments
82
- when String, Symbol
83
- params[base] = script_arguments.to_s
84
- when Array
85
- params[base] = script_arguments.first.to_s
86
- params["#{base}.param".to_sym] = script_arguments[1] if script_arguments[1]
87
- else
88
- raise ArgumentError, "Script arguments are expected as a String, Symbol or Array"
89
- end
90
- end
91
- end
92
- end
93
- end
94
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module FmRest
4
- VERSION = "0.11.0"
5
- end