abaddon 0.0.2 → 0.0.3

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.
@@ -1,9 +1,9 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'abaddon'
3
- s.version = '0.0.2'
3
+ s.version = '0.0.3'
4
4
  s.date = '2011-10-31'
5
5
  s.summary = "Abaddon"
6
- s.description = "A library that helps creating project templates."
6
+ s.description = "A gem that helps creating project templates."
7
7
  s.authors = ["Arturo Puente"]
8
8
  s.email = ["arturopuentevc@gmail.com"]
9
9
  s.homepage = "http://github.com/arturopuente"
@@ -11,6 +11,10 @@ Gem::Specification.new do |s|
11
11
  s.files =
12
12
  ["abaddon.gemspec",
13
13
  "lib/abaddon.rb",
14
- "lib/templates/mockup.rb",
15
- "lib/shared/config/compass.rb"]
14
+ "lib/abaddon/information.rb",
15
+ "lib/abaddon/help.rb",
16
+ "lib/abaddon/runner.rb",
17
+ "lib/abaddon/helpers/array.rb",
18
+ "lib/templates/mockup/mockup.rb"]
19
+ s.add_dependency("compass", ">= 0.11.5")
16
20
  end
@@ -1,4 +1,4 @@
1
1
  #!/usr/bin/env ruby
2
- require File.dirname(__FILE__) + '/../lib/abaddon'
2
+ require_relative './../lib/abaddon/runner'
3
3
 
4
4
  Abaddon::Runner.new ARGV
@@ -1,49 +1,53 @@
1
- module Abaddon
1
+ require_relative "./abaddon/helpers/array"
2
2
 
3
+ module Abaddon
4
+
3
5
  extend self
4
6
 
7
+ require 'FileUtils'
8
+
5
9
  def templates
6
- %w[mockup]
10
+ Dir.new("#{File.dirname(__FILE__)}/templates/").entries.select { |t| t !~ /^\./ }
7
11
  end
8
12
 
9
- def load_file(template)
10
- require "#{File.dirname(__FILE__)}/templates/#{template}.rb"
13
+ def load_file(template, action)
14
+ require_relative "./templates/#{template}/#{action}.rb"
11
15
  end
12
16
 
13
- def load(template)
17
+ def load(args)
18
+ template = args.first
19
+ action = args.second || template
14
20
  if templates.include? template
15
- load_file template
21
+ load_file template, action
22
+ true
16
23
  else
17
- message :not_found
24
+ false
18
25
  end
19
26
  end
20
27
 
21
- def message(type)
22
- case type
23
- when :not_found
24
- puts "Oops! I can't do that (yet). Available templates are:"
25
- print_available_templates
26
- when :blank
27
- puts "Aviable templates are:"
28
- print_available_templates
28
+ def create_directories(directories, &block)
29
+ if block_given?
30
+ directories = directories.map { |d| block.call d }
29
31
  end
32
+ directories.each { |d| FileUtils.mkdir "./#{d}" unless File.directory? d or File.file? d }
30
33
  end
31
34
 
32
- def print_available_templates
33
- templates.each { |s| print s }
34
- puts
35
+ def create_files(files, &block)
36
+ if block_given?
37
+ files = files.map { |f| block.call f }
38
+ end
39
+ files.each { |f| FileUtils.touch "./#{f}" unless File.directory? f or File.file? f }
35
40
  end
36
41
 
37
- class Runner
38
-
39
- def initialize(args)
40
- if args.size > 0
41
- args.each { |template| Abaddon.load template }
42
- else
43
- Abaddon.message :blank
44
- end
45
- end
46
-
42
+ def create_files_in_dir
47
43
  end
48
44
 
45
+ end
46
+
47
+ def create_directories(directories, &block)
48
+ Abaddon.create_directories(directories, &block)
49
+ end
50
+
51
+ def create_files(files, &block)
52
+ Abaddon.create_files(files, &block)
49
53
  end
