roject 0.1.0 → 0.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dfa17c5aa8d756e2e06da9e8c4b19da6f15bedee
4
- data.tar.gz: e1ffac3c9c55b27bbb2637a771a75bf22bb2a206
3
+ metadata.gz: 84a88a1601c05705728fe7e26a4e677653b70e50
4
+ data.tar.gz: e968d8fa6e8161b388db2e32a54ea0d3eb6f6ab5
5
5
  SHA512:
6
- metadata.gz: 3828fb3024bc0cb9e2c85f1636535388465d6d33e7a6ae2fceef21e2179f8bd8ecb0e91be4ea1ed511154c18890818a2f183e3fb81644d37d4b41bedd9e94406
7
- data.tar.gz: 36f3c502a10cae28da18c4a1f5cbd8cd4445a67702294e5e51ff329d7fde32a80b8dbb0351a2076b44ceb90fcc7fedabb017390677898d0ef1b6a0a9af48ffd2
6
+ metadata.gz: d81ba53e80e147143fd55b1a64fb7a119f1b707633430f80ade4ea998ae2c361a4a9e867c299ae4a571e157eb7334f6c27e8f54e3fb36894bd85a886272d3a1c
7
+ data.tar.gz: ffe33a6c6842189bc2c694530542165e3aa42417517f19a0528ceee925df218a1e789961d38ebc3d7911196706ffc7d3059479f81a024e8efbd0466022781b2a
data/Rakefile ADDED
@@ -0,0 +1,105 @@
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 libraries
15
+ require "rspec/core/rake_task"
16
+
17
+ # Requird files
18
+ require_relative "lib/roject"
19
+
20
+ # Directories
21
+ GEMDIR = "gem"
22
+ SPECDIR = "spec"
23
+
24
+ #----------------------------------RSPEC----------------------------------
25
+
26
+ RSpec::Core::RakeTask.new :spec do |task|
27
+ task.pattern = "#{SPECDIR}/*_spec.rb"
28
+ task.rspec_opts = "--format documentation",
29
+ "--color"
30
+ end
31
+
32
+ #-----------------------------------GEM-----------------------------------
33
+
34
+ namespace :gem do
35
+
36
+ #----------------------------------GEM CLEAR TASKS----------------------------------
37
+
38
+ namespace :clear do
39
+ desc "Clear all gems"
40
+ task :all do
41
+ sh "rm #{GEMDIR}/*.gem"
42
+ end
43
+
44
+ desc "Clear old gems"
45
+ task :old do
46
+ sh "rm #{FileList.new("#{GEMDIR}/*.gem")
47
+ .exclude("#{GEMDIR}/roject-#{Roject::VERSION}.gem")}"
48
+ end
49
+ end
50
+
51
+ #----------------------------------GEM BUILD TASKS----------------------------------
52
+
53
+ desc "Build gem and push to Rubygems"
54
+ task :push => "#{GEMDIR}/roject-#{Roject::VERSION}.gem" do |task|
55
+ sh "gem push #{task.source}"
56
+ end
57
+
58
+ desc "Build gem and install locally"
59
+ task :install => "#{GEMDIR}/roject-#{Roject::VERSION}.gem" do |task|
60
+ sh "gem install #{task.source}"
61
+ end
62
+
63
+ desc "Just buid gem"
64
+ task :build => "#{GEMDIR}/roject-#{Roject::VERSION}.gem"
65
+
66
+ #-------------------------------BUILD GEM FROM GEMSPEC------------------------------
67
+
68
+ file "#{GEMDIR}/roject-#{Roject::VERSION}.gem" => "roject.gemspec" do |task|
69
+ sh "gem build #{task.source}"
70
+ sh "mv #{File.basename(task.name)} #{File.dirname(task.name)}"
71
+ end
72
+ end
73
+
74
+ #-----------------------------------GIT-----------------------------------
75
+
76
+ namespace :git do
77
+ desc "Push changes to remote"
78
+ task :push, [:message] => :commit do
79
+ sh "git push origin master"
80
+ end
81
+
82
+ desc "Commit changes"
83
+ task :commit, [:message] do |task, args|
84
+ sh "git add --all"
85
+ sh "git commit -m #{args[:message].inspect}"
86
+ end
87
+
88
+ desc "Pull from repo"
89
+ task :pull do
90
+ sh "git pull origin master"
91
+ end
92
+
93
+ desc "Soft git reset"
94
+ task :reset do
95
+ sh "git reset"
96
+ end
97
+
98
+ desc "Hard git reset"
99
+ task :reset_hard do
100
+ sh "git reset --hard HEAD"
101
+ end
102
+ end
103
+
104
+ # Default spec
105
+ task :default => "spec"
data/lib/loadsaveable.rb CHANGED
@@ -22,7 +22,7 @@ module Roject
22
22
  # Implementing objects can be loaded from and saved to files in
