Class: Stripe::ConfigurationBuilder::Configuration

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Validations
Defined in:
lib/stripe/configuration_builder.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id, stripe_class, stripe_configuration_class) ⇒ Configuration

Returns a new instance of Configuration.



53
54
55
56
57
# File 'lib/stripe/configuration_builder.rb', line 53

def initialize(id, stripe_class, stripe_configuration_class)
  @id = id
  @stripe_class = stripe_class
  @stripe_configuration_class = stripe_configuration_class
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



51
52
53
# File 'lib/stripe/configuration_builder.rb', line 51

def id
  @id
end

Instance Method Details

#exists?Boolean

Returns:

  • (Boolean)


94
95
96
97
98
# File 'lib/stripe/configuration_builder.rb', line 94

def exists?
  @stripe_class.retrieve(to_s)
rescue Stripe::InvalidRequestError
  false
end

#finalize!Object



59
60
61
62
# File 'lib/stripe/configuration_builder.rb', line 59

def finalize!
  validate!
  globalize!
end

#globalize!Object



68
69
70
71
# File 'lib/stripe/configuration_builder.rb', line 68

def globalize!
  @stripe_configuration_class[@id.to_s] = self
  @stripe_configuration_class.const_set(@id.to_s.upcase, self)
end

#put!Object



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

def put!
  if exists?
    puts "[EXISTS] - #{@stripe_class}:#{@id}" unless Stripe::Engine.testing
  else
    object = @stripe_class.create({:id => @id}.merge create_options)
    puts "[CREATE] - #{@stripe_class}:#{object}" unless Stripe::Engine.testing
  end
end

#reset!Object



82
83
84
85
86
87
88
# File 'lib/stripe/configuration_builder.rb', line 82

def reset!
  if object = exists?
    object.delete
  end
  object = @stripe_class.create({:id => @id}.merge create_options)
  puts "[RESET] - #{@stripe_class}:#{object}" unless Stripe::Engine.testing
end

#to_sObject



90
91
92
# File 'lib/stripe/configuration_builder.rb', line 90

def to_s
  @id.to_s
end

#validate!Object



64
65
66
# File 'lib/stripe/configuration_builder.rb', line 64

def validate!
  fail Stripe::InvalidConfigurationError, errors if invalid?
end