@@ -0,0 +1,22 @@
1
+ module Abaddon
2
+
3
+ module Help
4
+
5
+ extend self
6
+
7
+ def display
8
+ puts "Welcome to Abaddon. You could use one of the usual commands like"
9
+ puts "-v or --version"
10
+ end
11
+
12
+ def message(type)
13
+ case type
14
+ when :not_found
15
+ puts "Oops! I can't do that (yet). Available templates are:"
16
+ Abaddon.templates.each { |s| print s }
17
+ end
18
+ puts
19
+ end
20
+ end
21
+
22
+ end
@@ -0,0 +1,5 @@
1
+ class Array
2
+ def second
3
+ self[1]
4
+ end
5
+ end
@@ -0,0 +1,12 @@
1
+ module Abaddon
2
+
3
+ module Information
4
+
5
+ extend self
6
+
7
+ def version
8
+ "0.0.2"
9
+ end
10
+ end
11
+
12
+ end
@@ -0,0 +1,24 @@
1
+ require_relative './../abaddon'
2
+ require_relative './information'
3
+ require_relative './help'
4
+
5
+ module Abaddon
6
+
7
+ class Runner
8
+
9
+ def initialize(args)
10
+ case args.first
11
+ when 'help', '-h', '--help'
12
+ Abaddon::Help.display
13
+ when 'version', '-v', '--version'
14
+ puts Abaddon::Information.version
15
+ when 'new', 'create'
16
+ Abaddon::Help.message :not_found unless Abaddon.load args[1..args.size]
17
+ else
18
+ Abaddon::Help.display
19
+ end
20
+ end
21
+
22
+ end
23
+
24
+ end
@@ -0,0 +1,6 @@
1
+ require_relative './../../abaddon'
2
+
3
+ create_directories %w[javascripts stylesheets coffeescripts sass]
4
+ create_files %w[index.html]
5
+
6
+ system "compass create . --sass-dir=sass --syntax sass"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: abaddon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,8 +10,19 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
  date: 2011-10-31 00:00:00.000000000Z
13
- dependencies: []
14
- description: A library that helps creating project templates.
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: compass
16
+ requirement: &70302806840140 !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ! '>='
20
+ - !ruby/object:Gem::Version
21
+ version: 0.11.5
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: *70302806840140
25
+ description: A gem that helps creating project templates.
15
26
  email:
16
27
  - arturopuentevc@gmail.com
17
28
  executables:
@@ -21,8 +32,11 @@ extra_rdoc_files: []
21
32
  files:
22
33
  - abaddon.gemspec
23
34
  - lib/abaddon.rb
24
- - lib/templates/mockup.rb
25
- - lib/shared/config/compass.rb
35
+ - lib/abaddon/information.rb
36
+ - lib/abaddon/help.rb
37
+ - lib/abaddon/runner.rb
38
+ - lib/abaddon/helpers/array.rb
39
+ - lib/templates/mockup/mockup.rb
26
40
  - bin/abaddon
27
41
  homepage: http://github.com/arturopuente
28
42
  licenses: []
@@ -1,24 +0,0 @@
1
- # Require any additional compass plugins here.
2
-
3
- # Set this to the root of your project when deployed:
4
- http_path = "/"
5
- css_dir = "stylesheets"
6
- sass_dir = "sass"
7
- images_dir = "images"
8
- javascripts_dir = "javascripts"
9
-
10
- # You can select your preferred output style here (can be overridden via the command line):
11
- # output_style = :expanded or :nested or :compact or :compressed
12
- # output_style = :compressed
13
-
14
- # To enable relative paths to assets via compass helper functions. Uncomment:
15
- # relative_assets = true
16
-
17
- # To disable debugging comments that display the original location of your selectors. Uncomment:
18
- # line_comments = false
19
-
20
- # If you prefer the indented syntax, you might want to regenerate this
21
- # project again passing --syntax sass, or you can uncomment this:
22
- # preferred_syntax = :sass
23
- # and then run:
24
- # sass-convert -R --from scss --to sass sass scss && rm -rf sass && mv scss sass
@@ -1,14 +0,0 @@
1
- require 'FileUtils'
2
-
3
- directories = %w[javascripts stylesheets coffeescripts sass]
4
- files = %w[index.html config.rb]
5
-
6
- directories.each { |d| FileUtils.mkdir "./#{d}" unless File.directory? d }
7
- files.each { |f| FileUtils.touch "./#{f}" unless File.exists? f }
8
-
9
- compass_config = File.read "#{File.dirname(__FILE__)}/../shared/config/compass.rb"
10
- filename = "config.rb"
11
-
12
- if File.exists? filename
13
- File.open(filename, "w") { |f| f.write compass_config }
14
- end