Module: Safecrow

Defined in:
lib/safecrow.rb,
lib/safecrow/version.rb,
lib/safecrow/configuration.rb,
lib/generators/safecrow/install/install_generator.rb

Defined Under Namespace

Modules: Generators Classes: Configuration

Constant Summary collapse

VERSION =
"0.1.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject

Returns the value of attribute configuration.



9
10
11
# File 'lib/safecrow.rb', line 9

def configuration
  @configuration
end

Class Method Details

.add_card(user_id, url) ⇒ Object

return “redirect_url”



57
58
59
60
61
# File 'lib/safecrow.rb', line 57

def self.add_card(user_id, url)
  endpoint = "/users/#{user_id}/cards"
  payload = { redirect_url: url }
  make_request(endpoint, payload, 'POST')['redirect_url']
end

.annul_order(order_id, reason = 'Some reason') ⇒ Object

return some hash with ids and etc…



109
110
111
112
113
# File 'lib/safecrow.rb', line 109

def self.annul_order(order_id, reason = 'Some reason')
  endpoint = "/orders/#{order_id}/annul"
  payload = { reason: reason }
  make_request(endpoint, payload, 'POST')
end

.calculate(price) ⇒ Object

return “supplier_service_cost”=>4, “consumer_service_cost”=>0



72
73
74
75
76
77
78
79
80
# File 'lib/safecrow.rb', line 72

def self.calculate(price)
  endpoint = '/calculate'
  payload = {
      price: price,
      service_cost_payer: 'supplier',
      #consumer_cancellation_cost: 0
  }
  make_request(endpoint, payload, 'POST')
end

.cancel_order(order_id, reason = 'Some reason') ⇒ Object

return some hash with ids and etc…



130
131
132
133
134
# File 'lib/safecrow.rb', line 130

def self.cancel_order(order_id, reason = 'Some reason')
  endpoint = "/orders/#{order_id}/cancel"
  payload = { reason: reason }
  make_request(endpoint, payload, 'POST')
end

.close_order(order_id, reason = 'Some reason', discount = 0) ⇒ Object

return some hash with ids and etc…



137
138
139
140
141
142
143
144
# File 'lib/safecrow.rb', line 137

def self.close_order(order_id, reason = 'Some reason', discount = 0)
  endpoint = "/orders/#{order_id}/close"
  payload = {
      reason: reason,
      discount: discount*100
  }
  make_request(endpoint, payload, 'POST')
end

.configure {|configuration| ... } ⇒ Object

Yields:



20
21
22
# File 'lib/safecrow.rb', line 20

def self.configure
  yield(configuration)
end

.confirm_preauth(order_id, reason = 'Some reason') ⇒ Object



160
161
162
163
164
# File 'lib/safecrow.rb', line 160

def self.confirm_preauth(order_id, reason = 'Some reason')
  endpoint = "/orders/#{order_id}/preauth/confirm"
  payload = { reason: reason }
  make_request(endpoint, payload, 'POST')
end

.create_order(consumer_id, supplier_id, price, delivery_cost, delivery_cost_payer = 'consumer') ⇒ Object

return id



83
84
85
86
87
88
89
90
91
92
93
94
95
# File 'lib/safecrow.rb', line 83

def self.create_order(consumer_id, supplier_id, price, delivery_cost, delivery_cost_payer = 'consumer')
  endpoint = '/orders'
  payload = {
      consumer_id: consumer_id,
      supplier_id: supplier_id,
      price: price*100, # в копьях
      description: 'description',
      service_cost_payer: 'supplier',
      delivery_cost: delivery_cost*100,
      delivery_cost_payer: delivery_cost_payer,
  }
  make_request(endpoint, payload, 'POST')['id']
end

.create_user(email, phone, name) ⇒ Object

return id



31
32
33
34
35
# File 'lib/safecrow.rb', line 31

def self.create_user(email, phone, name)
  endpoint = '/users'
  payload = { email: email, phone: phone.delete('(').delete(')').delete('-').delete(' '), name: name }
  make_request(endpoint, payload, 'POST')['id']
end

.edit_user(sc_id, phone, name) ⇒ Object

return id



49
50
51
52
53
54
# File 'lib/safecrow.rb', line 49

def self.edit_user(sc_id, phone, name)
  endpoint = "/users/#{sc_id}"
  payload = { phone: phone.delete('(').delete(')').delete('-').delete(' '),
              name: name }
  make_request(endpoint, payload, 'POST')['id']
