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.



55
56
57
58
59
# File 'lib/stripe/configuration_builder.rb', line 55

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.



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

def id
  @id
end

Instance Method Details

#compact_create_optionsObject



93
94
95
# File 'lib/stripe/configuration_builder.rb', line 93

def compact_create_options
  create_options.delete_if { |_, v| v.nil? }
end

#exists?Boolean

Returns:

  • (Boolean)


101
102
103
104
105
# File 'lib/stripe/configuration_builder.rb', line 101

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

#finalize!Object



61
62
63
64
# File 'lib/stripe/configuration_builder.rb', line 61

def finalize!
  validate!
  globalize!
end

#globalize!Object



70
71
72
73
74
# File 'lib/stripe/configuration_builder.rb', line 70

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

#put!Object



76
77
78
79
80
81
82
83
# File 'lib/stripe/configuration_builder.rb', line 76

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

#reset!Object



85
86
87
88
89
90
91
# File 'lib/stripe/configuration_builder.rb', line 85

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

#to_sObject



97
98
99
# File 'lib/stripe/configuration_builder.rb', line 97

def to_s
  @id.to_s
end

#validate!Object



66
67
68
# File 'lib/stripe/configuration_builder.rb', line 66

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