Class: FinApps::REST::PortfoliosConsumers

Inherits:
FinAppsCore::REST::Resources
  • Object
show all
Includes:
Utils::QueryBuilder
Defined in:
lib/finapps/rest/portfolios_consumers.rb

Instance Method Summary collapse

Methods included from Utils::QueryBuilder

#build_query_path

Instance Method Details

#create(portfolio_id, params) ⇒ Object



19
20
21
22
23
24
25
26
27
# File 'lib/finapps/rest/portfolios_consumers.rb', line 19

def create(portfolio_id, params)
  not_blank(portfolio_id, :portfolio_id)
  not_blank(params, :params)

  return super nil, build_path(portfolio_id, params) if params.is_a?(String) # Single Consumer Subscribe

  # Array Consumer Subscribe
  super params, build_path(portfolio_id)
end

#destroy(portfolio_id, consumer_id) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/finapps/rest/portfolios_consumers.rb', line 29

def destroy(portfolio_id, consumer_id)
  not_blank(portfolio_id, :portfolio_id)
  not_blank(consumer_id, :consumer_id)

  # Single Consumer Unsubscribe Only
  super nil, build_path(portfolio_id, consumer_id)
end

#list(portfolio_id, params = nil) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'lib/finapps/rest/portfolios_consumers.rb', line 8

def list(portfolio_id, params = nil)
  not_blank(portfolio_id, :portfolio_id)

  path = build_path(portfolio_id)
  return super path if params.nil?

  fail FinAppsCore::InvalidArgumentsError, 'Invalid argument: params' unless params.is_a? Hash

  super build_query_path(path, params)
end