class StripeOpal::Card

Attributes

callback[R]
promise[R]
query_selector[R]

Public Class Methods

get_token(query_selector) click to toggle source
# File lib/stripe-opal.rb, line 7
def self.get_token(query_selector)
  new(query_selector).run.promise
end
new(query_selector) click to toggle source
# File lib/stripe-opal.rb, line 13
def initialize(query_selector)
  @query_selector = query_selector
  @promise        = Promise.new
  @callback       = lambda { |a, b| resolve_or_reject(a, b) }
end

Public Instance Methods

resolve_or_reject(status, response) click to toggle source
# File lib/stripe-opal.rb, line 24
def resolve_or_reject(status, response)
  status, response   = Native(status), Native(response)
  if response[:error]
    promise.reject response, status
  else
    promise.resolve(response, status)
  end
end
run() click to toggle source
# File lib/stripe-opal.rb, line 19
def run
  `Stripe.card.createToken(document.querySelector(#{query_selector}), #{self.callback});`
  self
end