Module: Koudoku

Defined in:
lib/generators/koudoku/views_generator.rb,
lib/koudoku.rb,
lib/koudoku/engine.rb,
lib/koudoku/version.rb,
app/helpers/koudoku/application_helper.rb,
lib/generators/koudoku/install_generator.rb,
app/controllers/koudoku/application_controller.rb,
app/controllers/koudoku/subscriptions_controller.rb

Overview

Defined Under Namespace

Modules: ApplicationHelper, Plan, Subscription Classes: ApplicationController, Engine, InstallGenerator, SubscriptionsController, ViewsGenerator

Constant Summary collapse

VERSION =
"1.1.1"
@@subscriptions_owned_by =
nil
@@stripe_publishable_key =
nil
@@stripe_secret_key =
nil
@@free_trial_length =
nil
@@prorate =
true

Class Method Summary collapse

Class Method Details

.all(callable = Proc.new) ⇒ Object



69
70
71
# File 'lib/koudoku.rb', line 69

def self.all(callable = Proc.new)
  StripeEvent.all(callable)
end

.free_trial?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'lib/koudoku.rb', line 53

def self.free_trial?
  free_trial_length.to_i > 0
end

.instrument(name, object) ⇒ Object



65
66
67
# File 'lib/koudoku.rb', line 65

def self.instrument(name, object)
  StripeEvent.backend.instrument(StripeEvent.namespace.call(name), object)
end

.owner_assignment_symObject

e.g. :user=



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

def self.owner_assignment_sym
  :"#{Koudoku.subscriptions_owned_by}="
end

.owner_classObject

e.g. User



49
50
51
# File 'lib/koudoku.rb', line 49

def self.owner_class
  Koudoku.subscriptions_owned_by.to_s.classify.constantize
end

.owner_id_symObject

e.g. :user_id



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

def self.owner_id_sym
  :"#{Koudoku.subscriptions_owned_by}_id"
end

.owner_resourceObject

e.g. :users



34
35
36
# File 'lib/koudoku.rb', line 34

def self.owner_resource
  subscriptions_owned_by.to_s.pluralize.to_sym
end

.setup {|_self| ... } ⇒ Object

Yields:

  • (_self)

Yield Parameters:

  • _self (Koudoku)

    the object that the method was called on



26
27
28
29
30
31
# File 'lib/koudoku.rb', line 26

def self.setup
  yield self
  
  # Configure the Stripe gem.
  Stripe.api_key = stripe_secret_key
end

.subscribe(name, callable = Proc.new) ⇒ Object

STRIPE_EVENT section



61
62
63
# File 'lib/koudoku.rb', line 61

def self.subscribe(name, callable = Proc.new)
  StripeEvent.subscribe(name, callable)
end

.webhooks_api_key=(key) ⇒ Object



22
23
24
# File 'lib/koudoku.rb', line 22

def self.webhooks_api_key=(key)
  raise "Koudoku no longer uses an API key to secure webhooks, please delete the line from \"config/initializers/koudoku.rb\""
end