zapata 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0dd1b5857d18aac211f47c7342a77c826a908312
4
- data.tar.gz: e5bd778968c9aaac07c136d466ff96f877eb51ba
3
+ metadata.gz: 5e660d0289124b63e44fe3a05bad16f9539be9c4
4
+ data.tar.gz: 8189ec272e90e38fd2e2e39110e22053119f610d
5
5
  SHA512:
6
- metadata.gz: 63446e18f98bf66c48719195faebcb4b6c2532be0405203bc60e8015554a8e4edc2fb6ba24e4f829b8ca3b5c810f4ec685fb38259bade4d43191ef0f63754ca7
7
- data.tar.gz: 923427bdc886b1a4b4fd58de831a18d59b2ee04e64539cfdeca44aa68fb875dd66e495fcd6e97ef26aa25036d53dfb483cd47f03b8f9782d75eebe70a3054e75
6
+ metadata.gz: 9195c7def908b238d6d262c29d065994dfecb443f6dc3ad9ae15db87487c5a5f2113f8b5d81126127bf629a1ecc69d9d499861623f5b98a4e64fc2ab04a32295
7
+ data.tar.gz: b9464f31b4a43b8785b24762fc880352eb49e85d3a7b3bc41739b1d2fafc307ae890b4e6ecdd5b12b9f29d2b8008e74607e0effa05976ae74fe65fe3502980f2
data/.gitignore CHANGED
@@ -6,6 +6,7 @@
6
6
  /doc/
7
7
  /pkg/
8
8
  /spec/reports/
9
+ /spec/support/rails_test_app/Gemfile.lock
9
10
  /tmp/
10
11
  *.bundle
11
12
  *.so
@@ -2,7 +2,7 @@ language: ruby
2
2
 
3
3
  bundler_args: --without development
4
4
 
5
- script: bundle exec rspec --pattern "spec/*_spec.rb"
5
+ script: script/test
6
6
  gemfile: spec/support/rails_test_app/Gemfile
7
7
 
8
8
  rvm:
@@ -18,16 +18,16 @@ developer job less robotic and more creative.
18
18
 
19
19
  To install, run:
20
20
  ```sh
21
- git clone https://github.com/Nedomas/zapata
22
21
  cd zapata
23
- bundle exec rake install
22
+ script/bootstrap
24
23
  ```
25
24
 
26
25
  For specs:
27
26
 
28
- 1. ``cd spec/support/rails_test_app && bundle update``
29
- 2. ``cd ../../..``
30
- 3. Run:
31
27
  ```sh
28
+ script/test
29
+
30
+ # or
31
+
32
32
  bundle exec rspec --pattern "spec/*_spec.rb"
33
33
  ```
data/README.md CHANGED
@@ -124,11 +124,11 @@ https://github.com/Nedomas/zapata/tree/master/spec
124
124
 
125
125
  ## Workflow with Zapata
126
126
 
127
- Say you are writing some new feature on your existing project.
128
- Before writing that, you probably want to test out the current functionality.
127
+ Say you are writing some new feature on your existing project.
128
+ Before writing that, you probably want to test out the current functionality.
129
129
  But who has time for that?
130
130
 
131
- You let *Zapata* create that quick spec for you.
131
+ You let *Zapata* create that quick spec for you.
132
132
  Think of it as a *current functionality lock*.
133
133
  Write more code and when you're happy with the result - lock it up again.
134
134
 
@@ -176,19 +176,25 @@ hacks and rainbows everywhere.
176
176
  Thank you to everyone who do. I strongly believe that this can make the
177
177
  developer job less robotic and more creative.
178
178
 
