mirror of
https://github.com/TracksApp/tracks.git
synced 2025-12-16 15:20:13 +01:00
* Update boilerplate with `bin/rake rails:upgrade` * Use test instead of test:all rake task * Change stylesheet extensions from .css.scss to .scss * Update docs to use localhost instead of 0.0.0.0 because Rails 4.2 no longer listens on all addresses by default.
60 lines
2.8 KiB
Ruby
60 lines
2.8 KiB
Ruby
require 'activeresource'
|
|
|
|
# WARNING: this is not really maintained or tested...
|
|
|
|
# Install the ActiveResource gem if you don't already have it:
|
|
#
|
|
# sudo gem install activeresource --source http://gems.rubyonrails.org --include-dependencies
|
|
|
|
# $ SITE="http://myusername:p4ssw0rd@mytracksinstallation.com" irb -r tracks_api_wrapper.rb
|
|
#
|
|
# >> my_pc = Tracks::Context.find(:first)
|
|
# => #<Tracks::Context:0x139c3c0 @prefix_options={}, @attributes={"name"=>"my pc", "updated_at"=>Mon Aug 13 02:56:18 UTC 2007, "hide"=>0, "id"=>8, "position"=>1, "created_at"=>Wed Feb 28 07:07:28 UTC 2007}
|
|
# >> my_pc.name
|
|
# => "my pc"
|
|
# >> my_pc.todos
|
|
# => [#<Tracks::Todo:0x1e16b84 @prefix_options={}, @attributes={"context_id"=>8, "completed_at"=>Tue Apr 10 12:57:24 UTC 2007, "project_id"=>nil, "show_from"=>nil, "id"=>1432, "notes"=>nil, "description"=>"check rhino mocks bug", "due"=>Mon, 09 Apr 2007, "created_at"=>Sun Apr 08 04:56:35 UTC 2007, "state"=>"completed"}, #<Tracks::Todo:0x1e16b70 @prefix_options={}, @attributes={"context_id"=>8, "completed_at"=>Mon Oct 10 13:10:21 UTC 2005, "project_id"=>10, "show_from"=>nil, "id"=>17, "notes"=>"fusion problem", "description"=>"Fix Client Installer", "due"=>nil, "created_at"=>Sat Oct 08 00:19:33 UTC 2005, "state"=>"completed"}]
|
|
#
|
|
# >> t = Tracks::Todo.new
|
|
# => #<Tracks::Todo:0x1ee9fc0 @prefix_options={}, @attributes={}>
|
|
# >> t.description = "do it now"
|
|
# => "do it now"
|
|
# >> t.context_id = 8
|
|
# => 8
|
|
# >> t.save
|
|
# => true
|
|
# >> t.reload
|
|
# => #<Tracks::Todo:0x1ee9fc0 @prefix_options={}, @attributes={"completed_at"=>nil, "context_id"=>8, "project_id"=>nil, "show_from"=>nil, "notes"=>nil, "id"=>1791, "description"=>"do it now", "due"=>nil, "created_at"=>Mon Dec 03 19:15:46 UTC 2007, "state"=>"active"}
|
|
# >> t.put(:toggle_check)
|
|
# => #<Net::HTTPOK 200 OK readbody=true>
|
|
# >> t.reload
|
|
# => #<Tracks::Todo:0x1ee9fc0 @prefix_options={}, @attributes={"completed_at"=>Mon Dec 03 19:17:46 UTC 2007, "context_id"=>8, "project_id"=>nil, "show_from"=>nil, "notes"=>nil, "id"=>1791, "description"=>"do it now", "due"=>nil, "created_at"=>Mon Dec 03 19:15:46 UTC 2007, "state"=>"completed"}
|
|
|
|
# If you want to see the HTTP requests and responses that are being passed back and
|
|
# forth, you can tweak your active_resource like as described in:
|
|
# http://blog.pepperdust.org/2007/2/13/enabling-wire-level-debug-output-for-activeresource
|
|
|
|
module Tracks
|
|
|
|
class Base < ActiveResource::Base
|
|
self.site = ENV["SITE"] || "http://username:password@localhost:3000/"
|
|
end
|
|
|
|
class Todo < Base
|
|
end
|
|
|
|
class Context < Base
|
|
def todos
|
|
return attributes["todos"] if attributes.keys.include?("todos")
|
|
return Todo.find(:all, :params => {:context_id => id})
|
|
end
|
|
end
|
|
|
|
class Project < Base
|
|
def todos
|
|
return attributes["todos"] if attributes.keys.include?("todos")
|
|
return Todo.find(:all, :params => {:project_id => id})
|
|
end
|
|
end
|
|
|
|
end
|