end

.escalate_order(order_id, reason = 'Some reason') ⇒ Object

return some hash with ids and etc…



147
148
149
150
151
# File 'lib/safecrow.rb', line 147

def self.escalate_order(order_id, reason = 'Some reason')
  endpoint = "/orders/#{order_id}/escalate"
  payload = { reason: reason }
  make_request(endpoint, payload, 'POST')
end

.find_user(email) ⇒ Object

return id



38
39
40
41
# File 'lib/safecrow.rb', line 38

def self.find_user(email)
  endpoint = "/users?email=#{email}"
  (make_request(endpoint, {}, 'GET').first || {})['id']
end

.get_order(order_id) ⇒ Object

return “consumer_id”=>4315, “supplier_id”=>4315, “price”=>45000, “consumer_service_cost”=>0, “supplier_service_cost”=>1800, “consumer_delivery_cost”=>0, “supplier_delivery_cost”=>0, “consumer_cancellation_cost”=>0, “discount”=>0, “description”=>“description”, “status”=>“pending”, “supplier_payout_method_id”=>1748, “supplier_payout_method_type”=>“CreditCard”, “created_at”=>“2018-07-13T11:18:25+03:00”, “updated_at”=>“2018-07-13T11:21:59+03:00”, “extra”=>{}



97
98
99
100
# File 'lib/safecrow.rb', line 97

def self.get_order(order_id)
  endpoint = "/orders/#{order_id}"
  make_request(endpoint, {}, 'GET')
end

.get_orders(user_id) ⇒ Object

return some array with hashes with ids and etc…



103
104
105
106
# File 'lib/safecrow.rb', line 103

def self.get_orders(user_id)
  endpoint = "/users/#{user_id}/orders"
  make_request(endpoint, {}, 'GET')
end

.get_user_by_id(sc_user_id) ⇒ Object



43
44
45
46
# File 'lib/safecrow.rb', line 43

def self.get_user_by_id(sc_user_id)
  endpoint = "/users/#{sc_user_id}"
  make_request(endpoint, {}, 'GET')
end

.get_user_cards(user_id) ⇒ Object

return [{ number: ”, id: ” }]



64
65
66
67
68
69
# File 'lib/safecrow.rb', line 64

def self.get_user_cards(user_id)
  endpoint = "/users/#{user_id}/cards"
  make_request(endpoint, {}, 'GET').map do |card|
    { number: card['card_number'], id: card['id'] }
  end
end

.pay_order(order_id, redirect_url) ⇒ Object

return payment_url



116
117
118
119
120
# File 'lib/safecrow.rb', line 116

def self.pay_order(order_id, redirect_url)
  endpoint = "/orders/#{order_id}/pay"
  payload = { redirect_url: redirect_url }
  make_request(endpoint, payload, 'POST')['payment_url']
end

.payout_card(user_id, order_id, supplier_payout_card_id) ⇒ Object

return “redirect_url”



123
124
125
126
127
# File 'lib/safecrow.rb', line 123

def self.payout_card(user_id, order_id, supplier_payout_card_id)
  endpoint = "/users/#{user_id}/orders/#{order_id}"
  payload = { supplier_payout_card_id: supplier_payout_card_id }
  make_request(endpoint, payload, 'POST')
end

.preauth_order(order_id, redirect_url) ⇒ Object

return “consumer_pay”=>10000



154
155
156
157
158
# File 'lib/safecrow.rb', line 154

def self.preauth_order(order_id, redirect_url)
  endpoint = "/orders/#{order_id}/preauth"
  payload = { redirect_url: redirect_url }
  make_request(endpoint, payload, 'POST')
end

.release_preauth(order_id, reason = 'Some reason') ⇒ Object



166
167
168
169
170
# File 'lib/safecrow.rb', line 166

def self.release_preauth(order_id, reason = 'Some reason')
  endpoint = "/orders/#{order_id}/preauth/release"
  payload = { reason: reason }
  make_request(endpoint, payload, 'POST')
end

.resetObject



16
17
18
# File 'lib/safecrow.rb', line 16

def self.reset
  @configuration = Configuration.new
end

.set_settings(url) ⇒ Object



24
25
26
27
28
# File 'lib/safecrow.rb', line 24

def self.set_settings(url)
  endpoint = '/settings'
  payload = {callback_url: url}
  make_request(endpoint, payload, 'POST')
end