kata 1.5.0 → 1.6.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: 799c980fa1d662dff11f1fe752746b0df6c25def
4
- data.tar.gz: d3aa26a5a75c4c38b3319159b4ec801bde30b125
3
+ metadata.gz: 9f38d529f6814fb12f472bb2bfa479f7a00a334d
4
+ data.tar.gz: 2bd597620a28cc985ce3ce8e18215d193e3e1339
5
5
  SHA512:
6
- metadata.gz: 6974b2ece4c3aac1df67a5165382d65c6b821398834e2652dc11d492bfc56ccdc0408a44b1b1044165a301698ba362a54addb82a86bb583e7c3c6079a1d51166
7
- data.tar.gz: b99833cf31190965749febe5ae27a2450ab6f02367ff3cd3fcb3dc79fc9fa362506806e1ca74c75aa5a59c02d7520371cf8f8575c831b4d89c454f22b614c1ac
6
+ metadata.gz: ea74244753c10614fce17195944dd29a75db466c4a0eb57362ce2e4635bed0e74e8ef51529a021ae6a79489d7ae6a30a6729f810ee45d34ff6e047ae2b26f635
7
+ data.tar.gz: b5513df5b97f52c2e9f71ade69caba49137845cae21242c0d9a999fdc667854e5d330af8eca1008f4deb378f4a74c565e7c89804d6f7a1a2301c14cf44c4b052
data/bin/kata CHANGED
@@ -21,6 +21,7 @@ PRIMARY COMMANDS
21
21
 
22
22
  --no-repo - Add the directory tree and files to the current repo if possible
23
23
  --language=option - Define the programming language for the directory tree that is built
24
+ VALID OPTIONS [ruby,node,php]
24
25
  file - Path to the code kata source file for the practice session
25
26
 
26
27
  kata take file
@@ -48,7 +49,7 @@ OptionParser.new do |opts|
48
49
  options.repo = false
49
50
  end
50
51
 
51
- opts.on('-l[OPTIONAL]', '--language[=OPTIONAL]', 'Setup the kata file tree using the specified language') do |lang|
52
+ opts.on('-l', '--language [LANG]', 'Setup the kata file tree using the specified language') do |lang|
52
53
  options.language = lang
53
54
  end
54
55
  end.parse!
@@ -64,6 +65,7 @@ options.file = ARGV.shift
64
65
  case options.action
65
66
  when :setup
66
67
  raise(ArgumentError, 'No kata source file specified') unless options.file && File.exists?(options.file)
68
+ raise(ArgumentError, 'Invalid language option') unless %w{ruby node php}.include?(options.language)
67
69
 
68
70
  name = nil
69
71
 
@@ -1,5 +1,6 @@
1
1
  require 'kata/setup/base'
2
2
  require 'kata/setup/ruby'
3
- require 'kata/setup/javascript'
3
+ require 'kata/setup/node'
4
+ require 'kata/setup/php'
4
5
  require 'kata/base'
5
6
  require 'kata/version'
@@ -66,13 +66,16 @@ module Kata
66
66
  def complete(status = true)
67
67
  return if @@times.size == 0
68
68
 
69
- formatter = lambda do |sec|
70
- use = sec.round
71
- [use/3600, use/60 % 60, use % 60].map {|v| v.to_s.rjust(2,'0')}.join(':')
72
- end
73
-
74
69
  suppress_output
70
+ report
71
+ content = capture_output
72
+
73
+ File.open('report.txt', 'w').write(content)
74
+
75
+ puts content
76
+ end
75
77
 
78
+ def report
76
79
  table :border => true do
77
80
  row :header => true do
78
81
  column 'Requirement', :color => 'red', :width => 80
@@ -82,16 +85,15 @@ module Kata
82
85
  @@times.each do |t|
83
86
  row do
84
87
  column t[:title]
85
- column formatter.call(t[:time])
88
+ column format_time(t[:time])
86
89
  end
87
90
  end
88
91
  end
92
+ end
89
93
 
