ore 0.1.2
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/.document +4 -0
- data/.rspec +1 -0
- data/.yardopts +1 -0
- data/ChangeLog.md +31 -0
- data/GemspecYML.md +252 -0
- data/LICENSE.txt +21 -0
- data/README.md +104 -0
- data/Rakefile +9 -0
- data/bin/mine +12 -0
- data/bin/ore +12 -0
- data/data/ore/templates/base/.document +3 -0
- data/data/ore/templates/base/.gitignore.erb +3 -0
- data/data/ore/templates/base/:name:.gemspec.erb +10 -0
- data/data/ore/templates/base/ChangeLog.md.erb +4 -0
- data/data/ore/templates/base/ChangeLog.rdoc.erb +4 -0
- data/data/ore/templates/base/ChangeLog.tt.erb +4 -0
- data/data/ore/templates/base/LICENSE.txt.erb +20 -0
- data/data/ore/templates/base/README.md.erb +42 -0
- data/data/ore/templates/base/README.rdoc.erb +38 -0
- data/data/ore/templates/base/README.tt.erb +44 -0
- data/data/ore/templates/base/Rakefile.erb +23 -0
- data/data/ore/templates/base/gemspec.yml.erb +23 -0
- data/data/ore/templates/base/lib/:namespace_dir:.rb.erb +1 -0
- data/data/ore/templates/base/lib/:namespace_dir:/version.rb.erb +8 -0
- data/data/ore/templates/bundler/Gemfile.erb +20 -0
- data/data/ore/templates/bundler/_dependencies.erb +1 -0
- data/data/ore/templates/jeweler_tasks/_dependencies.erb +3 -0
- data/data/ore/templates/jeweler_tasks/_tasks.erb +17 -0
- data/data/ore/templates/ore_tasks/_dependencies.erb +1 -0
- data/data/ore/templates/ore_tasks/_tasks.erb +12 -0
- data/data/ore/templates/rdoc/_tasks.erb +6 -0
- data/data/ore/templates/rspec/.rspec +1 -0
- data/data/ore/templates/rspec/_dependencies.erb +3 -0
- data/data/ore/templates/rspec/_tasks.erb +14 -0
- data/data/ore/templates/rspec/spec/:namespace_dir:_spec.rb.erb +8 -0
- data/data/ore/templates/rspec/spec/spec_helper.rb.erb +7 -0
- data/data/ore/templates/test_unit/test/helper.rb.erb +24 -0
- data/data/ore/templates/test_unit/test/test_:name:.rb.erb +5 -0
- data/data/ore/templates/yard/.yardopts.erb +1 -0
- data/data/ore/templates/yard/_dependencies.erb +1 -0
- data/data/ore/templates/yard/_gem.erb +1 -0
- data/data/ore/templates/yard/_tasks.erb +13 -0
- data/gemspec.yml +21 -0
- data/lib/ore.rb +3 -0
- data/lib/ore/checks.rb +85 -0
- data/lib/ore/cli.rb +120 -0
- data/lib/ore/config.rb +52 -0
- data/lib/ore/defaults.rb +137 -0
- data/lib/ore/dependency.rb +62 -0
- data/lib/ore/document_file.rb +118 -0
- data/lib/ore/exceptions.rb +3 -0
- data/lib/ore/exceptions/exception.rb +4 -0
- data/lib/ore/exceptions/invalid_metadata.rb +6 -0
- data/lib/ore/exceptions/project_not_found.rb +6 -0
- data/lib/ore/generator.rb +247 -0
- data/lib/ore/naming.rb +95 -0
- data/lib/ore/paths.rb +143 -0
- data/lib/ore/project.rb +568 -0
- data/lib/ore/settings.rb +236 -0
- data/lib/ore/specification.rb +29 -0
- data/lib/ore/template.rb +3 -0
- data/lib/ore/template/directory.rb +179 -0
- data/lib/ore/template/helpers.rb +144 -0
- data/lib/ore/template/interpolations.rb +31 -0
- data/lib/ore/versions.rb +3 -0
- data/lib/ore/versions/exceptions.rb +1 -0
- data/lib/ore/versions/exceptions/invalid_version.rb +8 -0
- data/lib/ore/versions/version.rb +75 -0
- data/lib/ore/versions/version_constant.rb +126 -0
- data/lib/ore/versions/version_file.rb +66 -0
- data/lib/rubygems_plugin.rb +40 -0
- data/ore.gemspec +6 -0
- data/spec/dependency_spec.rb +36 -0
- data/spec/document_file_spec.rb +29 -0
- data/spec/helpers/files.rb +7 -0
- data/spec/helpers/files/.document +5 -0
- data/spec/helpers/files/VERSION +1 -0
- data/spec/helpers/files/VERSION.yml +5 -0
- data/spec/helpers/projects.rb +13 -0
- data/spec/helpers/projects/dm-plugin/Gemfile +3 -0
- data/spec/helpers/projects/dm-plugin/VERSION +1 -0
- data/spec/helpers/projects/dm-plugin/dm-plugin.gemspec +10 -0
- data/spec/helpers/projects/dm-plugin/gemspec.yml +7 -0
- data/spec/helpers/projects/dm-plugin/lib/dm-plugin.rb +1 -0
- data/spec/helpers/projects/explicit/gemspec.yml +10 -0
- data/spec/helpers/projects/explicit/lib/explicit/version.rb +15 -0
- data/spec/helpers/projects/ffi-binding/gemspec.yml +7 -0
- data/spec/helpers/projects/ffi-binding/lib/ffi/binding/version.rb +5 -0
- data/spec/helpers/projects/jewelery/VERSION +1 -0
- data/spec/helpers/projects/jewelery/bin/jewelery +3 -0
- data/spec/helpers/projects/jewelery/gemspec.yml +4 -0
- data/spec/helpers/projects/jewelery/jewelery.gemspec +10 -0
- data/spec/helpers/projects/jewelery/lib/jewelery.rb +4 -0
- data/spec/helpers/projects/jewelery/lib/jewelery/rubies.rb +4 -0
- data/spec/helpers/projects/minimal/gemspec.yml +4 -0
- data/spec/helpers/projects/minimal/lib/minimal.rb +2 -0
- data/spec/naming_spec.rb +48 -0
- data/spec/projects/dm_plugin_project_spec.rb +29 -0
- data/spec/projects/explicit_project_spec.rb +33 -0
- data/spec/projects/ffi_binding_project_spec.rb +21 -0
- data/spec/projects/jeweler_project_spec.rb +17 -0
- data/spec/projects/minimal_project_spec.rb +17 -0
- data/spec/projects/project_examples.rb +34 -0
- data/spec/spec_helper.rb +4 -0
- data/spec/versions/version_file_spec.rb +28 -0
- data/spec/versions/version_spec.rb +53 -0
- metadata +226 -0
data/lib/ore/settings.rb
ADDED
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
require 'ore/exceptions/invalid_metadata'
|
|
2
|
+
require 'ore/versions/version'
|
|
3
|
+
require 'ore/dependency'
|
|
4
|
+
|
|
5
|
+
module Ore
|
|
6
|
+
module Settings
|
|
7
|
+
protected
|
|
8
|
+
|
|
9
|
+
#
|
|
10
|
+
# Sets the version of the project.
|
|
11
|
+
#
|
|
12
|
+
# @param [Hash<Integer>, String] version
|
|
13
|
+
# The version from the metadata file.
|
|
14
|
+
#
|
|
15
|
+
# @raise [InvalidVersion]
|
|
16
|
+
# The version must either be a `String` or a `Hash`.
|
|
17
|
+
#
|
|
18
|
+
def set_version!(version)
|
|
19
|
+
case version
|
|
20
|
+
when Hash
|
|
21
|
+
major = version['major']
|
|
22
|
+
minor = version['minor']
|
|
23
|
+
patch = version['patch']
|
|
24
|
+
build = version['build']
|
|
25
|
+
|
|
26
|
+
@version = Versions::Version.new(major,minor,patch,build)
|
|
27
|
+
when String
|
|
28
|
+
@version = Versions::Version.parse(version)
|
|
29
|
+
else
|
|
30
|
+
raise(InvalidMetadata,"version must be a Hash or a String")
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
#
|
|
35
|
+
# Sets the license(s) of the project.
|
|
36
|
+
#
|
|
37
|
+
# @param [Array, String] license
|
|
38
|
+
# The license(s) of the project.
|
|
39
|
+
#
|
|
40
|
+
def set_license!(license)
|
|
41
|
+
if license.kind_of?(Array)
|
|
42
|
+
license.each { |name| @licenses << name.to_s }
|
|
43
|
+
else
|
|
44
|
+
@licenses << license.to_s
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
#
|
|
49
|
+
# Sets the authors of the project.
|
|
50
|
+
#
|
|
51
|
+
# @param [Array<String>, String] authors
|
|
52
|
+
# The authors listed in the metadata file.
|
|
53
|
+
#
|
|
54
|
+
def set_authors!(authors)
|
|
55
|
+
if authors.kind_of?(Array)
|
|
56
|
+
@authors += authors
|
|
57
|
+
else
|
|
58
|
+
@authors << authors
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
#
|
|
63
|
+
# Sets the release date of the project.
|
|
64
|
+
#
|
|
65
|
+
# @param [String] date
|
|
66
|
+
# The release date from the metadata file.
|
|
67
|
+
#
|
|
68
|
+
def set_date!(date)
|
|
69
|
+
@date = Date.parse(date)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
#
|
|
73
|
+
# Sets the require-paths of the project.
|
|
74
|
+
#
|
|
75
|
+
# @param [Array<String>, String] paths
|
|
76
|
+
# The require-paths or the glob-pattern listed in the metadata file.
|
|
77
|
+
#
|
|
78
|
+
def set_require_paths!(paths)
|
|
79
|
+
if paths.kind_of?(Array)
|
|
80
|
+
paths.each { |path| add_require_path(path) }
|
|
81
|
+
else
|
|
82
|
+
glob(paths) { |path| add_require_path(path) }
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
#
|
|
87
|
+
# Sets the executables of the project.
|
|
88
|
+
#
|
|
89
|
+
# @param [Array<String>, String]
|
|
90
|
+
# The executable names or the glob-pattern listed in the metadata
|
|
91
|
+
# file.
|
|
92
|
+
#
|
|
93
|
+
def set_executables!(paths)
|
|
94
|
+
if paths.kind_of?(Array)
|
|
95
|
+
paths.each { |path| add_executable(path) }
|
|
96
|
+
else
|
|
97
|
+
glob(paths) { |path| add_executable(path) }
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
#
|
|
102
|
+
# Sets the default executable of the project.
|
|
103
|
+
#
|
|
104
|
+
# @param [String] name
|
|
105
|
+
# The default executable name listed in the metadata file.
|
|
106
|
+
#
|
|
107
|
+
def set_default_executable!(name)
|
|
108
|
+
if @executables.include?(name)
|
|
109
|
+
@default_executable = name
|
|
110
|
+
else
|
|
111
|
+
warn "#{name} is not in the executables list"
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
#
|
|
116
|
+
# Sets the extra documentation files of the project.
|
|
117
|
+
#
|
|
118
|
+
# @param [Array<String>, String] paths
|
|
119
|
+
# The file paths or the glob-pattern listed in the metadata file.
|
|
120
|
+
#
|
|
121
|
+
def set_extra_doc_files!(paths)
|
|
122
|
+
if paths.kind_of?(Array)
|
|
123
|
+
paths.each { |path| add_extra_doc_file(path) }
|
|
124
|
+
else
|
|
125
|
+
glob(paths) { |path| add_extra_doc_file(path) }
|
|
126
|
+
end
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
#
|
|
130
|
+
# Sets the files of the project.
|
|
131
|
+
#
|
|
132
|
+
# @param [Array<String>, String] paths
|
|
133
|
+
# The files or the glob-pattern listed in the metadata file.
|
|
134
|
+
#
|
|
135
|
+
def set_files!(paths)
|
|
136
|
+
if paths.kind_of?(Array)
|
|
137
|
+
paths.each { |path| add_file(path) }
|
|
138
|
+
else
|
|
139
|
+
glob(paths) { |path| add_file(path) }
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
#
|
|
144
|
+
# Sets the test-files of the project.
|
|
145
|
+
#
|
|
146
|
+
# @param [Array<String>, String] paths
|
|
147
|
+
# The test-files of the glob-pattern listed in the metadata file.
|
|
148
|
+
#
|
|
149
|
+
def set_test_files!(paths)
|
|
150
|
+
if paths.kind_of?(Array)
|
|
151
|
+
paths.each { |path| add_test_file(path) }
|
|
152
|
+
else
|
|
153
|
+
glob(paths) { |path| add_test_file(path) }
|
|
154
|
+
end
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
#
|
|
158
|
+
# Sets the Ruby version required by the project.
|
|
159
|
+
#
|
|
160
|
+
# @param [String] version
|
|
161
|
+
# The version requirement.
|
|
162
|
+
#
|
|
163
|
+
def set_required_ruby_version!(version)
|
|
164
|
+
@required_ruby_version = version.to_s
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
#
|
|
168
|
+
# Sets the RubyGems version required by the project.
|
|
169
|
+
#
|
|
170
|
+
# @param [String] version
|
|
171
|
+
# The version requirement.
|
|
172
|
+
#
|
|
173
|
+
def set_required_rubygems_version!(version)
|
|
174
|
+
@required_rubygems_version = version.to_s
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
#
|
|
178
|
+
# Sets the dependencies of the project.
|
|
179
|
+
#
|
|
180
|
+
# @param [Hash{String => String}] dependencies
|
|
181
|
+
# The dependencey names and versions listed in the metadata file.
|
|
182
|
+
#
|
|
183
|
+
# @raise [InvalidMetadata]
|
|
184
|
+
# The dependencies must be a `Hash`.
|
|
185
|
+
#
|
|
186
|
+
def set_dependencies!(dependencies)
|
|
187
|
+
unless dependencies.kind_of?(Hash)
|
|
188
|
+
raise(InvalidMetadata,"dependencies must be a Hash")
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
dependencies.each do |name,versions|
|
|
192
|
+
@dependencies << Dependency.parse_versions(name,versions)
|
|
193
|
+
end
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
#
|
|
197
|
+
# Sets the runtime-dependencies of the project.
|
|
198
|
+
#
|
|
199
|
+
# @param [Hash{String => String}] dependencies
|
|
200
|
+
# The runtime-dependencey names and versions listed in the metadata
|
|
201
|
+
# file.
|
|
202
|
+
#
|
|
203
|
+
# @raise [InvalidMetadata]
|
|
204
|
+
# The runtime-dependencies must be a `Hash`.
|
|
205
|
+
#
|
|
206
|
+
def set_runtime_dependencies!(dependencies)
|
|
207
|
+
unless dependencies.kind_of?(Hash)
|
|
208
|
+
raise(InvalidMetadata,"runtime_dependencies must be a Hash")
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
dependencies.each do |name,versions|
|
|
212
|
+
@runtime_dependencies << Dependency.parse_versions(name,versions)
|
|
213
|
+
end
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
#
|
|
217
|
+
# Sets the development-dependencies of the project.
|
|
218
|
+
#
|
|
219
|
+
# @param [Hash{String => String}] dependencies
|
|
220
|
+
# The development-dependencey names and versions listed in the
|
|
221
|
+
# metadata file.
|
|
222
|
+
#
|
|
223
|
+
# @raise [InvalidMetadata]
|
|
224
|
+
# The development-dependencies must be a `Hash`.
|
|
225
|
+
#
|
|
226
|
+
def set_development_dependencies!(dependencies)
|
|
227
|
+
unless dependencies.kind_of?(Hash)
|
|
228
|
+
raise(InvalidMetadata,"development_dependencies must be a Hash")
|
|
229
|
+
end
|
|
230
|
+
|
|
231
|
+
dependencies.each do |name,versions|
|
|
232
|
+
@development_dependencies << Dependency.parse_versions(name,versions)
|
|
233
|
+
end
|
|
234
|
+
end
|
|
235
|
+
end
|
|
236
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
require 'ore/project'
|
|
2
|
+
|
|
3
|
+
module Ore
|
|
4
|
+
#
|
|
5
|
+
# Acts as a drop-in replacement for calling `Gem::Specification.new`
|
|
6
|
+
# in a projects gemspec file.
|
|
7
|
+
#
|
|
8
|
+
module Specification
|
|
9
|
+
#
|
|
10
|
+
# Creates a new Gem Specification, and automatically populates it
|
|
11
|
+
# using the metadata file.
|
|
12
|
+
#
|
|
13
|
+
# @yield [gemspec]
|
|
14
|
+
# The given block will be passed the populated Gem Specification
|
|
15
|
+
# object.
|
|
16
|
+
#
|
|
17
|
+
# @yieldparam [Gem::Specification] gemspec
|
|
18
|
+
# The newly created Gem Specification.
|
|
19
|
+
#
|
|
20
|
+
# @return [Gem::Specification]
|
|
21
|
+
# The Gem Specification.
|
|
22
|
+
#
|
|
23
|
+
# @see Project#to_gemspec
|
|
24
|
+
#
|
|
25
|
+
def Specification.new(&block)
|
|
26
|
+
Project.find.to_gemspec(&block)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
data/lib/ore/template.rb
ADDED
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
require 'find'
|
|
2
|
+
|
|
3
|
+
module Ore
|
|
4
|
+
module Template
|
|
5
|
+
class Directory
|
|
6
|
+
|
|
7
|
+
# Files or directory names to ignore
|
|
8
|
+
@@ignore = %w[.git]
|
|
9
|
+
|
|
10
|
+
# The known markup languages and file extensions
|
|
11
|
+
@@markups = {
|
|
12
|
+
:markdown => %w[.md .markdown],
|
|
13
|
+
:textile => %w[.tt .textile],
|
|
14
|
+
:rdoc => %w[.rdoc]
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
# The path of the template directory
|
|
18
|
+
attr_reader :path
|
|
19
|
+
|
|
20
|
+
# The directories within the template directory
|
|
21
|
+
attr_reader :directories
|
|
22
|
+
|
|
23
|
+
# The static files in the template directory
|
|
24
|
+
attr_reader :files
|
|
25
|
+
|
|
26
|
+
# The ERb templates in the template directory
|
|
27
|
+
attr_reader :templates
|
|
28
|
+
|
|
29
|
+
# The include templates in the template directory
|
|
30
|
+
attr_reader :includes
|
|
31
|
+
|
|
32
|
+
#
|
|
33
|
+
# Initializes a new template directory.
|
|
34
|
+
#
|
|
35
|
+
# @param [String] path
|
|
36
|
+
# The path to the template directory.
|
|
37
|
+
#
|
|
38
|
+
def initialize(path)
|
|
39
|
+
@path = File.expand_path(path)
|
|
40
|
+
|
|
41
|
+
@directories = []
|
|
42
|
+
@files = {}
|
|
43
|
+
@templates = {}
|
|
44
|
+
@includes = Hash.new { |hash,key| hash[key] = {} }
|
|
45
|
+
|
|
46
|
+
scan!
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
#
|
|
50
|
+
# Enumerates through the directories in the template directory.
|
|
51
|
+
#
|
|
52
|
+
# @yield [path]
|
|
53
|
+
# The given block will be passed each directory path.
|
|
54
|
+
#
|
|
55
|
+
# @yieldparam [String] path
|
|
56
|
+
# The relative path of a directory within the template directory.
|
|
57
|
+
#
|
|
58
|
+
def each_directory(&block)
|
|
59
|
+
@directories.each(&block)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
#
|
|
63
|
+
# Enumerates through every file in the template directory.
|
|
64
|
+
#
|
|
65
|
+
# @param [Symbol] markup
|
|
66
|
+
# The markup to look for.
|
|
67
|
+
#
|
|
68
|
+
# @yield [path]
|
|
69
|
+
# The given block will be passed each file path.
|
|
70
|
+
#
|
|
71
|
+
# @yieldparam [String] path
|
|
72
|
+
# A relative path of a file within the template directory.
|
|
73
|
+
#
|
|
74
|
+
def each_file(markup)
|
|
75
|
+
@files.each do |dest,file|
|
|
76
|
+
if (formatted_like?(dest,markup) || !formatted?(dest))
|
|
77
|
+
yield dest, file
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
#
|
|
83
|
+
# Enumerates over every template within the template directory.
|
|
84
|
+
#
|
|
85
|
+
# @param [Symbol] markup
|
|
86
|
+
# The markup to look for.
|
|
87
|
+
#
|
|
88
|
+
# @yield [path]
|
|
89
|
+
# The given block will be passed each template path.
|
|
90
|
+
#
|
|
91
|
+
# @yieldparam [String] path
|
|
92
|
+
# A relative path of a template within the template directory.
|
|
93
|
+
#
|
|
94
|
+
def each_template(markup)
|
|
95
|
+
@templates.each do |dest,file|
|
|
96
|
+
if (formatted_like?(dest,markup) || !formatted?(dest))
|
|
97
|
+
yield dest, file
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
protected
|
|
103
|
+
|
|
104
|
+
#
|
|
105
|
+
# Scans the template directory recursively recording the directories,
|
|
106
|
+
# files and partial templates.
|
|
107
|
+
#
|
|
108
|
+
def scan!
|
|
109
|
+
Dir.chdir(@path) do
|
|
110
|
+
Find.find('.') do |file|
|
|
111
|
+
next if file == '.'
|
|
112
|
+
|
|
113
|
+
# ignore the ./
|
|
114
|
+
file = file[2..-1]
|
|
115
|
+
name = File.basename(file)
|
|
116
|
+
|
|
117
|
+
# ignore certain files/directories
|
|
118
|
+
Find.prune if @@ignore.include?(name)
|
|
119
|
+
|
|
120
|
+
if File.directory?(file)
|
|
121
|
+
@directories << file
|
|
122
|
+
elsif File.file?(file)
|
|
123
|
+
src = File.join(@path,file)
|
|
124
|
+
|
|
125
|
+
case File.extname(name)
|
|
126
|
+
when '.erb'
|
|
127
|
+
# erb template
|
|
128
|
+
if name[0,1] == '_'
|
|
129
|
+
# partial template
|
|
130
|
+
template_dir = File.dirname(file)
|
|
131
|
+
template_name = name[1...-4].to_sym
|
|
132
|
+
|
|
133
|
+
@includes[template_dir][template_name] = src
|
|
134
|
+
else
|
|
135
|
+
dest = file[0...-4]
|
|
136
|
+
|
|
137
|
+
@templates[dest] = src
|
|
138
|
+
end
|
|
139
|
+
else
|
|
140
|
+
# static file
|
|
141
|
+
@files[file] = src
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
#
|
|
149
|
+
# Determines whether a file is markup formatted.
|
|
150
|
+
#
|
|
151
|
+
# @param [String] path
|
|
152
|
+
# The path to the file.
|
|
153
|
+
#
|
|
154
|
+
# @return [Boolean]
|
|
155
|
+
# Specifies whether the file is formatting.
|
|
156
|
+
#
|
|
157
|
+
def formatted?(path)
|
|
158
|
+
@@markups.values.any? { |exts| exts.include?(File.extname(path)) }
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
#
|
|
162
|
+
# Determines if a file has a specific type of markup formatting.
|
|
163
|
+
#
|
|
164
|
+
# @param [String] path
|
|
165
|
+
# The path to the file.
|
|
166
|
+
#
|
|
167
|
+
# @param [Symbol] markup
|
|
168
|
+
# The specified type of markup.
|
|
169
|
+
#
|
|
170
|
+
# @return [Boolean]
|
|
171
|
+
# Specifies whether the file has the sepcified formatting.
|
|
172
|
+
#
|
|
173
|
+
def formatted_like?(path,markup)
|
|
174
|
+
@@markups[markup].include?(File.extname(path))
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
end
|