Module: Aska::ClassMethods
- Defined in:
- lib/poolparty/aska/aska.rb
Instance Method Summary collapse
- #are_rules?(name) ⇒ Boolean
- #aska_attr_accessors ⇒ Object
- #aska_named(name) ⇒ Object
-
#create_instance_variable(k, create_vars = true) ⇒ Object
end.
- #defined_rules ⇒ Object
- #look_up_rules(name) ⇒ Object
- #rules(name = :rules, arr = [], create_vars = true) ⇒ Object
Instance Method Details
#are_rules?(name) ⇒ Boolean
38 39 40 |
# File 'lib/poolparty/aska/aska.rb', line 38 def are_rules?(name) !look_up_rules(name).empty? end |
#aska_attr_accessors ⇒ Object
41 42 43 |
# File 'lib/poolparty/aska/aska.rb', line 41 def aska_attr_accessors @aska_attr_accessors ||= Rules.new end |
#aska_named(name) ⇒ Object
47 48 49 |
# File 'lib/poolparty/aska/aska.rb', line 47 def aska_named(name) "#{name}_aska" end |
#create_instance_variable(k, create_vars = true) ⇒ Object
end
28 29 30 31 32 33 34 |
# File 'lib/poolparty/aska/aska.rb', line 28 def create_instance_variable(k, create_vars=true) aska_attr_accessors << k.to_sym unless aska_attr_accessors.include?(k.to_sym) if create_vars attr_reader k.to_sym unless respond_to?("#{k}".to_sym) attr_writer k.to_sym unless respond_to?("#{k}=".to_sym) end end |
#defined_rules ⇒ Object
44 45 46 |
# File 'lib/poolparty/aska/aska.rb', line 44 def defined_rules @defined_rules ||= {} end |
#look_up_rules(name) ⇒ Object
35 36 37 |
# File 'lib/poolparty/aska/aska.rb', line 35 def look_up_rules(name) defined_rules[name.to_sym] ||= Rules.new end |
#rules(name = :rules, arr = [], create_vars = true) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/poolparty/aska/aska.rb', line 7 def rules(name=:rules, arr=[], create_vars=true) rs = look_up_rules(name) # returning look_up_rules(name) do |rs| arr.each do |line| next unless line rule = Rule.new(line) next unless rule.valid? k = rule.key v = rule.var m = rule.comparison create_instance_variable(k, create_vars) rs << {k => [m, v]} rs << {k => [">", "0"]} unless rs.reject {|a| a.to_s == "#{k}>0" } end self.send(:define_method, name) do look_up_rules(name) end rs # end end |