terrapin 0.6.0.alpha

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -0
  3. data/.travis.yml +6 -0
  4. data/GOALS +8 -0
  5. data/Gemfile +7 -0
  6. data/LICENSE +26 -0
  7. data/NEWS.md +85 -0
  8. data/README.md +215 -0
  9. data/Rakefile +13 -0
  10. data/lib/terrapin.rb +12 -0
  11. data/lib/terrapin/command_line.rb +197 -0
  12. data/lib/terrapin/command_line/multi_pipe.rb +50 -0
  13. data/lib/terrapin/command_line/output.rb +12 -0
  14. data/lib/terrapin/command_line/runners.rb +7 -0
  15. data/lib/terrapin/command_line/runners/backticks_runner.rb +30 -0
  16. data/lib/terrapin/command_line/runners/fake_runner.rb +30 -0
  17. data/lib/terrapin/command_line/runners/popen_runner.rb +29 -0
  18. data/lib/terrapin/command_line/runners/posix_runner.rb +49 -0
  19. data/lib/terrapin/command_line/runners/process_runner.rb +41 -0
  20. data/lib/terrapin/exceptions.rb +8 -0
  21. data/lib/terrapin/os_detector.rb +27 -0
  22. data/lib/terrapin/version.rb +4 -0
  23. data/spec/spec_helper.rb +31 -0
  24. data/spec/support/fake_logger.rb +18 -0
  25. data/spec/support/have_output.rb +11 -0
  26. data/spec/support/nonblocking_examples.rb +14 -0
  27. data/spec/support/stub_os.rb +25 -0
  28. data/spec/support/unsetting_exitstatus.rb +7 -0
  29. data/spec/support/with_exitstatus.rb +12 -0
  30. data/spec/terrapin/command_line/output_spec.rb +14 -0
  31. data/spec/terrapin/command_line/runners/backticks_runner_spec.rb +24 -0
  32. data/spec/terrapin/command_line/runners/fake_runner_spec.rb +22 -0
  33. data/spec/terrapin/command_line/runners/popen_runner_spec.rb +24 -0
  34. data/spec/terrapin/command_line/runners/posix_runner_spec.rb +40 -0
  35. data/spec/terrapin/command_line/runners/process_runner_spec.rb +40 -0
  36. data/spec/terrapin/command_line_spec.rb +195 -0
  37. data/spec/terrapin/errors_spec.rb +62 -0
  38. data/spec/terrapin/os_detector_spec.rb +23 -0
  39. data/spec/terrapin/runners_spec.rb +97 -0
  40. data/terrapin.gemspec +28 -0
  41. metadata +209 -0
