aspen 0.2.3 → 0.2.4

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.
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
- }