Module: Aska::ClassMethods

Defined in:
lib/aska.rb

Instance Method Summary collapse

Instance Method Details

#attr_accessorsObject



26
27
28
# File 'lib/aska.rb', line 26

def attr_accessors
  @attr_accessors ||= []
end

#create_instance_variable(name) ⇒ Object



18
19
20
21
22
# File 'lib/aska.rb', line 18

def create_instance_variable(name)
  return unless name
  attr_accessors << name.to_sym
  eval "attr_accessor :#{name}"
end

#defined_rulesObject



29
30
31
# File 'lib/aska.rb', line 29

def defined_rules
  @defined_rules ||= {}
end

#look_up_rules(name) ⇒ Object



23
24
25
# File 'lib/aska.rb', line 23

def look_up_rules(name)
  defined_rules["#{name}"] ||= []
end

#rules(name = :rules, str = "") ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/aska.rb', line 7

def rules(name=:rules, str="")
  r = look_up_rules(name)
  str.each_line do |line|
    k = line[/(.+)[=\\\<\>](.*)/, 1].gsub(/\s+/, '')
    v = line[/(.+)[=\\<>](.*)/, 2].gsub(/\s+/, '')
    m = line[/[=\\<>]/, 0].gsub(/\s+/, '')
    
    create_instance_variable(k)
    r << {k => [m, v]}
  end
end