tidy_reset 0.1.22 → 0.1.23

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: 20a24f795d8fbf73b6df538ca30cb0465ba94aad
4
- data.tar.gz: 9a3667fcf27897987dba479c3e4d89c032061236
3
+ metadata.gz: 5dfac396bf01cba613e7d43a88f111983eca7786
4
+ data.tar.gz: 7bf9c15e7f6ad4bd1937eba79ebb26e358583f01
5
5
  SHA512:
6
- metadata.gz: fb240a163789c03810a667195b6184570868caae9096e586b58283ea2190de455c31ddbf9dcce13f8cd06c8fa4be12a49a2e26a516bf705e3862d74d9dacafb3
7
- data.tar.gz: b918b6225c6aa679353164181e20a6417aeae01f281c09e9355e0c83e994458fadc811b4863819728182e369bbaaa65dbca9453fe3ad7535950e38c15c33ddcb
6
+ metadata.gz: b5d0052b3e2ccda5a0516daafec4b6b989a96d7e926b8f2cee692b4c60ab34c73708831d7e8a1da2055179b78da7f03c7b36e03e56c52c09c52752c7d3a77f8e
7
+ data.tar.gz: 6b82ccbbd804e68549f06239eb1bbb97c3f35c0019c8794cfdd232bdc6ca4d0ed47ec067d9bc3d406d566abeee5d3571db0960d0de105f1abfd7776787c941b5
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile CHANGED
@@ -5,10 +5,12 @@ source "http://rubygems.org"
5
5
 
6
6
  gem "bundler", "~> 1.0"
7
7
  gem "activerecord", "~> 4.0.5"
8
+ gem "platform-api"
8
9
 
9
10
  # Add dependencies to develop your gem here.
10
11
  # Include everything needed to run rake, tests, features, etc.
11
12
  group :development do
13
+ gem "rspec", "~> 2.8.0"
12
14
  gem "shoulda", ">= 0"
13
15
  gem "rdoc", "~> 3.12"
14
16
  gem "jeweler", "~> 2.0.1"
data/Gemfile.lock CHANGED
@@ -21,7 +21,10 @@ GEM
21
21
  builder (3.1.4)
22
22
  descendants_tracker (0.0.4)
23
23
  thread_safe (~> 0.3, >= 0.3.1)
24
+ diff-lcs (1.1.3)
24
25
  docile (1.1.5)
26
+ erubis (2.7.0)
27
+ excon (0.41.0)
25
28
  faraday (0.9.0)
26
29
  multipart-post (>= 1.2, < 3)
27
30
  git (1.2.7)
@@ -34,6 +37,12 @@ GEM
34
37
  nokogiri (~> 1.6.0)
35
38
  oauth2
36
39
  hashie (3.0.0)
40
+ heroics (0.0.12)
41
+ erubis (~> 2.7.0)
42
+ excon
43
+ moneta
44
+ multi_json (>= 1.9.2)
45
+ netrc
37
46
  highline (1.6.21)
38
47
  i18n (0.6.9)
39
48
  jeweler (2.0.1)
@@ -49,9 +58,11 @@ GEM
49
58
  jwt (1.0.0)
50
59
  mini_portile (0.6.0)
51
60
  minitest (4.7.5)
61
+ moneta (0.8.0)
52
62
  multi_json (1.10.1)
53
63
  multi_xml (0.5.5)
54
64
  multipart-post (2.0.0)
65
+ netrc (0.8.0)
55
66
  nokogiri (1.6.2.1)
56
67
  mini_portile (= 0.6.0)
57
68
  oauth2 (0.9.4)
@@ -60,10 +71,20 @@ GEM
60
71
  multi_json (~> 1.3)
61
72
  multi_xml (~> 0.5)
62
73
  rack (~> 1.2)
74
+ platform-api (0.2.0)
75
+ heroics (~> 0.0.10)
63
76
  rack (1.5.2)
64
77
  rake (10.3.2)