179
+ 1. [Fork it](https://github.com/Nedomas/zapata/fork)
180
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
181
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
182
+ 4. Push to the branch (`git push origin my-new-feature`)
183
+ 5. Create a new Pull Request
184
+
179
185
  To install, run:
180
186
  ```sh
181
- git clone https://github.com/Nedomas/zapata
182
187
  cd zapata
183
- bundle exec rake install
188
+ script/bootstrap
184
189
  ```
185
190
 
186
191
  For specs:
187
192
 
188
- 1. ``cd spec/support/rails_test_app && bundle update``
189
- 2. ``cd ../../..``
190
- 3. Run:
191
193
  ```sh
194
+ script/test
195
+
196
+ # or
197
+
192
198
  bundle exec rspec --pattern "spec/*_spec.rb"
193
199
  ```
194
200
 
@@ -198,6 +204,7 @@ I am well aware that this is featured in [Ruby Weekly 223](http://rubyweekly.com
198
204
  On that note I'd like to thank everybody who helped it shine through.
199
205
 
200
206
  Special thanks to my comrade @jpalumickas, with whom we share a vision of a better world.
207
+ Also - thank you @edgibbs, for being the early contributor.
201
208
 
202
209
  ## Copyright
203
210
  Copyright (c) 2014 Domas.
@@ -208,4 +215,3 @@ See [LICENSE](LICENSE) for details.
208
215
  [gemnasium]: https://gemnasium.com/Nedomas/zapata
209
216
  [coveralls]: https://coveralls.io/r/Nedomas/zapata
210
217
  [codeclimate]: https://codeclimate.com/github/Nedomas/zapata
211
-
data/bin/zapata CHANGED
@@ -17,13 +17,13 @@ slop = Slop.new(help: true, banner: true) do
17
17
  on(:s, :single, "Does not analyze 'app/models'", banner: true)
18
18
 
19
19
  run do |opts, args|
20
- Zapata::Revolutionist.generate_with_friendly_output(args.shift, opts)
20
+ Zapata::Revolutionist.generate_with_friendly_output(args, opts)
21
21
  end
22
22
  end
23
23
 
24
24
  run do |opts, args|
25
25
  if args.present?
26
- Zapata::Revolutionist.generate_with_friendly_output(args.shift, opts)
26
+ Zapata::Revolutionist.generate_with_friendly_output(args, opts)
27
27
  end
28
28
  end
29
29
  end
@@ -23,9 +23,10 @@ module Zapata
23
23
  class << self
24
24
  attr_accessor :analysis, :analysis_as_array
25
25
 
26
- def generate_with_friendly_output(file, opts)
26
+ def generate_with_friendly_output(args, opts)
27
+ file = args.shift
27
28
  spec_filename = Zapata::Revolutionist.generate(file,
28
- single: opts.single?)
29
+ single: single?(opts, args))
29
30
  puts "Its done, comrades. File #{spec_filename} was generated."
30
31
  end
31
32
 
@@ -42,6 +43,12 @@ module Zapata
42
43
  def spec_filename(filename)
43
44
  filename.gsub('app/', 'spec/').gsub('.rb', '_spec.rb')
44
45
  end
46
+
47
+ private
48
+
49
+ def single?(opts, args)
50
+ opts.single? || args.include?('-s') || args.include?('--single')
51
+ end
45
52
  end
46
53
 
47
54
  def initialize(file_list)
@@ -1,3 +1,3 @@
1
1
  module Zapata
2
- VERSION = '0.1.4'
2
+ VERSION = '0.1.5'
3
3
  end
@@ -0,0 +1,11 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -e
4
+
5
+ rake install
6
+ cd spec/support/rails_test_app
7
+ bundle update
8
+ cd ../../..
9
+
10
+ echo 'Run specs with:'
11
+ echo './script/test'
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+
3
+ set -e
4
+
5
+ bundle exec rspec --pattern "spec/*_spec.rb"
@@ -0,0 +1,58 @@
1
+ require 'spec_helper'
2
+
3
+ describe Zapata::Revolutionist do
4
+ describe '#generate_with_friendly_output' do
5
+ let(:file_name) { 'app/models/test_array.rb' }
6
+
7
+ context "with the generate command" do
8
+ context 'with single specified' do
9
+ it 'returns a single file generation message' do
10
+ output = execution_output("cd #{RAILS_TEST_APP_DIR} && bundle exec zapata generate #{file_name} -s")
11
+ expect(output.count).to eq 1
12
+ expect(output.first).to eq "Its done, comrades. File spec/models/test_array_spec.rb was generated.\n"
13
+ end
14
+ end
15
+
16
+ context 'with no single specified' do
17
+ it 'returns mulptile files generation messages' do
18
+ output = execution_output("cd #{RAILS_TEST_APP_DIR} && bundle exec zapata generate #{file_name}")
19
+ expect(output.count).to be > 1
20
+ end
21
+ end
22
+ end
23
+
24
+ context "without the generate command" do
25
+ context 'with single (-s) specified' do
26
+ it 'returns a single file generation message' do
27
+ output = execution_output("cd #{RAILS_TEST_APP_DIR} && bundle exec zapata #{file_name} -s")
28
+ expect(output.count).to eq 1
29
+ expect(output.first).to eq "Its done, comrades. File spec/models/test_array_spec.rb was generated.\n"
30
+ end
31
+ end
32
+
33
+ context 'with single (--single) specified' do
34
+ it 'returns a single file generation message' do
35
+ output = execution_output("cd #{RAILS_TEST_APP_DIR} && bundle exec zapata #{file_name} --single")
36
+ expect(output.count).to eq 1
37
+ expect(output.first).to eq "Its done, comrades. File spec/models/test_array_spec.rb was generated.\n"
38
+ end
39
+ end
40
+
41
+ context 'with no single specified' do
42
+ it 'returns multiple file generation messages' do
43
+ output = execution_output("cd #{RAILS_TEST_APP_DIR} && bundle exec zapata #{file_name}")
44
+ expect(output.count).to be > 1
45
+ end
46
+ end
47
+ end
48
+
49
+ def execution_output(command)
50
+ stdout = Bundler.with_clean_env do
51
+ Open3.pipeline_r(
52
+ command
53
+ )
54
+ end
55
+ stdout.first.readlines
56
+ end
57
+ end
58
+ end
@@ -1,7 +1,8 @@
1
- require 'zapata'
2
1
  require 'coveralls'
3
-
4
2
  Coveralls.wear!
3
+
4
+ require 'zapata'
5
+
5
6
  # This file was generated by the `rspec --init` command. Conventionally, all
6
7
  # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
7
8
  # The generated `.rspec` file contains `--require spec_helper` which will cause this
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zapata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Domas Bitvinskas
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-28 00:00:00.000000000 Z
11
+ date: 2014-12-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -260,8 +260,11 @@ files:
260
260
  - lib/zapata/rzpec/runner.rb
261
261
  - lib/zapata/rzpec/writer.rb
262
262
  - lib/zapata/version.rb
263
+ - script/bootstrap
264
+ - script/test
263
265
  - spec/array_spec.rb
264
266
  - spec/definition_spec.rb
267
+ - spec/generation_spec.rb
265
268
  - spec/hash_spec.rb
266
269
  - spec/klass_types_spec.rb
267
270
  - spec/send_spec.rb
@@ -374,6 +377,7 @@ summary: Automatic automated test writer
374
377
  test_files:
375
378
  - spec/array_spec.rb
376
379
  - spec/definition_spec.rb
380
+ - spec/generation_spec.rb
377
381
  - spec/hash_spec.rb
378
382
  - spec/klass_types_spec.rb
379
383
  - spec/send_spec.rb