tachikoma 4.0.1 → 4.0.2
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/Gemfile +4 -0
- data/bin/tachikoma +3 -56
- data/lib/tachikoma/application.rb +2 -2
- data/lib/tachikoma/cli.rb +57 -0
- data/lib/tachikoma/templates/.gitignore +3 -0
- data/lib/tachikoma/templates/Rakefile +3 -0
- data/lib/tachikoma/templates/data/__user_config__.yaml +0 -0
- data/lib/tachikoma/templates/data/bot-motoko-tachikoma.yaml +10 -0
- data/lib/tachikoma/templates/repos/.gitkeep +0 -0
- data/lib/tachikoma/version.rb +1 -1
- data/lib/tasks/app.rake +12 -1
- data/spec/spec_helper.rb +1 -2
- data/spec/tasks/app_task_spec.rb +5 -10
- data/tachikoma.gemspec +1 -0
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f618004743a16b2c9bfeab746b69f3edc0488625
|
4
|
+
data.tar.gz: 13ef48e03589ed1aa6959079afdda7d303a7ba3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 039c38ee4a88403b275e3c65044d48d2205c653f586e8a50982bcb50df012bd90559f411d462266b1eae549e163afcdd14e8cc9714ef18e045ba49e9ee9101b6
|
7
|
+
data.tar.gz: 9c22939957a1abe16a6628b851e2bd488d789ad11a40ecc847e9e42d64c9a9d46211f9bd92f33aa4558db9a5aba7880084534b8841f93bcd0b9ce362f655bc1f
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## 4.0.2 (2013-12-20)
|
2
|
+
|
3
|
+
Features:
|
4
|
+
|
5
|
+
- Support for older git versions (1.7.x) and OAuth (#58, @kenchan)
|
6
|
+
- Adjust rspec 3 syntax (#59, #60, @banyan)
|
7
|
+
- Use Thor, and split template file from script (#61, #63, @sanemat)
|
8
|
+
|
1
9
|
## 4.0.1 (2013-12-07)
|
2
10
|
|
3
11
|
Features:
|
data/Gemfile
CHANGED
@@ -4,6 +4,10 @@ gemspec
|
|
4
4
|
|
5
5
|
group :development, :test do
|
6
6
|
gem 'pry'
|
7
|
+
# https://github.com/rspec/rspec-rails/issues/878#issuecomment-30575316
|
8
|
+
gem 'rspec-core', git: 'https://github.com/rspec/rspec-core.git', branch: 'master'
|
9
|
+
# https://github.com/rspec/rspec-mocks/pull/467
|
10
|
+
gem 'rspec-mocks', git: 'https://github.com/rspec/rspec-mocks.git', branch: 'master'
|
7
11
|
end
|
8
12
|
|
9
13
|
gem 'oj'
|
data/bin/tachikoma
CHANGED
@@ -1,59 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
|
-
case ARGV[0]
|
3
|
-
when 'init'
|
4
|
-
require 'fileutils'
|
5
|
-
File.open('.gitignore', 'a') do |f|
|
6
|
-
f << <<-EOS
|
7
|
-
|
8
|
-
/repos/*
|
9
|
-
!/repos/.gitkeep
|
10
|
-
EOS
|
11
|
-
end
|
12
|
-
puts 'appended .gitignore'
|
13
|
-
File.open('Rakefile', 'a') do |f|
|
14
|
-
f << <<-EOS
|
15
|
-
|
16
2
|
require 'bundler/setup'
|
17
|
-
require 'tachikoma
|
18
|
-
|
19
|
-
end
|
20
|
-
puts 'appended Rakefile'
|
21
|
-
FileUtils.mkdir_p('data')
|
22
|
-
puts 'created data/'
|
23
|
-
File.open(File.join('data', '__user_config__.yaml'), 'w') do |f|
|
24
|
-
f << <<-EOS
|
25
|
-
EOS
|
26
|
-
end
|
27
|
-
puts 'created data/__user_config__.yaml'
|
28
|
-
File.open(File.join('data', 'bot-motoko-tachikoma.yaml'), 'w') do |f|
|
29
|
-
f << <<-EOS
|
30
|
-
url:
|
31
|
-
'https://github.com/sanemat/bot-motoko-tachikoma.git'
|
32
|
-
frequency:
|
33
|
-
"every 1.day, :at => '6:30 am'"
|
34
|
-
type:
|
35
|
-
'fork'
|
36
|
-
language:
|
37
|
-
'ruby'
|
38
|
-
version:
|
39
|
-
'2.0.0'
|
40
|
-
EOS
|
41
|
-
end
|
42
|
-
puts 'created data/bot-motoko-tachikoma.yaml'
|
43
|
-
FileUtils.mkdir_p('repos')
|
44
|
-
puts 'created repos/'
|
45
|
-
FileUtils.touch(File.join('repos', '.gitkeep'))
|
46
|
-
puts 'created repos/.gitkeep'
|
47
|
-
puts 'tachikoma init completed!'
|
48
|
-
puts 'You might want to see README!'
|
49
|
-
else
|
50
|
-
puts <<-EOS
|
51
|
-
Command Lists
|
52
|
-
tachikoma init # Initialize files
|
3
|
+
require 'tachikoma'
|
4
|
+
require 'tachikoma/cli'
|
53
5
|
|
54
|
-
|
55
|
-
rake tachikoma:fetch # fetch
|
56
|
-
rake tachikoma:fetch_data # fetch another `/data` directory from another location
|
57
|
-
rake tachikoma:pull_request # pull_request
|
58
|
-
EOS
|
59
|
-
end
|
6
|
+
Tachikoma::CLI.start
|
@@ -116,9 +116,9 @@ module Tachikoma
|
|
116
116
|
uri = URI.parse(fetch_url)
|
117
117
|
case type
|
118
118
|
when 'fork'
|
119
|
-
%Q!#{uri.scheme}://#{github_token}@#{uri.host}#{path_for_fork(uri.path, github_account)}!
|
119
|
+
%Q!#{uri.scheme}://#{github_token}:x-oauth-basic@#{uri.host}#{path_for_fork(uri.path, github_account)}!
|
120
120
|
when 'shared', 'private'
|
121
|
-
"#{uri.scheme}://#{github_token}@#{uri.host}#{uri.path}"
|
121
|
+
"#{uri.scheme}://#{github_token}:x-oauth-basic@#{uri.host}#{uri.path}"
|
122
122
|
else
|
123
123
|
raise "Invalid type #{type}"
|
124
124
|
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'thor'
|
2
|
+
|
3
|
+
module Tachikoma
|
4
|
+
class CLI < Thor
|
5
|
+
include Thor::Actions
|
6
|
+
|
7
|
+
desc 'init', 'Initialize files'
|
8
|
+
def init
|
9
|
+
require 'fileutils'
|
10
|
+
|
11
|
+
copy_or_append_file_lists = %w(
|
12
|
+
.gitignore
|
13
|
+
Rakefile
|
14
|
+
data/__user_config__.yaml
|
15
|
+
)
|
16
|
+
copy_file_lists = %w(
|
17
|
+
repos/.gitkeep
|
18
|
+
data/bot-motoko-tachikoma.yaml
|
19
|
+
)
|
20
|
+
|
21
|
+
copy_or_append_file_lists.each do |target|
|
22
|
+
if File.exist?(target)
|
23
|
+
append_to_file target do
|
24
|
+
File.read(File.join(self.class.source_root, target))
|
25
|
+
end
|
26
|
+
else
|
27
|
+
copy_file target
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
copy_file_lists.each do |target|
|
32
|
+
copy_file target
|
33
|
+
end
|
34
|
+
|
35
|
+
puts 'tachikoma init completed!'
|
36
|
+
puts 'You might want to see README!'
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.help(shell, *)
|
40
|
+
list = printable_tasks
|
41
|
+
|
42
|
+
shell.say 'Commands:'
|
43
|
+
shell.print_table(list, indent: 2, truncate: true)
|
44
|
+
shell.say
|
45
|
+
class_options_help(shell)
|
46
|
+
shell.say <<-USAGE
|
47
|
+
Tasks:
|
48
|
+
rake tachikoma:run_bundle # run tachikoma with bundle
|
49
|
+
rake tachikoma:run_carton # run tachikoma with carton
|
50
|
+
USAGE
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.source_root
|
54
|
+
File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
File without changes
|
File without changes
|
data/lib/tachikoma/version.rb
CHANGED
data/lib/tasks/app.rake
CHANGED
@@ -1,29 +1,40 @@
|
|
1
1
|
require 'tachikoma/application'
|
2
2
|
|
3
3
|
namespace :tachikoma do
|
4
|
-
desc 'run tachikoma'
|
4
|
+
desc 'run tachikoma with bundle'
|
5
5
|
task :run_bundle do
|
6
6
|
Tachikoma::Application.run 'bundle'
|
7
7
|
end
|
8
8
|
|
9
|
+
desc 'run tachikoma with carton'
|
9
10
|
task :run_carton do
|
10
11
|
Tachikoma::Application.run 'carton'
|
11
12
|
end
|
12
13
|
|
14
|
+
# Deprecated: Please use `tachikoma:run_bundle` or `tachikoma:run_carton` instead
|
13
15
|
task :load do
|
16
|
+
warn '[DEPRECATION] `tachikoma:load` is deleted. Please use `tachikoma:run_bundle` or `tachikoma:run_carton instead.'
|
14
17
|
end
|
15
18
|
|
19
|
+
# Deprecated: Please use `tachikoma:run_bundle` or `tachikoma:run_carton` instead
|
16
20
|
task :fetch do
|
21
|
+
warn '[DEPRECATION] `tachikoma:fetch` is deleted. Please use `tachikoma:run_bundle` or `tachikoma:run_carton instead.'
|
17
22
|
end
|
18
23
|
|
24
|
+
# Deprecated: Please use `tachikoma:run_bundle` or `tachikoma:run_carton` instead
|
19
25
|
task :bundle do
|
26
|
+
warn '[DEPRECATION] `tachikoma:bundle` is deprecated. Please use `tachikoma:run_bundle` or `tachikoma:run_carton` instead.'
|
20
27
|
Tachikoma::Application.run 'bundle'
|
21
28
|
end
|
22
29
|
|
30
|
+
# Deprecated: Please use `tachikoma:run_bundle` or `tachikoma:run_carton` instead
|
23
31
|
task :carton do
|
32
|
+
warn '[DEPRECATION] `tachikoma:carton` is deprecated. Please use `tachikoma:run_bundle` or `tachikoma:run_carton` instead.'
|
24
33
|
Tachikoma::Application.run 'carton'
|
25
34
|
end
|
26
35
|
|
36
|
+
# Deprecated: Please use `tachikoma:run_bundle` or `tachikoma:run_carton` instead
|
27
37
|
task :pull_request do
|
38
|
+
warn '[DEPRECATION] `tachikoma:pull_request` is deleted. Please use `tachikoma:run_bundle` or `tachikoma:run_carton` instead.'
|
28
39
|
end
|
29
40
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
RSpec.configure do |config|
|
8
8
|
config.run_all_when_everything_filtered = true
|
9
9
|
config.filter_run :focus
|
10
|
+
config.raise_errors_for_deprecations!
|
10
11
|
|
11
12
|
# Run specs in random order to surface order dependencies. If you find an
|
12
13
|
# order dependency and want to debug it, you can fix the order by providing
|
@@ -14,5 +15,3 @@ RSpec.configure do |config|
|
|
14
15
|
# --seed 1234
|
15
16
|
config.order = 'random'
|
16
17
|
end
|
17
|
-
|
18
|
-
require 'rspec/autorun'
|
data/spec/tasks/app_task_spec.rb
CHANGED
@@ -2,22 +2,17 @@ require 'spec_helper'
|
|
2
2
|
require 'rake'
|
3
3
|
require 'tachikoma/tasks'
|
4
4
|
|
5
|
-
|
6
|
-
|
5
|
+
# FIXME: This is not test against rake task.
|
6
|
+
describe 'Tachikoma::Aplication' do
|
7
|
+
describe '#pull_request' do
|
7
8
|
context 'when github returns 422 UnprocessableEntity' do
|
8
9
|
before do
|
9
|
-
|
10
|
-
# syntax without explicitly enabling the syntax is deprecated.
|
11
|
-
# Use the new `:expect` syntax or explicitly enable `:should`
|
12
|
-
# instead. Called from
|
13
|
-
# /Users/sane/work/ruby-study/tachikoma/spec/tasks/app_task_spec.rb:9:
|
14
|
-
# in `block (4 levels) in <top (required)>'.
|
15
|
-
Octokit::Client.stub_chain(:new, :create_pull_request).and_raise(Octokit::UnprocessableEntity)
|
10
|
+
allow(Octokit::Client).to receive_message_chain(:new, :create_pull_request).and_raise(Octokit::UnprocessableEntity)
|
16
11
|
end
|
17
12
|
|
18
13
|
it 'should not raise Octokit::UnprocessableEntity error' do
|
19
14
|
expect {
|
20
|
-
|
15
|
+
Tachikoma::Application.new.pull_request
|
21
16
|
}.to_not raise_error
|
22
17
|
end
|
23
18
|
end
|
data/tachikoma.gemspec
CHANGED
@@ -22,6 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency 'rake'
|
23
23
|
spec.add_dependency 'octokit', '>= 2', '< 3'
|
24
24
|
spec.add_dependency 'json'
|
25
|
+
spec.add_dependency 'thor'
|
25
26
|
|
26
27
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
27
28
|
spec.add_development_dependency 'dotenv'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tachikoma
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.0.
|
4
|
+
version: 4.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sanemat
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-12-
|
11
|
+
date: 2013-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: safe_yaml
|
@@ -72,6 +72,20 @@ dependencies:
|
|
72
72
|
- - '>='
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: thor
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - '>='
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
type: :runtime
|
83
|
+
prerelease: false
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
85
|
+
requirements:
|
86
|
+
- - '>='
|
87
|
+
- !ruby/object:Gem::Version
|
88
|
+
version: '0'
|
75
89
|
- !ruby/object:Gem::Dependency
|
76
90
|
name: bundler
|
77
91
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,8 +151,14 @@ files:
|
|
137
151
|
- data/default.yaml
|
138
152
|
- lib/tachikoma.rb
|
139
153
|
- lib/tachikoma/application.rb
|
154
|
+
- lib/tachikoma/cli.rb
|
140
155
|
- lib/tachikoma/settings.rb
|
141
156
|
- lib/tachikoma/tasks.rb
|
157
|
+
- lib/tachikoma/templates/.gitignore
|
158
|
+
- lib/tachikoma/templates/Rakefile
|
159
|
+
- lib/tachikoma/templates/data/__user_config__.yaml
|
160
|
+
- lib/tachikoma/templates/data/bot-motoko-tachikoma.yaml
|
161
|
+
- lib/tachikoma/templates/repos/.gitkeep
|
142
162
|
- lib/tachikoma/version.rb
|
143
163
|
- lib/tasks/app.rake
|
144
164
|
- rubocop-todo.yml
|