bloc 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/bloc.gemspec CHANGED
@@ -4,8 +4,8 @@ require "./lib/bloc/version"
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "bloc"
6
6
  s.version = Bloc::VERSION
7
- s.authors = ["Roshan Choxi"]
8
- s.email = ["roshan.choxi@gmail.com"]
7
+ s.authors = ["Roshan Choxi", "Dave Paola"]
8
+ s.email = ["roshan.choxi@gmail.com", "dpaola2@gmail.com"]
9
9
  s.summary = %q{A CLI For Bloc}
10
10
  s.description = %q{A command-line tool for Bloc}
11
11
 
@@ -4,18 +4,58 @@ module Bloc
4
4
  MANIFEST_NOT_FOUND = "Unable to find Bloc Manifest in bloc/bloc_manifest.json".red
5
5
  MANIFEST_PATH = File.join("bloc", "bloc_manifest.json")
6
6
  INVALID_MANIFEST = "Invalid JSON in Bloc Manifest: #{MANIFEST_PATH}".red
7
- VALID_MANIFEST = "Valid Bloc Monifest".green
7
+ VALID_MANIFEST = "Valid Bloc Manifest".green
8
+ NO_DEFAULT_COURSE_FILE = "No default file for course specified (OK)".green
9
+ VALID_DEFAULT_COURSE_FILE = "Default file for course exists (OK)".green
10
+ INVALID_DEFAULT_COURSE_FILE = "Default file for course does not exist (expected %s)".red
11
+ NO_DEFAULT_CHAPTER_FILE = "No default file for chapter specified (OK): %s".green
12
+ VALID_DEFAULT_CHAPTER_FILE = "Default file for chapter exists (OK): %s".green
13
+ INVALID_DEFAULT_CHAPTER_FILE = "Default file for chapter does not exist: %s (expected %s)".red
8
14
 
9
15
  def self.run(*args)
16
+ manifest = parse_manifest
17
+ check_course_default_file manifest
18
+ check_chapter_default_files manifest
19
+ end
20
+
21
+ def self.parse_manifest
10
22
  raise MANIFEST_NOT_FOUND unless File.exists?(MANIFEST_PATH)
11
- manifest= File.read(MANIFEST_PATH)
23
+ manifest_raw = File.read(MANIFEST_PATH)
12
24
 
13
25
  begin
14
- JSON.parse(manifest)
26
+ manifest = JSON.parse(manifest_raw)
15
27
  puts VALID_MANIFEST
16
28
  rescue
17
29
  raise INVALID_MANIFEST
18
30
  end
31
+ manifest
32
+ end
33
+
34
+ def self.check_course_default_file(manifest)
35
+ course_default_file = manifest["default_file"]
36
+ if course_default_file.nil?
37
+ puts NO_DEFAULT_COURSE_FILE
38
+ else
39
+ if File.exists? course_default_file
40
+ puts VALID_DEFAULT_COURSE_FILE
41
+ else
42
+ raise INVALID_DEFAULT_COURSE_FILE % manifest
43
+ end
44
+ end
45
+ end
46
+
47
+ def self.check_chapter_default_files(manifest)
48
+ manifest["chapters"].each do |chapter|
49
+ if chapter["default_file"].nil?
50
+ puts NO_DEFAULT_CHAPTER_FILE % chapter["name"]
51
+ else
52
+ if File.exists? chapter["default_file"]
53
+ puts VALID_DEFAULT_CHAPTER_FILE % chapter["name"]
54
+ else
55
+ raise INVALID_DEFAULT_CHAPTER_FILE % [chapter["name"], chapter["default_file"]]
56
+ end
57
+ end
58
+ end
19
59
  end
20
60
  end
21
61
  end
data/lib/bloc/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Bloc
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
metadata CHANGED
@@ -1,102 +1,81 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: bloc
3
- version: !ruby/object:Gem::Version
4
- hash: 29
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
5
  prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 1
10
- version: 0.0.1
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Roshan Choxi
9
+ - Dave Paola
14
10
  autorequire:
15
11
  bindir: bin
16
12
  cert_chain: []
17
-
18
- date: 2012-03-01 00:00:00 Z
19
- dependencies:
20
- - !ruby/object:Gem::Dependency
13
+ date: 2012-03-02 00:00:00.000000000Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
21
16
  name: rspec
