Module: Card::Set::Abstract::Paging::PagingViews::JsonFormat

Extended by:
Card::Set::AbstractFormat
Defined in:
platypus/tmp/set/gem-defaults/mod002-collection/abstract/paging/paging_views.rb

Instance Method Summary collapse

Instance Method Details

#add_paging_url(hash, page, status) ⇒ Object



104
105
106
107
108
# File 'platypus/tmp/set/gem-defaults/mod002-collection/abstract/paging/paging_views.rb', line 104

def add_paging_url hash, page, status
  return unless page && status.in?(%i[next previous])

  hash[status] = path page_link_path_args(page)
end


81
82
83
84
85
86
87
88
# File 'platypus/tmp/set/gem-defaults/mod002-collection/abstract/paging/paging_views.rb', line 81

def page_link_path_args page
  {
    limit: limit,
    offset: page * limit,
    item: default_item_view, # hack. need standard voo handling
    format: :json
  }.merge extra_paging_path_args
end

#paging_urls_hashObject



96
97
98
99
100
101
102
# File 'platypus/tmp/set/gem-defaults/mod002-collection/abstract/paging/paging_views.rb', line 96

def paging_urls_hash
  hash = {}
  PagingLinks.new(total_pages, current_page).build do |_text, page, status, _options|
    add_paging_url hash, page, status
  end
  hash
end

#view: paging_urlsObject



90
91
92
93
94
# File 'platypus/tmp/set/gem-defaults/mod002-collection/abstract/paging/paging_views.rb', line 90

view :paging_urls, cache: :never do
  return {} unless total_pages > 1

  { paging: paging_urls_hash }
end