diff options
| author | Zack Hobson | 2013-11-22 10:33:21 -0800 | 
|---|---|---|
| committer | Zack Hobson | 2013-11-22 10:33:21 -0800 | 
| commit | 0ce2ec981a0ee3e6a8b232445f1d29b10abe1763 (patch) | |
| tree | 498230b0d4d6f7cc2121a2c5b689e471b9f0bab5 /lib | |
| parent | 535081336a6eebcb02f30d1c1bad6b7e381aec2b (diff) | |
| download | hcl-0ce2ec981a0ee3e6a8b232445f1d29b10abe1763.tar.bz2 | |
added instance method version of http operations
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/hcl/day_entry.rb | 6 | ||||
| -rw-r--r-- | lib/hcl/task.rb | 4 | ||||
| -rw-r--r-- | lib/hcl/timesheet_resource.rb | 33 | 
3 files changed, 33 insertions, 10 deletions
| diff --git a/lib/hcl/day_entry.rb b/lib/hcl/day_entry.rb index c3fe254..2279e12 100644 --- a/lib/hcl/day_entry.rb +++ b/lib/hcl/day_entry.rb @@ -26,7 +26,7 @@ module HCl      def cancel        begin -        DayEntry.delete("daily/delete/#{id}") +        delete("daily/delete/#{id}")        rescue TimesheetResource::Failure          return false        end @@ -42,7 +42,7 @@ module HCl        # If I don't include hours it gets reset.        # This doens't appear to be the case for task and project.        (self.notes << "\n#{new_notes}").lstrip! -      DayEntry.post "daily/update/#{id}", +      post "daily/update/#{id}",          %{<request><notes>#{notes}</notes><hours>#{hours}</hours></request>}      end @@ -69,7 +69,7 @@ module HCl      end      def toggle -      DayEntry.get("daily/timer/#{id}") +      get("daily/timer/#{id}")        self      end diff --git a/lib/hcl/task.rb b/lib/hcl/task.rb index cf63514..59dc26f 100644 --- a/lib/hcl/task.rb +++ b/lib/hcl/task.rb @@ -59,7 +59,7 @@ module HCl      def add opts        notes = opts[:note]        starting_time = opts[:starting_time] || 0 -      days = DayEntry.from_xml Task.post("daily/add", <<-EOT) +      days = DayEntry.from_xml post("daily/add", <<-EOT)        <request>          <notes>#{notes}</notes>          <hours>#{starting_time}</hours> @@ -76,7 +76,7 @@ module HCl        if day.running?          day        else -        DayEntry.from_xml(Task.get("daily/timer/#{day.id}")).first +        DayEntry.from_xml(get("daily/timer/#{day.id}")).first        end      end    end diff --git a/lib/hcl/timesheet_resource.rb b/lib/hcl/timesheet_resource.rb index d4624ad..82a2bcb 100644 --- a/lib/hcl/timesheet_resource.rb +++ b/lib/hcl/timesheet_resource.rb @@ -58,6 +58,10 @@ module HCl        http_do Net::HTTP::Post, action, data      end +    def self.put action, data +      http_do Net::HTTP::Put, action, data +    end +      def self.delete action        http_do Net::HTTP::Delete, action      end @@ -84,6 +88,13 @@ module HCl        end      end +    def self.xml_to_hash elem +      elem.elements.map { |e| e.name }.inject({}) do |a, f| +        a[f.to_sym] = CGI.unescape_html(elem.elements[f].text || '') if elem.elements[f] +        a +      end +    end +      def id        @data[:id]      end @@ -96,11 +107,23 @@ module HCl        end      end -    def self.xml_to_hash elem -      elem.elements.map { |e| e.name }.inject({}) do |a, f| -        a[f.to_sym] = CGI.unescape_html(elem.elements[f].text || '') if elem.elements[f] -        a -      end +    protected + +    def xml_to_hash elem +      self.class.xml_to_hash elem      end +    def get *args +      self.class.get *args +    end +    def post *args +      self.class.post *args +    end +    def put *args +      self.class.put *args +    end +    def delete *args +      self.class.delete *args +    end +    end  end | 
