my-simon 0.1.6 → 0.1.7
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/VERSION +1 -1
- data/bin/simon +4 -1
- data/lib/simon.rb +85 -9
- data/my-simon.gemspec +2 -2
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.7
|
data/bin/simon
CHANGED
@@ -46,9 +46,12 @@ command :add do |c|
|
|
46
46
|
# Do something or c.when_called My-simon::Commands::Add,
|
47
47
|
case args[0]
|
48
48
|
when 'heroku'
|
49
|
-
|
49
|
+
simon_controller.check_hidden
|
50
|
+
cmd = "svn export #{svn_path_heroku} ./ --quiet --force"
|
50
51
|
Kernel::system(cmd)
|
51
52
|
simon_controller.msg "installing heroku files"
|
53
|
+
when 'section'
|
54
|
+
simon_controller.add_section
|
52
55
|
end
|
53
56
|
end
|
54
57
|
end
|
data/lib/simon.rb
CHANGED
@@ -14,34 +14,110 @@ class Simon
|
|
14
14
|
puts "\n( ͡° ͜ʖ ͡°) --thank you"
|
15
15
|
end
|
16
16
|
|
17
|
+
def check_hidden
|
18
|
+
|
19
|
+
if File.exist?("./.simon")
|
20
|
+
true
|
21
|
+
else
|
22
|
+
self.msg "Error: Simon needs to be in the root of the project"
|
23
|
+
exit
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def make_hidden
|
28
|
+
outFile = File.new("./app/.simon", "w")
|
29
|
+
outFile.puts("Simon Added on #{Time.now.getutc}")
|
30
|
+
outFile.close
|
31
|
+
end
|
32
|
+
|
17
33
|
def setup
|
18
|
-
|
34
|
+
name_space = ask("Namespace [a-zA-Z0-9_] : ") { |q| q.echo = true }
|
19
35
|
|
20
36
|
@nms = Regexp.escape(name_space) # escape any special characters
|
21
37
|
# javascript
|
22
|
-
cmd = "find . -type f -name '*.js' -exec sed -i '' s/CHANGE_ME/#{@nms}/ {} +"
|
38
|
+
cmd = "find . -type f -name '*.js' -exec sed -i '' s/CHANGE_ME/#{@nms}/g {} +"
|
23
39
|
Kernel::system(cmd)
|
24
40
|
# php
|
25
|
-
cmd = "find . -type f -name '*.php' -exec sed -i '' s/CHANGE_ME/#{@nms}/ {} +"
|
41
|
+
cmd = "find . -type f -name '*.php' -exec sed -i '' s/CHANGE_ME/#{@nms}/g {} +"
|
26
42
|
Kernel::system(cmd)
|
27
43
|
# html
|
28
|
-
cmd = "find . -type f -name '*.html' -exec sed -i '' s/CHANGE_ME/#{@nms}/ {} +"
|
44
|
+
cmd = "find . -type f -name '*.html' -exec sed -i '' s/CHANGE_ME/#{@nms}/g {} +"
|
29
45
|
Kernel::system(cmd)
|
30
46
|
# tpl
|
31
|
-
cmd = "find . -type f -name '*.tpl' -exec sed -i '' s/CHANGE_ME/#{@nms}/ {} +"
|
47
|
+
cmd = "find . -type f -name '*.tpl' -exec sed -i '' s/CHANGE_ME/#{@nms}/g {} +"
|
32
48
|
Kernel::system(cmd)
|
33
49
|
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
choice = choose("Setup Local DB?", :yes, :now)
|
50
|
+
# Kernel::system(cmd)
|
51
|
+
choice = choose("Setup Local DB?", :yes, :no)
|
38
52
|
|
39
53
|
if choice === :yes
|
40
54
|
self.msg 'setting up Local DB'
|
41
55
|
end
|
42
56
|
|
43
57
|
self.msg 'Setup complete!'
|
58
|
+
self.make_hidden
|
44
59
|
self.complete
|
45
60
|
end
|
46
61
|
|
62
|
+
def add_section
|
63
|
+
self.check_hidden
|
64
|
+
name_space = ask("Namespace [a-zA-Z0-9_] : ") { |q| q.echo = true }
|
65
|
+
|
66
|
+
@section = name_space.gsub(/[^0-9A-Za-z-]/, '')
|
67
|
+
|
68
|
+
# controller
|
69
|
+
self.msg "#Adding section: #{@section}"
|
70
|
+
ctrl_startpoint = "./scaffolding/simon/controller.tpl"
|
71
|
+
ctrl_endpoint = "./www/lib/php/controller/#{@section}.php"
|
72
|
+
cmd = "cp #{ctrl_startpoint} #{ctrl_endpoint}"
|
73
|
+
Kernel::system(cmd);
|
74
|
+
self.replace_once(ctrl_endpoint, "%name%", @section)
|
75
|
+
self.msg "#{ctrl_endpoint} added"
|
76
|
+
|
77
|
+
# view
|
78
|
+
view_startpoint = "./scaffolding/simon/view.tpl";
|
79
|
+
view_endpoint = "./www/lib/php/view/#{@section}.php";
|
80
|
+
cmd = "cp #{view_startpoint} #{view_endpoint}";
|
81
|
+
Kernel::system(cmd);
|
82
|
+
self.msg "#{view_endpoint} added"
|
83
|
+
|
84
|
+
# javascript
|
85
|
+
@js_section = name_space.gsub(/[^0-9A-Za-z]/, '')
|
86
|
+
javascript_startpoint = "./scaffolding/standards/js_template.js";
|
87
|
+
javascript_endpoint = "./www/lib/js/#{@section}.js";
|
88
|
+
cmd = "cp #{javascript_startpoint} #{javascript_endpoint}"
|
89
|
+
Kernel::system( cmd );
|
90
|
+
self.replace_once(javascript_endpoint, "CLASS_NAME", @js_section);
|
91
|
+
self.replace_once("./www/lib/php/template/footer.php", "<!-- END: DEV javascript -->", "<script src=\"/lib/js/#{@section}.js\" type=\"text/javascript\" charset=\"utf-8\"></script>\n\t\t<!-- END: DEV javascript -->");
|
92
|
+
self.replace_once("./www/lib/js/master.js", "\*\/", "\* @depends #{@section}.js \n \*\/");
|
93
|
+
self.msg "#{javascript_endpoint} added"
|
94
|
+
|
95
|
+
# routes
|
96
|
+
routes = "./www/lib/php/system/config.routes.php";
|
97
|
+
self.replace_once(routes, "?>", "Router::add('/#{@section}', DIR_CTRL.'/#{@section}.php');\n ?>");
|
98
|
+
self.msg "#{routes} route added #{@section}"
|
99
|
+
|
100
|
+
|
101
|
+
# model
|
102
|
+
choice = choose("Add PHP Active Record Model?", :yes, :no)
|
103
|
+
|
104
|
+
if choice === :yes
|
105
|
+
model_startpoint = "./scaffolding/simon/model.tpl"
|
106
|
+
model_endpoint = "./www/lib/php/model/#{@section}.php"
|
107
|
+
cmd = "cp #{model_startpoint} #{model_endpoint}"
|
108
|
+
Kernel::system( cmd );
|
109
|
+
self.replace_once(model_endpoint, "%name%", @section)
|
110
|
+
self.msg "#{model_endpoint} added"
|
111
|
+
end
|
112
|
+
self.complete
|
113
|
+
|
114
|
+
|
115
|
+
end
|
116
|
+
|
117
|
+
def replace_once(file_name, search_string, replace_string)
|
118
|
+
text = File.read(file_name)
|
119
|
+
new_text = text.gsub(search_string, replace_string)
|
120
|
+
File.open(file_name, "w") {|file| file.puts new_text}
|
121
|
+
end
|
122
|
+
|
47
123
|
end
|
data/my-simon.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "my-simon"
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Aaron McGuire"]
|
12
|
-
s.date = "2013-02-
|
12
|
+
s.date = "2013-02-05"
|
13
13
|
s.description = "CLI tool for Simon, the simple PHP project boilerplate!"
|
14
14
|
s.email = "aaron.mcguire@evb.com"
|
15
15
|
s.executables = ["/simon"]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my-simon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: shoulda
|