22
- prerelease: false
23
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &70111286128500 !ruby/object:Gem::Requirement
24
18
  none: false
25
- requirements:
26
- - - ">="
27
- - !ruby/object:Gem::Version
28
- hash: 3
29
- segments:
30
- - 0
31
- version: "0"
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
32
23
  type: :development
33
- version_requirements: *id001
34
- - !ruby/object:Gem::Dependency
35
- name: fakefs
36
24
  prerelease: false
37
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *70111286128500
26
+ - !ruby/object:Gem::Dependency
27
+ name: fakefs
28
+ requirement: &70111286128080 !ruby/object:Gem::Requirement
38
29
  none: false
39
- requirements:
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- hash: 3
43
- segments:
44
- - 0
45
- version: "0"
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
46
34
  type: :development
47
- version_requirements: *id002
48
- - !ruby/object:Gem::Dependency
49
- name: ruby-debug19
50
35
  prerelease: false
51
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *70111286128080
37
+ - !ruby/object:Gem::Dependency
38
+ name: ruby-debug19
39
+ requirement: &70111286127660 !ruby/object:Gem::Requirement
52
40
  none: false
53
- requirements:
54
- - - ">="
55
- - !ruby/object:Gem::Version
56
- hash: 3
57
- segments:
58
- - 0
59
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
60
45
  type: :development
61
- version_requirements: *id003
62
- - !ruby/object:Gem::Dependency
63
- name: json
64
46
  prerelease: false
65
- requirement: &id004 !ruby/object:Gem::Requirement
47
+ version_requirements: *70111286127660
48
+ - !ruby/object:Gem::Dependency
49
+ name: json
50
+ requirement: &70111286127240 !ruby/object:Gem::Requirement
66
51
  none: false
67
- requirements:
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- hash: 3
71
- segments:
72
- - 0
73
- version: "0"
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
74
56
  type: :runtime
75
- version_requirements: *id004
76
- - !ruby/object:Gem::Dependency
77
- name: colorize
78
57
  prerelease: false
79
- requirement: &id005 !ruby/object:Gem::Requirement
58
+ version_requirements: *70111286127240
59
+ - !ruby/object:Gem::Dependency
60
+ name: colorize
61
+ requirement: &70111286126820 !ruby/object:Gem::Requirement
80
62
  none: false
81
- requirements:
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- hash: 3
85
- segments:
86
- - 0
87
- version: "0"
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
88
67
  type: :runtime
89
- version_requirements: *id005
68
+ prerelease: false
69
+ version_requirements: *70111286126820
90
70
  description: A command-line tool for Bloc
91
- email:
71
+ email:
92
72
  - roshan.choxi@gmail.com
93
- executables:
73
+ - dpaola2@gmail.com
74
+ executables:
94
75
  - bloc
95
76
  extensions: []
96
-
97
77
  extra_rdoc_files: []
98
-
99
- files:
78
+ files:
100
79
  - .gitignore
101
80
  - .rvmrc
102
81
  - Gemfile
@@ -112,37 +91,28 @@ files:
112
91
  - spec/spec_helper.rb
113
92
  homepage:
114
93
  licenses: []
115
-
116
94
  post_install_message:
117
95
  rdoc_options: []
118
-
119
- require_paths:
96
+ require_paths:
120
97
  - lib
121
- required_ruby_version: !ruby/object:Gem::Requirement
98
+ required_ruby_version: !ruby/object:Gem::Requirement
122
99
  none: false
123
- requirements:
124
- - - ">="
125
- - !ruby/object:Gem::Version
126
- hash: 3
127
- segments:
128
- - 0
129
- version: "0"
130
- required_rubygems_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ required_rubygems_version: !ruby/object:Gem::Requirement
131
105
  none: false
132
- requirements:
133
- - - ">="
134
- - !ruby/object:Gem::Version
135
- hash: 3
136
- segments:
137
- - 0
138
- version: "0"
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
139
110
  requirements: []
140
-
141
111
  rubyforge_project: bloc
142
- rubygems_version: 1.8.17
112
+ rubygems_version: 1.8.15
143
113
  signing_key:
144
114
  specification_version: 3
145
115
  summary: A CLI For Bloc
146
- test_files:
116
+ test_files:
147
117
  - spec/command/validate_spec.rb
148
118
  - spec/spec_helper.rb