aetherg 0.3.3 → 0.3.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 +4 -4
- data/aetherg.gemspec +21 -0
- data/lib/aetherg.rb +0 -1
- data/lib/aetherg/aetherg.rb +16 -8
- data/lib/aetherg/array.rb +9 -0
- data/lib/aetherg/string.rb +13 -2
- data/lib/aetherg/version.rb +2 -2
- data/lib/templates/app/views/layouts/application.erb +1 -1
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f8c32d788d2d204866503b3f3e867c271b1c310
|
4
|
+
data.tar.gz: a3a783e3ba09742a4f826c3546447c6faf758518
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aaefb371de1e92c5ab0edd28840f0478b1cd9d9e6e76a5f308dc26257ce61ef9c708af20b333185b6f0a32397bb24adf8356eed7ebb36d208aa297324c8feed7
|
7
|
+
data.tar.gz: 9a55f873b505ae27df75b4617392c363ea619d660996e066cf7e73700b984a8415c34fd9ee7b79e296b7a638a06e4f5591d3204d06ab0e74609b84de4deea0d1
|
data/aetherg.gemspec
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
Gem::Specification.new do |s|
|
2
|
+
s.name = 'aetherg'
|
3
|
+
s.version = '0.3.4'
|
4
|
+
s.date = '2017-03-24'
|
5
|
+
s.summary = "Aetherg (Aether Generator) is a generator of sinatra app."
|
6
|
+
s.description = "Aetherg (Aether Generator) is a sinatra based App generator. Light-weight for API service or full-stack Web apps"
|
7
|
+
s.authors = ["Allen Chan"]
|
8
|
+
s.email = 'chenillen@gmail.com'
|
9
|
+
s.extra_rdoc_files = [
|
10
|
+
"LICENSE",
|
11
|
+
"README.md"
|
12
|
+
]
|
13
|
+
s.files = Dir['**/*'].keep_if { |file| File.file?(file) }
|
14
|
+
s.require_paths = ["lib"]
|
15
|
+
s.bindir = 'bin'
|
16
|
+
s.executables = ['aetherg']
|
17
|
+
s.add_runtime_dependency('thor', '~> 0.19')
|
18
|
+
s.required_ruby_version = '>= 1.9.3'
|
19
|
+
s.homepage = 'https://github.com/chenillen/aetherg'
|
20
|
+
s.license = 'MIT'
|
21
|
+
end
|
data/lib/aetherg.rb
CHANGED
data/lib/aetherg/aetherg.rb
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
+
require File.expand_path('../array', __FILE__)
|
2
|
+
require File.expand_path('../string', __FILE__)
|
3
|
+
|
1
4
|
module Aetherg
|
2
5
|
class Generator < Thor::Group
|
3
6
|
include Thor::Actions
|
@@ -5,17 +8,21 @@ module Aetherg
|
|
5
8
|
desc "Create a new sinatra application with aetherg"
|
6
9
|
argument :name, type: :string, desc: "What's the name of your application"
|
7
10
|
class_option :database, aliases: "-d", default: "mysql", desc: "The type of database to use, sqlite, mysql, postgresql supported"
|
8
|
-
class_option :no_database, type: :boolean, desc: "Exclude all database configuration files"
|
9
|
-
class_option :
|
10
|
-
class_option :no_views, type: :boolean, desc: "Disable
|
11
|
+
class_option :no_database, aliases: '-D', type: :boolean, default: false, desc: "Exclude all database configuration files"
|
12
|
+
class_option :no_redis, aliases: '-R', type: :boolean, default: false, desc: "Include Redis configuration"
|
13
|
+
class_option :no_views, aliases: '-V', type: :boolean, default: false, desc: "Disable views, will not generate views of the project"
|
11
14
|
|
12
15
|
# Creates instance variables from options passed to Aether
|
13
16
|
|
14
17
|
def setup
|
15
18
|
@name = @app_path = name.filename
|
16
|
-
options.each do |key, value|
|
17
|
-
|
18
|
-
end
|
19
|
+
# options.each do |key, value|
|
20
|
+
# instance_variable_set "@#{key.to_s}".to_sym, value
|
21
|
+
# end
|
22
|
+
@database = options[:database]
|
23
|
+
options[:no_database]? @no_database = true : @no_database = false
|
24
|
+
options[:no_redis]? @no_redis = true : @no_redis = false
|
25
|
+
options[:no_views]? @no_views = true : @no_views = false
|
19
26
|
end
|
20
27
|
|
21
28
|
def self.source_root
|
@@ -40,7 +47,7 @@ module Aetherg
|
|
40
47
|
|
41
48
|
def create_views_layout
|
42
49
|
unless @no_views
|
43
|
-
|
50
|
+
copy_file "app/views/layouts/application.erb", File.join(@app_path, "/app/views/layouts/application.erb")
|
44
51
|
end
|
45
52
|
end
|
46
53
|
|
@@ -86,7 +93,7 @@ module Aetherg
|
|
86
93
|
end
|
87
94
|
|
88
95
|
def create_redis_config_and_initializer
|
89
|
-
|
96
|
+
unless @no_redis
|
90
97
|
copy_file("config/redis.yml", File.join(@app_path, "config/redis.yml"))
|
91
98
|
template("config/initializers/redis.rb", File.join(@app_path, "config/initializers/redis.rb"))
|
92
99
|
end
|
@@ -111,6 +118,7 @@ module Aetherg
|
|
111
118
|
create_file File.join(@app_path, "lib", ".keep")
|
112
119
|
create_file File.join(@app_path, "db", "migrate", ".keep")
|
113
120
|
create_file File.join(@app_path, "public", ".keep") unless @no_views
|
121
|
+
create_file File.join(@app_path, "public", "favicon.ico") unless @no_views
|
114
122
|
end
|
115
123
|
end
|
116
124
|
end
|
data/lib/aetherg/string.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
module
|
1
|
+
module Aetherg
|
2
2
|
module String
|
3
3
|
def camelcase
|
4
4
|
return self.gsub(/^./) { |l| l.capitalize } if !match(/[_-]/)
|
@@ -28,7 +28,18 @@ module Aether
|
|
28
28
|
def filename!
|
29
29
|
self.replace file_name
|
30
30
|
end
|
31
|
+
|
32
|
+
def present?
|
33
|
+
!self.nil? && !self.empty?
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
module Array
|
38
|
+
def present?
|
39
|
+
!self.nil? && !self.empty?
|
40
|
+
end
|
31
41
|
end
|
32
42
|
end
|
33
43
|
|
34
|
-
String.send(:include,
|
44
|
+
String.send(:include, Aetherg::String)
|
45
|
+
Array.send(:include, Aetherg::Array)
|
data/lib/aetherg/version.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
<meta charset="utf-8">
|
5
5
|
<meta http-equiv=X-UA-Compatible content="Chrome=1,IE=edge">
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no, maximum-scale=1">
|
7
|
-
<title
|
7
|
+
<title></title>
|
8
8
|
|
9
9
|
<meta name="keywords" content="">
|
10
10
|
<meta name="description" content="">
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aetherg
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Allen Chan
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -39,9 +39,11 @@ files:
|
|
39
39
|
- LICENSE
|
40
40
|
- README.md
|
41
41
|
- VERSION
|
42
|
+
- aetherg.gemspec
|
42
43
|
- bin/aetherg
|
43
44
|
- lib/aetherg.rb
|
44
45
|
- lib/aetherg/aetherg.rb
|
46
|
+
- lib/aetherg/array.rb
|
45
47
|
- lib/aetherg/string.rb
|
46
48
|
- lib/aetherg/version.rb
|
47
49
|
- lib/templates/Gemfile
|
@@ -82,7 +84,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
82
84
|
version: '0'
|
83
85
|
requirements: []
|
84
86
|
rubyforge_project:
|
85
|
-
rubygems_version: 2.6.
|
87
|
+
rubygems_version: 2.6.8
|
86
88
|
signing_key:
|
87
89
|
specification_version: 4
|
88
90
|
summary: Aetherg (Aether Generator) is a generator of sinatra app.
|