Module: Dialogue::Storable

Included in:
Conversation
Defined in:
lib/dialogue/storable.rb

Instance Method Summary collapse

Instance Method Details

#dataObject



3
4
5
# File 'lib/dialogue/storable.rb', line 3

def data
  @data ||= {}
end

#fetch(key, default = nil, &block) ⇒ Object



7
8
9
# File 'lib/dialogue/storable.rb', line 7

def fetch(key, default=nil, &block)
  data.fetch key, default, &block
end

#has_data?(*keys) ⇒ Boolean

Returns:

  • (Boolean)


11
12
13
14
15
16
17
18
19
20
# File 'lib/dialogue/storable.rb', line 11

def has_data?(*keys)
  present = keys.all? { |key| data.has_key?(key) }
  if present
    present = keys.all? do |key|
      !data[key].nil? &&
        (data[key].respond_to?(:empty?) && !data[key].empty?)
    end
  end
  present
end

#store!(hash) ⇒ Object



22
23
24
# File 'lib/dialogue/storable.rb', line 22

def store!(hash)
  data.merge! hash
end