falkorlib 0.6.19 → 0.7.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 +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +88 -0
- data/.travis.yml +56 -4
- data/Gemfile +4 -4
- data/Gemfile.lock +55 -27
- data/Rakefile +12 -8
- data/Vagrantfile +68 -0
- data/completion/_falkor +55 -7
- data/falkorlib.gemspec +14 -12
- data/lib/falkorlib.rb +22 -21
- data/lib/falkorlib/bootstrap.rb +5 -1
- data/lib/falkorlib/bootstrap/base.rb +385 -693
- data/lib/falkorlib/bootstrap/git.rb +137 -0
- data/lib/falkorlib/bootstrap/latex.rb +186 -0
- data/lib/falkorlib/bootstrap/link.rb +108 -96
- data/lib/falkorlib/bootstrap/ruby.rb +102 -0
- data/lib/falkorlib/cli.rb +82 -26
- data/lib/falkorlib/cli/config.rb +8 -8
- data/lib/falkorlib/cli/link.rb +8 -9
- data/lib/falkorlib/cli/new.rb +25 -39
- data/lib/falkorlib/common.rb +425 -425
- data/lib/falkorlib/config.rb +114 -110
- data/lib/falkorlib/error.rb +27 -16
- data/lib/falkorlib/gem_tasks.rb +12 -11
- data/lib/falkorlib/git.rb +3 -4
- data/lib/falkorlib/git/base.rb +439 -396
- data/lib/falkorlib/git/flow.rb +163 -165
- data/lib/falkorlib/git_tasks.rb +31 -31
- data/lib/falkorlib/loader.rb +1 -1
- data/lib/falkorlib/puppet.rb +3 -5
- data/lib/falkorlib/puppet/base.rb +10 -15
- data/lib/falkorlib/puppet/modules.rb +367 -365
- data/lib/falkorlib/puppet_tasks.rb +11 -8
- data/lib/falkorlib/tasks.rb +51 -54
- data/lib/falkorlib/tasks/gem.rake +42 -43
- data/lib/falkorlib/tasks/gem.rb +12 -11
- data/lib/falkorlib/tasks/git.rake +101 -107
- data/lib/falkorlib/tasks/git.rb +31 -31
- data/lib/falkorlib/tasks/gitflow.rake +131 -141
- data/lib/falkorlib/tasks/puppet.rb +11 -8
- data/lib/falkorlib/tasks/puppet_modules.rake +143 -154
- data/lib/falkorlib/tasks/rspec.rake +94 -59
- data/lib/falkorlib/tasks/yard.rake +35 -39
- data/lib/falkorlib/version.rb +55 -55
- data/lib/falkorlib/versioning.rb +169 -167
- data/spec/falkorlib/bootstrap_helpers_spec.rb +106 -56
- data/spec/falkorlib/bootstrap_latex_spec.rb +145 -0
- data/spec/falkorlib/bootstrap_link_spec.rb +137 -0
- data/spec/falkorlib/bootstrap_ruby_spec.rb +118 -0
- data/spec/falkorlib/bootstrap_spec.rb +112 -129
- data/spec/falkorlib/git_spec.rb +94 -22
- data/spec/falkorlib/gitflow_spec.rb +54 -42
- data/spec/falkorlib/puppet_modules_spec.rb +35 -26
- data/spec/falkorlib/versioning_puppet_module_spec.rb +94 -90
- data/spec/falkorlib_spec.rb +5 -0
- data/spec/spec_helper.rb +88 -47
- data/templates/latex/article-ieee/main.tex.erb +509 -0
- data/templates/latex/article/_abstract.tex.erb +19 -0
- data/templates/latex/article/_acronyms.tex.erb +116 -0
- data/templates/latex/article/_conclusion.tex.erb +25 -0
- data/templates/latex/article/_context.tex.erb +17 -0
- data/templates/latex/article/_experiments.tex.erb +27 -0
- data/templates/latex/article/_implem.tex.erb +17 -0
- data/templates/latex/article/_introduction.tex.erb +39 -0
- data/templates/latex/article/_related_works.tex.erb +19 -0
- data/templates/latex/article/biblio.bib.erb +28 -0
- data/templates/latex/article/template.tex.erb +16 -0
- data/templates/latex/ieee/IEEEtran.bst +2409 -0
- data/templates/latex/ieee/IEEEtran.cls +6347 -0
- data/templates/motd/motd.erb +2 -1
- metadata +82 -2
@@ -2,7 +2,7 @@
|
|
2
2
|
#########################################
|
3
3
|
# gitflow_spec.rb
|
4
4
|
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
5
|
-
# Time-stamp: <
|
5
|
+
# Time-stamp: <Wed 2016-11-09 09:16 svarrette>
|
6
6
|
#
|
7
7
|
# @description Check the Git Flow operations -- see https://github.com/nvie/gitflow
|
8
8
|
#
|
@@ -14,58 +14,70 @@ require 'spec_helper'
|
|
14
14
|
require 'tmpdir'
|
15
15
|
|
16
16
|
describe FalkorLib::GitFlow do
|
17
|
-
|
17
|
+
include FalkorLib::Common
|
18
18
|
|
19
|
-
|
19
|
+
if command?('git-flow')
|
20
20
|
|
21
21
|
|
22
|
-
|
23
|
-
|
22
|
+
dir = Dir.mktmpdir
|
23
|
+
afile = File.join(dir, 'a_file')
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
after :all do
|
26
|
+
FileUtils.remove_entry_secure dir
|
27
|
+
end
|
28
|
+
|
29
|
+
#############################################################
|
30
|
+
context "Test git-flow operations within temporary directory " do
|
28
31
|
|
29
|
-
|
30
|
-
|
32
|
+
it "#init? - fails on non-git directory" do
|
33
|
+
t = FalkorLib::GitFlow.init?(dir)
|
34
|
+
expect(t).to be false
|
35
|
+
end
|
31
36
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
37
|
+
it "#init - initialize a git-flow repository" do
|
38
|
+
expect(STDIN).to receive(:gets).and_return('Yes')
|
39
|
+
i = FalkorLib::GitFlow.init(dir)
|
40
|
+
expect(i).to eq(0)
|
41
|
+
t = FalkorLib::Git.init?(dir)
|
42
|
+
expect(t).to be true
|
43
|
+
end
|
36
44
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
t = FalkorLib::Git.init?(dir)
|
42
|
-
expect(t).to be true
|
43
|
-
end
|
45
|
+
it "#init? - succeed on git-flow enabled directory" do
|
46
|
+
t = FalkorLib::GitFlow.init?(dir)
|
47
|
+
expect(t).to be true
|
48
|
+
end
|
44
49
|
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
50
|
+
it "#branch" do
|
51
|
+
expected = {
|
52
|
+
:master => 'production',
|
53
|
+
:develop => 'devel'
|
54
|
+
}
|
55
|
+
expected.each do |type,v|
|
56
|
+
b = FalkorLib::GitFlow.branches(type.to_sym, dir)
|
57
|
+
expect(b).to eq(expected[type.to_sym])
|
58
|
+
end
|
59
|
+
end
|
49
60
|
|
50
|
-
#['feature', 'hotfix', 'support'].each do |op|
|
51
|
-
['feature'].each do |op|
|
52
|
-
name = 'toto'
|
53
|
-
it "#start -- should start a '#{op}' GitFlow operation" do
|
54
|
-
a = FalkorLib::GitFlow.start(op, name, dir)
|
55
|
-
expect(a).to eq(0)
|
56
|
-
br = FalkorLib::Git.branch?( dir )
|
57
|
-
expect(br).to eq("#{op}/#{name}")
|
58
|
-
end
|
59
61
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
62
|
+
#['feature', 'hotfix', 'support'].each do |op|
|
63
|
+
['feature'].each do |op|
|
64
|
+
name = 'toto'
|
65
|
+
it "#start -- should start a '#{op}' GitFlow operation" do
|
66
|
+
a = FalkorLib::GitFlow.start(op, name, dir)
|
67
|
+
expect(a).to eq(0)
|
68
|
+
br = FalkorLib::Git.branch?( dir )
|
69
|
+
expect(br).to eq("#{op}/#{name}")
|
68
70
|
end
|
69
71
|
|
72
|
+
it "#finish -- should finish a '#{op}' GitFlow operation" do
|
73
|
+
expect(STDIN).to receive(:gets).and_return("Test #{op} operation") if [ 'hotfix', 'support' ].include?(op)
|
74
|
+
a = FalkorLib::GitFlow.finish(op, name, dir)
|
75
|
+
expect(a).to eq(0)
|
76
|
+
br = FalkorLib::Git.branch?( dir )
|
77
|
+
expect(br).to eq(FalkorLib.config[:gitflow][:branches][:develop])
|
78
|
+
end
|
79
|
+
end
|
70
80
|
end
|
81
|
+
|
82
|
+
end
|
71
83
|
end
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#########################################
|
3
3
|
# puppet_modules_spec.rb
|
4
4
|
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
5
|
-
# Time-stamp: <
|
5
|
+
# Time-stamp: <Thu 2016-11-10 02:01 svarrette>
|
6
6
|
#
|
7
7
|
# @description Check the Puppet Modules operations
|
8
8
|
#
|
@@ -19,10 +19,11 @@ describe FalkorLib::Puppet::Modules do
|
|
19
19
|
include FalkorLib::Common
|
20
20
|
|
21
21
|
dir = Dir.mktmpdir
|
22
|
+
|
22
23
|
# Module name
|
23
24
|
name = 'toto'
|
24
25
|
moduledir = File.join(dir, name)
|
25
|
-
jsonfile = File.join(
|
26
|
+
jsonfile = File.join(moduledir, 'metadata.json')
|
26
27
|
|
27
28
|
#afile = File.join(dir, 'a_file')
|
28
29
|
# before :all do
|
@@ -30,8 +31,16 @@ describe FalkorLib::Puppet::Modules do
|
|
30
31
|
# ENV['GIT_AUTHOR_EMAIL'] = 'travis@domain.org' if ENV['GIT_AUTHOR_EMAIL'].nil?
|
31
32
|
# end
|
32
33
|
|
34
|
+
#_____________
|
35
|
+
before :all do
|
36
|
+
$stdout.sync = true
|
37
|
+
FalkorLib.config[:no_interaction] = true
|
38
|
+
end
|
39
|
+
|
40
|
+
#____________
|
33
41
|
after :all do
|
34
42
|
FileUtils.remove_entry_secure dir
|
43
|
+
FalkorLib.config[:no_interaction] = false
|
35
44
|
end
|
36
45
|
|
37
46
|
#############################################################
|
@@ -40,7 +49,7 @@ describe FalkorLib::Puppet::Modules do
|
|
40
49
|
|
41
50
|
it "#init -- create a puppet module" do
|
42
51
|
# Prepare answer to the questions
|
43
|
-
Array.new(17).each { |e| expect(STDIN).to receive(:gets).and_return('') }
|
52
|
+
#Array.new(17).each { |e| expect(STDIN).to receive(:gets).and_return('') }
|
44
53
|
FalkorLib::Puppet::Modules.init(moduledir)
|
45
54
|
templatedir = File.join( FalkorLib.templates, 'puppet', 'modules')
|
46
55
|
s = true
|
@@ -106,15 +115,15 @@ describe FalkorLib::Puppet::Modules do
|
|
106
115
|
metadata = FalkorLib::Puppet::Modules.parse(moduledir, { :no_interaction => true })
|
107
116
|
diff = (metadata.to_a - ref.to_a).flatten.sort
|
108
117
|
expect(diff).to eq([
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
+
'classes',
|
119
|
+
'definitions',
|
120
|
+
'toto',
|
121
|
+
'toto::common',
|
122
|
+
'toto::common::debian',
|
123
|
+
'toto::common::redhat',
|
124
|
+
'toto::mydef',
|
125
|
+
'toto::params',
|
126
|
+
])
|
118
127
|
end
|
119
128
|
|
120
129
|
it "#parse again -- should not exhibit any difference" do
|
@@ -132,20 +141,20 @@ describe FalkorLib::Puppet::Modules do
|
|
132
141
|
expect(a).to include newdep
|
133
142
|
end
|
134
143
|
|
135
|
-
it "#parse again -- should ask new dependency elements" do
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
end
|
144
|
+
# it "#parse again -- should ask new dependency elements" do
|
145
|
+
# ref = JSON.parse( IO.read( jsonfile ) )
|
146
|
+
# expect(STDIN).to receive(:gets).and_return('svarrette')
|
147
|
+
# expect(STDIN).to receive(:gets).and_return('1.2')
|
148
|
+
# expect(STDIN).to receive(:gets).and_return('Yes')
|
149
|
+
# expect(STDIN).to receive(:gets).and_return('')
|
150
|
+
# metadata = FalkorLib::Puppet::Modules.parse(moduledir)
|
151
|
+
# diff = (metadata.to_a - ref.to_a).flatten
|
152
|
+
# expect(diff).to eq([
|
153
|
+
# 'dependencies',
|
154
|
+
# {"name"=>"puppetlabs-stdlib", "version_requirement"=>">=4.2.2 <5.0.0"},
|
155
|
+
# {"name"=>"svarrette/tata", "version_requirement"=>"1.2"}
|
156
|
+
# ])
|
157
|
+
# end
|
149
158
|
|
150
159
|
upgraded_files_default = 1
|
151
160
|
it "#upgrade" do
|
@@ -2,7 +2,7 @@
|
|
2
2
|
#########################################
|
3
3
|
# versioning_puppet_module_spec.rb
|
4
4
|
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
5
|
-
# Time-stamp: <
|
5
|
+
# Time-stamp: <Thu 2016-11-10 02:04 svarrette>
|
6
6
|
#
|
7
7
|
# @description Check the versioning operations on Gems
|
8
8
|
#
|
@@ -16,96 +16,100 @@ require 'tmpdir'
|
|
16
16
|
|
17
17
|
describe FalkorLib::Versioning::Puppet do
|
18
18
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
after :all do
|
41
|
-
configatron.temp_end
|
42
|
-
FileUtils.remove_entry_secure dir
|
43
|
-
FalkorLib.config.versioning[:type] = 'file'
|
19
|
+
include FalkorLib::Common
|
20
|
+
|
21
|
+
dir = Dir.mktmpdir
|
22
|
+
name = 'toto'
|
23
|
+
moduledir = File.join(dir, name)
|
24
|
+
default_version = FalkorLib.config[:versioning][:default]
|
25
|
+
|
26
|
+
workingversion = {
|
27
|
+
:default => '4.5.6',
|
28
|
+
:patch => '4.5.7',
|
29
|
+
:minor => '4.6.0',
|
30
|
+
:major => '5.0.0'
|
31
|
+
}
|
32
|
+
|
33
|
+
#_____________
|
34
|
+
before :all do
|
35
|
+
configatron.temp_start
|
36
|
+
FalkorLib.config[:no_interaction] = true
|
37
|
+
FalkorLib.config.versioning do |c|
|
38
|
+
c[:type] = 'puppet_module'
|
44
39
|
end
|
40
|
+
end
|
41
|
+
|
42
|
+
#_____________
|
43
|
+
after :all do
|
44
|
+
configatron.temp_end
|
45
|
+
FileUtils.remove_entry_secure dir
|
46
|
+
FalkorLib.config.versioning[:type] = 'file'
|
47
|
+
FalkorLib.config[:no_interaction] = false
|
48
|
+
end
|
49
|
+
|
50
|
+
# configatron.temp do
|
51
|
+
# FalkorLib.config.versioning do |c|
|
52
|
+
# c[:type] = 'puppet_module'
|
53
|
+
# end
|
54
|
+
|
55
|
+
###################################################################
|
56
|
+
context 'Test Puppet Module versioning operations within temporary directory' do
|
57
|
+
|
58
|
+
ap default_version
|
59
|
+
it "#get_version -- get default version #{default_version} after initialization" do
|
60
|
+
#Array.new(17).each { |e| expect(STDIN).to receive(:gets).and_return('') }
|
61
|
+
FalkorLib::Puppet::Modules.init(moduledir)
|
62
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
63
|
+
expect(v).to eq(default_version)
|
64
|
+
if command?('git-flow')
|
65
|
+
a = FalkorLib::GitFlow.finish('feature', 'bootstrapping', moduledir)
|
66
|
+
expect(a).to eq(0)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
it "#set_version -- should set the '#{workingversion[:default]}' version" do
|
71
|
+
#expect(STDIN).to receive(:gets).and_return('Yes')
|
72
|
+
v = FalkorLib::Versioning.set_version(workingversion[:default], moduledir)
|
73
|
+
expect(v).to eq(0)
|
74
|
+
end
|
75
|
+
|
76
|
+
it "#get_version -- should get the '#{workingversion[:default]}'" do
|
77
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
78
|
+
expect(v).to eq(workingversion[:default])
|
79
|
+
end
|
80
|
+
|
81
|
+
it "#major -- should collect the major version" do
|
82
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
83
|
+
m = FalkorLib::Versioning.major(v)
|
84
|
+
expect(m).to eq('4')
|
85
|
+
end
|
86
|
+
it "#minor -- should collect the minor version" do
|
87
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
88
|
+
m = FalkorLib::Versioning.minor(v)
|
89
|
+
expect(m).to eq('5')
|
90
|
+
end
|
91
|
+
it "#patch -- should collect the patch version" do
|
92
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
93
|
+
m = FalkorLib::Versioning.patch(v)
|
94
|
+
expect(m).to eq('6')
|
95
|
+
end
|
96
|
+
|
97
|
+
#FalkorLib.config[:versioning][:levels].reverse.each do |level|
|
98
|
+
['patch', 'minor'].each do |level|
|
99
|
+
it "#set_version #bump -- #{level} bump version number from #{workingversion[:default]} to #{workingversion[level.to_sym]}" do
|
100
|
+
v = FalkorLib::Versioning.get_version(moduledir)
|
101
|
+
expect(v).to eq(workingversion[:default])
|
102
|
+
v2 = FalkorLib::Versioning.bump(v, level.to_sym)
|
103
|
+
expect(v2).to eq(workingversion[level.to_sym])
|
104
|
+
#STDIN.should_receive(:gets).and_return('Yes')
|
105
|
+
#d = FalkorLib::Versioning.set_version(v2, moduledir)
|
106
|
+
#d.should == 0
|
107
|
+
#v3 = FalkorLib::Versioning.get_version(moduledir)
|
108
|
+
#v3.should == v2
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
45
112
|
|
46
|
-
|
47
|
-
# FalkorLib.config.versioning do |c|
|
48
|
-
# c[:type] = 'puppet_module'
|
49
|
-
# end
|
50
|
-
|
51
|
-
###################################################################
|
52
|
-
context 'Test Puppet Module versioning operations within temporary directory' do
|
53
|
-
|
54
|
-
ap default_version
|
55
|
-
it "#get_version -- get default version #{default_version} after initialization" do
|
56
|
-
Array.new(17).each { |e| expect(STDIN).to receive(:gets).and_return('') }
|
57
|
-
FalkorLib::Puppet::Modules.init(moduledir)
|
58
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
59
|
-
expect(v).to eq(default_version)
|
60
|
-
if command?('git-flow')
|
61
|
-
a = FalkorLib::GitFlow.finish('feature', 'bootstrapping', moduledir)
|
62
|
-
expect(a).to eq(0)
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
it "#set_version -- should set the '#{workingversion[:default]}' version" do
|
67
|
-
expect(STDIN).to receive(:gets).and_return('Yes')
|
68
|
-
v = FalkorLib::Versioning.set_version(workingversion[:default], moduledir)
|
69
|
-
expect(v).to eq(0)
|
70
|
-
end
|
71
|
-
|
72
|
-
it "#get_version -- should get the '#{workingversion[:default]}'" do
|
73
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
74
|
-
expect(v).to eq(workingversion[:default])
|
75
|
-
end
|
76
|
-
|
77
|
-
it "#major -- should collect the major version" do
|
78
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
79
|
-
m = FalkorLib::Versioning.major(v)
|
80
|
-
expect(m).to eq('4')
|
81
|
-
end
|
82
|
-
it "#minor -- should collect the minor version" do
|
83
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
84
|
-
m = FalkorLib::Versioning.minor(v)
|
85
|
-
expect(m).to eq('5')
|
86
|
-
end
|
87
|
-
it "#patch -- should collect the patch version" do
|
88
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
89
|
-
m = FalkorLib::Versioning.patch(v)
|
90
|
-
expect(m).to eq('6')
|
91
|
-
end
|
92
|
-
|
93
|
-
#FalkorLib.config[:versioning][:levels].reverse.each do |level|
|
94
|
-
['patch', 'minor'].each do |level|
|
95
|
-
it "#set_version #bump -- #{level} bump version number from #{workingversion[:default]} to #{workingversion[level.to_sym]}" do
|
96
|
-
v = FalkorLib::Versioning.get_version(moduledir)
|
97
|
-
expect(v).to eq(workingversion[:default])
|
98
|
-
v2 = FalkorLib::Versioning.bump(v, level.to_sym)
|
99
|
-
expect(v2).to eq(workingversion[level.to_sym])
|
100
|
-
#STDIN.should_receive(:gets).and_return('Yes')
|
101
|
-
#d = FalkorLib::Versioning.set_version(v2, moduledir)
|
102
|
-
#d.should == 0
|
103
|
-
#v3 = FalkorLib::Versioning.get_version(moduledir)
|
104
|
-
#v3.should == v2
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
|
109
|
-
#end #configatron.temp
|
113
|
+
#end #configatron.temp
|
110
114
|
|
111
115
|
end # describe FalkorLib::Versioning
|
data/spec/falkorlib_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
require "codeclimate-test-reporter"
|
2
2
|
CodeClimate::TestReporter.start
|
3
3
|
|
4
|
+
# See https://github.com/colszowka/simplecov
|
5
|
+
require 'simplecov'
|
6
|
+
SimpleCov.start
|
7
|
+
|
8
|
+
|
4
9
|
require 'rubygems'
|
5
10
|
require 'bundler/setup'
|
6
11
|
Bundler.setup
|
@@ -14,37 +19,73 @@ require 'falkorlib'
|
|
14
19
|
require 'falkorlib/common'
|
15
20
|
require 'falkorlib/git'
|
16
21
|
|
17
|
-
def capture(stream)
|
18
|
-
begin
|
19
|
-
stream = stream.to_s
|
20
|
-
eval "$#{stream} = StringIO.new"
|
21
|
-
yield
|
22
|
-
result = eval("$#{stream}").string
|
23
|
-
ensure
|
24
|
-
eval("$#{stream} = #{stream.upcase}")
|
25
|
-
end
|
26
|
-
result
|
27
|
-
end
|
28
22
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
23
|
+
|
24
|
+
# Based on Thor
|
25
|
+
RSpec.configure do |config|
|
26
|
+
|
27
|
+
def capture(stream)
|
33
28
|
begin
|
34
|
-
|
35
|
-
|
36
|
-
$stdin.rewind
|
29
|
+
stream = stream.to_s
|
30
|
+
eval "$#{stream} = StringIO.new"
|
37
31
|
yield
|
32
|
+
result = eval("$#{stream}").string
|
38
33
|
ensure
|
39
|
-
|
34
|
+
eval("$#{stream} = #{stream.upcase}")
|
40
35
|
end
|
36
|
+
|
37
|
+
result
|
41
38
|
end
|
42
|
-
end
|
43
39
|
|
44
|
-
|
45
|
-
|
40
|
+
# # This code was adapted from Ruby on Rails, available under MIT-LICENSE
|
41
|
+
# # Copyright (c) 2004-2013 David Heinemeier Hansson
|
42
|
+
# def silence_warnings
|
43
|
+
# old_verbose, $VERBOSE = $VERBOSE, nil
|
44
|
+
# yield
|
45
|
+
# ensure
|
46
|
+
# $VERBOSE = old_verbose
|
47
|
+
# end
|
48
|
+
|
49
|
+
# alias silence capture
|
46
50
|
end
|
47
51
|
|
52
|
+
|
53
|
+
# def capture(stream)
|
54
|
+
# begin
|
55
|
+
# stream = stream.to_s
|
56
|
+
# eval "$#{stream} = StringIO.new"
|
57
|
+
# yield
|
58
|
+
# result = eval("$#{stream}").string
|
59
|
+
# ensure
|
60
|
+
# eval("$#{stream} = #{stream.upcase}")
|
61
|
+
# end
|
62
|
+
# result
|
63
|
+
# end
|
64
|
+
|
65
|
+
# # Credits: [nu7hatch](https://gist.github.com/nu7hatch/631329)
|
66
|
+
# module Helpers
|
67
|
+
# # Replace standard input with faked one StringIO.
|
68
|
+
# def fake_stdin(*args)
|
69
|
+
# begin
|
70
|
+
# $stdin = StringIO.new
|
71
|
+
# $stdin.puts(args.shift) until args.empty?
|
72
|
+
# $stdin.rewind
|
73
|
+
# yield
|
74
|
+
# ensure
|
75
|
+
# $stdin = STDIN
|
76
|
+
# end
|
77
|
+
# end
|
78
|
+
# end
|
79
|
+
|
80
|
+
|
81
|
+
# RSpec.configure do |conf|
|
82
|
+
# conf.include(Helpers)
|
83
|
+
|
84
|
+
|
85
|
+
# end
|
86
|
+
|
87
|
+
|
88
|
+
|
48
89
|
# require 'minitest/autorun'
|
49
90
|
# require 'minitest/spec'
|
50
91
|
|
@@ -56,32 +97,32 @@ end
|
|
56
97
|
# end
|
57
98
|
|
58
99
|
# credits to [gabebw](http://gabebw.wordpress.com/2011/03/21/temp-files-in-rspec/)
|
59
|
-
module UsesTempFiles
|
60
|
-
|
61
|
-
|
62
|
-
|
100
|
+
# module UsesTempFiles
|
101
|
+
# def self.included(example_group)
|
102
|
+
# example_group.extend(self)
|
103
|
+
# end
|
63
104
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
105
|
+
# def in_directory_with_file(file)
|
106
|
+
# before do
|
107
|
+
# @pwd = Dir.pwd
|
108
|
+
# @tmp_dir = File.join(File.dirname(__FILE__), 'tmp')
|
109
|
+
# FileUtils.mkdir_p(@tmp_dir)
|
110
|
+
# Dir.chdir(@tmp_dir)
|
70
111
|
|
71
|
-
|
72
|
-
|
73
|
-
|
112
|
+
# FileUtils.mkdir_p(File.dirname(file))
|
113
|
+
# FileUtils.touch(file)
|
114
|
+
# end
|
74
115
|
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
116
|
+
# define_method(:content_for_file) do |content|
|
117
|
+
# f = File.new(File.join(@tmp_dir, file), 'a+')
|
118
|
+
# f.write(content)
|
119
|
+
# f.flush # VERY IMPORTANT
|
120
|
+
# f.close
|
121
|
+
# end
|
81
122
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
end
|
123
|
+
# after do
|
124
|
+
# Dir.chdir(@pwd)
|
125
|
+
# FileUtils.rm_rf(@tmp_dir)
|
126
|
+
# end
|
127
|
+
# end
|
128
|
+
# end
|