tane 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. data/.gitignore +4 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +14 -0
  4. data/README.md +22 -0
  5. data/Rakefile +10 -0
  6. data/bin/tane +18 -0
  7. data/lib/tane.rb +64 -0
  8. data/lib/tane/commands/app.rb +5 -0
  9. data/lib/tane/commands/base.rb +15 -0
  10. data/lib/tane/commands/claim.rb +26 -0
  11. data/lib/tane/commands/create.rb +46 -0
  12. data/lib/tane/commands/email.rb +50 -0
  13. data/lib/tane/commands/event.rb +21 -0
  14. data/lib/tane/commands/exec.rb +37 -0
  15. data/lib/tane/commands/help.rb +33 -0
  16. data/lib/tane/commands/init.rb +25 -0
  17. data/lib/tane/commands/login.rb +91 -0
  18. data/lib/tane/commands/logout.rb +25 -0
  19. data/lib/tane/commands/refresh.rb +26 -0
  20. data/lib/tane/commands/signup.rb +43 -0
  21. data/lib/tane/commands/support.rb +37 -0
  22. data/lib/tane/helpers.rb +168 -0
  23. data/lib/tane/helpers/bushido_helper.rb +50 -0
  24. data/lib/tane/helpers/init_helper.rb +116 -0
  25. data/lib/tane/parser.rb +52 -0
  26. data/lib/tane/version.rb +3 -0
  27. data/spec/commands/base_spec.rb +26 -0
  28. data/spec/commands/claim_spec.rb +31 -0
  29. data/spec/commands/email_spec.rb +71 -0
  30. data/spec/commands/event_spec.rb +20 -0
  31. data/spec/commands/exec_spec.rb +18 -0
  32. data/spec/commands/help_spec.rb +12 -0
  33. data/spec/commands/init_spec.rb +27 -0
  34. data/spec/commands/login_spec.rb +81 -0
  35. data/spec/commands/support_spec.rb +59 -0
  36. data/spec/executable_spec.rb +11 -0
  37. data/spec/fixtures/credentials.yml +2 -0
  38. data/spec/helpers/bushido_helper_spec.rb +87 -0
  39. data/spec/helpers/init_helper_spec.rb +127 -0
  40. data/spec/helpers_spec.rb +223 -0
  41. data/spec/spec_helper.rb +15 -0
  42. data/tane.gemspec +29 -0
  43. data/tasks/spec.rake +10 -0
  44. data/tasks/tane.rake +11 -0
  45. metadata +188 -0
