kata 1.5.0 → 1.6.0

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: 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