65
78
  rdoc (3.12.2)
66
79
  json (~> 1.4)
80
+ rspec (2.8.0)
81
+ rspec-core (~> 2.8.0)
82
+ rspec-expectations (~> 2.8.0)
83
+ rspec-mocks (~> 2.8.0)
84
+ rspec-core (2.8.0)
85
+ rspec-expectations (2.8.0)
86
+ diff-lcs (~> 1.1.2)
87
+ rspec-mocks (2.8.0)
67
88
  shoulda (3.5.0)
68
89
  shoulda-context (~> 1.0, >= 1.0.1)
69
90
  shoulda-matchers (>= 1.4.1, < 3.0)
@@ -85,6 +106,8 @@ DEPENDENCIES
85
106
  activerecord (~> 4.0.5)
86
107
  bundler (~> 1.0)
87
108
  jeweler (~> 2.0.1)
109
+ platform-api
88
110
  rdoc (~> 3.12)
111
+ rspec (~> 2.8.0)
89
112
  shoulda
90
113
  simplecov
data/Rakefile CHANGED
@@ -23,20 +23,19 @@ Jeweler::Tasks.new do |gem|
23
23
  end
24
24
  Jeweler::RubygemsDotOrgTasks.new
25
25
 
26
- require 'rake/testtask'
27
- Rake::TestTask.new(:test) do |test|
28
- test.libs << 'lib' << 'test'
29
- test.pattern = 'test/**/test_*.rb'
30
- test.verbose = true
26
+ require 'rspec/core'
27
+ require 'rspec/core/rake_task'
28
+ RSpec::Core::RakeTask.new(:spec) do |spec|
29
+ spec.pattern = FileList['spec/**/*_spec.rb']
31
30
  end
32
31
 
33
32
  desc "Code coverage detail"
34
33
  task :simplecov do
35
34
  ENV['COVERAGE'] = "true"
36
- Rake::Task['test'].execute
35
+ Rake::Task['spec'].execute
37
36
  end
38
37
 
39
- task :default => :test
38
+ task :default => :spec
40
39
 
41
40
  require 'rdoc/task'
42
41
  Rake::RDocTask.new do |rdoc|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.22
1
+ 0.1.23
data/lib/tidy_reset.rb CHANGED
@@ -1,11 +1,14 @@
1
1
  require 'tidy_reset/configuration'
2
2
  require 'tidy_reset/version'
3
+ require 'tidy_reset/application_manager'
4
+ require 'yaml'
3
5
  require 'open3'
4
6
 
5
7
  module TidyReset
6
8
  class RakeExecuteException < StandardError; end
7
9
  class RakeStatusException < StandardError; end
8
10
  class RakeCompletedException < StandardError; end
11
+ class NoTokenException < StandardError; end
9
12
 
10
13
  class << self
11
14
  attr_accessor :configuration
@@ -65,15 +68,23 @@ module TidyReset
65
68
  end
66
69
 
67
70
  def app_stop(stage)
68
- execute("heroku maintenance:on --app #{app_name(stage)}")
69
- scale_command = dyno_config[stage].inject("") { |command, config| command += "#{config.first}='0' " }
70
- execute("heroku ps:scale #{scale_command} --app #{app_name(stage)}")
71
+ application_name = app_name(stage)
72
+ application_manager = create_application_manager(application_name)
73
+ application_manager.enable_maintenance_mode
74
+ application_manager.shutdown_all_dynos
71
75
  end
72
76
 
73
77
  def app_start(stage)
74
- execute("heroku maintenance:off --app #{app_name(stage)}")
75
- scale_command = dyno_config[stage].inject("") { |command, config| command += "#{config.first}='#{config.last}' " }
76
- execute("heroku ps:scale #{scale_command} --app #{app_name(stage)}")
78
+ application_name = app_name(stage)
79
+ application_manager = create_application_manager(application_name)
80
+ application_manager.scale_dynos_to_configuration(dyno_config[stage])
81
+ application_manager.disable_maintenance_mode
82
+ end
83
+
84
+ def create_application_manager(application_name)
85
+ token = configuration.token
86
+ raise NoTokenException unless token
87
+ self::ApplicationManager.new(name: application_name, token: token)
77
88
  end
