aspen 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- YmY1MmJkZmFkODk3NzBjZjBkZWZjZTIxYjBkNzE5OWE5ZTM2ODA1Mg==
5
- data.tar.gz: !binary |-
6
- NWU3MjI4MTFjNmMxMTgyMmQ3ZjllZWJlM2FjNTFjYTI5ODkwNjgzYQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NDRkYjM0YjBjMjA0NTBjYjE5NWQ4MzljMWRiNTFlYzM4ZGFiMTZhMjc5ZDJi
10
- MmU5ZWY0ZTE1NDY5OTUzNTM0Njk1NjJhM2M1ZmZjOTEzMGM1NTI5YjUwZjcy
11
- YzYzN2Q2MmZiYTlhYTU0MjQ4MmE1ODJmM2YyYzczMTMwNDJhYWI=
12
- data.tar.gz: !binary |-
13
- ODdiNGE3MTNmYTczYzRmNWYyZGM5NzcwMGE1MGVmYzhmMDVjOTE2NDAzNWM5
14
- ODI5MzY1YmFmNjA3MjA0MjU0NTNmMjk0MjI1OTUzNzQ4OTlmNGU1NmU5MGI0
15
- MzYxZjdkZDU2ODNkZmJhYmY1ZWM3ZjdiZjdkYmM3MDYzZmFiZWM=
2
+ SHA1:
3
+ metadata.gz: e7b81d14f098e2f0f6fdeccc1fbd4c405b2c24d2
4
+ data.tar.gz: 99c0b80ca9254e9cd31bda64e6a6ac68e11bda0d
5
+ SHA512:
6
+ metadata.gz: 046e140dc73f9d7e465f1d4102365efdcb17e4401eed1e454b1a1a14a10868d9942ba7e994bd90f2b9248203dd7bc7439061d1e07e8dce0a93562ace5f3cc529
7
+ data.tar.gz: 028a782c70bd53ad0c0e57ab67aaa9fd33b5c689adc0870d385ec7d2c8bcc240d310743b2a07e956785e11bfa1e01b2bf93ebc0146b2ec3e202cbdcbc413c918
@@ -4,7 +4,7 @@ require 'pry'
4
4
  require 'git'
5
5
  require 'trollop'
6
6
 
7
- AspenRoot = File.expand_path(File.dirname(__FILE__)).gsub("/config", "")
7
+ AspenRoot = File.expand_path('../', File.dirname(__FILE__))#.gsub("/config", "")
8
8
 
9
9
  def get_reqs(current_dir)
10
10
  Dir.foreach(current_dir) do |file|
data/lib/aspen.rb CHANGED
@@ -36,7 +36,7 @@ EOS
36
36
  def self.run
37
37
  @@root_name = sterilize_project_name(@@args.leftovers)
38
38
  load_template
39
- @@directories = AspenTemplate.tree(TEMPLATE)
39
+ @@directories = AspenTemplate.tree(TEMPLATE, "#{AspenRoot}/lib/templates/#{@@opts[:template]}")
40
40
  project_init
41
41
  end
42
42
 
@@ -61,11 +61,12 @@ EOS
61
61
 
62
62
  def self.load_template
63
63
  if @@opts[:template] == nil
64
- require_relative "#{AspenRoot}/lib/templates/default.rb"
64
+ @@opts[:template] = "default"
65
+ require_relative "#{AspenRoot}/lib/templates/default/template.rb"
65
66
  else
66
67
  Dir.foreach("#{AspenRoot}/lib/templates") do |file|
67
68
  if file.start_with?("#{@@opts[:template].downcase.strip}")
68
- require_relative "#{AspenRoot}/lib/templates/#{file}"
69
+ require_relative "#{AspenRoot}/lib/templates/#{file}/template.rb"
69
70
  break
70
71
  end
71
72
  end
@@ -79,19 +80,21 @@ EOS
79
80
  def self.project_init
80
81
  directory_init
81
82
  rspec_init
82
- make_files if @@opts[:template] == nil || @@opts[:template] == "default"
83
+ make_files # if @@opts[:template] == nil || @@opts[:template] == "default"
83
84
  successful_creation
84
85
  write_to_files
85
86
  process_flags
86
87
  end
87
88
 
88
89
  def self.directory_init
89
- self.directories.each {|dir| FileUtils.mkdir_p("#{@@root_name}#{dir}", :verbose => true)}
90
+ self.directories.each do |dir|
91
+ FileUtils.mkdir_p("#{@@root_name}#{dir}", :verbose => true)
92
+ end
90
93
  end
91
94
 
92
95
  def self.make_files
93
96
  FileUtils.touch("#{@@root_name}/README.md")
94
- FileUtils.touch("#{@@root_name}/config/environment.rb")
97
+ AspenFile.all.each {|af| af.create("#{@@root_name}") }
95
98
  end
96
99
 
97
100
  def self.write_to_files
data/lib/aspen_file.rb ADDED
@@ -0,0 +1,29 @@
1
+ require_relative '../config/environment'
2
+
3
+ class AspenFile
4
+
5
+ attr_reader :direc, :file, :templ
6
+
7
+ @@all = []
8
+
9
+ def self.all
10
+ @@all
11
+ end
12
+
13
+ def initialize(templ, direc, file)
14
+ @templ = templ
15
+ if direc.length != 0
16
+ @direc = direc + "/"
17
+ else
18
+ @direc = ""
19
+ end
20
+ @file = file
21
+ @@all << self
22
+ end
23
+
24
+ def create(root)
25
+ FileUtils.cp("#{self.templ}/#{self.file[0]}", "#{root}#{self.direc}#{self.file[0]}")
26
+ puts " create #{self.direc}#{self.file[0]}"
27
+ end
28
+
29
+ end
@@ -1,19 +1,23 @@
1
+ require_relative '../config/environment'
2
+
1
3
  class AspenTemplate
