Class: Corzinus::Checkout::AccessService

Inherits:
Object
  • Object
show all
Defined in:
app/services/corzinus/checkout/access_service.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(order) ⇒ AccessService

Returns a new instance of AccessService.



16
17
18
# File 'app/services/corzinus/checkout/access_service.rb', line 16

def initialize(order)
  @order = order
end

Instance Attribute Details

#orderObject (readonly)

Returns the value of attribute order.



4
5
6
# File 'app/services/corzinus/checkout/access_service.rb', line 4

def order
  @order
end

Class Method Details

.allow?(*args) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
# File 'app/services/corzinus/checkout/access_service.rb', line 7

def allow?(*args)
  new(*args).allow?
end

.valid?(*args) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
# File 'app/services/corzinus/checkout/access_service.rb', line 11

def valid?(*args)
  new(*args).valid?
end

Instance Method Details

#allow?Boolean

Returns:

  • (Boolean)


20
21
22
23
24
25
26
# File 'app/services/corzinus/checkout/access_service.rb', line 20

def allow?
  step_dependencies.each do |step|
    step_class = "Corzinus::Checkout::#{step.to_s.camelize}AccessService".constantize
    return false unless step_class.valid?(order)
  end
  true
end

#step_dependenciesObject



32
33
34
35
# File 'app/services/corzinus/checkout/access_service.rb', line 32

def step_dependencies
  steps = Corzinus.checkout_steps
  steps[0...steps.index(current_step)]
end

#valid?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'app/services/corzinus/checkout/access_service.rb', line 28

def valid?
  true
end