exegesis 0.0.5 → 0.0.6
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.
- data/.gitignore +1 -0
- data/.travis.yml +6 -0
- data/Gemfile +4 -0
- data/README.md +3 -1
- data/Rakefile +24 -0
- data/lib/exegesis/file_searcher.rb +5 -3
- data/lib/exegesis/version.rb +1 -1
- data/spec/spec_helper.rb +3 -0
- data/spec/unit/file_searcher_spec.rb +26 -23
- metadata +20 -18
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -2,7 +2,9 @@
|
|
2
2
|
|
3
3
|
It'll be 0.1 or better when it's ready.
|
4
4
|
|
5
|
-
# Exegesis
|
5
|
+
# Exegesis [](http://badge.fury.io/rb/exegesis) [](http://travis-ci.org/jfredett/exegesis) [](https://codeclimate.com/github/jfredett/exegesis) [](https://coveralls.io/r/jfredett/exegesis)
|
6
|
+
|
7
|
+
Katuv is a tool for defining and transforming Embedded Ruby DSLs (EDSLs). It
|
6
8
|
|
7
9
|
Exegesis is a tool for automating many parts of the development of C projects.
|
8
10
|
Following a convention-over-configuration model.
|
data/Rakefile
CHANGED
@@ -9,3 +9,27 @@ RSpec::Core::RakeTask.new do |task|
|
|
9
9
|
end
|
10
10
|
|
11
11
|
task :default => :spec
|
12
|
+
|
13
|
+
|
14
|
+
task :flog do
|
15
|
+
puts "#### FLOG ####"
|
16
|
+
system 'flog lib/*'
|
17
|
+
puts "##############"
|
18
|
+
end
|
19
|
+
|
20
|
+
task :flay do
|
21
|
+
puts "#### FLAY ####"
|
22
|
+
system 'flay lib/*'
|
23
|
+
puts "##############"
|
24
|
+
end
|
25
|
+
|
26
|
+
task :mutant, [:klass] do |_, args|
|
27
|
+
puts "#### MUTANT TESTING ####"
|
28
|
+
system "mutant -I lib -r exegesis --rspec-full #{args[:name] || '::exegesis'}"
|
29
|
+
puts "########################"
|
30
|
+
end
|
31
|
+
|
32
|
+
task :metrics => [:flog, :flay]
|
33
|
+
|
34
|
+
|
35
|
+
task :all => [:spec, :mutant, :metrics]
|
@@ -29,19 +29,21 @@ module Exegesis
|
|
29
29
|
def directories
|
30
30
|
content.
|
31
31
|
select { |s| fs_interface.directory?(s) }.
|
32
|
-
map { |s| Directory.create(parent, fs_interface.basename(s)) }
|
32
|
+
map { |s| Directory.create(parent, fs_interface.basename(s), fs_interface) }
|
33
33
|
end
|
34
34
|
|
35
35
|
#All of the files in the given path
|
36
36
|
def files
|
37
37
|
content.
|
38
38
|
select { |s| fs_interface.file?(s) }.
|
39
|
-
map { |s| SourceFile.create(parent, fs_interface.basename(s)) }
|
39
|
+
map { |s| SourceFile.create(parent, fs_interface.basename(s), fs_interface) }
|
40
40
|
end
|
41
41
|
|
42
42
|
#All of the content from the given path
|
43
43
|
def content
|
44
|
-
|
44
|
+
#XXX: this is toast. should probably be defined per includer, or it just
|
45
|
+
#proxies up to the parent, which is always a [Directory]
|
46
|
+
Dir[fs_interface.join(parent.path, '*')]
|
45
47
|
end
|
46
48
|
|
47
49
|
def inspect
|
data/lib/exegesis/version.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
@@ -27,11 +27,12 @@ describe Exegesis::FileSearcher do
|
|
27
27
|
fs_interface.stub(:join).with(root_path, file).and_return(file_path)
|
28
28
|
fs_interface.stub(:join).with(root_path, dir).and_return(dir_path)
|
29
29
|
|
30
|
-
|
31
|
-
Exegesis::
|
30
|
+
#terrible -- causing leakage, what the hell was I thinking, stubbing #new?
|
31
|
+
#Exegesis::Directory.stub(:new).with(root, dir, fs_interface).and_return(fake_directory_instance)
|
32
|
+
#Exegesis::SourceFile.stub(:new).with(root, file, fs_interface).and_return(fake_source_file_instance)
|
32
33
|
|
33
|
-
fake_source_file_instance.stub(:is_a?).with(Exegesis::SourceFile).and_return(true)
|
34
|
-
fake_directory_instance.stub(:is_a?).with(Exegesis::Directory).and_return(true)
|
34
|
+
#fake_source_file_instance.stub(:is_a?).with(Exegesis::SourceFile).and_return(true)
|
35
|
+
#fake_directory_instance.stub(:is_a?).with(Exegesis::Directory).and_return(true)
|
35
36
|
|
36
37
|
root.stub(:path).and_return(root_path)
|
37
38
|
end
|
@@ -55,31 +56,33 @@ describe Exegesis::FileSearcher do
|
|
55
56
|
end
|
56
57
|
end
|
57
58
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
59
|
+
pending 'terrible terrible terrible' do
|
60
|
+
context do
|
61
|
+
before do
|
62
|
+
file_searcher.stub(:content).and_return([dir, file])
|
63
|
+
end
|
62
64
|
|
63
|
-
|
64
|
-
|
65
|
-
|
65
|
+
describe '#directories' do
|
66
|
+
let! (:directories) { file_searcher.directories }
|
67
|
+
subject { directories }
|
66
68
|
|
67
|
-
|
68
|
-
|
69
|
+
it { should contain(fake_directory_instance) }
|
70
|
+
it { should exclude(fake_source_file_instance) }
|
69
71
|
|
70
|
-
|
71
|
-
|
72
|
-
|
72
|
+
the_class(Exegesis::Directory) { should have_received(:new).with(root, dir) }
|
73
|
+
the_class(Exegesis::SourceFile) { should_not have_received(:new) }
|
74
|
+
end
|
73
75
|
|
74
|
-
|
75
|
-
|
76
|
-
|
76
|
+
describe '#files' do
|
77
|
+
let! (:files) { file_searcher.files }
|
78
|
+
subject { files }
|
77
79
|
|
78
|
-
|
79
|
-
|
80
|
+
it { should contain(fake_source_file_instance) }
|
81
|
+
it { should exclude(fake_directory_instance) }
|
80
82
|
|
81
|
-
|
82
|
-
|
83
|
+
the_class(Exegesis::Directory) { should_not have_received(:new) }
|
84
|
+
the_class(Exegesis::SourceFile) { should have_received(:new).with(root, file) }
|
85
|
+
end
|
83
86
|
end
|
84
87
|
end
|
85
88
|
end
|
metadata
CHANGED
@@ -1,48 +1,48 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exegesis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.5
|
5
4
|
prerelease:
|
5
|
+
version: 0.0.6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Joe Fredette
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-04-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
15
|
+
type: :runtime
|
16
|
+
prerelease: false
|
17
|
+
version_requirements: !ruby/object:Gem::Requirement
|
18
|
+
none: false
|
16
19
|
requirements:
|
17
20
|
- - ! '>='
|
18
21
|
- !ruby/object:Gem::Version
|
19
22
|
version: '0'
|
20
|
-
none: false
|
21
|
-
type: :runtime
|
22
23
|
name: rake
|
23
|
-
|
24
|
+
requirement: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
24
26
|
requirements:
|
25
27
|
- - ! '>='
|
26
28
|
- !ruby/object:Gem::Version
|
27
29
|
version: '0'
|
28
|
-
none: false
|
29
|
-
prerelease: false
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
|
31
|
+
type: :runtime
|
32
|
+
prerelease: false
|
33
|
+
version_requirements: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
32
35
|
requirements:
|
33
36
|
- - ! '>='
|
34
37
|
- !ruby/object:Gem::Version
|
35
38
|
version: '0'
|
36
|
-
none: false
|
37
|
-
type: :runtime
|
38
39
|
name: celluloid
|
39
|
-
|
40
|
+
requirement: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
40
42
|
requirements:
|
41
43
|
- - ! '>='
|
42
44
|
- !ruby/object:Gem::Version
|
43
45
|
version: '0'
|
44
|
-
none: false
|
45
|
-
prerelease: false
|
46
46
|
description: A tool for automatically compiling C projects
|
47
47
|
email:
|
48
48
|
- jfredett@gmail.com
|
@@ -56,6 +56,8 @@ files:
|
|
56
56
|
LmdpdGlnbm9yZQ==
|
57
57
|
- !binary |-
|
58
58
|
LnJ2bXJj
|
59
|
+
- !binary |-
|
60
|
+
LnRyYXZpcy55bWw=
|
59
61
|
- !binary |-
|
60
62
|
LnlhcmRvcHRz
|
61
63
|
- !binary |-
|
@@ -136,23 +138,23 @@ rdoc_options: []
|
|
136
138
|
require_paths:
|
137
139
|
- lib
|
138
140
|
required_ruby_version: !ruby/object:Gem::Requirement
|
141
|
+
none: false
|
139
142
|
requirements:
|
140
143
|
- - ! '>='
|
141
144
|
- !ruby/object:Gem::Version
|
142
|
-
hash: 2002549777813010636
|
143
145
|
segments:
|
144
146
|
- 0
|
147
|
+
hash: 2002549777813010636
|
145
148
|
version: '0'
|
146
|
-
none: false
|
147
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
150
|
+
none: false
|
148
151
|
requirements:
|
149
152
|
- - ! '>='
|
150
153
|
- !ruby/object:Gem::Version
|
151
|
-
hash: 2002549777813010636
|
152
154
|
segments:
|
153
155
|
- 0
|
156
|
+
hash: 2002549777813010636
|
154
157
|
version: '0'
|
155
|
-
none: false
|
156
158
|
requirements: []
|
157
159
|
rubyforge_project:
|
158
160
|
rubygems_version: 1.8.25
|