78
89
 
79
90
  def master_connection_from_db_config(db_config)
@@ -0,0 +1,41 @@
1
+ require 'platform-api'
2
+
3
+ module TidyReset
4
+ class ApplicationManager
5
+ attr_accessor :name
6
+
7
+ def initialize(options)
8
+ @name = options.fetch(:name)
9
+ token = options.fetch(:token)
10
+ @heroku = PlatformAPI.connect_oauth(token)
11
+ end
12
+
13
+ def enable_maintenance_mode
14
+ @heroku.app.update(@name, { maintenance: true })
15
+ end
16
+
17
+ def disable_maintenance_mode
18
+ @heroku.app.update(@name, { maintenance: false })
19
+ end
20
+
21
+ def shutdown_all_dynos
22
+ live_formations = formation_list.select { |f| Integer(f['quantity']) > 0 }
23
+ live_formations.each do |formation|
24
+ @heroku.formation.update(@name, formation['id'], { quantity: 0 })
25
+ end
26
+ end
27
+
28
+ def scale_dynos_to_configuration(dyno_config)
29
+ formation_list.keep_if do |formation|
30
+ dyno_config.keys.include?(formation['type'])
31
+ end.each do |formation|
32
+ @heroku.formation.update(@name, formation['id'], { quantity: dyno_config[formation['type']] } )
33
+ end
34
+ end
35
+
36
+ private
37
+ def formation_list
38
+ @heroku.formation.list(@name)
39
+ end
40
+ end
41
+ end
@@ -1,11 +1,12 @@
1
1
  module TidyReset
2
2
  class Configuration
3
- attr_accessor :databases, :app, :database_encoding
3
+ attr_accessor :databases, :app, :database_encoding, :token
4
4
 
5
5
  def initialize
6
6
  @databases = []
7
7
  @database_encoding = 'utf8'
8
8
  @app = ''
9
+ @token = nil
9
10
  end
10
11
  end
11
12
  end
@@ -14,21 +14,16 @@ end
14
14
  ENV["COVERAGE"] && SimpleCov.start do
15
15
  add_filter "/.rvm/"
16
16
  end
17
- require 'rubygems'
18
- require 'bundler'
19
- begin
20
- Bundler.setup(:default, :development)
21
- rescue Bundler::BundlerError => e
22
- $stderr.puts e.message
23
- $stderr.puts "Run `bundle install` to install missing gems"
24
- exit e.status_code
25
- end
26
- require 'test/unit'
27
- require 'shoulda'
28
-
29
17
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
30
18
  $LOAD_PATH.unshift(File.dirname(__FILE__))
19
+
20
+ require 'rspec'
31
21
  require 'tidy_reset'
32
22
 
33
- class Test::Unit::TestCase
23
+ # Requires supporting files with custom matchers and macros, etc,
24
+ # in ./support/ and its subdirectories.
25
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
26
+
27
+ RSpec.configure do |config|
28
+
34
29
  end
