fmrest 0.12.0 → 0.15.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -0
  3. data/CHANGELOG.md +31 -0
  4. data/README.md +252 -851
  5. metadata +71 -108
  6. data/.gitignore +0 -26
  7. data/.rspec +0 -3
  8. data/.travis.yml +0 -5
  9. data/Gemfile +0 -3
  10. data/Rakefile +0 -6
  11. data/UPGRADING +0 -15
  12. data/fmrest.gemspec +0 -49
  13. data/lib/fmrest.rb +0 -36
  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 -9
  18. data/lib/fmrest/spyke/container_field.rb +0 -59
  19. data/lib/fmrest/spyke/model.rb +0 -33
  20. data/lib/fmrest/spyke/model/associations.rb +0 -86
  21. data/lib/fmrest/spyke/model/attributes.rb +0 -163
  22. data/lib/fmrest/spyke/model/auth.rb +0 -43
  23. data/lib/fmrest/spyke/model/connection.rb +0 -163
  24. data/lib/fmrest/spyke/model/container_fields.rb +0 -40
  25. data/lib/fmrest/spyke/model/global_fields.rb +0 -40
  26. data/lib/fmrest/spyke/model/http.rb +0 -77
  27. data/lib/fmrest/spyke/model/orm.rb +0 -256
  28. data/lib/fmrest/spyke/model/record_id.rb +0 -78
  29. data/lib/fmrest/spyke/model/serialization.rb +0 -99
  30. data/lib/fmrest/spyke/model/uri.rb +0 -29
  31. data/lib/fmrest/spyke/portal.rb +0 -55
  32. data/lib/fmrest/spyke/relation.rb +0 -359
  33. data/lib/fmrest/spyke/spyke_formatter.rb +0 -273
  34. data/lib/fmrest/spyke/validation_error.rb +0 -25
  35. data/lib/fmrest/string_date.rb +0 -220
  36. data/lib/fmrest/token_store.rb +0 -12
  37. data/lib/fmrest/token_store/active_record.rb +0 -74
  38. data/lib/fmrest/token_store/base.rb +0 -25
  39. data/lib/fmrest/token_store/memory.rb +0 -26
  40. data/lib/fmrest/token_store/moneta.rb +0 -41
  41. data/lib/fmrest/token_store/null.rb +0 -20
  42. data/lib/fmrest/token_store/redis.rb +0 -45
  43. data/lib/fmrest/v1.rb +0 -23
  44. data/lib/fmrest/v1/auth.rb +0 -30
  45. data/lib/fmrest/v1/connection.rb +0 -115
  46. data/lib/fmrest/v1/container_fields.rb +0 -114
  47. data/lib/fmrest/v1/dates.rb +0 -81
  48. data/lib/fmrest/v1/paths.rb +0 -47
  49. data/lib/fmrest/v1/raise_errors.rb +0 -57
  50. data/lib/fmrest/v1/token_session.rb +0 -133
  51. data/lib/fmrest/v1/token_store/active_record.rb +0 -13
  52. data/lib/fmrest/v1/token_store/memory.rb +0 -13
  53. data/lib/fmrest/v1/type_coercer.rb +0 -192
  54. data/lib/fmrest/v1/utils.rb +0 -94
  55. 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.12.0"
5
- end