Class: Prato::Internal::Specification
- Inherits:
-
Object
- Object
- Prato::Internal::Specification
- Defined in:
- lib/prato/internal/specification.rb
Instance Attribute Summary collapse
-
#columns ⇒ Object
readonly
Returns the value of attribute columns.
-
#config ⇒ Object
readonly
Returns the value of attribute config.
-
#field_lookup ⇒ Object
readonly
Returns the value of attribute field_lookup.
-
#ruby_loaders ⇒ Object
readonly
Returns the value of attribute ruby_loaders.
-
#visible_fields ⇒ Object
readonly
Returns the value of attribute visible_fields.
Instance Method Summary collapse
- #field_mapping(field_name) ⇒ Object
-
#initialize(columns:, visible_fields:, filterable_fields:, sortable_fields:, output_paths:, field_lookup:, ruby_loaders:, config:) ⇒ Specification
constructor
A new instance of Specification.
- #sql_only?(display_fields) ⇒ Boolean
- #validate_and_extract_materialization_fields(params) ⇒ Object
Constructor Details
#initialize(columns:, visible_fields:, filterable_fields:, sortable_fields:, output_paths:, field_lookup:, ruby_loaders:, config:) ⇒ Specification
Returns a new instance of Specification.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/prato/internal/specification.rb', line 8 def initialize(columns:, visible_fields:, filterable_fields:, sortable_fields:, output_paths:, field_lookup:, ruby_loaders:, config:) @columns = columns @visible_fields = visible_fields @filterable_fields = filterable_fields @sortable_fields = sortable_fields @output_paths = output_paths @field_lookup = field_lookup @ruby_loaders = ruby_loaders @config = config end |
Instance Attribute Details
#columns ⇒ Object (readonly)
Returns the value of attribute columns.
6 7 8 |
# File 'lib/prato/internal/specification.rb', line 6 def columns @columns end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
6 7 8 |
# File 'lib/prato/internal/specification.rb', line 6 def config @config end |
#field_lookup ⇒ Object (readonly)
Returns the value of attribute field_lookup.
6 7 8 |
# File 'lib/prato/internal/specification.rb', line 6 def field_lookup @field_lookup end |
#ruby_loaders ⇒ Object (readonly)
Returns the value of attribute ruby_loaders.
6 7 8 |
# File 'lib/prato/internal/specification.rb', line 6 def ruby_loaders @ruby_loaders end |
#visible_fields ⇒ Object (readonly)
Returns the value of attribute visible_fields.
6 7 8 |
# File 'lib/prato/internal/specification.rb', line 6 def visible_fields @visible_fields end |
Instance Method Details
#field_mapping(field_name) ⇒ Object
38 39 40 |
# File 'lib/prato/internal/specification.rb', line 38 def field_mapping(field_name) @output_paths[field_name] end |
#sql_only?(display_fields) ⇒ Boolean
42 43 44 |
# File 'lib/prato/internal/specification.rb', line 42 def sql_only?(display_fields) display_fields.none? { |f| @columns[f].is_a?(Types::RubyColumn) } end |
#validate_and_extract_materialization_fields(params) ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/prato/internal/specification.rb', line 26 def validate_and_extract_materialization_fields(params) return @visible_fields if params.nil? fields = [] return nil unless collect_filter_fields(params.filters, fields) return nil unless collect_sort_fields(params.sorts, fields) return nil unless collect_display_fields(params.fields, fields) fields.uniq end |