Class: TinyErpApi::Order

Inherits:
Object
  • Object
show all
Defined in:
lib/tiny_erp_api/order.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id: nil, data_pedido: nil, transportador: nil, forma_pagamento: nil, valor_frete: nil, valor_desconto: nil, numero_pedido: nil, observacoes: nil, observacoes_internas: nil, forma_envio: nil, forma_frete: nil, parcelas: nil, cliente:, itens:, ecommerce: nil, id_vendedor: nil, atualizar_cliente: true, deposito: nil, id_natureza_operacao: nil) ⇒ Order

Returns a new instance of Order.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/tiny_erp_api/order.rb', line 6

def initialize(id: nil, data_pedido: nil, transportador: nil, forma_pagamento: nil, valor_frete: nil, valor_desconto: nil, numero_pedido: nil, observacoes: nil, observacoes_internas: nil, forma_envio: nil, forma_frete: nil, parcelas: nil, cliente:, itens:, ecommerce: nil, id_vendedor: nil, atualizar_cliente: true, deposito: nil, id_natureza_operacao: nil)
  @id = id
  @data_pedido = data_pedido
  @transportador = transportador
  @forma_pagamento = forma_pagamento
  @valor_frete = valor_frete
  @valor_desconto = valor_desconto
  @numero_pedido = numero_pedido
  @observacoes = observacoes
  @observacoes_internas = observacoes_internas
  @forma_envio = forma_envio
  @forma_frete = forma_frete
  @parcelas = parcelas
  @cliente = cliente
  @itens = itens
  @ecommerce = ecommerce
  @id_vendedor = id_vendedor
  @atualizar_cliente = atualizar_cliente
  @deposito = deposito
  @id_natureza_operacao = id_natureza_operacao
end

Instance Attribute Details

#atualizar_clienteObject (readonly)

Returns the value of attribute atualizar_cliente.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def atualizar_cliente
  @atualizar_cliente
end

#clienteObject (readonly)

Returns the value of attribute cliente.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def cliente
  @cliente
end

#data_pedidoObject (readonly)

Returns the value of attribute data_pedido.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def data_pedido
  @data_pedido
end

#depositoObject (readonly)

Returns the value of attribute deposito.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def deposito
  @deposito
end

#ecommerceObject (readonly)

Returns the value of attribute ecommerce.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def ecommerce
  @ecommerce
end

#forma_envioObject (readonly)

Returns the value of attribute forma_envio.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def forma_envio
  @forma_envio
end

#forma_freteObject (readonly)

Returns the value of attribute forma_frete.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def forma_frete
  @forma_frete
end

#forma_pagamentoObject (readonly)

Returns the value of attribute forma_pagamento.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def forma_pagamento
  @forma_pagamento
end

#idObject (readonly)

Returns the value of attribute id.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def id
  @id
end

#id_natureza_operacaoObject (readonly)

Returns the value of attribute id_natureza_operacao.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def id_natureza_operacao
  @id_natureza_operacao
end

#id_vendedorObject (readonly)

Returns the value of attribute id_vendedor.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def id_vendedor
  @id_vendedor
end

#itensObject (readonly)

Returns the value of attribute itens.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def itens
  @itens
end

#numero_pedidoObject (readonly)

Returns the value of attribute numero_pedido.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def numero_pedido
  @numero_pedido
end

#observacoesObject (readonly)

Returns the value of attribute observacoes.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def observacoes
  @observacoes
end

#observacoes_internasObject (readonly)

Returns the value of attribute observacoes_internas.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def observacoes_internas
  @observacoes_internas
end

#parcelasObject (readonly)

Returns the value of attribute parcelas.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def parcelas
  @parcelas
end

#transportadorObject (readonly)

Returns the value of attribute transportador.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def transportador
  @transportador
end

#valor_descontoObject (readonly)

Returns the value of attribute valor_desconto.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def valor_desconto
  @valor_desconto
end

#valor_freteObject (readonly)

Returns the value of attribute valor_frete.



4
5
6
# File 'lib/tiny_erp_api/order.rb', line 4

def valor_frete
  @valor_frete
end

Class Method Details

.build_hash(json_response) ⇒ Object



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# File 'lib/tiny_erp_api/order.rb', line 63

def self.build_hash json_response
  {
    id: json_response["id"],
    data_pedido: json_response["data_pedido"],
    transportador: json_response["nome_transportador"],
    forma_pagamento: json_response["forma_pagamento"],
    valor_frete: json_response["valor_frete"],
    valor_desconto: json_response["valor_desconto"],
    numero_pedido: json_response["numero_pedido_ecommerce"],
    observacoes: json_response["obs"],
    observacoes_internas: json_response["obs_internas"],
    forma_envio: json_response["forma_envio"],
    forma_frete: json_response["forma_frete"],
    parcelas: json_response["parcelas"],
    cliente: json_response["cliente"],
    itens: json_response["itens"],
    ecommerce: json_response["ecommerce"],
    id_vendedor: json_response["id_vendedor"],
    deposito: json_response["deposito"],
    id_natureza_operacao: json_response["id_natureza_operacao"]
  }
end

.find_by_id(order_id) ⇒ Object



28
29
30
31
# File 'lib/tiny_erp_api/order.rb', line 28

def self.find_by_id(order_id)
  response_json = Client.new(TinyErpApi.configuration.access_token).get_order_by_id(order_id)
  new(**build_hash(response_json))
end

Instance Method Details

#build_jsonObject



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/tiny_erp_api/order.rb', line 38

def build_json
  {
    pedido: {
      data_pedido: data_pedido,
      nome_transportador: transportador,
      forma_pagamento: forma_pagamento,
      valor_frete: valor_frete,
      valor_desconto: valor_desconto,
      numero_pedido_ecommerce: numero_pedido,
      obs: observacoes,
      obs_internas: observacoes_internas,
      forma_envio: forma_envio,
      forma_frete: forma_frete,
      parcelas: parcelas,
      cliente: cliente,
      itens: itens,
      ecommerce: ecommerce,
      id_vendedor: id_vendedor,
      atualizar_cliente: atualizar_cliente,
      deposito: deposito,
      id_natureza_operacao: id_natureza_operacao
    }
  }
end

#createObject



33
34
35
36
# File 'lib/tiny_erp_api/order.rb', line 33

def create
  response = Client.new(TinyErpApi.configuration.access_token).create_order(build_json)
  self.class.find_by_id(response.dig("id"))
end