@@ -0,0 +1,69 @@
1
+ require 'spec_helper'
2
+
3
+ describe "ApplicationManager" do
4
+ before do
5
+ @formation1 = {"command"=>"LIBRATO_AUTORUN=1 bundle exec sidekiq -c 1 -q venice", "created_at"=>"2014-09-17T21:52:05Z", "id"=>"f9d3d59b-324f-4b97-927f-c66c23abcc95", "type"=>"venice_worker", "quantity"=>0, "size"=>"1X", "updated_at"=>"2014-11-17T21:22:38Z"}
6
+ @formation2 = {"command"=>"LIBRATO_AUTORUN=1 bundle exec sidekiq -c 1 -q redshift_engineering", "created_at"=>"2014-08-26T17:28:01Z", "id"=>"ca48884d-cb04-41ec-b34b-347d542542e2", "type"=>"redshift_engineering_worker", "quantity"=>1, "size"=>"1X", "updated_at"=>"2014-10-29T18:21:59Z"}
7
+ @formation_list = [@formation1, @formation2]
8
+
9
+ @heroku_app = double('PlatformAPI::App')
10
+
11
+ @heroku_formation = double('PlatformAPI::Formation')
12
+ @heroku_formation.stub(:list).and_return(@formation_list)
13
+
14
+ @heroku_client = double('PlatformAPI::Client')
15
+ @heroku_client.stub(:app).and_return(@heroku_app)
16
+ @heroku_client.stub(:dyno).and_return(@heroku_dyno)
17
+ @heroku_client.stub(:formation).and_return(@heroku_formation)
18
+ PlatformAPI.stub(:connect_oauth).and_return(@heroku_client)
19
+ @subject = TidyReset::ApplicationManager.new(name: 'application-name', token: 'fake-token')
20
+ end
21
+
22
+ describe "#enable_maintenance_mode" do
23
+ it "should use the heroku client to update the app's maintenance mode status to true" do
24
+ @heroku_app.should_receive(:update).with(@subject.name, {maintenance: true})
25
+ @subject.enable_maintenance_mode
26
+ end
27
+ it "should return the response of the heroku client" do
28
+ @heroku_app.stub(:update).and_return({})
29
+ @subject.enable_maintenance_mode.should == {}
30
+ end
31
+ end
32
+
33
+ describe "#disable_maintenance_mode" do
34
+ it "should use the heroku client to update the app's maintenance mode status to false" do
35
+ @heroku_app.should_receive(:update).with(@subject.name, {maintenance: false})
36
+ @subject.disable_maintenance_mode
37
+ end
38
+ it "should return the response of the heroku client" do
39
+ @heroku_app.stub(:update).and_return({})
40
+ @subject.disable_maintenance_mode.should == {}
41
+ end
42
+ end
43
+
44
+ describe "#shutdown_all_dynos" do
45
+ it "should use the heroku client to update the quantity of live formations to 0" do
46
+ @heroku_formation.should_not_receive(:update).with(@subject.name, @formation1['id'], { quantity: 0 })
47
+ @heroku_formation.should_receive(:update).with(@subject.name, @formation2['id'], { quantity: 0 })
48
+ @subject.shutdown_all_dynos
49
+ end
50
+ it "should return the shutdown formations" do
51
+ @heroku_formation.stub(:update)
52
+ @subject.shutdown_all_dynos.should == [@formation2]
53
+ end
54
+ end
55
+
56
+ describe "#scale_dynos_to_configuration" do
57
+ it "should update the formation by type and quantity for each configuration passed in" do
58
+ dyno_config = { 'redshift_engineering_worker' => 2 }
59
+ @heroku_formation.should_receive(:update).with(@subject.name, @formation2['id'], { quantity: 2 })
60
+ @subject.scale_dynos_to_configuration(dyno_config)
61
+ end
62
+
63
+ it "should no update formations that do not match the dyno type passed in" do
64
+ dyno_config = { 'redshift_engineering_worker' => 2 }
65
+ @heroku_formation.should_not_receive(:update).with(@subject.name, @formation1['id'], { quantity: 2 })
66
+ @subject.scale_dynos_to_configuration(dyno_config)
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,82 @@
1
+ require 'spec_helper'
2
+
3
+ describe "TidyReset" do
4
+ describe "#app_stop" do
5
+ before do
6
+ @application_manager = double(TidyReset::ApplicationManager)
7
+ @application_manager.stub(:enable_maintenance_mode)
8
+ @application_manager.stub(:shutdown_all_dynos)
9
+ TidyReset.stub(:create_application_manager).and_return(@application_manager)
10
+ TidyReset.configure do |config|
11
+ config.app = 'application'
12
+ end
13
+ end
14
+ it "should generate the applicaion name from the stage parameter" do
15
+ TidyReset.should_receive(:app_name).with('test')
16
+ TidyReset.app_stop('test')
17
+ end
18
+ it "should create a new application manager" do
19
+ TidyReset.should_receive(:create_application_manager).with('application-test')
20
+ TidyReset.app_stop('test')
21
+ end
22
+ it "should have the application manager set the app to maintenance mode" do
23
+ @application_manager.should_receive(:enable_maintenance_mode)
24
+ TidyReset.app_stop('test')
25
+ end
26
+ it "should have the application manager shut down all dynos" do
27
+ @application_manager.should_receive(:shutdown_all_dynos)
28
+ TidyReset.app_stop('test')
29
+ end
30
+ end
31
+
32
+ describe "#app_start" do
33
+ before do
34
+ @application_manager = double(TidyReset::ApplicationManager)
35
+ @application_manager.stub(:disable_maintenance_mode)
36
+ @application_manager.stub(:scale_dynos_to_configuration)
37
+ TidyReset.stub(:create_application_manager).and_return(@application_manager)
38
+ dyno_config = <<-EOF
39
+ production:
40
+ web: 100
41
+ clock: 1
42
+ redshift: 2
43
+ test:
44
+ web: 2
45
+ clock: 1
46
+ generic_worker: 0
47
+ EOF
48
+ TidyReset.stub(:dyno_config).and_return(YAML.load(dyno_config))
49
+ TidyReset.configure do |config|
50
+ config.app = 'application'
51
+ end
52
+ end
53
+ it "should create a new application manager" do
54
+ TidyReset.should_receive(:create_application_manager).with('application-test')
55
+ TidyReset.app_start('test')
56
+ end
57
+ it "should have the application manager scale up the configured dynos filtered by stage" do
58
+ configuration = {"web"=>2, "clock"=>1, "generic_worker"=>0}
59
+ @application_manager.should_receive(:scale_dynos_to_configuration).with(configuration)
60
+ TidyReset.app_start('test')
61
+ end
62
+ it "should have the application manager disable maintenance mode" do
63
+ @application_manager.should_receive(:disable_maintenance_mode)
64
+ TidyReset.app_start('test')
65
+ end
66
+ end
67
+
68
+ describe "#create_application_manager" do
69
+ it "should return an instance of an application manager" do
70
+ TidyReset.configure do |config|
71
+ config.token = 'token'
72
+ end
73
+ TidyReset.create_application_manager('application-name').should be_a TidyReset::ApplicationManager
74
+ end
75
+ it "should require an oauth_token to be set on the configuration" do
76
+ TidyReset.configure do |config|
77
+ config.token = nil
78
+ end
79
+ expect { TidyReset.create_application_manager('application_manager') }.to raise_error(TidyReset::NoTokenException)
80
+ end
81
+ end
82
+ end
data/tidy_reset.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: tidy_reset 0.1.22 ruby lib
5
+ # stub: tidy_reset 0.1.23 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "tidy_reset"
9
- s.version = "0.1.22"
9
+ s.version = "0.1.23"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Thinknear"]
14
- s.date = "2014-11-07"
14
+ s.date = "2014-11-25"
15
15
  s.description = "Reset dynos, environment variables, deploys master git branch, and purges the database."
