mavenlink 0.2.4 → 0.2.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mavenlink (0.2.3)
4
+ mavenlink (0.2.5)
5
5
  httparty
6
6
 
7
7
  GEM
@@ -14,7 +14,7 @@ GEM
14
14
  multi_json
15
15
  multi_xml
16
16
  json (1.6.5)
17
- multi_json (1.1.0)
17
+ multi_json (1.2.0)
18
18
  multi_xml (0.4.2)
19
19
  rr (1.0.4)
20
20
  rspec (2.9.0)
@@ -90,6 +90,11 @@ module Mavenlink
90
90
  end
91
91
  self
92
92
  end
93
+
94
+ # For Rails's as_json
95
+ def as_json(*args)
96
+ @json.as_json(*args)
97
+ end
93
98
 
94
99
  protected
95
100
 
@@ -1,7 +1,7 @@
1
1
  module Mavenlink
2
2
  class Base
3
- base_uri ENV['TESTING'] ? 'https://mavenlink.local/api/v0' : 'https://www.mavenlink.com/api/v0'
4
- debug ENV['DEBUG'] || false
3
+ base_uri ENV['MAVENLINK_DEVELOPMENT'] ? 'https://mavenlink.local/api/v0' : 'https://www.mavenlink.com/api/v0'
4
+ debug ENV['MAVENLINK_DEBUG'] || false
5
5
  end
6
6
 
7
7
  # Wrapping objects that have no API endpoints yet
@@ -66,6 +66,15 @@ module Mavenlink
66
66
  def events(options = {})
67
67
  fetch('events', Event, options)
68
68
  end
69
+
70
+
71
+ def all_visible_stories(options = {})
72
+ fetch('stories/all_visible', Story, options, lambda { |story| {:workspace_id => story['workspace_id']} })
73
+ end
74
+
75
+ def stories(options = {})
76
+ fetch('stories', Story, options, lambda { |story| {:workspace_id => story['workspace_id']} })
77
+ end
69
78
  end
70
79
 
71
80
  class Workspace < Base
@@ -1,3 +1,3 @@
1
1
  module Mavenlink
2
- VERSION = "0.2.4"
2
+ VERSION = "0.2.6"
3
3
  end
