Class: Shokkenki::Consumer::Model::Patronage

Inherits:
Object
  • Object
show all
Defined in:
lib/shokkenki/consumer/model/patronage.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes) ⇒ Patronage

Returns a new instance of Patronage.



10
11
12
13
14
# File 'lib/shokkenki/consumer/model/patronage.rb', line 10

def initialize attributes
  @provider = attributes[:provider]
  @consumer = attributes[:consumer]
  @interactions = {}
end

Instance Attribute Details

#consumerObject (readonly)

Returns the value of attribute consumer.



8
9
10
# File 'lib/shokkenki/consumer/model/patronage.rb', line 8

def consumer
  @consumer
end

#interactionsObject (readonly)

Returns the value of attribute interactions.



8
9
10
# File 'lib/shokkenki/consumer/model/patronage.rb', line 8

def interactions
  @interactions
end

#providerObject (readonly)

Returns the value of attribute provider.



8
9
10
# File 'lib/shokkenki/consumer/model/patronage.rb', line 8

def provider
  @provider
end

Instance Method Details

#add_interaction(interaction) ⇒ Object



16
17
18
19
# File 'lib/shokkenki/consumer/model/patronage.rb', line 16

def add_interaction interaction
  @interactions[interaction.label] = interaction
  @provider.stub_interaction interaction
end

#ticketObject



21
22
23
24
25
26
27
# File 'lib/shokkenki/consumer/model/patronage.rb', line 21

def ticket
  Ticket.new(
    :consumer => @consumer,
    :provider => @provider,
    :interactions => @interactions.values
  )
end