ptero 1.0.3 → 1.0.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/README.md +6 -4
- data/lib/ptero/application.rb +40 -4
- data/lib/ptero/cli/root.rb +14 -2
- data/lib/ptero/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d4792a46c456252b457597f5c0a6ff05d3937d1
|
4
|
+
data.tar.gz: 922fcf8074aa76113104c1d07d4140bcef12a43c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 50fabbb8af36688eab64319d0ce8bbdb4b1d3188e14be69539b33ddbc1a56eafb917a5f3f00e8560a6aab70735cd5566f32515db07c0ca36fb2fb47a15f53a71
|
7
|
+
data.tar.gz: b453ce63d1b3e6b2a456cbc23b7fbff9b1d8a7ed5eb99045d4dd28099022b427d9a99c705df9e74b3748e4a3a8d25289e3d0bff61770f32d9400445717cdc871
|
data/README.md
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
Ptero [](http://badge.fury.io/rb/ptero)
|
2
|
+
=====
|
3
|
+
|
2
4
|
Ptero is a fast and flexible model-view-controller framework for PHP. It allows you to generate models, views, controllers, and routes instantly over the command-line and automatically provides a strong, clean structure for running web apps.
|
3
5
|
|
4
6
|
Think wearing a giant robot exo-skeleton with lasers and missile launchers while crushing the puny challenges of archaic PHP in a two-hour-long feature film directed by Michael Bay. It's that good.
|
@@ -15,11 +17,11 @@ Features include:
|
|
15
17
|
|
16
18
|
### It takes care of the bad stuff
|
17
19
|
Don't worry about:
|
18
|
-
*
|
20
|
+
* PHP syntax errors
|
19
21
|
* copy-pasting or otherwise repeating code
|
20
22
|
* SQL, SQL injection, escaping strings, etc
|
21
|
-
* URLs
|
22
|
-
*
|
23
|
+
* Confusing URLs and query strings
|
24
|
+
* Frustrating design or structural problems
|
23
25
|
|
24
26
|
### How do I do it?
|
25
27
|
To start using Ptero, make sure your PHP command-line tool is up-to-date, then run the following:
|
data/lib/ptero/application.rb
CHANGED
@@ -43,12 +43,22 @@ module Ptero
|
|
43
43
|
Dir.chdir @dir do
|
44
44
|
# Download code from the composer website
|
45
45
|
# https://getcomposer.org
|
46
|
-
|
46
|
+
command = "php -r \"readfile('https://getcomposer.org/installer');\" | php"
|
47
|
+
Open3.popen2(command,{:err => [:child, :out]}) do |stdin,stdout,wait_thr|
|
47
48
|
print 'Downloading composer'
|
49
|
+
output = ''
|
48
50
|
stdout.each_line do |line|
|
51
|
+
output << line
|
49
52
|
print '.'
|
50
53
|
end
|
54
|
+
exit_status = wait_thr.value
|
55
|
+
|
51
56
|
puts
|
57
|
+
|
58
|
+
unless exit_status.success?
|
59
|
+
raise Ptero::Exception::ApplicationException, "Could not install Composer in Application #{self.dir} with command `#{command}`. Output was: \"#{output.chomp}\""
|
60
|
+
end
|
61
|
+
|
52
62
|
puts 'Done!'
|
53
63
|
end
|
54
64
|
end
|
@@ -77,15 +87,26 @@ module Ptero
|
|
77
87
|
def install_dependencies
|
78
88
|
raise Ptero::Exception::ApplicationException, "Not a dinosaur root: #{Dir.pwd}" unless verify
|
79
89
|
raise Ptero::Exception::ApplicationException, "PHP command-line tool failed, update your version of PHP" unless test_php
|
90
|
+
# get_composer unless has_composer?
|
80
91
|
Dir.chdir @dir do
|
81
92
|
# Install dependencies using Composer
|
82
93
|
# https://getcomposer.org
|
83
|
-
|
94
|
+
command = 'php composer.phar install'
|
95
|
+
Open3.popen2(command,{:err => [:child, :out]}) do |stdin,stdout,wait_thr|
|
84
96
|
print 'Installing dependencies'
|
97
|
+
output = ''
|
85
98
|
stdout.each_line do |line|
|
99
|
+
output << line
|
86
100
|
print '.'
|
87
101
|
end
|
102
|
+
|
103
|
+
exit_status = wait_thr.value
|
104
|
+
|
88
105
|
puts
|
106
|
+
|
107
|
+
unless exit_status.success?
|
108
|
+
raise Ptero::Exception::ApplicationException, "Could not install dependencies in Application #{self.dir} with command `#{command}`. Output was: \"#{output.chomp}\""
|
109
|
+
end
|
89
110
|
puts 'Done!'
|
90
111
|
end
|
91
112
|
end
|
@@ -98,11 +119,26 @@ module Ptero
|
|
98
119
|
def update_dependencies
|
99
120
|
raise Ptero::Exception::ApplicationException, "Not a dinosaur root: #{Dir.pwd}" unless verify
|
100
121
|
raise Ptero::Exception::ApplicationException, "PHP command-line tool failed, update your version of PHP" unless test_php
|
122
|
+
get_composer unless has_composer?
|
101
123
|
Dir.chdir @dir do
|
102
124
|
# Update dependencies using Composer
|
103
125
|
# https://getcomposer.org
|
104
|
-
|
105
|
-
|
126
|
+
command = 'php composer.phar update'
|
127
|
+
Open3.popen2(command,{:err => [:child, :out]}) do |stdin,stdout,wait_thr|
|
128
|
+
print 'Updating dependencies'
|
129
|
+
output = ''
|
130
|
+
stdout.each_line do |line|
|
131
|
+
output << line
|
132
|
+
print '.'
|
133
|
+
end
|
134
|
+
exit_status = wait_thr.value
|
135
|
+
puts
|
136
|
+
|
137
|
+
unless exit_status.success?
|
138
|
+
raise Ptero::Exception::ApplicationException, "Could not update dependencies in Application #{self.dir} with command `#{command}`. Output was: \"#{output.chomp}\""
|
139
|
+
end
|
140
|
+
|
141
|
+
puts 'Done!'
|
106
142
|
end
|
107
143
|
end
|
108
144
|
self
|
data/lib/ptero/cli/root.rb
CHANGED
@@ -30,7 +30,7 @@ class Ptero::CLI::Root < Ptero::CLI
|
|
30
30
|
composer()
|
31
31
|
install()
|
32
32
|
end
|
33
|
-
puts "Change your working directory to '#{Dir.pwd}/#{name}' and
|
33
|
+
puts "Change your working directory to '#{Dir.pwd}/#{name}' and start generating files with 'ptero generate' to start your application"
|
34
34
|
end
|
35
35
|
|
36
36
|
desc 'seed NAME', 'Seed a new application'
|
@@ -166,7 +166,7 @@ class Ptero::CLI::Root < Ptero::CLI
|
|
166
166
|
|
167
167
|
desc 'install', 'Install dependencies'
|
168
168
|
long_desc <<-LONGDESC
|
169
|
-
Use the composer.json file to install dependencies
|
169
|
+
Use the composer.json file to install dependencies. Install Composer if it is not already downloaded.
|
170
170
|
LONGDESC
|
171
171
|
# Call the appropriate Application methods on the current Application to install Composer dependencies.
|
172
172
|
# If verify returns false, install quits with the ptero_dir_message text
|
@@ -176,6 +176,18 @@ class Ptero::CLI::Root < Ptero::CLI
|
|
176
176
|
end
|
177
177
|
end
|
178
178
|
|
179
|
+
desc 'update', 'Update dependencies'
|
180
|
+
long_desc <<-LONGDESC
|
181
|
+
Use the composer.json file to update dependencies. Install Composer if it is not already downloaded.
|
182
|
+
LONGDESC
|
183
|
+
# Call the appropriate Application methods to update Composer dependencies.
|
184
|
+
# If verify returns false, install quits with the ptero_dir_message text
|
185
|
+
def update
|
186
|
+
verify do
|
187
|
+
app.update_dependencies
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
179
191
|
desc 'composer', 'Download composer.phar'
|
180
192
|
long_desc <<-LONGDESC
|
181
193
|
Download the compser.phar file in order to facilitate future downloads
|
data/lib/ptero/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ptero
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- LuminousRubyist
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-01-
|
11
|
+
date: 2015-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|