Class: Marfa::Models::APIModel

Inherits:
Object
  • Object
show all
Defined in:
lib/marfa/models/api_model.rb

Overview

Base model

Defined Under Namespace

Classes: ModelError

Class Method Summary collapse

Class Method Details

.delete(model_id) ⇒ Hash

Method that make request to delete data from API

Examples:

BaseModel.delete(19)

Parameters:

  • model_id (Fixnum)

    id to delete

Returns:

  • (Hash)


28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/marfa/models/api_model.rb', line 28

def self.delete(model_id)
  model_name = name.downcase
  # data = {}

  # begin
  #   path = "#{Marfa.config.api_server}#{model_name}/#{model_id.to_s}"
  #   response = RestClient.delete(path, { params: {}, headers: {} })
  #   data = JSON.parse(response.body, symbolize_names: true)
  # rescue
  #   p '404 or ParserError'
  # end

  # Temporary code
  p "#{Marfa.config.api_server}#{model_name}/#{model_id}"
  p model_id

  data = { deleted: true }
  Marfa.cache.delete_by_pattern(model_name)
  data
end

.get_data(params) ⇒ Hash

Get data

Examples:

BaseModel.get_data({ path: 'category/list' })

Parameters:

  • params (Hash)

    options hash

Returns:

  • (Hash)

    data from API



19
20
21
# File 'lib/marfa/models/api_model.rb', line 19

def self.get_data(params)
  get_raw_data(params)
end

.get_raw_data(params) ⇒ Hash

“Raw” data getting

Examples:

self.get_raw_data({ path: 'category/list' })

Parameters:

  • params (Hash)
    • options hash

Returns:

  • (Hash)


54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/marfa/models/api_model.rb', line 54

def self.get_raw_data(params)
  result = {}
  path = params[:path]

  begin
    response = RestClient.get("#{Marfa.config.api_server}#{path}", { params: params[:query], headers: {} })
    result = JSON.parse(response.body, symbolize_names: true)
  rescue
    p '404 or ParserError'
  end

  result
end