@@ -0,0 +1,127 @@
1
+ require "spec_helper"
2
+ require 'fileutils'
3
+
4
+ describe Tane::Helpers::Init do
5
+
6
+ # TODO: Each test should use mktmp dir instead of running in its own
7
+ # dir, it's dangerous
8
+ before(:each) do
9
+ FileUtils.rm_rf(".bushido")
10
+ end
11
+
12
+ it "should include Tane::Helpers" do
13
+ Tane::Helpers::Init.include?(Tane::Helpers).should be_true
14
+ end
15
+
16
+ describe ".initialize_app" do
17
+ it "should display initialization message and success message" do
18
+ Tane::Helpers::Init.should_receive(:create_app).and_return({'name'=>'sample'})
19
+ Tane::Helpers::Init.should_receive(:make_app_bushido_dir)
20
+ Tane::Helpers::Init.should_receive(:get_app_envs)
21
+ Tane::Helpers::Init.should_receive(:save_envs)
22
+ Tane::Helpers::Init.should_receive(:save_emails)
23
+ Tane::Helpers::Init.term.should_receive(:say).twice
24
+
25
+ Tane::Helpers::Init.initialize_app
26
+ end
27
+ end
28
+
29
+ describe "update_app" do
30
+ it "should save the environment variables for the app" do
31
+ Tane::Helpers::Init.should_receive(:bushido_envs).
32
+ and_return({'BUSHIDO_NAME' => 'sample_app'})
33
+
34
+ Tane::Helpers::Init.should_receive(:get_app_envs)
35
+ Tane::Helpers::Init.should_receive(:save_envs)
36
+
37
+ Tane::Helpers::Init.update_app
38
+ end
39
+ end
40
+
41
+ describe ".save_envs" do
42
+ it "should write a .bushido/tane.yml file if it does not exist" do
43
+ File.should_receive(:exists?).and_return(false)
44
+ File.should_receive(:open)
45
+
46
+ Tane::Helpers::Init.save_envs({})
47
+ end
48
+
49
+ it "should write a .bushido/tane.yml file if it already exists and if the user agrees to an overwrite" do
50
+ File.should_receive(:exists?).and_return(true)
51
+ Tane::Helpers::Init.term.should_receive(:agree).and_return(true)
52
+ File.should_receive(:open)
53
+
54
+ Tane::Helpers::Init.save_envs({})
55
+ end
56
+
57
+ it "should *not* write a .bushido/tane.yml file if the user says no to an overwrite" do
58
+ File.should_receive(:exists?).and_return(true)
59
+ Tane::Helpers::Init.term.should_receive(:agree).and_return(false)
60
+ File.should_not_receive(:open)
61
+
62
+ Tane::Helpers::Init.save_envs({})
63
+ end
64
+ end
65
+
66
+ describe "save_emails" do
67
+ it "should write a .bushido/emails.yml file if it does not exist" do
68
+ File.should_receive(:exists?).and_return(false)
69
+ File.should_receive(:open)
70
+
71
+ Tane::Helpers::Init.save_emails
72
+ end
73
+
74
+ it "should write a .bushido/emails.yml file if it already exists and if the user agrees to an overwrite" do
75
+ File.should_receive(:exists?).and_return(true)
76
+ Tane::Helpers::Init.term.should_receive(:agree).and_return(true)
77
+ File.should_receive(:open)
78
+
79
+ Tane::Helpers::Init.save_emails
80
+ end
81
+
82
+ it "should not write a .bushido/emails.yml file if the user says no to an overwrite" do
83
+ File.should_receive(:exists?).and_return(true)
84
+ Tane::Helpers::Init.term.should_receive(:agree).and_return(false)
85
+ File.should_not_receive(:open)
86
+
87
+ Tane::Helpers::Init.save_emails
88
+ end
89
+ end
90
+
91
+
92
+ describe "envs_template" do
93
+ it "should return a hash of env variables and their values" do
94
+ Tane::Helpers::Init.envs_template({}).should be_kind_of(Hash)
95
+ end
96
+ end
97
+
98
+ describe "example_email_template" do
99
+ it "should return a hash with a sample email template with the name 'example_email_1'" do
100
+ example_email_template = Tane::Helpers::Init.example_email_template
101
+
102
+ example_email_template.should be_kind_of(Hash)
103
+ example_email_template['example_email_1'].should_not be_nil
104
+ end
105
+ end
106
+
107
+ describe "create_app" do
108
+ before :each do
109
+ @params = {
110
+ :app => {
111
+ :url => "https://github.com/Bushido/tane.git",
112
+ :platform => "developer"
113
+ },
114
+ :authentication_token => "valid_auth_token"
115
+ }
116
+ @bushido_apps_url = "#{Tane::Helpers::Init.bushido_url}/apps.json"
117
+ end
118
+
119
+ it "should create an app" do
120
+ Tane::Helpers::Init.should_receive(:password).at_least(1).and_return("valid_auth_token")
121
+ RestClient.should_receive(:post).
122
+ with(@bushido_apps_url, @params).
123
+ and_return('{}')
124
+ Tane::Helpers::Init.create_app
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,223 @@
1
+ require "spec_helper"
2
+
3
+ describe "Tane::Helpers" do
4
+
5
+ class Tane::Helpers::Example
6
+ include Tane::Helpers
7
+ end
8
+
9
+ it "included should extend ClassMethods" do
10
+ Tane::Helpers::Example.include?(Tane::Helpers).should be_true
11
+ end
12
+
13
+ describe "ClassMethods" do
14
+
15
+ describe "term" do
16
+ it "should return a new HighLine instance" do
17
+ Tane::Helpers::Example.term.should be_kind_of(HighLine)
18
+ end
19
+ end
20
+
21
+ describe "verbose_say" do
22
+ it "should display the message if the verbose option is true" do
23
+ Tane::Helpers::Example.opts.verbose = true
24
+ Tane::Helpers::Example.term.should_receive(:say)
25
+ Tane::Helpers::Example.verbose_say("detailed message")
26
+ end
27
+ end
28
+
29
+ describe "bushido_dir" do
30
+ it "should return the path of the user's .bushido directory" do
31
+ Tane::Helpers::Example.bushido_dir.should == "#{ENV['HOME']}/.bushido"
32
+ end
33
+ end
34
+
35
+ describe "email_templates_path" do
36
+ it "should return path to the template file in the project's .bushido dir" do
37
+ Tane::Helpers::Example.email_templates_path.should == ".bushido/emails"
38
+ end
39
+ end
40
+
41
+ describe "email_template_file_path" do
42
+ it "should return path to the template file in the project's .bushido dir" do
43
+ Tane::Helpers::Example.email_template_file_path("valid_template").should == ".bushido/emails/valid_template.yml"
44
+ end
45
+ end
46
+
47
+ describe "tane_file_path" do
48
+ it "should return path to xsycurrent project's .bushido/tane.yml" do
49
+ Tane::Helpers::Example.tane_file_path == ".bushido/tane.yml"
50
+ end
51
+ end
52
+
53
+ describe "credentials_file_path" do
54
+ it "should return path to user's Bushido credentials file" do
55
+ Tane::Helpers::Example.credentials_file_path == "#{ENV['HOME']}/.bushido/credentials.yml"
56
+ end
57
+ end
58
+
59
+ describe "logged_in?" do
60
+ it "should return true if the credentials file exists" do
61
+ File.should_receive(:exists?).and_return(true)
62
+ Tane::Helpers::Example.logged_in?.should be_true
63
+ end
64
+
65
+ it "should return false if the credentials file does not exist" do
66
+ File.should_receive(:exists?).and_return(false)
67
+ Tane::Helpers::Example.logged_in?.should be_false
68
+ end
69
+ end
70
+
71
+ describe "in_rails_dir?" do
72
+ it "it should return true if the current dir has a rails dir" do
73
+ Dir.should_receive(:exists?).at_least(1).and_return(true)
74
+ Tane::Helpers::Example.in_rails_dir?.should be_true
75
+ end
76
+
77
+ it "should return false if the current dir does not have both script and rails dir" do
78
+ Dir.should_receive(:exists?).at_least(1).and_return(false)
79
+ Tane::Helpers::Example.in_rails_dir?.should be_false
80
+ end
81
+ end
82
+
83
+ describe "bushido_app_exists?" do
84
+ it "it should return true if the tane.yml and email.yml exists in the current directory" do
85
+ File.should_receive(:exists?).twice.and_return(true)
86
+ Tane::Helpers::Example.bushido_app_exists?.should be_true
87
+ end
88
+ end
89
+
90
+ describe "username" do
91
+ it "should return the username from the credentials" do
92
+ Tane::Helpers::Example.should_receive(:credentials).and_return({:username=>"username"})
93
+ Tane::Helpers::Example.username.should == "username"
94
+ end
95
+ end
96
+
97
+ describe "password" do
98
+ it "should return the password from the credentials" do
99
+ Tane::Helpers::Example.should_receive(:credentials).and_return({:password=>"password"})
100
+ Tane::Helpers::Example.password.should == "password"
101
+ end
102
+ end
103
+
104
+ describe "make_global_bushido_dir" do
105
+ it "should create a .bushido dir in the user's $HOME directory" do
106
+ FileUtils.should_receive(:mkdir_p).with("#{ENV['HOME']}/.bushido")
107
+ Tane::Helpers::Example.make_global_bushido_dir
108
+ end
109
+ end
110
+
111
+ describe "make_app_bushido_dir" do
112
+ it "should create a .bushido dir in the current dir if it does not have one" do
113
+ Tane::Helpers::Example.should_receive(:bushido_app_exists?).and_return(false)
114
+ FileUtils.should_receive(:mkdir_p).with(".bushido")
115
+ Tane::Helpers::Example.make_app_bushido_dir
116
+ end
117
+
118
+ it "should *not* create a .bushido in the current dir if it already has not" do
119
+ Tane::Helpers::Example.should_receive(:bushido_app_exists?).and_return(true)
120
+ expect {
121
+ Tane::Helpers::Example.make_app_bushido_dir
122
+ }.to raise_error(SystemExit)
123
+ end
124
+ end
125
+
126
+ describe "save_credentials" do
127
+ it "should save the username and the password in the user's bushido_dir" do
128
+ File.should_receive(:open)
129
+ Tane::Helpers::Example.save_credentials("email", "auth_token")
130
+ end
131
+ end
132
+
133
+ describe "prompt_for_credentials" do
134
+ it "should promt the user for credentials using HighLine" do
135
+ Tane::Helpers::Example.term.should_receive(:ask).twice.and_return("test")
136
+ Tane::Helpers::Example.prompt_for_credentials
137
+ end
138
+
139
+ it "should return an array with email and password" do
140
+ Tane::Helpers::Example.term.should_receive(:ask).twice.and_return("test")
141
+ Tane::Helpers::Example.prompt_for_credentials.should be_kind_of(Array)
142
+ end
143
+ end
144
+
145
+ describe "warn_if_credentials" do
146
+
147
+ before :each do
148
+ Tane::Helpers::Example.should_receive(:logged_in?).and_return(true)
149
+ Tane::Helpers::Example.should_receive(:username).and_return("test_user")
150
+ end
151
+
152
+ it "should warn that the user is already logged in if the credentials file exists" do
153
+
154
+ Tane::Helpers::Example.term.should_receive(:agree).and_return(true)
155
+ Tane::Helpers::Example.warn_if_credentials
156
+ end
157
+
158
+ it "should skip if the user says no to reset credentials" do
159
+ Tane::Helpers::Example.term.should_receive(:agree).and_return(false)
160
+ expect {
161
+ Tane::Helpers::Example.warn_if_credentials
162
+ }.to raise_error(SystemExit)
163
+ end
164
+
165
+ it "should return if the user says yes to reset credentials" do
166
+ Tane::Helpers::Example.term.should_receive(:agree).and_return(true)
167
+ Tane::Helpers::Example.warn_if_credentials
168
+ end
169
+ end
170
+
171
+ describe "bushido_envs" do
172
+ it "should return the read the data in .bushido/tane.yml and return a hash" do
173
+ File.should_receive(:read).and_return('HOSTING_PLATFORM: developer')
174
+ Tane::Helpers::Example.bushido_envs.should == {"HOSTING_PLATFORM"=> "developer"}
175
+ end
176
+ end
177
+
178
+ describe "base_url" do
179
+ it "should return http://localhost:3000 by default if the --host, --scheme and --port options are not set on the command line" do
180
+ Tane::Helpers::Example.base_url == "http://localhost:3000"
181
+ end
182
+ end
183
+
184
+ describe "mail_url" do
185
+ it "should return url to local app's Bushido::Mail#index action at/bushido/mail" do
186
+ mail_url = "#{::Tane::Helpers::Example.base_url}/bushido/mail"
187
+ Tane::Helpers::Example.mail_url.should == mail_url
188
+ end
189
+ end
190
+
191
+
192
+ describe "support_url" do
193
+ it "should return http://gobushido.com/api/support/message" do
194
+ support_url = "#{Tane::Helpers::Example.bushido_url}/support/v1/message"
195
+ Tane::Helpers::Example.support_url.should == support_url
196
+ end
197
+ end
198
+
199
+ describe "post" do
200
+ before :each do
201
+ Tane::Helpers::Example.should_receive(:bushido_envs).and_return({"BUSHIDO_APP_KEY"=>"abc123"})
202
+ @data = {}
203
+ @url = "http://example.com"
204
+ RestClient.should_receive(:put).with(@url, @data, :content_type => :json, :accept => :json).and_return(@data.to_json)
205
+ end
206
+
207
+ it "should post to the given url with the given data" do
208
+ Tane::Helpers::Example.post(@url, @data)
209
+ end
210
+
211
+ it "should display the result on the terminal if the verbose option is set" do
212
+ Tane::Helpers::Example.opts.verbose=true
213
+ Tane::Helpers::Example.term.should_receive(:say).at_least(1)
214
+ Tane::Helpers::Example.post(@url, @data)
215
+ end
216
+
217
+ it "should return a hash" do
218
+ Tane::Helpers::Example.post(@url, @data).should be_kind_of(Hash)
219
+ end
220
+ end
221
+ end
222
+
223
+ end
@@ -0,0 +1,15 @@
1
+ ENV["RAILS_ENV"] = "test"
2
+ $:.unshift File.dirname(__FILE__)
3
+ $:.unshift File.expand_path('../lib', __FILE__)
4
+
5
+ require 'bundler/setup'
6
+ require 'cover_me'
7
+ require 'rspec'
8
+ require 'tane'
9
+
10
+ CoverMe.config do |c|
11
+ end
12
+
13
+ RSpec.configure do |config|
14
+ # Haven't decided yet what to configure here
15
+ end
data/tane.gemspec ADDED
@@ -0,0 +1,29 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "tane/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "tane"
7
+ s.version = Tane::VERSION
8
+ s.authors = ["Bushido Team"]
9
+ s.email = ["support@gobushido.com"]
10
+ s.homepage = ""
11
+ s.summary = %q{Enables local development of Bushido apps}
12
+ s.description = %q{This gem provides all the tools necessary to develop a rails app meant for deployment on Bushido locally}
13
+
14
+ s.rubyforge_project = "tane"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ # specify any dependencies here; for example:
22
+ s.add_development_dependency "rspec"
23
+ s.add_dependency "awesome_print"
24
+ s.add_dependency "rake"
25
+ s.add_dependency "rails", "<=3.1.0"
26
+ s.add_runtime_dependency "erubis"
27
+ s.add_runtime_dependency "rest-client"
28
+ s.add_runtime_dependency "highline"
29
+ end
data/tasks/spec.rake ADDED
@@ -0,0 +1,10 @@
1
+ require 'rspec/core/rake_task'
2
+
3
+ RSpec::Core::RakeTask.new(:spec)
4
+
5
+ task :default => :spec
6
+
7
+ desc "Run the cas_fuji specs and build the cover_me report"
8
+ task :spec do
9
+ Rake::Task['cover_me:report'].invoke
10
+ end
data/tasks/tane.rake ADDED
@@ -0,0 +1,11 @@
1
+ require 'cover_me'
2
+
3
+ namespace :cover_me do
4
+ desc "Generate coverage report after running specs"
5
+ task :report do
6
+ puts "Reporting!"
7
+ CoverMe.config.formatter = CoverMe::EmmaFormatter
8
+ CoverMe.config.at_exit = Proc.new {}
9
+ CoverMe.complete!
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,188 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: tane
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.0.1
6
+ platform: ruby
7
+ authors:
8
+ - Bushido Team
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-12-23 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ type: :development
25
+ version_requirements: *id001
26
+ - !ruby/object:Gem::Dependency
27
+ name: awesome_print
28
+ prerelease: false
29
+ requirement: &id002 !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: "0"
35
+ type: :runtime
36
+ version_requirements: *id002
37
+ - !ruby/object:Gem::Dependency
38
+ name: rake
39
+ prerelease: false
40
+ requirement: &id003 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ">="
44
+ - !ruby/object:Gem::Version
45
+ version: "0"
46
+ type: :runtime
47
+ version_requirements: *id003
48
+ - !ruby/object:Gem::Dependency
49
+ name: rails
50
+ prerelease: false
51
+ requirement: &id004 !ruby/object:Gem::Requirement
52
+ none: false
53
+ requirements:
54
+ - - <=
55
+ - !ruby/object:Gem::Version
56
+ version: 3.1.0
57
+ type: :runtime
58
+ version_requirements: *id004
59
+ - !ruby/object:Gem::Dependency
60
+ name: erubis
61
+ prerelease: false
62
+ requirement: &id005 !ruby/object:Gem::Requirement
63
+ none: false
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: "0"
68
+ type: :runtime
69
+ version_requirements: *id005
70
+ - !ruby/object:Gem::Dependency
71
+ name: rest-client
72
+ prerelease: false
73
+ requirement: &id006 !ruby/object:Gem::Requirement
74
+ none: false
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ version: "0"
79
+ type: :runtime
80
+ version_requirements: *id006
81
+ - !ruby/object:Gem::Dependency
82
+ name: highline
83
+ prerelease: false
84
+ requirement: &id007 !ruby/object:Gem::Requirement
85
+ none: false
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: "0"
90
+ type: :runtime
91
+ version_requirements: *id007
92
+ description: This gem provides all the tools necessary to develop a rails app meant for deployment on Bushido locally
93
+ email:
94
+ - support@gobushido.com
95
+ executables:
96
+ - tane
97
+ extensions: []
98
+
99
+ extra_rdoc_files: []
100
+
101
+ files:
102
+ - .gitignore
103
+ - .rspec
104
+ - Gemfile
105
+ - README.md
106
+ - Rakefile
107
+ - bin/tane
108
+ - lib/tane.rb
109
+ - lib/tane/commands/app.rb
110
+ - lib/tane/commands/base.rb
111
+ - lib/tane/commands/claim.rb
112
+ - lib/tane/commands/create.rb
113
+ - lib/tane/commands/email.rb
114
+ - lib/tane/commands/event.rb
115
+ - lib/tane/commands/exec.rb
116
+ - lib/tane/commands/help.rb
117
+ - lib/tane/commands/init.rb
118
+ - lib/tane/commands/login.rb
119
+ - lib/tane/commands/logout.rb
120
+ - lib/tane/commands/refresh.rb
121
+ - lib/tane/commands/signup.rb
122
+ - lib/tane/commands/support.rb
123
+ - lib/tane/helpers.rb
124
+ - lib/tane/helpers/bushido_helper.rb
125
+ - lib/tane/helpers/init_helper.rb
126
+ - lib/tane/parser.rb
127
+ - lib/tane/version.rb
128
+ - spec/commands/base_spec.rb
129
+ - spec/commands/claim_spec.rb
130
+ - spec/commands/email_spec.rb
131
+ - spec/commands/event_spec.rb
132
+ - spec/commands/exec_spec.rb
133
+ - spec/commands/help_spec.rb
134
+ - spec/commands/init_spec.rb
135
+ - spec/commands/login_spec.rb
136
+ - spec/commands/support_spec.rb
137
+ - spec/executable_spec.rb
138
+ - spec/fixtures/credentials.yml
139
+ - spec/helpers/bushido_helper_spec.rb
140
+ - spec/helpers/init_helper_spec.rb
141
+ - spec/helpers_spec.rb
142
+ - spec/spec_helper.rb
143
+ - tane.gemspec
144
+ - tasks/spec.rake
145
+ - tasks/tane.rake
146
+ homepage: ""
147
+ licenses: []
148
+
149
+ post_install_message:
150
+ rdoc_options: []
151
+
152
+ require_paths:
153
+ - lib
154
+ required_ruby_version: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: "0"
160
+ required_rubygems_version: !ruby/object:Gem::Requirement
161
+ none: false
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: "0"
166
+ requirements: []
167
+
168
+ rubyforge_project: tane
169
+ rubygems_version: 1.8.11
170
+ signing_key:
171
+ specification_version: 3
172
+ summary: Enables local development of Bushido apps
173
+ test_files:
174
+ - spec/commands/base_spec.rb
175
+ - spec/commands/claim_spec.rb
176
+ - spec/commands/email_spec.rb
177
+ - spec/commands/event_spec.rb
178
+ - spec/commands/exec_spec.rb
179
+ - spec/commands/help_spec.rb
180
+ - spec/commands/init_spec.rb
181
+ - spec/commands/login_spec.rb
182
+ - spec/commands/support_spec.rb
183
+ - spec/executable_spec.rb
184
+ - spec/fixtures/credentials.yml
185
+ - spec/helpers/bushido_helper_spec.rb
186
+ - spec/helpers/init_helper_spec.rb
187
+ - spec/helpers_spec.rb
188
+ - spec/spec_helper.rb