2
4
 
3
- def self.tree(hash)
4
- self.tree_gen(hash).flatten.unshift("")
5
+ def self.tree(hash, direc)
6
+ @@direc = direc
7
+ self.tree_gen(hash).flatten.unshift("").uniq
5
8
  end
6
9
 
7
-
8
10
  def self.tree_gen(hash, root="")
9
11
  folders_array = hash.collect do |key, value|
10
12
  if value.size == 0
11
13
  "#{root}/#{key}"
14
+ elsif value.is_a?(Array)
15
+ AspenFile.new(@@direc, "#{root}", value)
16
+ "#{root}"
12
17
  else
13
18
  self.tree_gen(value, "#{root}/#{key}")
14
19
  end
15
20
  end
16
21
  end
17
22
 
18
-
19
23
  end
@@ -0,0 +1,18 @@
1
+ RootFolder = File.expand_path(File.dirname(__FILE__)).gsub('/config', '')
2
+
3
+ def get_reqs(current_dir)
4
+ Dir.foreach(current_dir) do |file|
5
+ next if file.start_with?('.') || file.start_with?('environment.rb') || file.end_with?('spec.rb') # add additional filters here for files you don't want included
6
+ if File.directory?(current_dir + '/' + file)
7
+ next if file.start_with?('templates')
8
+ get_reqs(current_dir+ '/' + file)
9
+ else
10
+ require_relative (current_dir + '/' + file) if file.end_with?('.rb')
11
+ end
12
+ end
13
+ end
14
+
15
+ Dir.foreach(RootFolder) do |file|
16
+ next if file.start_with?('.')
17
+ get_reqs(RootFolder + '/' + file) if File.directory?(RootFolder + '/' + file)
18
+ end
@@ -0,0 +1,9 @@
1
+ TEMPLATE = {
2
+ :bin => {},
3
+ :config => {:file1 => ["environment.rb"]},
4
+ :lib => {
5
+ :models => {
6
+ :concerns => {}
7
+ },
8
+ }
9
+ }
File without changes
@@ -0,0 +1,8 @@
1
+ require 'sinatra'
2
+
3
+ class YourApp < Sinatra::Base
4
+
5
+ get '/' do
6
+ end
7
+
8
+ end
@@ -0,0 +1,2 @@
1
+ require './app'
2
+ run YourApp
@@ -0,0 +1,7 @@
1
+ TEMPLATE = {
2
+ :models => {},
3
+ :public => {},
4
+ :views => {},
5
+ :file1 => ["app.rb"],
6
+ :file2 => ["config.ru"]
7
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aspen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Logan Hasson
@@ -17,42 +17,42 @@ dependencies:
17
17
  name: rspec
18
18
  requirement: !ruby/object:Gem::Requirement
19
19
  requirements:
20
- - - ! '>='
20
+ - - '>='
21
21
  - !ruby/object:Gem::Version
22
22
  version: '0'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
- - - ! '>='
27
+ - - '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: git
32
32
  requirement: !ruby/object:Gem::Requirement
33
33
  requirements:
34
- - - ! '>='
34
+ - - '>='
35
35
  - !ruby/object:Gem::Version
36
36
  version: '0'
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
- - - ! '>='
41
+ - - '>='
42
42
  - !ruby/object:Gem::Version
43
43
  version: '0'
44
44
  - !ruby/object:Gem::Dependency
45
45
  name: trollop
46
46
  requirement: !ruby/object:Gem::Requirement
47
47
  requirements:
48
- - - ! '>='
48
+ - - '>='
49
49
  - !ruby/object:Gem::Version
50
50
  version: '0'
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
54
54
  requirements:
55
- - - ! '>='
55
+ - - '>='
56
56
  - !ruby/object:Gem::Version
57
57
  version: '0'
58
58
  description: Sets up a directory tree for coding projects based on customizable templates
@@ -66,9 +66,14 @@ files:
66
66
  - bin/aspen
67
67
  - config/environment.rb
68
68
  - lib/aspen.rb
69
+ - lib/aspen_file.rb
69
70
  - lib/aspen_template.rb
70
- - lib/templates/default.rb
71
- - lib/templates/hello.rb
71
+ - lib/templates/default/environment.rb
72
+ - lib/templates/default/template.rb
73
+ - lib/templates/hello/template.rb
74
+ - lib/templates/sinatra/app.rb
75
+ - lib/templates/sinatra/config.ru
76
+ - lib/templates/sinatra/template.rb
72
77
  homepage: http://rubygems.org/gems/aspen
73
78
  licenses:
74
79
  - MIT
@@ -79,17 +84,17 @@ require_paths:
79
84
  - lib
80
85
  required_ruby_version: !ruby/object:Gem::Requirement
81
86
  requirements:
82
- - - ! '>='
87
+ - - '>='
83
88
  - !ruby/object:Gem::Version
84
89
  version: '0'
85
90
  required_rubygems_version: !ruby/object:Gem::Requirement
86
91
  requirements:
87
- - - ! '>='
92
+ - - '>='
88
93
  - !ruby/object:Gem::Version
89
94
  version: '0'
90
95
  requirements: []
91
96
  rubyforge_project:
92
- rubygems_version: 2.0.7
97
+ rubygems_version: 2.0.6
93
98
  signing_key:
94
99
  specification_version: 4
95
100
  summary: aspen gem
@@ -1,8 +0,0 @@
1
- TEMPLATE = {
2
- :bin => {},
3
- :config => {},
4
- :lib => {
5
- :models => {},
6
- :concerns => {}
7
- }
8
- }