23
23
  # any of the supported data storage formats.
24
24
  #
25
- # Formats: json, yaml
25
+ # Formats: json
26
26
  #
27
27
  # Note: Implementing objects need to respond to the :hash method
28
28
  # which returns a hash of the data that needs to be saved
data/lib/project.rb CHANGED
@@ -34,9 +34,8 @@ module Roject
34
34
  @project = hash
35
35
  end
36
36
 
37
- def config hash
38
- @project = hash
39
- end
37
+ # This is a test method and is depricated by default. Do not use!
38
+ def config(hash); @project = hash; end
40
39
 
41
40
  # Returns a hash of the data contained in the project
42
41
  #
data/lib/roject.rb ADDED
@@ -0,0 +1,24 @@
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
+ # Available files
15
+ require_relative "project"
16
+
17
+ # Roject is a programming project manager written in Ruby.
18
+ #
19
+ # Author: Anshul Kharbanda
20
+ # Created: 7 - 8 - 2016
21
+ module Roject
22
+ # The Version of Roject
23
+ VERSION = "0.1.1"
24
+ end
data/spec/parsers_spec.rb CHANGED
@@ -35,12 +35,12 @@ describe Roject::Parsers do
35
35
  #
36
36
  # Author: Anshul Kharbanda
37
37
  # Created: 7 - 11 - 2016
38
- describe 'JSONParser' do
38
+ describe '::JSONParser' do
39
39
 
40
40
  #----------------------------------BEFORE-----------------------------------
41
41
 
42
42
  before :all do
43
- @json = JSON.pretty_generate(@hash, indent: "\t")
43
+ @text = JSON.pretty_generate(@hash, indent: "\t")
44
44
  @parser = Roject::Parsers::JSONParser
45
45
  end
46
46
 
@@ -55,7 +55,7 @@ describe Roject::Parsers do
55
55
  # Return: the hash parsed from the text
56
56
  describe '::parse' do
57
57
  it 'parses the given JSON text into a ruby hash' do
58
- expect(@parser.parse(@json)).to eql @hash
58
+ expect(@parser.parse(@text)).to eql @hash
59
59
  end
60
60
  end
61
61
 
@@ -68,7 +68,7 @@ describe Roject::Parsers do
68
68
  # Return: the given hash formatted to pretty json
69
69
  describe '::format' do
70
70
  it 'formats the given hash into pretty JSON' do
71
- expect(@parser.format(@hash)).to eql @json
71
+ expect(@parser.format(@hash)).to eql @text
72
72
  end
73
73
  end
74
74
  end
@@ -13,10 +13,16 @@ Created: 7 - 8 - 2016
13
13
 
14
14
  # Describing loadsaveable_class
15
15
  #
16
- # Represents a programming project managed by Roject
16
+ # Implementing objects can be loaded from and saved to files in
17
+ # any of the supported data storage formats.
18
+ #
19
+ # Formats: json
20
+ #
21
+ # Note: Implementing objects need to respond to the :hash method
22
+ # which returns a hash of the data that needs to be saved
17
23
  #
18
24
  # Author: Anshul Kharbanda
19
- # Created: 7 - 8 - 2016
25
+ # Created: 7 - 11 - 2016
20
26
  shared_examples "loadsaveable" do |loadsaveable_class|
21
27
  #---------------------------------------BEFORE----------------------------------------
22
28
 
metadata CHANGED
@@ -1,71 +1,71 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roject
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anshul Kharbanda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-12 00:00:00.000000000 Z
11
+ date: 2016-07-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
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
33
  version: 1.8.3
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
40
  version: 1.8.3
41
41
  - !ruby/object:Gem::Dependency
42
- name: multi_xml
42
+ name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">"
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.5.5
48
- type: :runtime
47
+ version: 3.4.4
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
- version: 0.5.5
54
+ version: 3.4.4
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec
56
+ name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">"
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 3.4.4
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
- version: 3.4.4
68
+ version: 11.1.2
69
69
  description: Roject is a programming project manager written in Ruby. With Roject,
70
70
  you can create and edit projects based on templates using simple commands without
71
71
  a heavy IDE.
@@ -76,11 +76,13 @@ extra_rdoc_files: []
76
76
  files:
77
77
  - LICENSE
78
78
  - README.md
79
+ - Rakefile
79
80
  - exp/project.foo
80
81
  - exp/project.json
81
82
  - lib/loadsaveable.rb
82
83
  - lib/parsers.rb
83
84
  - lib/project.rb
85
+ - lib/roject.rb
84
86
  - spec/parsers_spec.rb
85
87
  - spec/project_spec.rb
86
88
  - spec/shared/loadsaveable_spec.rb