16
16
  s.email = "software@thinknear.com"
17
17
  s.extra_rdoc_files = [
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  ]
21
21
  s.files = [
22
22
  ".document",
23
+ ".rspec",
23
24
  "Gemfile",
24
25
  "Gemfile.lock",
25
26
  "LICENSE.txt",
@@ -27,11 +28,13 @@ Gem::Specification.new do |s|
27
28
  "Rakefile",
28
29
  "VERSION",
29
30
  "lib/tidy_reset.rb",
31
+ "lib/tidy_reset/application_manager.rb",
30
32
  "lib/tidy_reset/configuration.rb",
31
33
  "lib/tidy_reset/tasks/tidy.rake",
32
34
  "lib/tidy_reset/version.rb",
33
- "test/helper.rb",
34
- "test/test_tidy_reset.rb",
35
+ "spec/spec_helper.rb",
36
+ "spec/tidy_reset/application_manager_spec.rb",
37
+ "spec/tidy_reset/tidy_reset_spec.rb",
35
38
  "tidy_reset.gemspec"
36
39
  ]
37
40
  s.homepage = "http://github.com/ThinkNear/tidy"
@@ -44,6 +47,8 @@ Gem::Specification.new do |s|
44
47
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
48
  s.add_runtime_dependency(%q<bundler>, ["~> 1.0"])
