module RSpecApi::Resource::Accepts
Public Instance Methods
accepts(options = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 6 def accepts(options = {}) add_request_for accepts_sort(options) if options.key? :sort add_request_for accepts_filter(options) if options.key? :filter add_request_for accepts_page(options) if options.key? :page add_request_for accepts_callback(options) if options.key? :callback end
Private Instance Methods
accepts_callback(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 55 def accepts_callback(opts = {}) # NOTE: This is the only accepts that affects *all* the requests, # not just the ones that return a collection {params: callback_params(opts), expect: callback_expect(opts), all: true} end
accepts_filter(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 31 def accepts_filter(opts = {}) {params: filter_params(opts), expect: filter_expect(opts)} end
accepts_page(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 43 def accepts_page(opts = {}) {params: page_params(opts), expect: page_expect(opts)} end
accepts_sort(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 19 def accepts_sort(opts = {}) {params: sort_params(opts), expect: sort_expect(opts)} end
add_request_for(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 15 def add_request_for(opts = {}) (rspec_api_resource[:extra_requests] ||= []) << opts end
callback_expect(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 65 def callback_expect(opts = {}) {callback: 'anyCallback'} end
callback_params(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 61 def callback_params(opts = {}) {}.tap{|params| params[opts[:callback]] = 'anyCallback'} end
filter_expect(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 39 def filter_expect(opts = {}) {filter: opts.slice(:by, :compare_with, :value)} end
filter_params(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 35 def filter_params(opts = {}) {}.tap{|params| params[opts[:filter]] = opts[:value]} end
page_expect(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 51 def page_expect(opts = {}) {page_links: true} end
page_params(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 47 def page_params(opts = {}) {}.tap{|params| params[opts[:page]] = 2} end
sort_expect(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 27 def sort_expect(opts = {}) {sort: opts.slice(:by, :verse)} end
sort_params(opts = {})
click to toggle source
# File lib/rspec-api/resource/accepts.rb, line 23 def sort_params(opts = {}) {sort: opts[:sort]}.merge(opts.fetch :sort_if, {}) end