Class: Schofield::Generators::Responses

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/schofield/responses.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.generatorObject

Returns the value of attribute generator.



7
8
9
# File 'lib/generators/schofield/responses.rb', line 7

def generator
  @generator
end

.re_askObject

Returns the value of attribute re_ask.



7
8
9
# File 'lib/generators/schofield/responses.rb', line 7

def re_ask
  @re_ask
end

Class Method Details

.askObject



20
21
22
23
24
25
# File 'lib/generators/schofield/responses.rb', line 20

def self.ask
  re_ask = true
  answer = generator.ask(@question)
  @answers ||= {}
  @answers[@question] = answer || ''
end

.get(question) ⇒ Object



12
13
14
15
16
17
18
# File 'lib/generators/schofield/responses.rb', line 12

def self.get question
  @question = question
  if re_ask || (answer = past_answer).nil?
    answer = ask
  end
  answer || ''
end

.past_answerObject



27
28
29
# File 'lib/generators/schofield/responses.rb', line 27

def self.past_answer
  self.past_answers[@question]
end

.past_answersObject



31
32
33
# File 'lib/generators/schofield/responses.rb', line 31

def self.past_answers
  @answers ||= File.exists?(@file) ? File.open(@file, 'rb') { |f| Marshal.load(f) } : {}
end

.saveObject



35
36
37
# File 'lib/generators/schofield/responses.rb', line 35

def self.save
  File.open(@file, 'wb') { |io| Marshal.dump(@answers, io) }
end

.say(string) ⇒ Object



39
40
41
# File 'lib/generators/schofield/responses.rb', line 39

def self.say string
  generator.say(string)
end