Method: Doc::BaseTask.state_methods

Defined in:
lib/doc/base_task.rb

.state_methods(name, data_code_for_state) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/doc/base_task.rb', line 20

def self.state_methods(name, data_code_for_state)
  class_eval "    def \#{name}_state\n      @\#{name}_state ||= \#{data_code_for_state}\n    end\n    def \#{name}_state_path\n      doc_dir / '.\#{name}_state'\n    end\n    def \#{name}_state_changed?\n      !\#{name}_state_path.exist? || YAML.load(\#{name}_state_path.read) != \#{name}_state\n    rescue\n      true\n    end\n    def write_\#{name}_state\n      \#{name}_state_path.write(YAML.dump(\#{name}_state))\n    end\n  RUBY\nend\n", __FILE__, __LINE__