Module: MadCart::Store::Base

Included in:
BigCommerce, Etsy, Spree
Defined in:
lib/mad_cart/store/base.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

DEFAULT_CONNECTION_OPTIONS =
{
  :request => { :open_timeout => 30, :timeout => 60 }
}

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



23
24
25
26
27
28
29
30
# File 'lib/mad_cart/store/base.rb', line 23

def self.included(base)
  base.extend ClassMethods
  base.class_eval do
    include InheritableAttributes
    inheritable_attributes :connection_delegate, :required_connection_args,
      :fetch_delegates, :format_delegates, :after_init_delegate
  end
end

Instance Method Details

#connectionObject



37
38
39
40
# File 'lib/mad_cart/store/base.rb', line 37

def connection
  validate_connection_args!
  return init_connection
end

#init_connectionObject



42
43
44
# File 'lib/mad_cart/store/base.rb', line 42

def init_connection
  @connection ||= execute_delegate(klass.connection_delegate, @init_args)
end

#initialize(*args) ⇒ Object



32
33
34
35
# File 'lib/mad_cart/store/base.rb', line 32

def initialize(*args)
  set_init_args(*args)
  after_initialize(*args)
end