90
- report = capture_output
91
-
92
- File.open('report.txt', 'w').write( report )
93
-
94
- puts report
94
+ def format_time(sec)
95
+ use = sec.round
96
+ [use/3600, use/60 % 60, use % 60].map {|v| v.to_s.rjust(2,'0')}.join(':')
95
97
  end
96
98
 
97
99
  def ancestry
@@ -28,13 +28,21 @@ module Kata
28
28
  case type
29
29
  when 'ruby'
30
30
  Kata::Setup::Ruby.new(kata_name).build_tree
31
- when 'javascript'
32
- Kata::Setup::Javascript.new(kata_name).build_tree
31
+ when 'node'
32
+ Kata::Setup::Node.new(kata_name).build_tree
33
+ when 'php'
34
+ Kata::Setup::Php.new(kata_name).build_tree
35
+ else
36
+ raise(ArgumentError, "Invalid language type #{type}")
33
37
  end
34
38
  end
35
39
 
36
40
  private
37
41
 
42
+ def tree(path)
43
+ FileUtils.mkdir_p(File.join(repo_name, path))
44
+ end
45
+
38
46
  def use_kata_name
39
47
  kata_name.gsub(/( |-)\1?/, '_').downcase
40
48
  end
@@ -43,8 +51,15 @@ module Kata
43
51
  kata_name.split(/ |-|_/).map(&:capitalize).join
44
52
  end
45
53
 
54
+ def write_repo_file(use_file, use_contents, permissions = 0644)
55
+ File.open(File.join(repo_name, use_file), 'w') do |f|
56
+ f.write(use_contents)
57
+ f.chmod(permissions) rescue Exception
58
+ end
59
+ end
60
+
46
61
  def readme
47
- File.open(File.join(repo_name, 'README'), 'w') { |f| f.write(<<EOF) }
62
+ write_repo_file('README',<<EOF)
48
63
  Leveling up my coding awesomeness!
49
64
  EOF
50
65
  end
@@ -55,28 +70,46 @@ EOF
55
70
 
56
71
  @github ||=
57
72
  begin
58
- tmp = OpenStruct.new
73
+ struct = OpenStruct.new
74
+
75
+ struct.token = %x{git config --get github.token}.chomp
59
76
 
60
77
  github_user = %x{git config --get github.user}.chomp
61
78
  shell_user = ENV['USER']
62
79
 
63
- tmp.user = github_user.empty? ? shell_user : github_user
80
+ struct.user = github_user.empty? ? shell_user : github_user
64
81
 
65
- raise Exception, 'Unable to determine github user' if tmp.user.empty?
82
+ struct
83
+ end
84
+ end
66
85
 
67
- print 'Github account password: '
68
- tmp.password = STDIN.noecho(&:gets).chomp
86
+ def client_factory
87
+ if github.token
88
+ # nothing to do
89
+ elsif github.user
90
+ get_password
91
+ get_token
92
+ else
93
+ raise Exception, 'Unable to determine github.token or github.user' if github.user.empty?
94
+ end
69
95
 
70
- tmp
71
- end
96
+ client.access_token = github.token
72
97
  end
73
98
 
74
99
  def client
75
- @client ||= Octokit::Client.new(:login => github.user, :password => github.password)
100
+ @client ||= Octokit::Client.new
101
+ end
102
+
103
+ def get_password
104
+ print 'Github account password: '
105
+ github.password = STDIN.noecho(&:gets).chomp
76
106
  end
77
107
 
78
- def create_session_token
79
- authorization = client.create_authorization({:scopes => ['public_repo'], :note => 'Ruby Kata'})
108
+ def get_token
109
+ client.login = github.user
110
+ client.password = github.password
111
+
112
+ authorization = client.create_authorization({:scopes => ['public_repo'], :note => 'Code Kata'})
80
113
 
81
114
  github.token = authorization.token
82
115
 
@@ -85,29 +118,34 @@ EOF
85
118
  end
86
119
 
87
120
  def create_remote_repo
