Class: Shokkenki::Consumer::Model::Ticket

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(attributes) ⇒ Ticket

Returns a new instance of Ticket.



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

def initialize attributes
  @provider = attributes[:provider]
  @consumer = attributes[:consumer]
  @interactions = attributes[:interactions]
  @version = Shokkenki::Consumer::Version::STRING
end

Instance Attribute Details

#consumerObject (readonly)

Returns the value of attribute consumer.



9
10
11
# File 'lib/shokkenki/consumer/model/ticket.rb', line 9

def consumer
  @consumer
end

#interactionsObject (readonly)

Returns the value of attribute interactions.



9
10
11
# File 'lib/shokkenki/consumer/model/ticket.rb', line 9

def interactions
  @interactions
end

#providerObject (readonly)

Returns the value of attribute provider.



9
10
11
# File 'lib/shokkenki/consumer/model/ticket.rb', line 9

def provider
  @provider
end

#timeObject

Returns the value of attribute time.



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

def time
  @time
end

#versionObject

Returns the value of attribute version.



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

def version
  @version
end

Instance Method Details

#filenameObject



19
20
21
# File 'lib/shokkenki/consumer/model/ticket.rb', line 19

def filename
  "#{@consumer.name}-#{@provider.name}.json"
end

#to_hashObject



23
24
25
26
27
28
29
30
# File 'lib/shokkenki/consumer/model/ticket.rb', line 23

def to_hash
  {
    :consumer => @consumer.to_hash,
    :provider => @provider.to_hash,
    :interactions => @interactions.collect(&:to_hash),
    :version => @version
  }
end

#to_jsonObject



32
33
34
# File 'lib/shokkenki/consumer/model/ticket.rb', line 32

def to_json
  JSON.pretty_generate to_hash
end