data/terrapin.gemspec ADDED
@@ -0,0 +1,28 @@
1
+ $LOAD_PATH.push File.expand_path("../lib", __FILE__)
2
+ require 'terrapin/version'
3
+
4
+ Gem::Specification.new do |s|
5
+ s.name = "terrapin"
6
+ s.version = Terrapin::VERSION.dup
7
+ s.platform = Gem::Platform::RUBY
8
+ s.author = "Jon Yurek"
9
+ s.email = "jyurek@thoughtbot.com"
10
+ s.homepage = "https://github.com/thoughtbot/terrapin"
11
+ s.summary = "Run shell commands safely, even with user-supplied values"
12
+ s.description = "Run shell commands safely, even with user-supplied values"
13
+ s.license = "MIT"
14
+
15
+ s.files = `git ls-files`.split("\n")
16
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ s.executables = `git ls-files -- bin/*`.split("\n").map{|f| File.basename(f)}
18
+ s.require_paths = ["lib"]
19
+
20
+ s.add_dependency('climate_control', '>= 0.0.3', '< 1.0')
21
+ s.add_development_dependency('rspec')
22
+ s.add_development_dependency('bourne')
23
+ s.add_development_dependency('mocha')
24
+ s.add_development_dependency('rake')
25
+ s.add_development_dependency('activesupport', ">= 3.0.0", "< 5.0")
26
+ s.add_development_dependency('pry')
27
+ end
28
+
metadata ADDED
@@ -0,0 +1,209 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: terrapin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.6.0.alpha
5
+ platform: ruby
6
+ authors:
7
+ - Jon Yurek
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-01-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: climate_control
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.3
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '1.0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: 0.0.3
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.0'
33
+ - !ruby/object:Gem::Dependency
34
+ name: rspec
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ type: :development
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: bourne
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: '0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: mocha
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rake
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ - !ruby/object:Gem::Dependency
90
+ name: activesupport
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - ">="
94
+ - !ruby/object:Gem::Version
95
+ version: 3.0.0
96
+ - - "<"
97
+ - !ruby/object:Gem::Version
98
+ version: '5.0'
99
+ type: :development
100
+ prerelease: false
101
+ version_requirements: !ruby/object:Gem::Requirement
102
+ requirements:
103
+ - - ">="
104
+ - !ruby/object:Gem::Version
105
+ version: 3.0.0
106
+ - - "<"
107
+ - !ruby/object:Gem::Version
108
+ version: '5.0'
109
+ - !ruby/object:Gem::Dependency
110
+ name: pry
111
+ requirement: !ruby/object:Gem::Requirement
112
+ requirements:
113
+ - - ">="
114
+ - !ruby/object:Gem::Version
115
+ version: '0'
116
+ type: :development
117
+ prerelease: false
118
+ version_requirements: !ruby/object:Gem::Requirement
119
+ requirements:
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: '0'
123
+ description: Run shell commands safely, even with user-supplied values
124
+ email: jyurek@thoughtbot.com
125
+ executables: []
126
+ extensions: []
127
+ extra_rdoc_files: []
128
+ files:
129
+ - ".gitignore"
130
+ - ".travis.yml"
131
+ - GOALS
132
+ - Gemfile
133
+ - LICENSE
134
+ - NEWS.md
135
+ - README.md
136
+ - Rakefile
137
+ - lib/terrapin.rb
138
+ - lib/terrapin/command_line.rb
139
+ - lib/terrapin/command_line/multi_pipe.rb
140
+ - lib/terrapin/command_line/output.rb
141
+ - lib/terrapin/command_line/runners.rb
142
+ - lib/terrapin/command_line/runners/backticks_runner.rb
143
+ - lib/terrapin/command_line/runners/fake_runner.rb
144
+ - lib/terrapin/command_line/runners/popen_runner.rb
145
+ - lib/terrapin/command_line/runners/posix_runner.rb
146
+ - lib/terrapin/command_line/runners/process_runner.rb
147
+ - lib/terrapin/exceptions.rb
148
+ - lib/terrapin/os_detector.rb
149
+ - lib/terrapin/version.rb
150
+ - spec/spec_helper.rb
151
+ - spec/support/fake_logger.rb
152
+ - spec/support/have_output.rb
153
+ - spec/support/nonblocking_examples.rb
154
+ - spec/support/stub_os.rb
155
+ - spec/support/unsetting_exitstatus.rb
156
+ - spec/support/with_exitstatus.rb
157
+ - spec/terrapin/command_line/output_spec.rb
158
+ - spec/terrapin/command_line/runners/backticks_runner_spec.rb
159
+ - spec/terrapin/command_line/runners/fake_runner_spec.rb
160
+ - spec/terrapin/command_line/runners/popen_runner_spec.rb
161
+ - spec/terrapin/command_line/runners/posix_runner_spec.rb
162
+ - spec/terrapin/command_line/runners/process_runner_spec.rb
163
+ - spec/terrapin/command_line_spec.rb
164
+ - spec/terrapin/errors_spec.rb
165
+ - spec/terrapin/os_detector_spec.rb
166
+ - spec/terrapin/runners_spec.rb
167
+ - terrapin.gemspec
168
+ homepage: https://github.com/thoughtbot/terrapin
169
+ licenses:
170
+ - MIT
171
+ metadata: {}
172
+ post_install_message:
173
+ rdoc_options: []
174
+ require_paths:
175
+ - lib
176
+ required_ruby_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ required_rubygems_version: !ruby/object:Gem::Requirement
182
+ requirements:
183
+ - - ">"
184
+ - !ruby/object:Gem::Version
185
+ version: 1.3.1
186
+ requirements: []
187
+ rubyforge_project:
188
+ rubygems_version: 2.7.4
189
+ signing_key:
190
+ specification_version: 4
191
+ summary: Run shell commands safely, even with user-supplied values
192
+ test_files:
193
+ - spec/spec_helper.rb
194
+ - spec/support/fake_logger.rb
195
+ - spec/support/have_output.rb
196
+ - spec/support/nonblocking_examples.rb
197
+ - spec/support/stub_os.rb
198
+ - spec/support/unsetting_exitstatus.rb
199
+ - spec/support/with_exitstatus.rb
200
+ - spec/terrapin/command_line/output_spec.rb
201
+ - spec/terrapin/command_line/runners/backticks_runner_spec.rb
202
+ - spec/terrapin/command_line/runners/fake_runner_spec.rb
203
+ - spec/terrapin/command_line/runners/popen_runner_spec.rb
204
+ - spec/terrapin/command_line/runners/posix_runner_spec.rb
205
+ - spec/terrapin/command_line/runners/process_runner_spec.rb
206
+ - spec/terrapin/command_line_spec.rb
207
+ - spec/terrapin/errors_spec.rb
208
+ - spec/terrapin/os_detector_spec.rb
209
+ - spec/terrapin/runners_spec.rb