roject 0.6.0 → 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/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"
|