roject 0.6.0 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/exp/project/foobar.rb +5 -0
- data/exp/project/project.rb +1 -5
- data/lib/project.rb +5 -1
- data/lib/roject.rb +1 -1
- data/spec/project_spec.rb +35 -22
- metadata +12 -16
- data/exp/loadsaveable/foo.bar +0 -1
- data/exp/loadsaveable/foo.json +0 -4
- data/exp/loadsaveable/foo.yaml +0 -3
- data/exp/loadsaveable/foo.yml +0 -3
- data/spec/spec_require.rb +0 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5265b6ec336684e4ba63f8fb0348512446e55f16
|
4
|
+
data.tar.gz: 26971fbf99b1b2ccac6d935ab74acaebc78dcd3a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7fc1107661b11a7818ffb400fc1da28b76589eed4c78478ab85268cb4735f6669251ae9affb00b7e419631a857e908df01fddd232eb8c074f76187d75c1336c
|
7
|
+
data.tar.gz: 63de4a62904dbf091ce60006df1c5ad46be5be35b86ccc01ea50045640e3f61d067dad914b1a9d32a664dc8f44b28b8f9df316b8b65c10d4f056fd22b33674b9
|
data/exp/project/project.rb
CHANGED
@@ -8,8 +8,6 @@ long_description: "Nowadays everybody wanna talk like" \
|
|
8
8
|
" when they move their lips just a bunch of gibberish" \
|
9
9
|
" and they all acting like they forgot about Dre."
|
10
10
|
|
11
|
-
=begin
|
12
|
-
|
13
11
|
#---------------------------MAKERS---------------------------
|
14
12
|
|
15
13
|
# Header file
|
@@ -32,6 +30,4 @@ task :module do |args|
|
|
32
30
|
# Create source and header
|
33
31
|
make :header, args
|
34
32
|
make :source, args
|
35
|
-
end
|
36
|
-
|
37
|
-
=end
|
33
|
+
end
|
data/lib/project.rb
CHANGED
@@ -28,6 +28,9 @@ module Roject
|
|
28
28
|
# Includes
|
29
29
|
include Helpers
|
30
30
|
|
31
|
+
# Default filename
|
32
|
+
FILENAME_DEFAULT = "project.rb"
|
33
|
+
|
31
34
|
# Default configuration
|
32
35
|
CONFIG_DEFAULT = {
|
33
36
|
project_name: "[project-name]",
|
@@ -43,9 +46,10 @@ module Roject
|
|
43
46
|
# Loads a Project from the project file with the given filename
|
44
47
|
#
|
45
48
|
# Parameter: filename - the name of the file to parse
|
49
|
+
# (defaults to the default filename)
|
46
50
|
#
|
47
51
|
# Return: Project loaded from the file
|
48
|
-
def self.load filename
|
52
|
+
def self.load filename=FILENAME_DEFAULT
|
49
53
|
project = Roject::Project.new
|
50
54
|
project.instance_eval(IO.read(filename))
|
51
55
|
return project
|
data/lib/roject.rb
CHANGED
data/spec/project_spec.rb
CHANGED
@@ -10,9 +10,7 @@ Author: Anshul Kharbanda
|
|
10
10
|
Created: 7 - 8 - 2016
|
11
11
|
|
12
12
|
=end
|
13
|
-
|
14
|
-
# Spec require
|
15
|
-
require_relative "spec_require"
|
13
|
+
require_relative "../lib/roject"
|
16
14
|
|
17
15
|
# Describing Roject::Project
|
18
16
|
#
|
@@ -28,7 +26,7 @@ describe Roject::Project do
|
|
28
26
|
@config = Roject::Project::CONFIG_DEFAULT.merge({
|
29
27
|
project_name: "Foo",
|
30
28
|
author: "Anshul Kharbanda",
|
31
|
-
created: "7 -
|
29
|
+
created: "7 - 24 - 2016",
|
32
30
|
short_description: "Foo bar",
|
33
31
|
long_description: "Foo bar baz ju lar laz nu kar kaz"
|
34
32
|
})
|
@@ -38,9 +36,9 @@ describe Roject::Project do
|
|
38
36
|
#
|
39
37
|
# If a hash is given, sets the Project configuration to the hash.
|
40
38
|
# Else, returns the configuration of the Project.
|
41
|
-
#
|
39
|
+
#
|
42
40
|
# Parameter: hash - the hash to configure the project with
|
43
|
-
#
|
41
|
+
#
|
44
42
|
# Return: the configuration of the Project
|
45
43
|
describe '#config' do
|
46
44
|
context 'with no arguments given' do
|
@@ -65,9 +63,22 @@ describe Roject::Project do
|
|
65
63
|
#
|
66
64
|
# Return: Project loaded from the file
|
67
65
|
describe '::load' do
|
68
|
-
|
69
|
-
|
70
|
-
|
66
|
+
context 'with a filename given' do
|
67
|
+
it 'loads a project from the given filename' do
|
68
|
+
expect{@project = Roject::Project.load("project.rb")}.not_to raise_error
|
69
|
+
expect(@project).to be_an_instance_of Roject::Project
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
context 'with no filename given' do
|
74
|
+
it 'loads a project from the default filename' do
|
75
|
+
expect{@project = Roject::Project.load}.not_to raise_error
|
76
|
+
expect(@project).to be_an_instance_of Roject::Project
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
after :all do
|
81
|
+
@project.instance_variable_set :@makers, {}
|
71
82
|
end
|
72
83
|
end
|
73
84
|
|
@@ -81,34 +92,34 @@ describe Roject::Project do
|
|
81
92
|
# Before all
|
82
93
|
before :all do
|
83
94
|
@path = "path/to/file"
|
95
|
+
@config = @project.config
|
84
96
|
|
85
97
|
# ----------------------FILE INFO----------------------
|
86
98
|
|
87
99
|
@header = {
|
88
|
-
name:
|
89
|
-
path:
|
90
|
-
template:
|
100
|
+
name: :header,
|
101
|
+
path: "include/@(project_name)/@(path)",
|
102
|
+
template: "header.general",
|
91
103
|
extension: "h",
|
92
|
-
out:
|
93
|
-
text:
|
104
|
+
out: "include/#{@config[:project_name]}/#{@path}.h",
|
105
|
+
text: IO.read("output/testheader.h")
|
94
106
|
}
|
95
107
|
|
96
108
|
@source = {
|
97
|
-
name:
|
98
|
-
path:
|
99
|
-
template:
|
109
|
+
name: :source,
|
110
|
+
path: "src/@(path)",
|
111
|
+
template: "source.general",
|
100
112
|
extension: "cpp",
|
101
|
-
out:
|
102
|
-
text:
|
113
|
+
out: "src/#{@path}.cpp",
|
114
|
+
text: IO.read("output/testsource.cpp")
|
103
115
|
}
|
104
116
|
|
105
117
|
# ----------------------TASK INFO----------------------
|
106
118
|
|
107
119
|
@module = {
|
108
|
-
name:
|
120
|
+
name: :module,
|
109
121
|
block: Proc.new do |args|
|
110
122
|
args[:header_id] = c_header_id(args[:path])
|
111
|
-
|
112
123
|
make :header, args
|
113
124
|
make :source, args
|
114
125
|
end
|
@@ -138,7 +149,7 @@ describe Roject::Project do
|
|
138
149
|
|
139
150
|
# Template
|
140
151
|
expect(fmkr.instance_variable_get(:@template)).to be_an_instance_of General::GIO
|
141
|
-
expect(fmkr.instance_variable_get(:@template).source).to eql "#{@
|
152
|
+
expect(fmkr.instance_variable_get(:@template).source).to eql "#{@config[:directory][:templates]}/#{ft[:template]}"
|
142
153
|
|
143
154
|
# Extension
|
144
155
|
expect(fmkr.instance_variable_get(:@extension)).to eql ft[:extension]
|
@@ -206,4 +217,6 @@ describe Roject::Project do
|
|
206
217
|
after :each do FileUtils.rmtree ["include", "src"] end
|
207
218
|
end
|
208
219
|
end
|
220
|
+
|
221
|
+
after :all do Dir.chdir "../.." end
|
209
222
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roject
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anshul Kharbanda
|
@@ -14,56 +14,56 @@ dependencies:
|
|
14
14
|
name: general
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.3.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.3.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: json
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.8.
|
33
|
+
version: 1.8.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.8.
|
40
|
+
version: 1.8.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 3.4.4
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 3.4.4
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rake
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 11.1.2
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 11.1.2
|
69
69
|
description: Roject is a programming project manager written in Ruby. With Roject,
|
@@ -77,12 +77,9 @@ files:
|
|
77
77
|
- LICENSE
|
78
78
|
- README.md
|
79
79
|
- Rakefile
|
80
|
-
- exp/loadsaveable/foo.bar
|
81
|
-
- exp/loadsaveable/foo.json
|
82
|
-
- exp/loadsaveable/foo.yaml
|
83
|
-
- exp/loadsaveable/foo.yml
|
84
80
|
- exp/project/_templates/header.general
|
85
81
|
- exp/project/_templates/source.general
|
82
|
+
- exp/project/foobar.rb
|
86
83
|
- exp/project/output/testheader.h
|
87
84
|
- exp/project/output/testsource.cpp
|
88
85
|
- exp/project/project.rb
|
@@ -91,7 +88,6 @@ files:
|
|
91
88
|
- lib/project.rb
|
92
89
|
- lib/roject.rb
|
93
90
|
- spec/project_spec.rb
|
94
|
-
- spec/spec_require.rb
|
95
91
|
homepage:
|
96
92
|
licenses:
|
97
93
|
- GPL-3.0
|
data/exp/loadsaveable/foo.bar
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
project_name > project
|
data/exp/loadsaveable/foo.json
DELETED
data/exp/loadsaveable/foo.yaml
DELETED
data/exp/loadsaveable/foo.yml
DELETED
data/spec/spec_require.rb
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
=begin
|
2
|
-
|
3
|
-
Program: Roject
|
4
|
-
|
5
|
-
Roject is a programming project manager written in Ruby.
|
6
|
-
With Roject, you can create and edit projects based on templates
|
7
|
-
using simple commands without a heavy IDE.
|
8
|
-
|
9
|
-
Author: Anshul Kharbanda
|
10
|
-
Created: 7 - 8 - 2016
|
11
|
-
|
12
|
-
=end
|
13
|
-
|
14
|
-
# Required files for spec
|
15
|
-
require_relative "../lib/project"
|