# File lib/cobbler/base.rb, line 160
      def cobbler_lifecycle(*args)
        methods = args.first
        methods.keys.each do |key|

          method = methods[key]

          case key
          when :find_all then
            module_eval "def self.find(&block)\nbegin\nbegin_transaction\nrecords = make_call('\#{method}')\nensure\nend_transaction\nend\n\nresult = Array.new\n\nif records\nrecords.each { |record| result << create(record) }\nend\n\nresult.each { |system| yield(system) } if block\n\nreturn result\nend\n"

          when :find_one then
            module_eval "def self.find_one(name, flatten = false)\nbegin\nbegin_transaction\nrecord = make_call('\#{method}',name,flatten)\nensure\nend_transaction\nend\n\nreturn create(record) unless record.keys.empty?\n\nreturn nil\nend\n"

          when :remove then
            module_eval "def remove\nbegin\nBase.begin_transaction(true)\ntoken = Base.login\nresult = Base.make_call('\#{method}',name,token)\nensure\nBase.end_transaction\nend\n\nresult\nend\n"

          end
        end
      end