Class: Shokkenki::Provider::Model::Ticket

Inherits:
Object
  • Object
show all
Defined in:
lib/shokkenki/provider/model/ticket.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(provider, consumer, interactions) ⇒ Ticket

Returns a new instance of Ticket.



12
13
14
15
16
# File 'lib/shokkenki/provider/model/ticket.rb', line 12

def initialize provider, consumer, interactions
  @provider = provider
  @consumer = consumer
  @interactions = interactions
end

Instance Attribute Details

#consumerObject (readonly)

Returns the value of attribute consumer.



10
11
12
# File 'lib/shokkenki/provider/model/ticket.rb', line 10

def consumer
  @consumer
end

#interactionsObject (readonly)

Returns the value of attribute interactions.



10
11
12
# File 'lib/shokkenki/provider/model/ticket.rb', line 10

def interactions
  @interactions
end

#providerObject (readonly)

Returns the value of attribute provider.



10
11
12
# File 'lib/shokkenki/provider/model/ticket.rb', line 10

def provider
  @provider
end

Class Method Details

.from_hash(hash) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/shokkenki/provider/model/ticket.rb', line 22

def self.from_hash hash
  new(
    Role.from_hash(hash[:provider].symbolize_keys),
    Role.from_hash(hash[:consumer].symbolize_keys),
    hash[:interactions].map{ |h| Interaction.from_hash h.symbolize_keys }
  )
end

.from_json(json) ⇒ Object



18
19
20
# File 'lib/shokkenki/provider/model/ticket.rb', line 18

def self.from_json json
  from_hash(JSON.parse(json, :symbolize_names => true))
end