Class: Dialog

Inherits:
Object
  • Object
show all
Defined in:
lib/load_dialogs.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(args) ⇒ Dialog

Returns a new instance of Dialog.



35
36
37
38
39
# File 'lib/load_dialogs.rb', line 35

def initialize args
  args.each do |k,v|
    instance_variable_set("@#{k}", v) unless v.nil?
  end
end

Instance Attribute Details

#describeObject (readonly)

Returns the value of attribute describe.



32
33
34
# File 'lib/load_dialogs.rb', line 32

def describe
  @describe
end

#fileObject

Returns the value of attribute file.



33
34
35
# File 'lib/load_dialogs.rb', line 33

def file
  @file
end

#interactionsObject (readonly)

Returns the value of attribute interactions.



32
33
34
# File 'lib/load_dialogs.rb', line 32

def interactions
  @interactions
end

#nameObject (readonly)

Returns the value of attribute name.



32
33
34
# File 'lib/load_dialogs.rb', line 32

def name
  @name
end

Instance Method Details

#create_example(interactions, examples = []) ⇒ Object



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# File 'lib/load_dialogs.rb', line 57

def create_example(interactions, examples=[])
  return if interactions.size == 0

  @@lex_chat = lex_chat()
  spec = ::RSpec.describe "#{@describe} #{@name}" do

    let(:resp) { @@lex_chat.post_message(interactions[0], 'user_id')}

    it interactions[0] do
      expect(resp[:message]).to match(interactions[1])
    end
  end

  examples << spec
  create_example(interactions.drop(2), examples)

  examples
end

#create_example_groupObject



49
50
51
# File 'lib/load_dialogs.rb', line 49

def create_example_group()
  @examples = create_example(@interactions).flatten
end

#examplesObject



53
54
55
# File 'lib/load_dialogs.rb', line 53

def examples
  @examples
end

#lex_chatObject



45
46
47
# File 'lib/load_dialogs.rb', line 45

def lex_chat
  @lex_chat ||= BotSpec::AWS::LexService.new({botname: LoadDialogs.botname})
end