Module: InertiaRails::ScrollMetadata
- Defined in:
- lib/inertia_rails/scroll_metadata.rb
Defined Under Namespace
Classes: HashAdapter, KaminariAdapter, MissingMetadataAdapterError, PagyAdapter, Props
Class Attribute Summary collapse
-
.adapters ⇒ Object
Returns the value of attribute adapters.
Class Method Summary collapse
Class Attribute Details
.adapters ⇒ Object
Returns the value of attribute adapters.
72 73 74 |
# File 'lib/inertia_rails/scroll_metadata.rb', line 72 def adapters @adapters end |
Class Method Details
.extract(metadata, **options) ⇒ Object
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/inertia_rails/scroll_metadata.rb', line 74 def extract(, **) overrides = .slice(:page_name, :previous_page, :next_page, :current_page) adapters.each do |adapter| next unless adapter.match?() return Props.new(**adapter.call(, **).merge!(overrides)).as_json end begin Props.new(**overrides).as_json rescue ArgumentError raise MissingMetadataAdapterError, "No ScrollMetadata adapter found for #{}" end end |
.register_adapter(adapter) ⇒ Object
90 91 92 |
# File 'lib/inertia_rails/scroll_metadata.rb', line 90 def register_adapter(adapter) adapters.unshift(adapter.new) end |