harvested 3.0.0.rc1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d40d1bfd28ea226ff25aa4e6f6b78d6ce3df6d37
4
- data.tar.gz: c3ebf97344f99de79afc0eae59dd6b0a6de43f7d
3
+ metadata.gz: c9671d7604da7b9da9bee9fd922b00cac9aa08a9
4
+ data.tar.gz: e0295ab8a592616dff967a03a43ec9b0c669d3b9
5
5
  SHA512:
6
- metadata.gz: 2bc9034c02ad6d9ce05a8a2c70b545db1c8b5924085c674ec07093092c2d95c18f3af451240278e858398b6c445805615fa263f2d6892de82842e7bbe35d6ee3
7
- data.tar.gz: bcea2bb7c21a00dba42ba7f666d79fe343b618f75a855b60f0c9cada27b39a4eed577c96181b843ba3cb50fdaef0acab99b8c73763a5879ddd009e85d2587848
6
+ metadata.gz: 5fac81456746627a0ff7372defcf6013ada70ae07e53013085c7844761b1a853c9f1f666af0d0fcdd3a83969a3b7d78c01b6b1ca499980e089301d2d5c56c154
7
+ data.tar.gz: d54e0f9f6b67aa16747cf2f527d954a5bdc42501819727396b43a2abb0a4d53423940d85e0ea5b5378b2c501e02e800e4a895090c8890460c2bcce3b0c75f581
data/HISTORY.md CHANGED
@@ -3,6 +3,8 @@
3
3
  * Allow OAuth authentication (Thanks Brendan Loudermilk - @bloudermilk)
4
4
  * Allow expenses_by_project to be retrieved (Thanks Jordan Yeo - @jordanyeo)
5
5
  * Reports now pass through any remaining options (Thanks Philip Arndt - @parndt)
6
+ * No longer requires Hashie v1 as a dependency
7
+ * Fixes bug where project hints were not handled properly
6
8
 
7
9
  ## 2.0.0 - April 23, 2014
8
10
  * Every connection must be SSL