88
- create_session_token
89
-
90
- puts "Creating remote repo..."
91
- client.create_repo "#{repo_name}"
92
- puts "end"
121
+ client_factory
122
+
123
+ begin
124
+ print "Creating remote repo..."
125
+ client.create_repo "#{repo_name}"
126
+ rescue Exception
127
+ puts "\nError: unable to create the git repo."
128
+ print 'Proceeding...'
129
+ ensure
130
+ puts "done"
131
+ end
93
132
  end
94
133
 
95
134
  def push_local_repo(new_repo)
96
- print "creating files for repo and initializing..."
97
-
98
135
  cmd = "cd #{repo_name} &&"
99
136
 
100
137
  if new_repo
101
- cmd << "git init >/dev/null 2>&1 &&"
102
- cmd << "git add README .rspec lib/ spec/ >/dev/null 2>&1 &&"
138
+ cmd << "git init &&"
139
+ #cmd << "git add README .rspec lib/ spec/ &&"
140
+ cmd << "git add . &&"
103
141
  else
104
- cmd << "git add #{ENV['PWD']}/#{repo_name} >/dev/null 2>&1;"
142
+ cmd << "git add #{ENV['PWD']}/#{repo_name};"
105
143
  end
106
144
 
107
- cmd << "git commit -m 'starting kata' > /dev/null 2>&1;"
145
+ cmd << "git commit -m 'starting kata';"
108
146
 
109
147
  if new_repo
110
- cmd << "git remote add origin git@github.com:#{github.user}/#{repo_name}.git >/dev/null 2>&1 &&"
148
+ cmd << "git remote add origin git@github.com:#{github.user}/#{repo_name}.git &&"
111
149
  end
112
150
 
113
151
  cmd << 'git push origin master'
@@ -2,31 +2,21 @@ require 'kata/setup/base'
2
2
 
3
3
  module Kata
4
4
  module Setup
5
- class Javascript < Kata::Setup::Base
5
+ class Node < Kata::Setup::Base
6
6
  def build_tree
7
7
  %w{lib spec}.each { |path| tree(path) }
8
8
  readme
9
9
  package_json
10
- base_class
10
+ autotest
11
+ kata_file
11
12
  kata_spec
12
13
  end
13
14
 
14
15
  private
15
16
 
16
- def tree(path)
17
- full_path = case path
18
- when "lib"
19
- File.join(repo_name, 'lib')
20
- when "spec"
21
- File.join(repo_name, "spec")
22
- end
23
-
24
- FileUtils.mkdir_p(full_path)
25
- end
26
-
27
17
  # Using here docs for a cheap templating system
28
18
  def package_json
