Class: Rwc::Queries::SimpleInput
- Inherits:
-
Object
- Object
- Rwc::Queries::SimpleInput
- Defined in:
- lib/rwc/core/queries/simple_input.rb
Class Attribute Summary collapse
-
.target_klass ⇒ Object
readonly
Returns the value of attribute target_klass.
Instance Attribute Summary collapse
-
#params ⇒ Object
readonly
Returns the value of attribute params.
Class Method Summary collapse
Instance Method Summary collapse
- #__raw__ ⇒ Object
- #conditions ⇒ Object
- #context ⇒ Object
- #includes ⇒ Object
-
#initialize(fields:, type: :group, **context) ⇒ SimpleInput
constructor
A new instance of SimpleInput.
- #sanitize! ⇒ Object
- #single? ⇒ Boolean
Constructor Details
#initialize(fields:, type: :group, **context) ⇒ SimpleInput
Returns a new instance of SimpleInput.
16 17 18 19 20 |
# File 'lib/rwc/core/queries/simple_input.rb', line 16 def initialize(fields:, type: :group, **context) @params = fields @type = type @_context = context || {} end |
Class Attribute Details
.target_klass ⇒ Object (readonly)
Returns the value of attribute target_klass.
9 10 11 |
# File 'lib/rwc/core/queries/simple_input.rb', line 9 def target_klass @target_klass end |
Instance Attribute Details
#params ⇒ Object (readonly)
Returns the value of attribute params.
6 7 8 |
# File 'lib/rwc/core/queries/simple_input.rb', line 6 def params @params end |
Class Method Details
.input_for(klass) ⇒ Object
11 12 13 |
# File 'lib/rwc/core/queries/simple_input.rb', line 11 def input_for(klass) @target_klass = klass end |
Instance Method Details
#__raw__ ⇒ Object
44 45 46 |
# File 'lib/rwc/core/queries/simple_input.rb', line 44 def __raw__ OpenStruct.new(**params) end |
#conditions ⇒ Object
22 23 24 |
# File 'lib/rwc/core/queries/simple_input.rb', line 22 def conditions params.slice(*valid_fields) end |
#context ⇒ Object
30 31 32 |
# File 'lib/rwc/core/queries/simple_input.rb', line 30 def context @context ||= OpenStruct.new(**@_context) end |
#includes ⇒ Object
26 27 28 |
# File 'lib/rwc/core/queries/simple_input.rb', line 26 def includes params.dig(:includes)&.map(&:to_sym) & valid_includes end |
#sanitize! ⇒ Object
34 35 36 37 38 |
# File 'lib/rwc/core/queries/simple_input.rb', line 34 def sanitize! # for now just remove nil keys params.compact! self end |
#single? ⇒ Boolean
40 41 42 |
# File 'lib/rwc/core/queries/simple_input.rb', line 40 def single? type == :single end |