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
-
.configuration ⇒ Object
Returns the value of attribute configuration.
Class Method Summary collapse
-
.add_card(user_id, url) ⇒ Object
return “redirect_url”.
-
.annul_order(order_id, reason = 'Some reason') ⇒ Object
return some hash with ids and etc…
-
.calculate(price) ⇒ Object
return “supplier_service_cost”=>4, “consumer_service_cost”=>0.
-
.cancel_order(order_id, reason = 'Some reason') ⇒ Object
return some hash with ids and etc…
-
.close_order(order_id, reason = 'Some reason', discount = 0) ⇒ Object
return some hash with ids and etc…
- .configure {|configuration| ... } ⇒ Object
- .confirm_preauth(order_id, reason = 'Some reason') ⇒ Object
-
.create_order(consumer_id, supplier_id, price, delivery_cost, delivery_cost_payer = 'consumer') ⇒ Object
return id.
-
.create_user(email, phone, name) ⇒ Object
return id.
-
.edit_user(sc_id, phone, name) ⇒ Object
return id.
-
.escalate_order(order_id, reason = 'Some reason') ⇒ Object
return some hash with ids and etc…
-
.find_user(email) ⇒ Object
return id.
-
.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”=>{}.
-
.get_orders(user_id) ⇒ Object
return some array with hashes with ids and etc…
- .get_user_by_id(sc_user_id) ⇒ Object
-
.get_user_cards(user_id) ⇒ Object
return [{ number: ”, id: ” }].
-
.pay_order(order_id, redirect_url) ⇒ Object
return payment_url.
-
.payout_card(user_id, order_id, supplier_payout_card_id) ⇒ Object
return “redirect_url”.
-
.preauth_order(order_id, redirect_url) ⇒ Object
return “consumer_pay”=>10000.
- .release_preauth(order_id, reason = 'Some reason') ⇒ Object
- .reset ⇒ Object
- .set_settings(url) ⇒ Object
Class Attribute Details
.configuration ⇒ Object
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
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 |
.reset ⇒ Object
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 |