29
- File.open(File.join(repo_name, 'package.json'), 'w') { |f| f.write(<<EOF) }
19
+ write_repo_file('package.json',<<EOF)
30
20
  {
31
21
  "name": "#{use_kata_name}",
32
22
  "version": "0.0.1",
@@ -38,9 +28,13 @@ module Kata
38
28
  EOF
39
29
  end
40
30
 
41
- def base_class
31
+ def autotest
32
+ write_repo_file('autotest',"./node_modules/jasmine-node/bin/jasmine-node --autotest --color spec/", 0755)
33
+ end
34
+
35
+ def kata_file
42
36
  # create the base class file
43
- File.open(File.join(repo_name, 'lib', "#{use_kata_name}.js"), 'w') {|f| f.write <<EOF}
37
+ write_repo_file(File.join('lib', "#{use_kata_name}.js"),<<EOF)
44
38
  var expression = null;
45
39
 
46
40
  exports.getExpr = function() {
@@ -50,7 +44,7 @@ EOF
50
44
  end
51
45
 
52
46
  def kata_spec
53
- File.open(File.join(repo_name, 'spec', "#{use_kata_name}_spec.js"), 'w') {|f| f.write <<EOF}
47
+ write_repo_file(File.join('spec', "#{use_kata_name}_spec.js"),<<EOF)
54
48
  var #{use_kata_name} = require("../lib/#{use_kata_name}");
55
49
 
56
50
  describe("#{class_name}", function() {
@@ -0,0 +1,87 @@
1
+ require 'kata/setup/base'
2
+
3
+ module Kata
4
+ module Setup
5
+ class Php < Kata::Setup::Base
6
+ def build_tree
7
+ %w{src test}.each { |path| tree(path) }
8
+ readme
9
+ bootstrap
10
+ composer_json
11
+ base_class
12
+ php_test
13
+ end
14
+
15
+ private
16
+
17
+ # Using here docs for a cheap templating system
18
+ def bootstrap
19
+ write_repo_file('bootstrap.h',<<EOF)
20
+ #!/bin/sh
21
+
22
+ php_version=$(php -v | head -1 | awk '{print $2}' | sed 's/\\.//g')
23
+ composer_version=5320
24
+
25
+ if [[ $php_version -gt $composer_version ]]; then
26
+ curl -sS https://getcomposer.org/installer | php
27
+ mv composer.phar composer
28
+ chmod 755 composer
29
+ ./composer install
30
+ export PATH=vendor/bin:$PATH
31
+ else
32
+ curl -O https://phar.phpunit.de/phpunit.phar
33
+ mv phpunit.phar phpunit
34
+ chmod 755 phpunit
35
+ fi
36
+ EOF
37
+ end
38
+
39
+ def composer_json
40
+ write_repo_file('composer.json',<<EOF)
41
+ {
42
+ "require-dev": {
43
+ "phpunit/phpunit": "4.1.*"
44
+ }
45
+ }
46
+ EOF
47
+ end
48
+
49
+ def base_class
50
+ write_repo_file(File.join('src', "#{class_name}.php"),<<EOF)
51
+ <?php
52
+
53
+ class #{class_name} {
54
+
55
+ public function __construct() { }
56
+
57
+ }
58
+
59
+ ?>
60
+ EOF
61
+ end
62
+
63
+ def php_test
64
+ write_repo_file(File.join('test', "#{class_name}Test.php"),<<EOF)
65
+ <?php
66
+
67
+ require 'src/#{class_name}.php';
68
+
69
+ class #{class_name}Test extends PHPUnit_Framework_TestCase {
70
+
71
+ public function testInstatiate#{class_name}() {
72
+ try {
73
+ $calc = new #{class_name}();
74
+ } catch (Exception $e) {
75
+ $this->fail();
76
+ }
77
+ }
78
+
79
+ }
80
+
81
+ ?>
82
+ EOF
83
+ end
84
+ end
85
+ end
86
+ end
87
+
@@ -4,30 +4,43 @@ module Kata
4
4
  module Setup
5
5
  class Ruby < Kata::Setup::Base
6
6
  def build_tree
7
- %w{lib spec helpers matchers}.each { |path| tree(path) }
7
+ %w{lib spec}.each { |path| tree(path) }
8
8
  readme
9
+ bootstrap
10
+ gemfile
9
11
  base_class
10
- dot_rspec
11
- spec_helper
12
+ dot_files
12
13
  kata_spec
13
- spec_matcher
14
14
  end
15
15
 
16
16
  private
17
17
 
18
- def tree(path)
19
- full_path = case path
20
- when "lib"
21
- File.join(repo_name, 'lib')
22
- when "spec"
23
- File.join(repo_name, "spec")
24
- when "matchers"
25
- File.join(repo_name, "spec", "support", "matchers")
26
- when "helpers"
27
- File.join(repo_name, "spec", "support", "helpers")
28
- end
18
+ def bootstrap
19
+ write_repo_file('bootstrap.sh',<<EOF)
20
+ #!/bin/bash
21
+ gem install bundler
22
+ bundle install
23
+ EOF
24
+ end
25
+
26
+ def gemfile
27
+ write_repo_file('Gemfile',<<EOF)
28
+ source 'http://rubygems.org'
29
29
 
30
- FileUtils.mkdir_p(full_path)
30
+ gem 'kata'
31
+
32
+ group :test do
33
+ gem 'rspec'
34
+ gem 'autotest'
35
+ gem 'autotest-growl'
36
+ gem 'rspec-autotest'
37
+ end
38
+
39
+ group :development do
40
+ gem 'debugger'
41
+ gem 'pry'
42
+ end
43
+ EOF
31
44
  end
32
45
 
33
46
  # Using here docs for a cheap templating system
@@ -39,25 +52,18 @@ end
39
52
  EOF
40
53
  end
41
54
 
42
- def dot_rspec
43
- File.open(File.join(repo_name, '.rspec'), 'w') {|f| f.write <<EOF}
44
- --color --format d
45
- EOF
46
- end
47
-
48
- def spec_helper
49
- File.open(File.join(repo_name, 'spec', 'spec_helper.rb'), 'w') {|f| f.write <<EOF}
50
- $: << '.' << File.join(File.dirname(__FILE__), '..', 'lib')
51
-
52
- require 'rspec'
53
-
54
- Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
55
+ def dot_files
56
+ write_repo_file('.rspec', '--color --format d')
57
+ write_repo_file('.ruby-version', 'ruby-2.0.0-p481')
58
+ write_repo_file('.ruby-gemset', "kata-#{use_kata_name}")
59
+ write_repo_file('.autotest', <<EOF)
60
+ require 'autotest'
61
+ require 'autotest-growl'
55
62
  EOF
56
63
  end
57
64
 
58
65
  def kata_spec
59
66
  File.open(File.join(repo_name, 'spec', "#{use_kata_name}_spec.rb"), 'w') {|f| f.write <<EOF}
60
- require 'spec_helper'
61
67
  require '#{use_kata_name}'
62
68
 
63
69
  describe #{class_name} do
@@ -69,16 +75,6 @@ describe #{class_name} do
69
75
  end
70
76
  end
71
77
  end
72
- EOF
73
- end
74
-
75
- def spec_matcher
76
- File.open(File.join(repo_name, 'spec', 'support', 'matchers', "#{use_kata_name}.rb"), 'w') {|f| f.write <<EOF}
77
- RSpec::Matchers.define :your_method do |expected|
78
- match do |your_match|
79
- #expect(your_match.method_on_object_to_execute).to eq(expected)
80
- end
81
- end
82
78
  EOF
83
79
  end
84
80
  end
@@ -1,3 +1,3 @@
1
1
  module Kata
2
- VERSION = '1.5.0'
2
+ VERSION = '1.6.0'
3
3
  end
@@ -1,5 +1,8 @@
1
1
  require 'spec_helper'
2
2
  require 'kata/setup/base'
3
+ require 'kata/setup/ruby'
4
+ require 'kata/setup/node'
5
+ require 'kata/setup/php'
3
6
 
4
7
  module Kata
5
8
  module Setup
@@ -14,6 +17,62 @@ module Kata
14
17
  expect(s.kata_name).to eq('my-kata')
15
18
  end
16
19
  end
20
+
21
+ describe '#create_repo' do
22
+ #subject {Kata::Setup::Base.new}
23
+
24
+ let(:no_repo) {OpenStruct.new(:repo => false)}
25
+ let(:with_repo) {OpenStruct.new(:repo => true)}
26
+
27
+ it 'only creates if specified' do
28
+ expect(subject).to_not receive(:create_remote_repo)
29
+ expect(subject).to receive(:push_local_repo)
30
+
31
+ subject.create_repo(no_repo)
32
+ end
33
+
34
+ it 'creates when specified' do
35
+ expect(subject).to receive(:create_remote_repo)
36
+ expect(subject).to receive(:push_local_repo)
37
+
38
+ subject.create_repo(with_repo)
39
+ end
40
+ end
41
+
42
+ describe "#build_tree" do
43
+ subject {Kata::Setup::Base.new}
44
+
45
+ let(:ruby_setup) {Kata::Setup::Ruby.new('kata')}
46
+ let(:node_setup) {Kata::Setup::Node.new('kata')}
47
+ let(:php_setup) {Kata::Setup::Php.new('kata')}
48
+
49
+ it 'invokes the ruby setup' do
50
+ expect(Kata::Setup::Ruby).to receive(:new).and_return(ruby_setup)
51
+ expect(ruby_setup).to receive(:build_tree)
52
+
53
+ subject.build_tree 'ruby'
54
+ end
55
+
56
+ it 'invokes the node setup' do
57
+ expect(Kata::Setup::Node).to receive(:new).and_return(node_setup)
58
+ expect(node_setup).to receive(:build_tree)
59
+
60
+ subject.build_tree 'node'
61
+ end
62
+
63
+ it 'invokes the php setup' do
64
+ expect(Kata::Setup::Php).to receive(:new).and_return(php_setup)
65
+ expect(php_setup).to receive(:build_tree)
66
+
67
+ subject.build_tree 'php'
68
+ end
69
+
70
+ it 'rejects invalid language types' do
71
+ expect {
72
+ subject.build_tree 'asdf'
73
+ }.to raise_error
74
+ end
75
+ end
17
76
  end
18
77
  end
19
78
  end
@@ -1,10 +1,10 @@
1
1
  require "spec_helper"
2
- require "kata/setup/javascript"
2
+ require "kata/setup/node"
3
3
  require "fakefs/spec_helpers"
4
4
 
5
5
  module Kata
6
6
  module Setup
7
- describe Javascript do
7
+ describe Node do
8
8
  describe "#build_tree" do
9
9
  include FakeFS::SpecHelpers
10
10
 
@@ -25,11 +25,19 @@ module Kata
25
25
  expect(File.exists?(File.join(@use_dir, "README"))).to be true
26
26
  end
27
27
 
28
- it "create base class file" do
28
+ it "creates package.json file" do
29
+ expect(File.exists?(File.join(@use_dir, "package.json"))).to be true
30
+ end
31
+
32
+ it "creates autotest file" do
33
+ expect(File.exists?(File.join(@use_dir, "autotest"))).to be true
34
+ end
35
+
36
+ it "create kata main file" do
29
37
  expect(File.exists?(File.join(@use_dir, "lib", "#{subject.kata_name}.js"))).to be true
30
38
  end
31
39
 
32
- it "creates base spec file" do
40
+ it "creates kata spec file" do
33
41
  expect(File.exists?(File.join(@use_dir, "spec", "#{subject.kata_name}_spec.js"))).to be true
34
42
  end
35
43
  end
@@ -0,0 +1,43 @@
1
+ require "spec_helper"
2
+ require "kata/setup/php"
3
+ require "fakefs/spec_helpers"
4
+
5
+ module Kata
6
+ module Setup
7
+ describe Php do
8
+ describe "#build_tree" do
9
+ include FakeFS::SpecHelpers
10
+
11
+ before :each do
12
+ subject.build_tree
13
+ @use_dir = File.join("/", subject.repo_name)
14
+
15
+ end
16
+
17
+ let(:class_name) {
18
+ subject.kata_name.split(/ |-|_/).map(&:capitalize).join
19
+ }
20
+
21
+ it "creates src dir" do
22
+ expect(File.directory?(File.join(@use_dir, "src"))).to be true
23
+ end
24
+
25
+ it "creates test dir" do
26
+ expect(File.directory?(File.join(@use_dir, "test"))).to be true
27
+ end
28
+
29
+ it "creates README file" do
30
+ expect(File.exists?(File.join(@use_dir, "README"))).to be true
31
+ end
32
+
33
+ it "create base class file" do
34
+ expect(File.exists?(File.join(@use_dir, "src", "#{class_name}.php"))).to be true
35
+ end
36
+
37
+ it "creates base test file" do
38
+ expect(File.exists?(File.join(@use_dir, "test", "#{class_name}Test.php"))).to be true
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -17,20 +17,20 @@ module Kata
17
17
  expect(File.directory?(File.join(@use_dir, "lib"))).to be true
18
18
  end
19
19
 
20
- it "creates spect dir" do
20
+ it "creates spec dir" do
21
21
  expect(File.directory?(File.join(@use_dir, "spec"))).to be true
22
22
  end
23
23
 
24
- it "creates matchers dir" do
25
- expect(File.directory?(File.join(@use_dir, "spec", "support", "matchers"))).to be true
24
+ it "creates README file" do
25
+ expect(File.exists?(File.join(@use_dir, "README"))).to be true
26
26
  end
27
27
 
28
- it "creates helpers dir" do
29
- expect(File.directory?(File.join(@use_dir, "spec", "support", "helpers"))).to be true
28
+ it "creates bootstrap file" do
29
+ expect(File.exists?(File.join(@use_dir, "bootstrap.sh"))).to be true
30
30
  end
31
31
 
32
- it "creates README file" do
33
- expect(File.exists?(File.join(@use_dir, "README"))).to be true
32
+ it "creates Gemfile file" do
33
+ expect(File.exists?(File.join(@use_dir, "Gemfile"))).to be true
34
34
  end
35
35
 
36
36
  it "create base class file" do
@@ -41,17 +41,9 @@ module Kata
41
41
  expect(File.exists?(File.join(@use_dir, ".rspec"))).to be true
42
42
  end
43
43
 
44
- it "creates spec helper file" do
45
- expect(File.exists?(File.join(@use_dir, "spec", "spec_helper.rb"))).to be true
46
- end
47
-
48
44
  it "creates base spec file" do
49
45
  expect(File.exists?(File.join(@use_dir, "spec", "#{subject.kata_name}_spec.rb"))).to be true
50
46
  end
51
-
52
- it "creates spec matcher file" do
53
- expect(File.exists?(File.join(@use_dir, "spec", "support", "matchers", "#{subject.kata_name}.rb"))).to be true
54
- end
55
47
  end
56
48
  end
57
49
  end
@@ -1,10 +1,13 @@
1
- $: << "." << File.join(File.dirname(__FILE__), "..", "lib")
1
+ $: << '.' << File.join(File.dirname(__FILE__), '..', 'lib')
2
2
 
3
- require "rspec"
4
- require "kata/base"
5
- require "simplecov"
3
+ require 'rspec'
4
+ require 'kata/base'
5
+ require 'simplecov'
6
+ require 'codeclimate-test-reporter'
6
7
 
7
- Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
8
+ CodeClimate::TestReporter.start
9
+
10
+ Dir[File.dirname(__FILE__) + '/support/**/*.rb'].each {|f| require f}
8
11
 
9
12
  RSpec.configure do |config|
10
13
  config.before(:each) do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kata
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wes
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-20 00:00:00.000000000 Z
12
+ date: 2014-06-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -66,13 +66,15 @@ files:
66
66
  - lib/kata.rb
67
67
  - lib/kata/base.rb
68
68
  - lib/kata/setup/base.rb
69
- - lib/kata/setup/javascript.rb
69
+ - lib/kata/setup/node.rb
70
+ - lib/kata/setup/php.rb
70
71
  - lib/kata/setup/ruby.rb
71
72
  - lib/kata/version.rb
72
73
  - spec/kata_base_spec.rb
73
74
  - spec/kata_spec.rb
74
75
  - spec/setup/base_spec.rb
75
- - spec/setup/javascript_spec.rb
76
+ - spec/setup/node_spec.rb
77
+ - spec/setup/php_spec.rb
76
78
  - spec/setup/ruby_spec.rb
77
79
  - spec/spec_helper.rb
78
80
  - spec/support/helpers/stdout_helper.rb
@@ -104,7 +106,8 @@ test_files:
104
106
  - spec/kata_base_spec.rb
105
107
  - spec/kata_spec.rb
106
108
  - spec/setup/base_spec.rb
107
- - spec/setup/javascript_spec.rb
109
+ - spec/setup/node_spec.rb
110
+ - spec/setup/php_spec.rb
108
111
  - spec/setup/ruby_spec.rb
109
112
  - spec/spec_helper.rb
110
113
  - spec/support/helpers/stdout_helper.rb