data/README.md CHANGED
@@ -9,7 +9,7 @@ This is a Ruby wrapper for the [Harvest API](http://www.getharvest.com/api).
9
9
  ## Examples
10
10
 
11
11
  ```ruby
12
- harvest = Harvest.client('yoursubdomain', 'yourusername', 'yourpassword')
12
+ harvest = Harvest.client(subdomain: 'yoursubdomain', username: 'yourusername', password: 'yourpassword')
13
13
  harvest.projects.all # list out projects
14
14
 
15
15
  client = Harvest::Client.new(:name => "Billable Company LTD.")
@@ -21,7 +21,7 @@ You can also pass query options in as the last parameter on any objects `all` fi
21
21
  method, for example to find all the projects for client ID 12345:
22
22
 
23
23
  ```ruby
24
- harvest = Harvest.client('yoursubdomain', 'yourusername', 'yourpassword')
24
+ harvest = Harvest.client(subdomain: 'yoursubdomain', username: 'yourusername', password: 'yourpassword')
25
25
  harvest.projects.all(nil, :client => 12345)
26
26
  ```
27
27
 
@@ -33,6 +33,10 @@ You can pass in any hash of query attributes you wish as per the
33
33
 
34
34
  You can find more examples in `/examples` and in the documentation for Harvest::Base
35
35
 
36
+ ## Permissions
37
+
38
+ For most operations you need to be an Admin on the Harvest account. You can do few select things as normal users and project managers, but you will likely get errors.
39
+
36
40
  ## Hardy Client
37
41
 
38
42
  The guys at Harvest built a great API, but there are always dangers in writing code that depends on an API. For example, HTTP Timeouts, Occasional Bad Gateways, and Rate Limiting issues need to be accounted for.
@@ -40,13 +44,13 @@ The guys at Harvest built a great API, but there are always dangers in writing c
40
44
  Using `Harvested#client` your code needs to handle all these situations. However you can also use `Harvested#hardy_client` which will retry errors and wait for Rate Limit resets.
41
45
 
42
46
  ```ruby
43
- harvest = Harvest.hardy_client('yoursubdomain', 'yourusername', 'yourpassword')
47
+ harvest = Harvest.hardy_client(subdomain: 'yoursubdomain', username: 'yourusername', password: 'yourpassword')
44
48
  harvest.projects.all # This will wait for the Rate Limit reset if you have gone over your limit
45
49
  ```
46
50
 
47
51
  ## Ruby support
48
52
 
49
- Harvested's tests are currently passing for 1.8.7, 1.9.2, JRuby 1.6.2, and Rubinius
53
+ Harvested's tests are currently supports ruby 2.0+
50
54
 
51
55
  ## Links
52
56
 
@@ -72,8 +76,9 @@ If you want to contribute an enhancement or a fix:
72
76
 
73
77
  1. Fork the project on github http://github.com/zmoazeni/harvested
74
78
  2. Make your changes with tests
75
- 3. Commit the changes without messing with the Rakefile, VERSION, or history
76
- 4. Send me a pull request
79
+ 3. Commit the changes without messing with the Rakefile, or Version
80
+ 4. Make an entry to HISTORY.md
81
+ 5. Send me a pull request
77
82
 
78
83
  Note on running tests: most specs run against a live Harvest account. To run the suite, sign up for a free trial account and fill out `/spec/support/harvest_credentials.yml` *(a sample harvest_credentials.example.yml has been included)*.
79
84
 
@@ -81,12 +86,6 @@ Note on running tests: most specs run against a live Harvest account. To run the
81
86
 
82
87
  The tests use [VCR](https://github.com/myronmarston/vcr) to cache the API responses. This is a great boon for running the tests offline. While uncommon, sometimes the Harvest API will send an erroneous response, VCR will cache it, and subsequent runs will use the incorrect cached response. In order to clear the cached responses, you can run the specs with the `VCR_REFRESH` environmental variable set to true (e.g. `VCR_REFRESH=true bundle exec rake spec`).
83
88
 
84
- Using [rvm](https://rvm.beginrescueend.com/) you can run the tests against the popular ruby runtimes by running:
85
-
86
- ./spec/test_rubies
87
-
88
- Each runtime needs to be installed in rvm along with the bundler gem.
89
-
90
89
  ## Notes on Harvest Estimates
91
90
 
92
91
  Estimates aren't currently supported due to lack of an API. If this opens up, harvested will include them.
@@ -4,7 +4,7 @@ subdomain = 'yoursubdomain'
4
4
  username = 'yourusername'
5
5
  password = 'yourpassword'
6
6
 
7
- harvest = Harvest.hardy_client(subdomain, username, password)
7
+ harvest = Harvest.hardy_client(subdomain: subdomain, username: username, password: password)
8
8
 
9
9
  # Print out all users, clients, and projects on the account
10
10
  puts "Users:"
@@ -18,18 +18,18 @@ harvest.projects.all.each {|project| p project }
18
18
 
19
19
  # Create a Client add a Project to that Client, Add a Task to the Project, track some Time against the Project/Task, and then Run a report against all time I've submitted
20
20
 
21
- client = Harvest::Client.new(:name => 'SuprCorp')
21
+ client = Harvest::Client.new(name: 'SuprCorp')
22
22
  client = harvest.clients.create(client)
23
23
 
24
- project = Harvest::Project.new(:name => 'SuprGlu', :client_id => client.id, :notes => 'Some notes about this project')
24
+ project = Harvest::Project.new(name: 'SuprGlu', client_id: client.id, notes: 'Some notes about this project')
25
25
  project = harvest.projects.create(project)
26
26
 
27
27
  harvest.projects.create_task(project, 'Bottling Glue')
28
28
  task_assignment = harvest.task_assignments.all(project).first
29
29
 
30
- time_entry = Harvest::TimeEntry.new(:notes => 'Bottled glue today', :hours => 8, :spent_at => "04/11/2010", :project_id => project.id, :task_id => task_assignment.task_id)
30
+ time_entry = Harvest::TimeEntry.new(notes: 'Bottled glue today', hours: 8, spent_at: "04/11/2010", project_id: project.id, task_id: task_assignment.task_id)
31
31
  time_entry = harvest.time.create(time_entry)
32
32
 
33
33
  entries = harvest.reports.time_by_project(project, Time.parse("04/11/2010"), Time.parse("04/12/2010"))
34
34
  puts "Entries:"
35
- entries.each {|e| p e}
35
+ entries.each {|e| p e}
@@ -1,28 +1,28 @@
1
1
  # This is commented out because it can be very dangerous if run against a production account
2
2
 
3
3
  # require "harvested"
4
- #
4
+ #
5
5
  # subdomain = 'yoursubdomain'
6
6
  # username = 'yourusername'
7
7
  # password = 'yourpassword'
8
- #
9
- # api = Harvest.hardy_client(subdomain, username, password)
10
- #
8
+ #
9
+ # api = Harvest.hardy_client(subdomain: subdomain, username: username, password: password)
10
+ #
11
11
  # raise "Are you sure you want to do this? (comment out this exception if so)"
12
- #
12
+ #
13
13
  # api.users.all.each do |u|
14
14
  # api.users.delete(u) if u.email != username
15
15
  # end
16
16
  # my_user = api.users.all.first
17
- #
17
+ #
18
18
  # api.reports.time_by_user(my_user, Time.parse('01/01/2000'), Time.now).each do |time|
19
19
  # api.time.delete(time)
20
20
  # end
21
- #
21
+ #
22
22
  # api.reports.expenses_by_user(my_user, Time.parse('01/01/2000'), Time.now).each do |time|
23
23
  # api.expenses.delete(time)
24
24
  # end
25
- #
25
+ #
26
26
  # %w(expenses expense_categories projects contacts clients tasks).each do |collection|
27
27
  # api.send(collection).all.each {|m| api.send(collection).delete(m) }
28
- # end
28
+ # end
@@ -13,7 +13,7 @@ subdomain = 'yoursubdomain'
13
13
  username = 'yourusername'
14
14
  password = 'yourpassword'
15
15
 
16
- harvest = Harvest.hardy_client(subdomain, username, password)
16
+ harvest = Harvest.hardy_client(subdomain: subdomain, username: username, password: password)
17
17
 
18
18
  puts "\nPlease search for a client by typing part of their name:"
19
19
  cname = gets.chomp
@@ -35,7 +35,7 @@ when 1..15
35
35
  puts " #{i+1}. #{c.name}"
36
36
  end
37
37
 
38
- client_index = gets.chomp.to_i - 1
38
+ client_index = gets.chomp.to_i - 1
39
39
  else
40
40
  puts "Too many client matches. Please try a more specific search term.\n"
41
41
  abort
@@ -69,13 +69,13 @@ tasks = harvest.tasks.all.select { |t| use_tasks.include?(t.name) }
69
69
 
70
70
  # Create the project
71
71
  puts "Creating new project: \"#{project_name}\" for client: #{client.name}\n"
72
- project = Harvest::Project.new(:name => project_name, :client_id => client.id, :billable => billable, :notes => notes)
72
+ project = Harvest::Project.new(name: project_name, client_id: client.id, billable: billable, notes: notes)
73
73
  project = harvest.projects.create(project)
74
74
 
75
75
  # Add all the project tasks to the project
76
76
  tasks.each do |t|
77
77
  puts " Adding Task: #{t.name}"
78
- task_assignment = Harvest::TaskAssignment.new(:task_id => t.id, :project_id => project.id)
78
+ task_assignment = Harvest::TaskAssignment.new(task_id: t.id, project_id: project.id)
79
79
  task_assignment = harvest.task_assignments.create(task_assignment)
80
80
  end
81
81
 
@@ -85,7 +85,7 @@ harvest.users.all.each do |u|
85
85
  next unless u.is_active?
86
86
 
87
87
  puts " Adding User: #{u.first_name} #{u.last_name}"
88
- user_assignment = Harvest::UserAssignment.new(:user_id => u.id, :project_id => project.id)
88
+ user_assignment = Harvest::UserAssignment.new(user_id: u.id, project_id: project.id)
89
89
  harvest.user_assignments.create(user_assignment)
90
90
  end
91
91
 
@@ -4,14 +4,14 @@ subdomain = 'yoursubdomain'
4
4
  username = 'yourusername'
5
5
  password = 'yourpassword'
6
6
 
7
- harvest = Harvest.hardy_client(subdomain, username, password)
7
+ harvest = Harvest.hardy_client(subdomain: subdomain, username: username, password: password)
8
8
 
9
9
  # Create a Client add a Project to that Client
10
10
 
11
- client = Harvest::Client.new(:name => 'SuprCorp')
11
+ client = Harvest::Client.new(name: 'SuprCorp')
12
12
  client = harvest.clients.create(client)
13
13
 
14
- project = Harvest::Project.new(:name => 'SuprGlu', :client_id => client.id, :notes => 'Some notes about this project')
14
+ project = Harvest::Project.new(name: 'SuprGlu', client_id: client.id, notes: 'Some notes about this project')
15
15
  project = harvest.projects.create(project)
16
16
 
17
17
  # You can create an assign a task in one call
@@ -19,9 +19,9 @@ harvest.projects.create_task(project, 'Bottling Glue')
19
19
  puts "Assigned the task 'Bottling Glue' to the project 'SuprGlu'"
20
20
 
21
21
  # You can explicitly create the task and then assign it
22
- task = Harvest::Task.new(:name => 'Packaging Glue', :hourly_rate => 30, :billable => true)
22
+ task = Harvest::Task.new(name: 'Packaging Glue', hourly_rate: 30, billable: true)
23
23
  task = harvest.tasks.create(task)
24
24
 
25
- task_assignment = Harvest::TaskAssignment.new(:task_id => task.id, :project_id => project.id)
25
+ task_assignment = Harvest::TaskAssignment.new(task_id: task.id, project_id: project.id)
26
26
  task_assignment = harvest.task_assignments.create(task_assignment)
27
- puts "Assigned the task 'Packaging Glue' to the project 'SuprGlu'"
27
+ puts "Assigned the task 'Packaging Glue' to the project 'SuprGlu'"
@@ -4,21 +4,21 @@ subdomain = 'yoursubdomain'
4
4
  username = 'userusername'
5
5
  password = 'yourpassword'
6
6
 
7
- harvest = Harvest.hardy_client(subdomain, username, password)
7
+ harvest = Harvest.hardy_client(subdomain: subdomain, username: username, password: password)
8
8
 
9
9
  # Create a Client, Project, and a User then assign that User to that Project
10
10
 
11
- client = Harvest::Client.new(:name => 'SuprCorp')
11
+ client = Harvest::Client.new(name: 'SuprCorp')
12
12
  client = harvest.clients.create(client)
13
13
 
14
- project = Harvest::Project.new(:name => 'SuprGlu', :client_id => client.id, :notes => 'Some notes about this project')
14
+ project = Harvest::Project.new(name: 'SuprGlu', client_id: client.id, notes: 'Some notes about this project')
15
15
  project = harvest.projects.create(project)
16
16
 
17
17
  harvest.projects.create_task(project, 'Bottling Glue')
18
18
 
19
- user = Harvest::User.new(:first_name => 'Jane', :last_name => 'Doe', :email => 'jane@doe.com', :timezone => :est, :password => 'secure')
19
+ user = Harvest::User.new(first_name: 'Jane', last_name: 'Doe', email: 'jane@doe.com', timezone: :est, password: 'secure')
20
20
  user = harvest.users.create(user)
21
21
 
22
- user_assignment = Harvest::UserAssignment.new(:user_id => user.id, :project_id => project.id)
22
+ user_assignment = Harvest::UserAssignment.new(user_id: user.id, project_id: project.id)
23
23
  harvest.user_assignments.create(user_assignment)
24
- puts 'Assigned Jane Doe to the project "SuprGlu"'
24
+ puts 'Assigned Jane Doe to the project "SuprGlu"'
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.version = Harvest::VERSION
9
9
  spec.authors = ["Zach Moazeni"]
10
10
  spec.email = ["zach.moazeni@gmail.com"]
11
- spec.summary = "A Ruby Wrapper for the Harvest API http://www.getharvest.com/"
11
+ spec.summary = "A Ruby Wrapper for the Harvest API http://www.getharvest.com/"
12
12
  spec.description = "Harvested wraps the Harvest API concisely without the use of Rails dependencies. More information about the Harvest API can be found on their website (http://www.getharvest.com/api). For support hit up the Mailing List (http://groups.google.com/group/harvested)"
13
13
  spec.homepage = "http://github.com/zmoazeni/harvested"
14
14
  spec.license = "MIT"
@@ -21,6 +21,6 @@ Gem::Specification.new do |spec|
21
21
  spec.required_ruby_version = '>= 2.0'
22
22
 
23
23
  spec.add_runtime_dependency('httparty')
24
- spec.add_runtime_dependency('hashie', '~> 1')
24
+ spec.add_runtime_dependency('hashie')
25
25
  spec.add_runtime_dependency('json')
26
26
  end
@@ -48,7 +48,7 @@ module Harvest
48
48
  when 401
49
49
  raise Harvest::AuthenticationFailed.new(response, params)
50
50
  when 404
51
- raise Harvest::NotFound.new(response, params)
51
+ raise Harvest::NotFound.new(response, params, "Do you have sufficient privileges?")
52
52
  when 500
53
53
  raise Harvest::ServerError.new(response, params)
54
54
  when 502
@@ -10,7 +10,7 @@ module Harvest
10
10
  def all(*)
11
11
  super
12
12
  rescue NotFound => e
13
- raise NotFound.new(e.response, e.params, "Do you have sufficient priveleges? If not, consider using time.trackable_projects instead.")
13
+ raise NotFound.new(e.response, e.params, "Do you have sufficient privileges? If not, consider using time.trackable_projects instead.")
14
14
  end
15
15
 
16
16
  # Creates and Assigns a task to the project
@@ -23,7 +23,7 @@ module Harvest
23
23
  def to_i; id; end
24
24
 
25
25
  def ==(other)
26
- id == other.id
26
+ other.kind_of?(self.class) && id == other.id
27
27
  end
28
28
 
29
29
  def impersonated_user_id
@@ -33,16 +33,5 @@ module Harvest
33
33
  json[json_root].delete("hint_latest_record_at")
34
34
  end
35
35
  end
36
-
37
- def self.parse(json)
38
- json = String === json ? JSON.parse(json) : json
39
- Array.wrap(json).each do |attrs|
40
- # need to cleanup some attributes
41
- project_attrs = attrs[json_root] || {}
42
- project_attrs["hint_latest_record_at"] = project_attrs.delete("hint-latest-record-at")
43
- project_attrs["hint_earliest_record_at"] = project_attrs.delete("hint-earliest-record-at")
44
- end
45
- super(json)
46
- end
47
36
  end
48
37
  end
@@ -1,3 +1,3 @@
1
1
  module Harvest
2
- VERSION = "3.0.0.rc1"
2
+ VERSION = "3.0.0"
3
3
  end
@@ -4,10 +4,10 @@ describe 'account information' do
4
4
  it 'returns the rate limit when requested' do
5
5
  cassette('account1') do
6
6
  status = harvest.account.rate_limit_status
7
- status.max_calls.should == 500
7
+ status.max_calls.should == 100
8
8
  end
9
9
  end
10
-
10
+
11
11
  it 'returns the result of whoami' do
12
12
  cassette('account2') do
13
13
  user = harvest.account.who_am_i
@@ -32,6 +32,7 @@ describe 'harvest reporting' do
32
32
  harvest.reports.time_by_project(project2, Time.utc(2009, 12, 20), Time.utc(2009,12,30), billable: true).should == []
33
33
  harvest.reports.time_by_project(project2, Time.utc(2009, 12, 20), Time.utc(2009,12,30), billable: false).first.should == entry2
34
34
 
35
+ sleep 10
35
36
  harvest.reports.time_by_project(project1, Time.utc(2009, 12, 10), Time.utc(2009,12,30), {updated_since: Time.now.utc}).should == []
36
37
 
37
38
  harvest.reports.time_by_user(user, Time.utc(2009, 12, 20), Time.utc(2009,12,30)).map(&:id).should == [entry1, entry2].map(&:id)
@@ -80,6 +81,7 @@ describe 'harvest reporting' do
80
81
  harvest.reports.expenses_by_project(project, Time.utc(2009, 12, 20), Time.utc(2009,12,30)).first.should == expense
81
82
  harvest.reports.expenses_by_user(user, Time.utc(2009, 12, 20), Time.utc(2009,12,30)).first.should == expense
82
83
 
84
+ sleep 10
83
85
  harvest.reports.expenses_by_user(user, Time.utc(2009, 12, 20), Time.utc(2009,12,30), {updated_since: Time.now.utc}).should == []
84
86
 
85
87
  my_user = harvest.users.all.detect {|u| u.email == credentials["username"]}
@@ -2,10 +2,4 @@ require 'spec_helper'
2
2
 
3
3
  describe Harvest::Project do
4
4
  it_behaves_like 'a json sanitizer', %w(hint_latest_record_at hint_earliest_record_at cache_version)
5
-
6
- it "cleans up weird attributes" do
7
- project = Harvest::Project.parse('[{"project":{"hint-earliest-record-at":10, "hint-latest-record-at":20}}]').first
8
- project.hint_earliest_record_at.should == 10
9
- project.hint_latest_record_at.should == 20
10
- end
11
- end
5
+ end
@@ -3,8 +3,8 @@ require 'spec_helper'
3
3
  describe Harvest::TaskAssignment do
4
4
  context "task_as_json" do
5
5
  it "generates the json for existing tasks" do
6
- assignment = Harvest::TaskAssignment.new(:task => mock(:task, :to_i => 3))
6
+ assignment = Harvest::TaskAssignment.new(:task => double(:task, :to_i => 3))
7
7
  assignment.task_as_json.should == {"task" => {"id" => 3}}
8
8
  end
9
9
  end
10
- end
10
+ end
@@ -3,8 +3,8 @@ require 'spec_helper'
3
3
  describe Harvest::UserAssignment do
4
4
  describe "#user_as_json" do
5
5
  it "should generate the xml for existing users" do
6
- assignment = Harvest::UserAssignment.new(:user => mock(:user, :to_i => 3))
6
+ assignment = Harvest::UserAssignment.new(:user => double(:user, :to_i => 3))
7
7
  assignment.user_as_json.should == {"user" => {"id" => 3}}
8
8
  end
9
9
  end
10
- end
10
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harvested
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.rc1
4
+ version: 3.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zach Moazeni
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-05-31 00:00:00.000000000 Z
11
+ date: 2014-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: hashie
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '1'
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '1'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: json
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -153,7 +153,6 @@ files:
153
153
  - spec/support/harvest_credentials.example.yml
154
154
  - spec/support/harvested_helpers.rb
155
155
  - spec/support/json_examples.rb
156
- - spec/test_rubies
157
156
  homepage: http://github.com/zmoazeni/harvested
158
157
  licenses:
159
158
  - MIT
@@ -169,9 +168,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
169
168
  version: '2.0'
170
169
  required_rubygems_version: !ruby/object:Gem::Requirement
171
170
  requirements:
172
- - - ">"
171
+ - - ">="
173
172
  - !ruby/object:Gem::Version
174
- version: 1.3.1
173
+ version: '0'
175
174
  requirements: []
176
175
  rubyforge_project:
177
176
  rubygems_version: 2.2.2
@@ -210,5 +209,4 @@ test_files:
210
209
  - spec/support/harvest_credentials.example.yml
211
210
  - spec/support/harvested_helpers.rb
212
211
  - spec/support/json_examples.rb
213
- - spec/test_rubies
214
212
  has_rdoc:
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -o verbose
4
- RBXOPT="-Xrbc.db" rvm ruby-1.8.7-p334,ruby-1.9.2-p180,rbx,jruby-1.6.2 exec bundle
5
- RBXOPT="-Xrbc.db" rvm ruby-1.8.7-p334,ruby-1.9.2-p180,rbx,jruby-1.6.2 exec bundle exec rake spec