@@ -0,0 +1 @@
1
+ [{"currency":"VND","rate_in_cents":60,"workspace_id":49,"notes":"ok","story_id":90,"creator_id":1,"billable":true,"date_performed":"2012/03/30","id":749,"time_in_minutes":240,"created_at":"2012/03/30 14:43:49 -0700"},{"currency":"VND","rate_in_cents":300000,"workspace_id":15,"notes":"HELLO I AM SOME MINUTES","story_id":29,"creator_id":1,"billable":true,"date_performed":"2012/03/26","id":740,"time_in_minutes":192,"created_at":"2012/03/26 18:05:19 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":256,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":512,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":257,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":513,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":258,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":514,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":259,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":515,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":260,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":516,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":261,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":517,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":262,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":518,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":263,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":519,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":264,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":520,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":265,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":521,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":266,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":522,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":267,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":523,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":268,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":524,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":269,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":525,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":270,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":526,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":271,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":527,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":272,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":528,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":273,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":529,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":274,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":530,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":275,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":531,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":276,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":532,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":277,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":533,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":278,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":534,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":279,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":535,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":280,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":536,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":281,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":537,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":282,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":538,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":283,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":539,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":284,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":540,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":285,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":541,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":286,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":542,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":287,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":543,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":288,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":544,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":289,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":545,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":290,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":546,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":291,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":547,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":292,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":548,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":293,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":549,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":294,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":550,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":295,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":551,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":296,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":552,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":297,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":553,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":298,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":554,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":299,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":555,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":300,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":556,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":301,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":557,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":302,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":558,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":303,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":559,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":304,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":560,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":305,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":561,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":306,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":562,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":307,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":563,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":308,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":564,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":309,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":565,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":310,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":566,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":311,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":567,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":312,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":568,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":313,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":569,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":314,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":570,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":315,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":571,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":316,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":572,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":317,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":573,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":318,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":574,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":319,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":575,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":320,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":576,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":321,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":577,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":322,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":578,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":67,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":323,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":579,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":68,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":324,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":580,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":69,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":325,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":581,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":70,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":326,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":582,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":71,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":327,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":583,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":72,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":328,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":584,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":73,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":329,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":585,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":74,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":330,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":586,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":75,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":331,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":587,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":76,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":332,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":588,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":77,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":333,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":589,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":78,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":334,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":590,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":79,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":335,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":591,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":80,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":336,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":592,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":81,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":337,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":593,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":82,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":338,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":594,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":83,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":339,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":595,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":84,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":340,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":596,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":85,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":341,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":597,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":86,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":342,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":598,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":87,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":343,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":599,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"},{"currency":"USD","rate_in_cents":2100,"workspace_id":38,"notes":"oh man there are lots of quotes","story_id":72,"creator_id":1,"billable":true,"date_performed":"2012/03/21","id":88,"time_in_minutes":60,"created_at":"2012/03/21 14:47:07 -0700"}]
@@ -6,101 +6,117 @@ describe Mavenlink::Client do
6
6
  end
7
7
 
8
8
  describe "time entries" do
9
- before do
10
- @time_entries_json = <<-JSON
11
- [
12
- {
13
- "workspace_id":1601,
14
- "story_id":1581,
15
- "creator_id":2,
16
- "currency":"USD",
17
- "created_at":"2010/08/02 09:39:01 -0700",
18
- "date_performed":"2010/08/02",
19
- "billable":false,
20
- "notes":"",
21
- "time_in_minutes":120,
22
- "rate_in_cents":0,
23
- "id":35
24
- },
25
- {
26
- "workspace_id":11746,
27
- "story_id":null,
28
- "creator_id":2,
29
- "currency":"GBP",
30
- "created_at":"2010/11/15 12:16:10 -0800",
31
- "date_performed":"2010/11/15",
32
- "billable":true,
33
- "notes":"",
34
- "time_in_minutes":60,
35
- "rate_in_cents":2000,
36
- "id":2060
37
- }
38
- ]
39
- JSON
40
-
41
-
42
- @story_json = <<-JSON
43
- {
44
- "workspace_id":1601,
45
- "state": "not started",
46
- "description": "",
47
- "story_type": "task",
48
- "created_at": "2001/03/11 15:01:04 -0800",
49
- "archived":false,
50
- "assignee":
9
+ context "with mock data" do
10
+ before do
11
+ @time_entries_json = <<-JSON
12
+ [
51
13
  {
52
- "full_name": "Some User",
53
- "id": 4000
14
+ "workspace_id":1601,
15
+ "story_id":1581,
16
+ "creator_id":2,
17
+ "currency":"USD",
18
+ "created_at":"2010/08/02 09:39:01 -0700",
19
+ "date_performed":"2010/08/02",
20
+ "billable":false,
21
+ "notes":"",
22
+ "time_in_minutes":120,
23
+ "rate_in_cents":0,
24
+ "id":35
54
25
  },
55
- "due_date":null,
56
- "position":1,
57
- "id":1581,
58
- "title": "Some Story",
59
- "creator":
60
26
  {
61
- "full_name": "Some Other User",
62
- "id": 4001
27
+ "workspace_id":11746,
28
+ "story_id":null,
29
+ "creator_id":2,
30
+ "currency":"GBP",
31
+ "created_at":"2010/11/15 12:16:10 -0800",
32
+ "date_performed":"2010/11/15",
33
+ "billable":true,
34
+ "notes":"",
35
+ "time_in_minutes":60,
36
+ "rate_in_cents":2000,
37
+ "id":2060
63
38
  }
64
- }
65
- JSON
39
+ ]
40
+ JSON
66
41
 
67
- stub_request(:get, "https://user_id:token@mavenlink.local/api/v0/time_entries?per_page=5").
68
- with(:headers => {'Accept'=>'application/json'}).
69
- to_return(:status => 200, :body => @time_entries_json, :headers => {})
70
42
 
71
- stub_request(:get, "https://user_id:token@mavenlink.local/api/v0/workspaces/1601/stories/1581?").
72
- with(:headers => {'Accept'=>'application/json'}).
73
- to_return(:status => 200, :body => @story_json, :headers => {})
43
+ @story_json = <<-JSON
44
+ {
45
+ "workspace_id":1601,
46
+ "state": "not started",
47
+ "description": "",
48
+ "story_type": "task",
49
+ "created_at": "2001/03/11 15:01:04 -0800",
50
+ "archived":false,
51
+ "assignee":
52
+ {
53
+ "full_name": "Some User",
54
+ "id": 4000
55
+ },
56
+ "due_date":null,
57
+ "position":1,
58
+ "id":1581,
59
+ "title": "Some Story",
60
+ "creator":
61
+ {
62
+ "full_name": "Some Other User",
63
+ "id": 4001
64
+ }
65
+ }
66
+ JSON
74
67
 
75
- @time_entries = @client.time_entries(:per_page => 5)
76
- end
68
+ stub_request(:get, "https://user_id:token@mavenlink.local/api/v0/time_entries?per_page=5").
69
+ with(:headers => {'Accept'=>'application/json'}).
70
+ to_return(:status => 200, :body => @time_entries_json, :headers => {})
77
71
 
78
- it "should do basic auth" do
79
- WebMock.should have_requested(:get, "https://user_id:token@mavenlink.local/api/v0/time_entries?per_page=5")
80
- end
72
+ stub_request(:get, "https://user_id:token@mavenlink.local/api/v0/workspaces/1601/stories/1581?").
73
+ with(:headers => {'Accept'=>'application/json'}).
74
+ to_return(:status => 200, :body => @story_json, :headers => {})
81
75
 
82
- it "should have many time_entries" do
83
- @time_entries.length.should == 2
84
- @time_entries.first.should be_a(Mavenlink::TimeEntry)
85
- @time_entries.first.request_path.should == "/workspaces/1601/time_entries/35"
86
- end
76
+ @time_entries = @client.time_entries(:per_page => 5)
77
+ end
78
+
79
+ it "should do basic auth" do
80
+ WebMock.should have_requested(:get, "https://user_id:token@mavenlink.local/api/v0/time_entries?per_page=5")
81
+ end
87
82
 
88
- describe "the story on a time entry" do
89
- it "is a working story object" do
90
- story = @time_entries.first.story
91
- story.should be_a(Mavenlink::Story)
92
- story.title.should == "Some Story"
93
- story.request_path.should == "/workspaces/1601/stories/1581"
83
+ it "should have many time_entries" do
84
+ @time_entries.length.should == 2
85
+ @time_entries.first.should be_a(Mavenlink::TimeEntry)
86
+ @time_entries.first.request_path.should == "/workspaces/1601/time_entries/35"
94
87
  end
95
88
 
96
- it "has a nested creator and assignee" do
97
- story = @time_entries.first.story
98
- story.creator.should be_a(Mavenlink::User)
99
- story.creator.full_name.should == "Some Other User"
100
- story.assignee.should be_a(Mavenlink::User)
101
- story.assignee.full_name.should == "Some User"
89
+ describe "the story on a time entry" do
90
+ it "is a working story object" do
91
+ story = @time_entries.first.story
92
+ story.should be_a(Mavenlink::Story)
93
+ story.title.should == "Some Story"
94
+ story.request_path.should == "/workspaces/1601/stories/1581"
95
+ end
96
+
97
+ it "has a nested creator and assignee" do
98
+ story = @time_entries.first.story
99
+ story.creator.should be_a(Mavenlink::User)
100
+ story.creator.full_name.should == "Some Other User"
101
+ story.assignee.should be_a(Mavenlink::User)
102
+ story.assignee.full_name.should == "Some User"
103
+ end
102
104
  end
103
105
  end
106
+
107
+ it "should be reasonable fast" do
108
+ json_data = File.read(File.join(File.dirname(__FILE__), "..", "fixtures", "time_entries.json"))
109
+
110
+ stub_request(:get, "https://user_id:token@mavenlink.local/api/v0/time_entries?per_page=1000").
111
+ with(:headers => {'Accept'=>'application/json'}).
112
+ to_return(:status => 200, :body => json_data, :headers => {})
113
+
114
+ time_entries = @client.time_entries(:per_page => 1000)
115
+ start = Time.now.to_f
116
+ time_entries.length.should > 50
117
+ time_entries.first.should be_a(Mavenlink::TimeEntry)
118
+ (Time.now.to_f - start).should < 1
119
+ end
104
120
  end
105
121
 
106
122
  describe "events" do
@@ -3,7 +3,7 @@ require 'bundler/setup'
3
3
  require 'json'
4
4
  require 'webmock/rspec'
5
5
 
6
- ENV['TESTING'] = 'true'
6
+ ENV['MAVENLINK_DEVELOPMENT'] = 'true'
7
7
 
8
8
  $: << File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
9
9
  require 'mavenlink'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mavenlink
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-28 00:00:00.000000000 Z
12
+ date: 2012-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &70272539810760 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70272539810760
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: webmock
27
- requirement: &70272539810180 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70272539810180
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: rspec
38
- requirement: &70272539809640 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :development
45
55
  prerelease: false
46
- version_requirements: *70272539809640
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: rr
49
- requirement: &70272539809120 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :development
56
71
  prerelease: false
57
- version_requirements: *70272539809120
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: json
60
- requirement: &70272539808560 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,7 +85,12 @@ dependencies:
65
85
  version: '0'
66
86
  type: :development
67
87
  prerelease: false
68
- version_requirements: *70272539808560
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  description: This is a Ruby API client for Mavenlink. Mavenlink's project collaboration
70
95
  suite allows you to manage your business relationships, share files, and track project
71
96
  activity online from anywhere in the world. Within a project workspace in Mavenlink,
@@ -91,6 +116,7 @@ files:
91
116
  - lib/mavenlink/version.rb
92
117
  - lib/mavenlink_ruby_api.rb
93
118
  - mavenlink.gemspec
119
+ - spec/fixtures/time_entries.json
94
120
  - spec/mavenlink/base_spec.rb
95
121
  - spec/mavenlink/client_spec.rb
96
122
  - spec/spec_helper.rb
@@ -115,11 +141,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
141
  version: '0'
116
142
  requirements: []
117
143
  rubyforge_project:
118
- rubygems_version: 1.8.15
144
+ rubygems_version: 1.8.21
119
145
  signing_key:
120
146
  specification_version: 3
121
147
  summary: Ruby client for Mavenlink's API
122
148
  test_files:
149
+ - spec/fixtures/time_entries.json
123
150
  - spec/mavenlink/base_spec.rb
124
151
  - spec/mavenlink/client_spec.rb
125
152
  - spec/spec_helper.rb