Last active
November 2, 2018 05:34
-
-
Save spilist/2a1f211828b407fe6b0fcc248444607d to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| module Url | |
| def self.integrations(source = nil, token = nil) | |
| @path = "/integrations" | |
| if source and token | |
| add source | |
| add token.key | |
| end | |
| Integrations.new(self) | |
| end | |
| def self.mobile | |
| @path = "/m" | |
| Mobile.new(self) | |
| end | |
| private | |
| def self.path | |
| @path | |
| end | |
| def self.add(path) | |
| @path += "/#{path}" | |
| end | |
| class Initializer | |
| def initialize(url) | |
| @url = url | |
| end | |
| def build(params = nil) | |
| query = "?#{params.to_param}" if params.present? | |
| "#{ENV["CLIENT_BASE_URL"]}#{@url.path}#{query}" | |
| end | |
| end | |
| module HasNew | |
| def new | |
| @url.add "new" | |
| self | |
| end | |
| end | |
| class Integrations < Initializer | |
| def crefia(token) | |
| @url.add "crefia/#{token.key}" | |
| self | |
| end | |
| def kakaotalk | |
| @url.add "kakaotalk" | |
| self | |
| end | |
| end | |
| class Mobile < Initializer | |
| def account | |
| @url.add "account" | |
| Account.new(@url) | |
| end | |
| def businesses(business = nil) | |
| @url.add "businesses" | |
| @url.add business.public_id if business | |
| Businesses.new(@url) | |
| end | |
| class Account < Initializer | |
| def edit | |
| @url.add "edit" | |
| self | |
| end | |
| def invite | |
| @url.add "invite" | |
| self | |
| end | |
| end | |
| class Businesses < Initializer | |
| include HasNew | |
| def coupons | |
| @url.add "coupons" | |
| self | |
| end | |
| def bank_transactions | |
| @url.add "bank-transactions" | |
| self | |
| end | |
| def card_purchases | |
| @url.add "card-purchases" | |
| self | |
| end | |
| def card_sales | |
| @url.add "card-sales" | |
| CardSales.new(@url) | |
| end | |
| def cash_receipts | |
| @url.add "cash-receipts" | |
| CashReceipts.new(@url) | |
| end | |
| def integrations | |
| @url.add "integrations" | |
| Integrations.new(@url) | |
| end | |
| def invoices | |
| @url.add "invoices" | |
| Invoices.new(@url) | |
| end | |
| def notifications | |
| @url.add "notifications" | |
| Notifications.new(@url) | |
| end | |
| def places | |
| @url.add "places" | |
| self | |
| end | |
| def subscriptions | |
| @url.add "subscriptions" | |
| Subscriptions.new(@url) | |
| end | |
| class CardSales < Initializer | |
| def crosschecks | |
| @url.add "crosschecks" | |
| Crosschecks.new(@url) | |
| end | |
| def payments | |
| @url.add "payments" | |
| self | |
| end | |
| def transactions | |
| @url.add "transactions" | |
| self | |
| end | |
| class Crosschecks < Initializer | |
| def payments | |
| @url.add "payments" | |
| self | |
| end | |
| def purchases | |
| @url.add "purchases" | |
| self | |
| end | |
| end | |
| end | |
| class CashReceipts < Initializer | |
| def sales | |
| @url.add "sales" | |
| self | |
| end | |
| end | |
| class Integrations < Initializer | |
| def bank_accounts | |
| @url.add "bank-accounts" | |
| self | |
| end | |
| def cards | |
| @url.add "cards" | |
| Cards.new(@url) | |
| end | |
| def crefia | |
| @url.add "crefia" | |
| self | |
| end | |
| def hometax | |
| @url.add "hometax" | |
| Hometax.new(@url) | |
| end | |
| class Cards < Initializer | |
| include HasNew | |
| end | |
| class Hometax < Initializer | |
| include HasNew | |
| end | |
| end | |
| class Invoices < Initializer | |
| def purchases | |
| @url.add "purchases" | |
| self | |
| end | |
| end | |
| class Notifications < Initializer | |
| def status | |
| @url.add "status" | |
| self | |
| end | |
| end | |
| class Subscriptions < Initializer | |
| def start | |
| @url.add "start" | |
| self | |
| end | |
| end | |
| end | |
| end | |
| end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment