class BaremetricsAPI::Endpoint::Goals

Constants

PATH

Public Class Methods

new(client) click to toggle source
# File lib/baremetrics_api/endpoint/goals.rb, line 6
def initialize(client)
  @client = client
end

Public Instance Methods

create_goal(goal_params:) click to toggle source
# File lib/baremetrics_api/endpoint/goals.rb, line 18
def create_goal(goal_params:)
  JSON.parse(create_goal_request(goal_params).body).with_indifferent_access
end
delete_goal(id:) click to toggle source
# File lib/baremetrics_api/endpoint/goals.rb, line 22
def delete_goal(id:)
  JSON.parse(delete_goal_request(id).body).with_indifferent_access
end
list_goals(page: nil) click to toggle source
# File lib/baremetrics_api/endpoint/goals.rb, line 10
def list_goals(page: nil)
  JSON.parse(list_goals_request(page).body).with_indifferent_access
end
show_goal(id:) click to toggle source
# File lib/baremetrics_api/endpoint/goals.rb, line 14
def show_goal(id:)
  JSON.parse(show_goal_request(id).body).with_indifferent_access
end

Private Instance Methods

create_goal_request(goal_params) click to toggle source
# File lib/baremetrics_api/endpoint/goals.rb, line 47
def create_goal_request(goal_params)
  @client.connection.post do |req|
    req.url PATH
    req.body = goal_params
  end
end
delete_goal_request(id) click to toggle source
# File lib/baremetrics_api/endpoint/goals.rb, line 54
def delete_goal_request(id)
  @client.connection.delete "#{PATH}/#{id}"
end
list_goals_request(page) click to toggle source
# File lib/baremetrics_api/endpoint/goals.rb, line 28
def list_goals_request(page)
  query_params = {
    per_page: @client.configuration.response_limit
  }

  query_params[:page] = page unless page.nil?

  @client.connection.get do |req|
    req.url PATH
    req.params = query_params
  end
end
show_goal_request(id) click to toggle source
# File lib/baremetrics_api/endpoint/goals.rb, line 41
def show_goal_request(id)
  @client.connection.get do |req|
    req.url "#{PATH}/#{id}"
  end
end