46
49
  s.add_runtime_dependency(%q<activerecord>, ["~> 4.0.5"])
50
+ s.add_runtime_dependency(%q<platform-api>, [">= 0"])
51
+ s.add_development_dependency(%q<rspec>, ["~> 2.8.0"])
47
52
  s.add_development_dependency(%q<shoulda>, [">= 0"])
48
53
  s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
49
54
  s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
@@ -51,6 +56,8 @@ Gem::Specification.new do |s|
51
56
  else
52
57
  s.add_dependency(%q<bundler>, ["~> 1.0"])
53
58
  s.add_dependency(%q<activerecord>, ["~> 4.0.5"])
59
+ s.add_dependency(%q<platform-api>, [">= 0"])
60
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
54
61
  s.add_dependency(%q<shoulda>, [">= 0"])
55
62
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
56
63
  s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
@@ -59,6 +66,8 @@ Gem::Specification.new do |s|
59
66
  else
60
67
  s.add_dependency(%q<bundler>, ["~> 1.0"])
61
68
  s.add_dependency(%q<activerecord>, ["~> 4.0.5"])
69
+ s.add_dependency(%q<platform-api>, [">= 0"])
70
+ s.add_dependency(%q<rspec>, ["~> 2.8.0"])
62
71
  s.add_dependency(%q<shoulda>, [">= 0"])
63
72
  s.add_dependency(%q<rdoc>, ["~> 3.12"])
64
73
  s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tidy_reset
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.22
4
+ version: 0.1.23
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thinknear
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-07 00:00:00.000000000 Z
11
+ date: 2014-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,34 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 4.0.5
41
+ - !ruby/object:Gem::Dependency
42
+ name: platform-api
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: 2.8.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: 2.8.0
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: shoulda
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -104,6 +132,7 @@ extra_rdoc_files:
104
132
  - README.md
105
133
  files:
106
134
  - ".document"
135
+ - ".rspec"
107
136
  - Gemfile
108
137
  - Gemfile.lock
109
138
  - LICENSE.txt
@@ -111,11 +140,13 @@ files:
111
140
  - Rakefile
112
141
  - VERSION
113
142
  - lib/tidy_reset.rb
143
+ - lib/tidy_reset/application_manager.rb
114
144
  - lib/tidy_reset/configuration.rb
115
145
  - lib/tidy_reset/tasks/tidy.rake
116
146
  - lib/tidy_reset/version.rb
117
- - test/helper.rb
118
- - test/test_tidy_reset.rb
147
+ - spec/spec_helper.rb
148
+ - spec/tidy_reset/application_manager_spec.rb
149
+ - spec/tidy_reset/tidy_reset_spec.rb
119
150
  - tidy_reset.gemspec
120
151
  homepage: http://github.com/ThinkNear/tidy
121
152
  licenses: []
@@ -1,7 +0,0 @@
1
- require 'helper'
2
-
3
- class TestTidyReset < Test::Unit::TestCase
4
- should "probably rename this file and start testing for real" do
5
- flunk "hey buddy, you should probably rename this file and start testing for real"
6
- end
7
- end