coyote 0.5.2 → 0.6.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.
- data/Manifest +40 -2
- data/bin/coyote +16 -4
- data/coyote.gemspec +10 -9
- data/lib/coyote.rb +25 -34
- data/lib/coyote/configuration.rb +57 -61
- data/lib/coyote/generator.rb +35 -35
- data/lib/coyote/script.rb +122 -0
- data/lib/coyote/scripts/coffeescript.rb +32 -0
- data/lib/coyote/scripts/combine.rb +54 -0
- data/lib/coyote/scripts/javascript.rb +4 -0
- data/test/assets/javascripts/app/confio.coffee +2 -0
- data/test/assets/javascripts/app/confio/interface.coffee +8 -0
- data/test/assets/javascripts/app/confio/main.coffee +4 -0
- data/test/assets/javascripts/lib/keystone/extensions.coffee +8 -0
- data/test/assets/javascripts/lib/keystone/forms.coffee +19 -0
- data/test/assets/javascripts/lib/keystone/utilities.coffee +2 -0
- data/test/assets/stylesheets/app/_confio.scss +4 -0
- data/test/assets/stylesheets/app/confio/_ie.scss +39 -0
- data/test/assets/stylesheets/app/confio/_mobile.scss +28 -0
- data/test/assets/stylesheets/app/confio/_print.scss +129 -0
- data/test/assets/stylesheets/app/confio/_screen.scss +624 -0
- data/test/assets/stylesheets/lib/_keystone.scss +4 -0
- data/test/assets/stylesheets/lib/keystone/_css3.scss +6 -0
- data/test/assets/stylesheets/lib/keystone/_scaffolding.scss +2 -0
- data/test/assets/stylesheets/lib/keystone/_typography.scss +3 -0
- data/test/assets/stylesheets/lib/keystone/_utilities.scss +3 -0
- data/test/assets/stylesheets/lib/keystone/css3/_background-clip.scss +5 -0
- data/test/assets/stylesheets/lib/keystone/css3/_border-radius.scss +5 -0
- data/test/assets/stylesheets/lib/keystone/css3/_box-shadow.scss +5 -0
- data/test/assets/stylesheets/lib/keystone/css3/_box-sizing.scss +5 -0
- data/test/assets/stylesheets/lib/keystone/css3/_opacity.scss +6 -0
- data/test/assets/stylesheets/lib/keystone/css3/_transition.scss +5 -0
- data/test/assets/stylesheets/lib/keystone/scaffolding/_reset.scss +75 -0
- data/test/assets/stylesheets/lib/keystone/scaffolding/_structure.scss +23 -0
- data/test/assets/stylesheets/lib/keystone/typography/_links.scss +66 -0
- data/test/assets/stylesheets/lib/keystone/typography/_lists.scss +38 -0
- data/test/assets/stylesheets/lib/keystone/typography/_replacement.scss +12 -0
- data/test/assets/stylesheets/lib/keystone/utilities/_alignment.scss +3 -0
- data/test/assets/stylesheets/lib/keystone/utilities/_autoclear.scss +11 -0
- data/test/assets/stylesheets/lib/keystone/utilities/_hoverbox.scss +32 -0
- data/test/assets/stylesheets/styles.scss +58 -0
- data/test/assets/stylesheets/vendor/_vendor.scss +0 -0
- data/test/public/scripts/coyote.js +93 -0
- data/test/public/scripts/jquery.js +4 -0
- data/test/public/scripts/scripts.combine +6 -0
- data/test/public/scripts/scripts.js +91 -0
- metadata +61 -19
- data/lib/coyote/coy_file.rb +0 -64
- data/lib/coyote/output.rb +0 -72
data/Manifest
CHANGED
@@ -8,7 +8,6 @@ coyote.gemspec
|
|
8
8
|
lib/coyote.rb
|
9
9
|
lib/coyote/closure_compiler.rb
|
10
10
|
lib/coyote/configuration.rb
|
11
|
-
lib/coyote/coy_file.rb
|
12
11
|
lib/coyote/fs_listener.rb
|
13
12
|
lib/coyote/fs_listeners/darwin.rb
|
14
13
|
lib/coyote/fs_listeners/linux.rb
|
@@ -16,5 +15,44 @@ lib/coyote/fs_listeners/polling.rb
|
|
16
15
|
lib/coyote/fs_listeners/windows.rb
|
17
16
|
lib/coyote/generator.rb
|
18
17
|
lib/coyote/notification.rb
|
19
|
-
lib/coyote/
|
18
|
+
lib/coyote/script.rb
|
19
|
+
lib/coyote/scripts/coffeescript.rb
|
20
|
+
lib/coyote/scripts/combine.rb
|
21
|
+
lib/coyote/scripts/javascript.rb
|
22
|
+
test/assets/javascripts/app/confio.coffee
|
23
|
+
test/assets/javascripts/app/confio/interface.coffee
|
24
|
+
test/assets/javascripts/app/confio/main.coffee
|
25
|
+
test/assets/javascripts/lib/keystone/extensions.coffee
|
26
|
+
test/assets/javascripts/lib/keystone/forms.coffee
|
27
|
+
test/assets/javascripts/lib/keystone/utilities.coffee
|
28
|
+
test/assets/stylesheets/app/_confio.scss
|
29
|
+
test/assets/stylesheets/app/confio/_ie.scss
|
30
|
+
test/assets/stylesheets/app/confio/_mobile.scss
|
31
|
+
test/assets/stylesheets/app/confio/_print.scss
|
32
|
+
test/assets/stylesheets/app/confio/_screen.scss
|
33
|
+
test/assets/stylesheets/lib/_keystone.scss
|
34
|
+
test/assets/stylesheets/lib/keystone/_css3.scss
|
35
|
+
test/assets/stylesheets/lib/keystone/_scaffolding.scss
|
36
|
+
test/assets/stylesheets/lib/keystone/_typography.scss
|
37
|
+
test/assets/stylesheets/lib/keystone/_utilities.scss
|
38
|
+
test/assets/stylesheets/lib/keystone/css3/_background-clip.scss
|
39
|
+
test/assets/stylesheets/lib/keystone/css3/_border-radius.scss
|
40
|
+
test/assets/stylesheets/lib/keystone/css3/_box-shadow.scss
|
41
|
+
test/assets/stylesheets/lib/keystone/css3/_box-sizing.scss
|
42
|
+
test/assets/stylesheets/lib/keystone/css3/_opacity.scss
|
43
|
+
test/assets/stylesheets/lib/keystone/css3/_transition.scss
|
44
|
+
test/assets/stylesheets/lib/keystone/scaffolding/_reset.scss
|
45
|
+
test/assets/stylesheets/lib/keystone/scaffolding/_structure.scss
|
46
|
+
test/assets/stylesheets/lib/keystone/typography/_links.scss
|
47
|
+
test/assets/stylesheets/lib/keystone/typography/_lists.scss
|
48
|
+
test/assets/stylesheets/lib/keystone/typography/_replacement.scss
|
49
|
+
test/assets/stylesheets/lib/keystone/utilities/_alignment.scss
|
50
|
+
test/assets/stylesheets/lib/keystone/utilities/_autoclear.scss
|
51
|
+
test/assets/stylesheets/lib/keystone/utilities/_hoverbox.scss
|
52
|
+
test/assets/stylesheets/styles.scss
|
53
|
+
test/assets/stylesheets/vendor/_vendor.scss
|
54
|
+
test/public/scripts/coyote.js
|
55
|
+
test/public/scripts/jquery.js
|
56
|
+
test/public/scripts/scripts.combine
|
57
|
+
test/public/scripts/scripts.js
|
20
58
|
Manifest
|
data/bin/coyote
CHANGED
@@ -18,16 +18,28 @@ OptionParser.new do |opts|
|
|
18
18
|
end.parse!
|
19
19
|
|
20
20
|
|
21
|
+
def config
|
22
|
+
config = Coyote::Configuration.new @options
|
23
|
+
ARGV.shift
|
24
|
+
|
25
|
+
if ARGV.empty?
|
26
|
+
config.load_from_yaml!
|
27
|
+
else
|
28
|
+
input, output = ARGV[0].split(':', 2)
|
29
|
+
config.inputs = input
|
30
|
+
config.output = output
|
31
|
+
end
|
32
|
+
|
33
|
+
return config
|
34
|
+
end
|
35
|
+
|
36
|
+
|
21
37
|
case ARGV.first
|
22
38
|
when 'new'
|
23
39
|
Coyote::generate
|
24
40
|
when 'build'
|
25
|
-
config = Coyote::Configuration.new @options
|
26
|
-
config.load_from_yaml!
|
27
41
|
Coyote::build config
|
28
42
|
when 'watch'
|
29
|
-
config = Coyote::Configuration.new @options
|
30
|
-
config.load_from_yaml!
|
31
43
|
Coyote::watch config
|
32
44
|
else
|
33
45
|
Coyote::usage
|
data/coyote.gemspec
CHANGED
@@ -2,21 +2,22 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{coyote}
|
5
|
-
s.version = "0.
|
5
|
+
s.version = "0.6.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
|
-
s.authors = [
|
9
|
-
s.date = %q{2011-
|
8
|
+
s.authors = ["Imulus"]
|
9
|
+
s.date = %q{2011-12-13}
|
10
|
+
s.default_executable = %q{coyote}
|
10
11
|
s.description = %q{An intelligent command-line tool for combining, compressing and compiling your JavaScript and CoffeeScript files.}
|
11
12
|
s.email = %q{developer@imulus.com}
|
12
|
-
s.executables = [
|
13
|
-
s.extra_rdoc_files = [
|
14
|
-
s.files = [
|
13
|
+
s.executables = ["coyote"]
|
14
|
+
s.extra_rdoc_files = ["README.md", "bin/coyote", "lib/coyote.rb", "lib/coyote/closure_compiler.rb", "lib/coyote/configuration.rb", "lib/coyote/fs_listener.rb", "lib/coyote/fs_listeners/darwin.rb", "lib/coyote/fs_listeners/linux.rb", "lib/coyote/fs_listeners/polling.rb", "lib/coyote/fs_listeners/windows.rb", "lib/coyote/generator.rb", "lib/coyote/notification.rb", "lib/coyote/script.rb", "lib/coyote/scripts/coffeescript.rb", "lib/coyote/scripts/combine.rb", "lib/coyote/scripts/javascript.rb"]
|
15
|
+
s.files = ["README.md", "Rakefile", "bin/coyote", "config/coyote-icon.png", "config/coyote-usage.txt", "config/coyote.yaml", "coyote.gemspec", "lib/coyote.rb", "lib/coyote/closure_compiler.rb", "lib/coyote/configuration.rb", "lib/coyote/fs_listener.rb", "lib/coyote/fs_listeners/darwin.rb", "lib/coyote/fs_listeners/linux.rb", "lib/coyote/fs_listeners/polling.rb", "lib/coyote/fs_listeners/windows.rb", "lib/coyote/generator.rb", "lib/coyote/notification.rb", "lib/coyote/script.rb", "lib/coyote/scripts/coffeescript.rb", "lib/coyote/scripts/combine.rb", "lib/coyote/scripts/javascript.rb", "test/assets/javascripts/app/confio.coffee", "test/assets/javascripts/app/confio/interface.coffee", "test/assets/javascripts/app/confio/main.coffee", "test/assets/javascripts/lib/keystone/extensions.coffee", "test/assets/javascripts/lib/keystone/forms.coffee", "test/assets/javascripts/lib/keystone/utilities.coffee", "test/assets/stylesheets/app/_confio.scss", "test/assets/stylesheets/app/confio/_ie.scss", "test/assets/stylesheets/app/confio/_mobile.scss", "test/assets/stylesheets/app/confio/_print.scss", "test/assets/stylesheets/app/confio/_screen.scss", "test/assets/stylesheets/lib/_keystone.scss", "test/assets/stylesheets/lib/keystone/_css3.scss", "test/assets/stylesheets/lib/keystone/_scaffolding.scss", "test/assets/stylesheets/lib/keystone/_typography.scss", "test/assets/stylesheets/lib/keystone/_utilities.scss", "test/assets/stylesheets/lib/keystone/css3/_background-clip.scss", "test/assets/stylesheets/lib/keystone/css3/_border-radius.scss", "test/assets/stylesheets/lib/keystone/css3/_box-shadow.scss", "test/assets/stylesheets/lib/keystone/css3/_box-sizing.scss", "test/assets/stylesheets/lib/keystone/css3/_opacity.scss", "test/assets/stylesheets/lib/keystone/css3/_transition.scss", "test/assets/stylesheets/lib/keystone/scaffolding/_reset.scss", "test/assets/stylesheets/lib/keystone/scaffolding/_structure.scss", "test/assets/stylesheets/lib/keystone/typography/_links.scss", "test/assets/stylesheets/lib/keystone/typography/_lists.scss", "test/assets/stylesheets/lib/keystone/typography/_replacement.scss", "test/assets/stylesheets/lib/keystone/utilities/_alignment.scss", "test/assets/stylesheets/lib/keystone/utilities/_autoclear.scss", "test/assets/stylesheets/lib/keystone/utilities/_hoverbox.scss", "test/assets/stylesheets/styles.scss", "test/assets/stylesheets/vendor/_vendor.scss", "test/public/scripts/coyote.js", "test/public/scripts/jquery.js", "test/public/scripts/scripts.combine", "test/public/scripts/scripts.js", "Manifest"]
|
15
16
|
s.homepage = %q{http://github.com/imulus/coyote}
|
16
|
-
s.rdoc_options = [
|
17
|
-
s.require_paths = [
|
17
|
+
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Coyote", "--main", "README.md"]
|
18
|
+
s.require_paths = ["lib"]
|
18
19
|
s.rubyforge_project = %q{coyote}
|
19
|
-
s.rubygems_version = %q{1.
|
20
|
+
s.rubygems_version = %q{1.6.2}
|
20
21
|
s.summary = %q{Coyote selectively concatenates your files, combining them into a single file with the option of running the output through the Google Closure Compiler before save. It can be used to observe your source files for changes and will recompile and save on the fly for easy development.}
|
21
22
|
|
22
23
|
if s.respond_to? :specification_version then
|
data/lib/coyote.rb
CHANGED
@@ -1,53 +1,44 @@
|
|
1
1
|
require 'yaml'
|
2
2
|
require 'term/ansicolor'
|
3
|
-
require 'coyote/
|
3
|
+
require 'coyote/script'
|
4
4
|
require 'coyote/configuration'
|
5
5
|
require 'coyote/fs_listener'
|
6
6
|
require 'coyote/generator'
|
7
|
-
require 'coyote/output'
|
8
7
|
require 'coyote/closure_compiler'
|
9
8
|
require 'coyote/notification'
|
10
9
|
|
11
10
|
include Term::ANSIColor
|
12
11
|
|
13
12
|
module Coyote
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
USAGE_FILENAME
|
13
|
+
APP_NAME = "Coyote"
|
14
|
+
VERSION = "0.6.1"
|
15
|
+
ROOT_PATH = Dir.pwd
|
16
|
+
CONFIG_PATH = File.expand_path(File.dirname(__FILE__) + "/../config")
|
17
|
+
CONFIG_FILENAME = "coyote.yaml"
|
18
|
+
CONFIG_ICON = "coyote-icon.png"
|
19
|
+
USAGE_FILENAME = "coyote-usage.txt"
|
21
20
|
|
22
21
|
module Defaults
|
23
22
|
OUTPUT = "coyote.js"
|
24
23
|
end
|
25
24
|
|
26
|
-
|
27
|
-
|
28
|
-
EXTENSION = ".coffee"
|
29
|
-
COMMENT = "#"
|
30
|
-
end
|
31
|
-
|
32
|
-
|
33
|
-
module JavaScript
|
34
|
-
EXTENSION = ".js"
|
35
|
-
COMMENT = "//"
|
25
|
+
def self.generate
|
26
|
+
Coyote::Generator.new.generate
|
36
27
|
end
|
37
28
|
|
38
|
-
|
39
|
-
def self.generate
|
40
|
-
Coyote::Generator.new.generate
|
41
|
-
end
|
29
|
+
|
42
30
|
|
43
31
|
|
44
32
|
def self.build(config)
|
45
|
-
|
33
|
+
if config.inputs == config.output
|
34
|
+
Coyote::Notification.new "Input path cannot be the same as output path\n\n", "Failure"
|
35
|
+
exit 0
|
36
|
+
end
|
37
|
+
|
38
|
+
output = Coyote::Script.select_and_init(config.output)
|
46
39
|
output.empty!
|
47
40
|
|
48
|
-
config.inputs.each do |file|
|
49
|
-
input = Coyote::CoyFile.new file
|
50
|
-
input.compile! if input.coffee?
|
41
|
+
config.inputs.each do |file, input|
|
51
42
|
output.append input.contents
|
52
43
|
print "+ Added #{file}\n" if config.options['verbose']
|
53
44
|
end
|
@@ -58,7 +49,7 @@ module Coyote
|
|
58
49
|
end
|
59
50
|
|
60
51
|
|
61
|
-
|
52
|
+
def self.watch(config)
|
62
53
|
self.build config
|
63
54
|
|
64
55
|
listener = Coyote::FSListener.select_and_init
|
@@ -77,12 +68,12 @@ module Coyote
|
|
77
68
|
end
|
78
69
|
|
79
70
|
listener.start
|
80
|
-
|
71
|
+
end
|
81
72
|
|
82
73
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
74
|
+
def self.usage
|
75
|
+
file = File.open("#{Coyote::CONFIG_PATH}/#{Coyote::USAGE_FILENAME}", 'r')
|
76
|
+
puts file.read
|
77
|
+
file.close
|
78
|
+
end
|
88
79
|
end
|
data/lib/coyote/configuration.rb
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
module Coyote
|
2
2
|
class Configuration
|
3
3
|
|
4
|
-
|
5
|
-
|
4
|
+
attr_accessor :options, :output, :source
|
5
|
+
attr_reader :inputs
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
7
|
+
def initialize(options = {})
|
8
|
+
@options = options
|
9
|
+
@inputs = {}
|
10
10
|
@output = Coyote::Defaults::OUTPUT
|
11
|
-
|
11
|
+
end
|
12
12
|
|
13
13
|
|
14
|
-
|
14
|
+
def should_compress?
|
15
15
|
@options['compress'] || false
|
16
|
-
|
16
|
+
end
|
17
17
|
|
18
18
|
|
19
19
|
def inputs=(inputs)
|
@@ -21,69 +21,65 @@ module Coyote
|
|
21
21
|
end
|
22
22
|
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
24
|
+
def add_input(input)
|
25
|
+
if input.class == Array
|
26
|
+
input.each do |input|
|
27
|
+
find_and_add_files input
|
28
|
+
end
|
29
|
+
elsif input.class == String and @output != input
|
30
|
+
find_and_add_files input
|
31
|
+
end
|
32
|
+
end
|
33
33
|
|
34
34
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
35
|
+
def load_from_yaml!(yaml_file = Coyote::CONFIG_FILENAME)
|
36
|
+
if File.exists?(yaml_file)
|
37
|
+
begin
|
38
|
+
config = YAML.load(File.open(yaml_file))
|
39
|
+
if config.class == Hash && ! config.empty?
|
40
40
|
self.inputs = config['input']
|
41
41
|
@output = config['output']
|
42
42
|
if config['options'] && config['options'].class == Hash
|
43
43
|
@options = config['options'].merge(@options)
|
44
44
|
end
|
45
45
|
@source = yaml_file
|
46
|
-
|
46
|
+
else
|
47
47
|
Coyote::Notification.new "Coyote configuration exists but has not been defined yet. Configure it in #{yaml_file}\n", "failure"
|
48
|
-
|
49
|
-
|
50
|
-
|
48
|
+
exit(0)
|
49
|
+
end
|
50
|
+
rescue ArgumentError => e
|
51
51
|
Coyote::Notification.new "Could not parse YAML: #{e.message}\n", "failure"
|
52
|
-
|
53
|
-
|
54
|
-
|
52
|
+
exit
|
53
|
+
end
|
54
|
+
else
|
55
55
|
Coyote::Notification.new "Could not find a Coyote configuration file #{yaml_file}. Use 'coyote new' to create one.\n", "failure"
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
matches.each { |match| required.push match.last.strip }
|
84
|
-
end
|
85
|
-
return required
|
86
|
-
end
|
56
|
+
exit
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
private
|
63
|
+
|
64
|
+
def find_and_add_files(path)
|
65
|
+
Dir.glob(path).each do |file|
|
66
|
+
# Grab the absolute path of the file
|
67
|
+
# so we can ensure we don't have duplicate inputs
|
68
|
+
filename = File.absolute_path(file)
|
69
|
+
|
70
|
+
script = Coyote::Script.select_and_init(filename)
|
71
|
+
script.requires.each { |path| find_and_add_files(path) }
|
72
|
+
|
73
|
+
# Check to see if the file already exists in the inputs hash
|
74
|
+
# If not, add it with the full file path as the key
|
75
|
+
if @inputs[filename].nil?
|
76
|
+
@inputs[filename] = script
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
|
82
|
+
|
87
83
|
|
88
84
|
end
|
89
|
-
end
|
85
|
+
end
|
data/lib/coyote/generator.rb
CHANGED
@@ -1,49 +1,49 @@
|
|
1
1
|
module Coyote
|
2
2
|
class Generator
|
3
|
-
|
3
|
+
attr_accessor :files_found
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
def initialize
|
6
|
+
@files_found = []
|
7
|
+
end
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
def generate
|
10
|
+
if config_exists?
|
11
11
|
Coyote::Notification.new "This directory is already configured for Coyote.\n", "failure"
|
12
|
-
|
12
|
+
else
|
13
13
|
discover_files
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
copy_config
|
15
|
+
end
|
16
|
+
end
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
cs_files = File.join("**","
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
18
|
+
def discover_files
|
19
|
+
js_files = File.join("**","*.js")
|
20
|
+
cs_files = File.join("**","*.coffee")
|
21
|
+
Dir.glob(js_files).each do |file|
|
22
|
+
@files_found.push file
|
23
|
+
end
|
24
|
+
Dir.glob(cs_files).each do |file|
|
25
|
+
@files_found.push file
|
26
|
+
end
|
27
|
+
end
|
28
28
|
|
29
|
-
|
30
|
-
|
31
|
-
|
29
|
+
def config_exists?
|
30
|
+
File.exists?(Coyote::CONFIG_FILENAME)
|
31
|
+
end
|
32
32
|
|
33
|
-
|
33
|
+
def copy_config
|
34
34
|
Coyote::Notification.new "\nGenerating Coyote\n"
|
35
35
|
Coyote::Notification.new "#{@files_found.length} files discovered\n"
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
37
|
+
File.open("#{Coyote::CONFIG_PATH}/#{Coyote::CONFIG_FILENAME}") do |file|
|
38
|
+
output_file = File.open(Coyote::CONFIG_FILENAME, 'w+')
|
39
|
+
generated = file.read
|
40
|
+
@files_found.each do |file|
|
41
|
+
generated += " - #{file}\n"
|
42
|
+
end
|
43
|
+
output_file.write(generated)
|
44
|
+
end
|
45
45
|
|
46
|
-
|
47
|
-
|
46
|
+
Coyote::Notification.new "Coyote generated at #{Coyote::CONFIG_FILENAME}\n\n", "success"
|
47
|
+
end
|
48
48
|
end
|
49
|
-
end
|
49
|
+
end
|