phoenix_core 0.2.0.beta → 0.2.1.beta
Sign up to get free protection for your applications and to get access to all the features.
- data/app/assets/stylesheets/bootstrap.css +0 -17
- data/app/assets/stylesheets/phoenix.css +237 -0
- data/app/views/phoenix/layouts/application.html.erb +19 -0
- data/app/views/phoenix/layouts/site.html.erb +19 -0
- data/app/views/phoenix/shared/_footer.html.erb +12 -0
- data/app/views/phoenix/shared/_head.html.erb +8 -0
- data/app/views/phoenix/shared/_header.html.erb +3 -0
- data/config/locals/phoenix/en.yml +6 -1
- data/lib/generators/phoenix/app/app_generator.rb +2 -2
- data/lib/generators/phoenix/dummy/dummy_generator.rb +4 -6
- data/lib/generators/phoenix/dummy/templates/rails/application.rb +5 -1
- data/lib/generators/phoenix/dummy/templates/rails/mongoid.yml +20 -0
- data/lib/generators/phoenix/dummy/templates/rails/routes.rb +1 -1
- data/lib/generators/phoenix/extension/templates/app/views/phoenix/plural_name/admin/plural_name/_actions.html.erb +5 -5
- data/lib/generators/phoenix/extension/templates/app/views/phoenix/plural_name/admin/plural_name/_form.html.erb +7 -7
- data/lib/generators/phoenix/extension/templates/app/views/phoenix/plural_name/admin/plural_name/_records.html.erb +2 -2
- data/lib/generators/phoenix/extension/templates/app/views/phoenix/plural_name/admin/plural_name/_singular_name.html.erb +4 -4
- data/lib/generators/phoenix/extension/templates/app/views/phoenix/plural_name/admin/plural_name/_sortable_list.html.erb +1 -1
- data/lib/generators/phoenix/extension/templates/app/views/phoenix/plural_name/admin/plural_name/index.html.erb +1 -1
- data/lib/generators/phoenix/extension/templates/app/views/phoenix/plural_name/plural_name/index.html.erb +2 -2
- data/lib/generators/phoenix/extension/templates/app/views/phoenix/plural_name/plural_name/show.html.erb +2 -2
- data/lib/generators/phoenix/extension/templates/lib/generators/phoenix/plural_name_generator.rb +1 -1
- data/lib/generators/phoenix/extension/templates/lib/phoenix/plural_name.rb +4 -4
- data/lib/generators/phoenix/extension/templates/lib/phoenix/plural_name/engine.rb +6 -6
- data/lib/generators/phoenix/extension/templates/lib/phoenix_plural_name.rb +1 -1
- data/lib/generators/phoenix/extension/templates/spec/requests/phoenix/admin/plural_name_spec.rb +6 -6
- data/lib/phoenix/core.rb +109 -1
- data/lib/phoenix/core/url_helpers.rb +7 -0
- data/lib/phoenix/plugins.rb +65 -0
- data/lib/phoenix/version.rb +1 -1
- metadata +26 -65
- data/app/assets/stylesheets/global.css +0 -24
- data/app/assets/stylesheets/landing.css +0 -1
- data/app/views/phoenix/layouts/phoenix_core/application.html.erb +0 -14
@@ -608,18 +608,6 @@ textarea {
|
|
608
608
|
font-weight: normal;
|
609
609
|
line-height: normal;
|
610
610
|
}
|
611
|
-
label {
|
612
|
-
padding-top: 6px;
|
613
|
-
font-size: 13px;
|
614
|
-
line-height: 18px;
|
615
|
-
float: left;
|
616
|
-
width: 130px;
|
617
|
-
text-align: right;
|
618
|
-
color: #404040;
|
619
|
-
}
|
620
|
-
form .input {
|
621
|
-
margin-left: 150px;
|
622
|
-
}
|
623
611
|
input[type=checkbox], input[type=radio] {
|
624
612
|
cursor: pointer;
|
625
613
|
}
|
@@ -1785,11 +1773,6 @@ a.menu:after, .dropdown-toggle:after {
|
|
1785
1773
|
font-weight: 200;
|
1786
1774
|
line-height: 27px;
|
1787
1775
|
}
|
1788
|
-
footer {
|
1789
|
-
margin-top: 17px;
|
1790
|
-
padding-top: 17px;
|
1791
|
-
border-top: 1px solid #eee;
|
1792
|
-
}
|
1793
1776
|
.page-header {
|
1794
1777
|
margin-bottom: 17px;
|
1795
1778
|
border-bottom: 1px solid #ddd;
|
@@ -0,0 +1,237 @@
|
|
1
|
+
/* Common Styles
|
2
|
+
* ----------------------------------------------------- */
|
3
|
+
.grey {
|
4
|
+
color: #666;
|
5
|
+
}
|
6
|
+
.cf:before, .cf:after {
|
7
|
+
display: table;
|
8
|
+
content: "";
|
9
|
+
zoom: 1;
|
10
|
+
}
|
11
|
+
.cf:after {
|
12
|
+
clear: both;
|
13
|
+
}
|
14
|
+
|
15
|
+
/* Layout
|
16
|
+
* ----------------------------------------------------- */
|
17
|
+
#wrapper {
|
18
|
+
}
|
19
|
+
header {
|
20
|
+
background: #444;
|
21
|
+
padding: 20px;
|
22
|
+
color: #fff;
|
23
|
+
font-size: 2em;
|
24
|
+
font-weight: 700;
|
25
|
+
font-family: Courier;
|
26
|
+
}
|
27
|
+
#header {
|
28
|
+
width: 980px; margin: 0 auto;
|
29
|
+
}
|
30
|
+
#body {
|
31
|
+
}
|
32
|
+
#main {
|
33
|
+
width: 980px;
|
34
|
+
margin: 0 auto;
|
35
|
+
padding: 50px 0px;
|
36
|
+
}
|
37
|
+
footer {
|
38
|
+
margin-top: 15px;
|
39
|
+
padding-top: 15px;
|
40
|
+
border-top: 1px solid #eee;
|
41
|
+
}
|
42
|
+
#footer {
|
43
|
+
width: 980px; margin: 0 auto;
|
44
|
+
}
|
45
|
+
#ft-links {
|
46
|
+
list-style: none;
|
47
|
+
margin: 0;
|
48
|
+
padding: 0;
|
49
|
+
}
|
50
|
+
#ft-links li {
|
51
|
+
float: left;
|
52
|
+
margin-right: 16px;
|
53
|
+
}
|
54
|
+
|
55
|
+
/* Form
|
56
|
+
* ----------------------------------------------------- */
|
57
|
+
.form-wrapper {
|
58
|
+
}
|
59
|
+
.form-wrapper .field {
|
60
|
+
margin-bottom: 10px;
|
61
|
+
}
|
62
|
+
.input-wrapper {
|
63
|
+
position: relative;
|
64
|
+
}
|
65
|
+
.input-wrapper .input-placeholder {
|
66
|
+
position: absolute;
|
67
|
+
color: #999;
|
68
|
+
padding: 5px 6px;
|
69
|
+
top: 0;
|
70
|
+
left: 0;
|
71
|
+
text-align: left;
|
72
|
+
}
|
73
|
+
|
74
|
+
/* Pages: Register
|
75
|
+
* ----------------------------------------------------- */
|
76
|
+
#register {
|
77
|
+
width: 300px;
|
78
|
+
background: #f9f9f9 url(/assets/noise.png);
|
79
|
+
padding: 20px 30px;
|
80
|
+
border: 1px solid #ddd;
|
81
|
+
border-radius: 3px;
|
82
|
+
box-shadow: 0px 0px 8px #ccc;
|
83
|
+
}
|
84
|
+
|
85
|
+
/* Pages: Login
|
86
|
+
* ----------------------------------------------------- */
|
87
|
+
#login {
|
88
|
+
width: 300px;
|
89
|
+
background: #f9f9f9 url(/assets/noise.png);
|
90
|
+
padding: 20px 30px;
|
91
|
+
border: 1px solid #ddd;
|
92
|
+
border-radius: 3px;
|
93
|
+
box-shadow: 0px 0px 8px #ccc;
|
94
|
+
}
|
95
|
+
|
96
|
+
/* Pages: Find Password
|
97
|
+
* ----------------------------------------------------- */
|
98
|
+
#find-password {
|
99
|
+
width: 300px;
|
100
|
+
background: #f9f9f9 url(/assets/noise.png);
|
101
|
+
padding: 20px 30px;
|
102
|
+
border: 1px solid #ddd;
|
103
|
+
border-radius: 3px;
|
104
|
+
box-shadow: 0px 0px 8px #ccc;
|
105
|
+
}
|
106
|
+
|
107
|
+
/* Page: Change password
|
108
|
+
* ----------------------------------------------------- */
|
109
|
+
#change-password {
|
110
|
+
width: 300px;
|
111
|
+
background: #f9f9f9 url(/assets/noise.png);
|
112
|
+
padding: 20px 30px;
|
113
|
+
border: 1px solid #ddd;
|
114
|
+
border-radius: 3px;
|
115
|
+
box-shadow: 0px 0px 8px #ccc;
|
116
|
+
}
|
117
|
+
|
118
|
+
/* Page: Profile
|
119
|
+
* ----------------------------------------------------- */
|
120
|
+
#profile {
|
121
|
+
width: 400px;
|
122
|
+
background: #f9f9f9 url(/assets/noise.png);
|
123
|
+
padding: 20px 30px;
|
124
|
+
border: 1px solid #ddd;
|
125
|
+
border-radius: 3px;
|
126
|
+
box-shadow: 0px 0px 8px #ccc;
|
127
|
+
}
|
128
|
+
#profile-content {
|
129
|
+
line-height: 1.8;
|
130
|
+
list-style: none;
|
131
|
+
margin: 0;
|
132
|
+
padding: 0;
|
133
|
+
}
|
134
|
+
#profile-content .photo {
|
135
|
+
float: left; border: 1px solid #ddd; margin: 0 10px 10px 0;
|
136
|
+
}
|
137
|
+
#profile-content .name{
|
138
|
+
font-size: 1.2em; font-weight: 700;
|
139
|
+
}
|
140
|
+
#profile-content .bio{
|
141
|
+
color: #888;
|
142
|
+
}
|
143
|
+
|
144
|
+
/* Page: Edit Profile
|
145
|
+
* ----------------------------------------------------- */
|
146
|
+
#edit-profile {
|
147
|
+
width: 400px;
|
148
|
+
background: #f9f9f9 url(/assets/noise.png);
|
149
|
+
padding: 20px 30px;
|
150
|
+
border: 1px solid #ddd;
|
151
|
+
border-radius: 3px;
|
152
|
+
box-shadow: 0px 0px 8px #ccc;
|
153
|
+
}
|
154
|
+
|
155
|
+
/* Page: Following
|
156
|
+
* ----------------------------------------------------- */
|
157
|
+
#following {
|
158
|
+
width: 400px;
|
159
|
+
background: #f9f9f9 url(/assets/noise.png);
|
160
|
+
padding: 20px 30px;
|
161
|
+
border: 1px solid #ddd;
|
162
|
+
border-radius: 3px;
|
163
|
+
box-shadow: 0px 0px 8px #ccc;
|
164
|
+
}
|
165
|
+
|
166
|
+
.following-item {
|
167
|
+
border-bottom: 1px solid #ddd;
|
168
|
+
padding: 6px 0;
|
169
|
+
clear: left;
|
170
|
+
margin-bottom: 10px;
|
171
|
+
}
|
172
|
+
|
173
|
+
.following-item .photo{
|
174
|
+
float: left;
|
175
|
+
margin: 0 10px 10px 0;
|
176
|
+
}
|
177
|
+
|
178
|
+
.following-item .name{
|
179
|
+
font-size: 1.2em;
|
180
|
+
font-weight: 700;
|
181
|
+
}
|
182
|
+
|
183
|
+
.following-item .bio{
|
184
|
+
color: #666;
|
185
|
+
}
|
186
|
+
|
187
|
+
.following-item .action{
|
188
|
+
color: #999;
|
189
|
+
}
|
190
|
+
|
191
|
+
/* Page: Followers
|
192
|
+
* ----------------------------------------------------- */
|
193
|
+
#followers {
|
194
|
+
width: 400px;
|
195
|
+
background: #f9f9f9 url(/assets/noise.png);
|
196
|
+
padding: 20px 30px;
|
197
|
+
border: 1px solid #ddd;
|
198
|
+
border-radius: 3px;
|
199
|
+
box-shadow: 0px 0px 8px #ccc;
|
200
|
+
}
|
201
|
+
|
202
|
+
.followers-item {
|
203
|
+
border-bottom: 1px solid #ddd;
|
204
|
+
padding: 6px 0;
|
205
|
+
clear: left;
|
206
|
+
margin-bottom: 10px;
|
207
|
+
}
|
208
|
+
|
209
|
+
.followers-item .photo{
|
210
|
+
float: left;
|
211
|
+
margin: 0 10px 10px 0;
|
212
|
+
}
|
213
|
+
|
214
|
+
.followers-item .name{
|
215
|
+
font-size: 1.2em;
|
216
|
+
font-weight: 700;
|
217
|
+
}
|
218
|
+
|
219
|
+
.followers-item .bio{
|
220
|
+
color: #666;
|
221
|
+
}
|
222
|
+
|
223
|
+
.followers-item .action{
|
224
|
+
color: #999;
|
225
|
+
}
|
226
|
+
|
227
|
+
/* Page: Followers
|
228
|
+
* ----------------------------------------------------- */
|
229
|
+
#followers {
|
230
|
+
width: 400px;
|
231
|
+
background: #f9f9f9 url(/assets/noise.png);
|
232
|
+
padding: 20px 30px;
|
233
|
+
border: 1px solid #ddd;
|
234
|
+
border-radius: 3px;
|
235
|
+
box-shadow: 0px 0px 8px #ccc;
|
236
|
+
}
|
237
|
+
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<!DOCTYPE HTML>
|
2
|
+
<html lang="en-US">
|
3
|
+
<head>
|
4
|
+
<%= render :partial => 'phoenix/shared/head' %>
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<header>
|
8
|
+
<%= render :partial => 'phoenix/shared/header' %>
|
9
|
+
</header>
|
10
|
+
<div id="body">
|
11
|
+
<div id="main">
|
12
|
+
<%= yield %>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
<footer>
|
16
|
+
<%= render :partial => 'phoenix/shared/footer' %>
|
17
|
+
</footer>
|
18
|
+
</body>
|
19
|
+
</html>
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<!DOCTYPE HTML>
|
2
|
+
<html lang="en-US">
|
3
|
+
<head>
|
4
|
+
<%= render :partial => 'phoenix/shared/head' %>
|
5
|
+
</head>
|
6
|
+
<body>
|
7
|
+
<header>
|
8
|
+
<%= render :partial => 'phoenix/shared/header' %>
|
9
|
+
</header>
|
10
|
+
<div id="body">
|
11
|
+
<div id="main">
|
12
|
+
<%= yield %>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
<footer>
|
16
|
+
<%= render :partial => 'phoenix/shared/footer' %>
|
17
|
+
</footer>
|
18
|
+
</body>
|
19
|
+
</html>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<div id="footer">
|
2
|
+
<ul id="ft-links">
|
3
|
+
<li><%= link_to "register", signup_path %></li>
|
4
|
+
<li><%= link_to "login", login_path %></li>
|
5
|
+
<li><%= link_to "logout", logout_path %></li>
|
6
|
+
<li><%= link_to "find password", new_user_password_path %></li>
|
7
|
+
<li><a href="#">profile</a></li>
|
8
|
+
<li><a href="#">change password</a></li>
|
9
|
+
<li><a href="#">following</a></li>
|
10
|
+
<li><a href="#">followers</a></li>
|
11
|
+
</ul>
|
12
|
+
</div>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
|
2
|
+
<title>Phoenix</title>
|
3
|
+
<%= stylesheet_link_tag "application" %>
|
4
|
+
<%= javascript_include_tag "application" %>
|
5
|
+
<%= csrf_meta_tags %>
|
6
|
+
<!--[if lt IE 9]>
|
7
|
+
<%= javascript_include_tag "html5" %>
|
8
|
+
<![endif]-->
|
@@ -54,7 +54,7 @@ module Phoenix
|
|
54
54
|
run_bundle
|
55
55
|
|
56
56
|
rake('phoenix_core:install')
|
57
|
-
rake('phoenix_auth:install')
|
57
|
+
#rake('phoenix_auth:install')
|
58
58
|
|
59
59
|
rake("db:migrate#{' --trace' if options[:trace]}")
|
60
60
|
|
@@ -69,7 +69,7 @@ module Phoenix
|
|
69
69
|
note << "you will need to run the following tasks manually to maintain correct operation:"
|
70
70
|
note << "\ncd #{app_pathname}"
|
71
71
|
note << "bundle exec rake db:create"
|
72
|
-
note << "bundle exec rails generate phoenix:
|
72
|
+
note << "bundle exec rails generate phoenix:blog"
|
73
73
|
note << "bundle exec rake db:migrate"
|
74
74
|
note << "\n---------\n"
|
75
75
|
end
|
@@ -5,7 +5,7 @@ module Phoenix
|
|
5
5
|
class DummyGenerator < Rails::Generators::Base
|
6
6
|
desc "Creates blank Rails application, installs Phoenix Engine, and all sample data"
|
7
7
|
|
8
|
-
class_option :database, :default => ''
|
8
|
+
#class_option :database, :default => ''
|
9
9
|
|
10
10
|
def self.source_paths
|
11
11
|
paths = self.superclass.source_paths
|
@@ -19,7 +19,7 @@ module Phoenix
|
|
19
19
|
|
20
20
|
def generate_test_dummy
|
21
21
|
opts = (options || {}).slice(*PASSTHROUGH_OPTIONS)
|
22
|
-
opts[:database] = 'sqlite3' if opts[:database].blank?
|
22
|
+
#opts[:database] = 'sqlite3' if opts[:database].blank?
|
23
23
|
opts[:force] = true
|
24
24
|
opts[:skip_bundle] = true
|
25
25
|
opts[:old_style_hash] = true
|
@@ -28,9 +28,9 @@ module Phoenix
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def test_dummy_config
|
31
|
-
|
31
|
+
#@database = options[:database]
|
32
32
|
|
33
|
-
template "rails/
|
33
|
+
template "rails/mongoid.yml", "#{dummy_path}/config/mongoid.yml", :force => true
|
34
34
|
template "rails/boot.rb", "#{dummy_path}/config/boot.rb", :force => true
|
35
35
|
template "rails/application.rb", "#{dummy_path}/config/application.rb", :force => true
|
36
36
|
template "rails/routes.rb", "#{dummy_path}/config/routes.rb", :force => true
|
@@ -52,8 +52,6 @@ module Phoenix
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
-
attr :database
|
56
|
-
|
57
55
|
protected
|
58
56
|
|
59
57
|
def dummy_path
|
@@ -1,6 +1,10 @@
|
|
1
1
|
require File.expand_path('../boot', __FILE__)
|
2
2
|
|
3
|
-
|
3
|
+
# Pick the frameworks you want:
|
4
|
+
require "action_controller/railtie"
|
5
|
+
require "action_mailer/railtie"
|
6
|
+
require "active_resource/railtie"
|
7
|
+
require "sprockets/railtie"
|
4
8
|
|
5
9
|
require 'bundler/setup'
|
6
10
|
|
@@ -0,0 +1,20 @@
|
|
1
|
+
development:
|
2
|
+
host: localhost
|
3
|
+
database: phoenix_dev
|
4
|
+
|
5
|
+
test:
|
6
|
+
host: localhost
|
7
|
+
database: phoenix_test
|
8
|
+
|
9
|
+
# set these environment variables on your prod server
|
10
|
+
production:
|
11
|
+
host: <%= ENV['MONGOID_HOST'] %>
|
12
|
+
port: <%= ENV['MONGOID_PORT'] %>
|
13
|
+
username: <%= ENV['MONGOID_USERNAME'] %>
|
14
|
+
password: <%= ENV['MONGOID_PASSWORD'] %>
|
15
|
+
database: <%= ENV['MONGOID_DATABASE'] %>
|
16
|
+
# slaves:
|
17
|
+
# - host: slave1.local
|
18
|
+
# port: 27018
|
19
|
+
# - host: slave2.local
|
20
|
+
# port: 27019
|
@@ -1,25 +1,25 @@
|
|
1
1
|
<ul>
|
2
2
|
<%% if ::Phoenix::Admin::<%= class_name.pluralize %>Controller.searchable? %>
|
3
3
|
<li>
|
4
|
-
<%%= render :partial => "/
|
4
|
+
<%%= render :partial => "/phoenix/admin/search",
|
5
5
|
:locals => {
|
6
|
-
:url => main_app.
|
6
|
+
:url => main_app.phoenix_admin_<%= plural_name %><%= "_index" if plural_name == singular_name%>_path
|
7
7
|
} %>
|
8
8
|
</li>
|
9
9
|
<%% end %>
|
10
10
|
<li>
|
11
|
-
<%%= link_to t('.create_new'), main_app.
|
11
|
+
<%%= link_to t('.create_new'), main_app.new_phoenix_admin_<%= singular_name %>_path,
|
12
12
|
:class => "add_icon" %>
|
13
13
|
</li>
|
14
14
|
<%% if !searching? && ::Phoenix::Admin::<%= class_name.pluralize %>Controller.sortable? && ::Phoenix::<%= class_name.pluralize %>::<%= class_name %>.any? %>
|
15
15
|
<li>
|
16
16
|
<%%= link_to t('.reorder', :what => "<%= singular_name.titleize.pluralize %>"),
|
17
|
-
main_app.
|
17
|
+
main_app.phoenix_admin_<%= plural_name %><%= "_index" if plural_name == singular_name%>_path,
|
18
18
|
:id => "reorder_action",
|
19
19
|
:class => "reorder_icon" %>
|
20
20
|
|
21
21
|
<%%= link_to t('.reorder_done', :what => "<%= singular_name.titleize.pluralize %>"),
|
22
|
-
main_app.
|
22
|
+
main_app.phoenix_admin_<%= plural_name %><%= "_index" if plural_name == singular_name%>_path,
|
23
23
|
:id => "reorder_action_done",
|
24
24
|
:style => "display: none;",
|
25
25
|
:class => "reorder_icon" %>
|
@@ -2,8 +2,8 @@
|
|
2
2
|
text_areas = attributes.reject{|a| a.field_type.to_s != 'text_area'}
|
3
3
|
generated_text_areas = false
|
4
4
|
-%>
|
5
|
-
<%%= form_for [main_app, :
|
6
|
-
<%%= render :partial => "/
|
5
|
+
<%%= form_for [main_app, :phoenix_admin, @<%= singular_name %>] do |f| -%>
|
6
|
+
<%%= render :partial => "/phoenix/admin/error_messages", :locals => {
|
7
7
|
:object => @<%= singular_name %>,
|
8
8
|
:include_object_name => true
|
9
9
|
} %>
|
@@ -13,14 +13,14 @@
|
|
13
13
|
<%%= f.label :<%= attribute.name %> -%>
|
14
14
|
<% end -%>
|
15
15
|
<% if attribute.type.to_s == 'image' -%>
|
16
|
-
<%%= render :partial => "/
|
16
|
+
<%%= render :partial => "/phoenix/admin/image_picker", :locals => {
|
17
17
|
:f => f,
|
18
18
|
:field => :<%= "#{attribute.name}_id".gsub("_id_id", "_id") %>,
|
19
19
|
:image => @<%= singular_name %>.<%= attribute.name.gsub("_id", "") %>,
|
20
20
|
:toggle_image_display => false
|
21
21
|
} %>
|
22
22
|
<% elsif attribute.type.to_s == 'resource' -%>
|
23
|
-
<%%= render :partial => "/
|
23
|
+
<%%= render :partial => "/phoenix/admin/resource_picker", :locals => {
|
24
24
|
:f => f,
|
25
25
|
:field => :<%= "#{attribute.name}_id".gsub("_id_id", "_id") %>,
|
26
26
|
:resource => @<%= singular_name %>.<%= attribute.name.gsub("_id", "") %>,
|
@@ -49,12 +49,12 @@
|
|
49
49
|
<% end -%>
|
50
50
|
</div>
|
51
51
|
<% end %>
|
52
|
-
<%%= render :partial => "/
|
52
|
+
<%%= render :partial => "/phoenix/admin/form_actions",
|
53
53
|
:locals => {
|
54
54
|
:f => f,
|
55
55
|
:continue_editing => false,
|
56
|
-
:delete_title => t('delete', :scope => '
|
57
|
-
:delete_confirmation => t('message', :scope => '
|
56
|
+
:delete_title => t('delete', :scope => 'phoenix.admin.<%= plural_name %>.<%= singular_name %>'),
|
57
|
+
:delete_confirmation => t('message', :scope => 'phoenix.admin.delete'<% if (title = attributes.detect { |a| a.type.to_s == "string" }).present? %>, :title => @<%= singular_name %>.<%= title.name %><% end %>)
|
58
58
|
} %>
|
59
59
|
<%% end -%>
|
60
60
|
<% if text_areas.any? -%>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<%% if searching? %>
|
2
|
-
<h2><%%= t('results_for', :scope => '
|
2
|
+
<h2><%%= t('results_for', :scope => 'phoenix.admin.search', :query => params[:search]) %></h2>
|
3
3
|
<%% end %>
|
4
4
|
<%% if @<%= plural_name %>.any? %>
|
5
5
|
<div class='pagination_container'>
|
@@ -12,7 +12,7 @@
|
|
12
12
|
<%%= t('.no_items_yet') %>
|
13
13
|
</strong>
|
14
14
|
<%% else %>
|
15
|
-
<%%= t('no_results', :scope => '
|
15
|
+
<%%= t('no_results', :scope => 'phoenix.admin.search') %>
|
16
16
|
<%% end %>
|
17
17
|
</p>
|
18
18
|
<%% end %>
|
@@ -4,15 +4,15 @@
|
|
4
4
|
<span class="preview"> </span>
|
5
5
|
</span>
|
6
6
|
<span class='actions'>
|
7
|
-
<%%= link_to
|
7
|
+
<%%= link_to phoenix_icon_tag("application_go.png"), main_app.phoenix_<%= singular_name %>_path(<%= singular_name %>),
|
8
8
|
:title => t('.view_live_html'),
|
9
9
|
:target => "_blank" %>
|
10
|
-
<%%= link_to
|
10
|
+
<%%= link_to phoenix_icon_tag("application_edit.png"), main_app.edit_phoenix_admin_<%= singular_name %>_path(<%= singular_name %>),
|
11
11
|
:title => t('.edit') %>
|
12
|
-
<%%= link_to
|
12
|
+
<%%= link_to phoenix_icon_tag("delete.png"), main_app.phoenix_admin_<%= singular_name %>_path(<%= singular_name %>),
|
13
13
|
:class => "cancel confirm-delete",
|
14
14
|
:title => t('.delete'),
|
15
|
-
:confirm => t('message', :scope => '
|
15
|
+
:confirm => t('message', :scope => 'phoenix.admin.delete', :title => <%= singular_name %><% if (title = attributes.detect { |a| a.type.to_s == "string" }).present? %>.<%= title.name %><% else %>.title<% end %>),
|
16
16
|
:method => :delete %>
|
17
17
|
</span>
|
18
18
|
</li>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<ul id='sortable_list'>
|
2
2
|
<%%= render :partial => '<%= singular_name %>', :collection => @<%= plural_name %> %>
|
3
3
|
</ul>
|
4
|
-
<%%= render :partial => "/
|
4
|
+
<%%= render :partial => "/phoenix/admin/sortable_list",
|
5
5
|
:locals => {
|
6
6
|
:continue_reordering => (local_assigns.keys.include?(:continue_reordering)) ? continue_reordering : true
|
7
7
|
} %>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<aside id='actions'>
|
5
5
|
<%%= render :partial => 'actions' %>
|
6
6
|
</aside>
|
7
|
-
<%%= render :partial => '/
|
7
|
+
<%%= render :partial => '/phoenix/admin/make_sortable',
|
8
8
|
:locals => {
|
9
9
|
:tree => false
|
10
10
|
} if !searching? and ::Phoenix::Admin::<%= class_name.pluralize %>Controller.sortable? and ::Phoenix::<%= class_name.pluralize %>::<%= class_name %>.count > 1 %>
|
@@ -2,10 +2,10 @@
|
|
2
2
|
<ul id="<%= plural_name %>">
|
3
3
|
<%% @<%= "all_" if plural_name == singular_name%><%= plural_name %>.each do |<%= singular_name %>| %>
|
4
4
|
<li>
|
5
|
-
<%%= link_to <%= singular_name %><% if (title = attributes.detect { |a| a.type.to_s == "string" }).present? %>.<%= title.name %><% end %>, main_app.
|
5
|
+
<%%= link_to <%= singular_name %><% if (title = attributes.detect { |a| a.type.to_s == "string" }).present? %>.<%= title.name %><% end %>, main_app.phoenix_<%= singular_name %>_path(<%= singular_name %>) %>
|
6
6
|
</li>
|
7
7
|
<%% end %>
|
8
8
|
</ul>
|
9
9
|
<%% end %>
|
10
10
|
|
11
|
-
<%%= render :partial => "/
|
11
|
+
<%%= render :partial => "/phoenix/content_page" %>
|
@@ -25,11 +25,11 @@
|
|
25
25
|
<ul id="<%= plural_name %>">
|
26
26
|
<%% @<%= "all_" if plural_name == singular_name%><%= plural_name %>.each do |<%= singular_name %>| %>
|
27
27
|
<li>
|
28
|
-
<%%= link_to <%= singular_name %><% if (title = attributes.detect { |a| a.type.to_s == "string" }).present? %>.<%= title.name %><% else %>.title<% end %>, main_app.
|
28
|
+
<%%= link_to <%= singular_name %><% if (title = attributes.detect { |a| a.type.to_s == "string" }).present? %>.<%= title.name %><% else %>.title<% end %>, main_app.phoenix_<%= singular_name %>_path(<%= singular_name %>) %>
|
29
29
|
</li>
|
30
30
|
<%% end %>
|
31
31
|
</ul>
|
32
32
|
</aside>
|
33
33
|
<%% end %>
|
34
34
|
|
35
|
-
<%%= render :partial => "/
|
35
|
+
<%%= render :partial => "/phoenix/content_page" %>
|
@@ -1,14 +1,14 @@
|
|
1
|
-
require '
|
1
|
+
require 'phoenix_core'
|
2
2
|
|
3
3
|
module Phoenix
|
4
|
-
autoload :<%= class_name.pluralize %>Generator, 'generators/
|
4
|
+
autoload :<%= class_name.pluralize %>Generator, 'generators/phoenix/<%= plural_name %>_generator'
|
5
5
|
|
6
6
|
module <%= class_name.pluralize %><%= 'Engine' if plural_name == singular_name %>
|
7
|
-
require '
|
7
|
+
require 'phoenix/<%= plural_name %>/engine' if defined?(Rails)
|
8
8
|
|
9
9
|
class << self
|
10
10
|
def table_name_prefix
|
11
|
-
'
|
11
|
+
'phoenix_'
|
12
12
|
end
|
13
13
|
|
14
14
|
attr_writer :root
|
@@ -1,22 +1,22 @@
|
|
1
|
-
require '
|
1
|
+
require 'phoenix_<%= plural_name %>'
|
2
2
|
|
3
3
|
module Phoenix
|
4
4
|
module <%= class_name.pluralize %>
|
5
5
|
class Engine < Rails::Engine
|
6
6
|
include Phoenix::Engine
|
7
7
|
isolate_namespace Phoenix
|
8
|
-
engine_name :
|
8
|
+
engine_name :phoenix_<%= plural_name %>
|
9
9
|
|
10
|
-
initializer "register
|
10
|
+
initializer "register phoenix_<%= plural_name %> plugin" do |app|
|
11
11
|
Phoenix::Plugin.register do |plugin|
|
12
12
|
plugin.name = "<%= class_name.pluralize.underscore.downcase %>"
|
13
|
-
plugin.url = {:controller => '/
|
13
|
+
plugin.url = {:controller => '/phoenix/<%= plural_name %>'}
|
14
14
|
plugin.pathname = root
|
15
15
|
plugin.name = '<%= class_name.pluralize.underscore.downcase %>'
|
16
|
-
plugin.url = '/
|
16
|
+
plugin.url = '/phoenix/<%= plural_name %>'
|
17
17
|
|
18
18
|
plugin.activity = {
|
19
|
-
:class_name => :'
|
19
|
+
:class_name => :'phoenix/<%= singular_name %>'
|
20
20
|
}
|
21
21
|
end
|
22
22
|
end
|
@@ -1 +1 @@
|
|
1
|
-
require '
|
1
|
+
require 'phoenix/<%= plural_name %>'
|
data/lib/generators/phoenix/extension/templates/spec/requests/phoenix/admin/plural_name_spec.rb
CHANGED
@@ -3,7 +3,7 @@ require "spec_helper"
|
|
3
3
|
describe Phoenix do
|
4
4
|
describe "Admin" do
|
5
5
|
describe "<%= plural_name %>" do
|
6
|
-
|
6
|
+
login_phoenix_user
|
7
7
|
<% if (title = attributes.detect { |a| a.type.to_s == "string" }).present? %>
|
8
8
|
describe "<%= plural_name %> list" do
|
9
9
|
before(:each) do
|
@@ -12,7 +12,7 @@ describe Phoenix do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
it "shows two items" do
|
15
|
-
visit
|
15
|
+
visit phoenix_admin_<%= plural_name %>_path
|
16
16
|
page.should have_content("UniqueTitleOne")
|
17
17
|
page.should have_content("UniqueTitleTwo")
|
18
18
|
end
|
@@ -20,7 +20,7 @@ describe Phoenix do
|
|
20
20
|
|
21
21
|
describe "create" do
|
22
22
|
before(:each) do
|
23
|
-
visit
|
23
|
+
visit phoenix_admin_<%= plural_name %>_path
|
24
24
|
|
25
25
|
click_link "Add New <%= singular_name.titleize %>"
|
26
26
|
end
|
@@ -48,7 +48,7 @@ describe Phoenix do
|
|
48
48
|
before(:each) { FactoryGirl.create(:<%= singular_name %>, :<%= title.name %> => "UniqueTitle") }
|
49
49
|
|
50
50
|
it "should fail" do
|
51
|
-
visit
|
51
|
+
visit phoenix_admin_<%= plural_name %>_path
|
52
52
|
|
53
53
|
click_link "Add New <%= singular_name.titleize %>"
|
54
54
|
|
@@ -65,7 +65,7 @@ describe Phoenix do
|
|
65
65
|
before(:each) { FactoryGirl.create(:<%= singular_name %>, :<%= title.name %> => "A <%= title.name %>") }
|
66
66
|
|
67
67
|
it "should succeed" do
|
68
|
-
visit
|
68
|
+
visit phoenix_admin_<%= plural_name %>_path
|
69
69
|
|
70
70
|
within ".actions" do
|
71
71
|
click_link "Edit this <%= singular_name.titleize.downcase %>"
|
@@ -83,7 +83,7 @@ describe Phoenix do
|
|
83
83
|
before(:each) { FactoryGirl.create(:<%= singular_name %>, :<%= title.name %> => "UniqueTitleOne") }
|
84
84
|
|
85
85
|
it "should succeed" do
|
86
|
-
visit
|
86
|
+
visit phoenix_admin_<%= plural_name %>_path
|
87
87
|
|
88
88
|
click_link "Remove this <%= singular_name.titleize.downcase %> forever"
|
89
89
|
|
data/lib/phoenix/core.rb
CHANGED
@@ -13,7 +13,7 @@ module Phoenix
|
|
13
13
|
|
14
14
|
# Different between require and autoload.
|
15
15
|
# Require will be specified after the autoload.
|
16
|
-
autoload :Engine, 'phoenix/
|
16
|
+
autoload :Engine, 'phoenix/extension'
|
17
17
|
autoload :Version, 'phoenix/version'
|
18
18
|
|
19
19
|
autoload :DummyGenerator, 'generators/phoenix/dummy/dummy_generator'
|
@@ -22,6 +22,114 @@ module Phoenix
|
|
22
22
|
require 'generators/phoenix/dummy/dummy_generator'
|
23
23
|
require 'generators/phoenix/extension/extension_generator'
|
24
24
|
|
25
|
+
class << self
|
26
|
+
@@extensions = []
|
27
|
+
|
28
|
+
# Returns an array of modules/extensions representing currently registered Phoenix extensions
|
29
|
+
#
|
30
|
+
# Example:
|
31
|
+
# Phoenix.extensions => [Phoenix::Core, Phoenix::Pages]
|
32
|
+
def extensions
|
33
|
+
@@extensions
|
34
|
+
end
|
35
|
+
|
36
|
+
# Register an extension with Phoenix
|
37
|
+
#
|
38
|
+
# Example:
|
39
|
+
# Phoenix.register_extension(Phoenix::Core)
|
40
|
+
def register_extension(const)
|
41
|
+
return if extension_registered?(const)
|
42
|
+
|
43
|
+
validate_extension!(const)
|
44
|
+
|
45
|
+
@@extensions << const
|
46
|
+
end
|
47
|
+
|
48
|
+
# Unregister an extension from Phoenix
|
49
|
+
#
|
50
|
+
# Example:
|
51
|
+
# Phoenix.unregister_extension(Phoenix::Core)
|
52
|
+
def unregister_extension(const)
|
53
|
+
@@extensions.delete(const)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Returns true if an extension is currently registered with Phoenix
|
57
|
+
#
|
58
|
+
# Example:
|
59
|
+
# Phoenix.extension_registered?(Phoenix::Core)
|
60
|
+
def extension_registered?(const)
|
61
|
+
@@extensions.include?(const)
|
62
|
+
end
|
63
|
+
|
64
|
+
# Constructs a deprecation warning message and warns with Kernel#warn
|
65
|
+
#
|
66
|
+
# Example:
|
67
|
+
# Phoenix.deprecate('foo') => "The use of 'foo' is deprecated"
|
68
|
+
#
|
69
|
+
# An options parameter can be specified to construct a more detailed deprecation message
|
70
|
+
#
|
71
|
+
# Options:
|
72
|
+
# when - version that this deprecated feature will be removed
|
73
|
+
# replacement - a replacement for what is being deprecated
|
74
|
+
# caller - who called the deprecated feature
|
75
|
+
#
|
76
|
+
# Example:
|
77
|
+
# Phoenix.deprecate('foo', :when => 'tomorrow', :replacement => 'bar') =>
|
78
|
+
# "The use of 'foo' is deprecated and will be removed at version 2.0. Please use 'bar' instead."
|
79
|
+
def deprecate(what, options = {})
|
80
|
+
# Build a warning.
|
81
|
+
warning = "\n-- DEPRECATION WARNING --\n"
|
82
|
+
warning << "The use of '#{what}' is deprecated"
|
83
|
+
warning << " and will be removed at version #{options[:when]}" if options[:when]
|
84
|
+
warning << "."
|
85
|
+
warning << "\nPlease use #{options[:replacement]} instead." if options[:replacement]
|
86
|
+
|
87
|
+
# See if we can trace where this happened
|
88
|
+
if options[:caller]
|
89
|
+
whos_calling = options[:caller].detect{|c| c =~ %r{#{Rails.root.to_s}}}.inspect.to_s.split(':in').first
|
90
|
+
warning << "\nCalled from: #{whos_calling}\n"
|
91
|
+
end
|
92
|
+
|
93
|
+
# Give stern talking to.
|
94
|
+
warn warning
|
95
|
+
end
|
96
|
+
|
97
|
+
# Returns a Pathname to the root of the Phoenix Engine project
|
98
|
+
def root
|
99
|
+
@root ||= Pathname.new(File.expand_path('../../../../', __FILE__))
|
100
|
+
end
|
101
|
+
|
102
|
+
# Returns an array of Pathnames pointing to the root directory of each extension that
|
103
|
+
# has been registered with Phoenix.
|
104
|
+
#
|
105
|
+
# Example:
|
106
|
+
# Phoenix.roots => [#<Pathname:/Users/lanvige/repos/phoenix/core>, #<Pathname:/Users/lanvige/repos/phoeni/setting>]
|
107
|
+
#
|
108
|
+
# An optional extension_name parameter can be specified to return just the Pathname for
|
109
|
+
# the specified extension. This can be represented in Constant, Symbol, or String form.
|
110
|
+
#
|
111
|
+
# Example:
|
112
|
+
# Phoenix.roots(Phoenix::Core) => #<Pathname:/Users/lanvige/repos/phoenix/core>
|
113
|
+
# Phoenix.roots(:'phoenix/core') => #<Pathname:/Users/lanvige/repos/phoenix/core>
|
114
|
+
# Phoenix.roots("phoenix/core") => #<Pathname:/Users/lanvige/repos/phoenix/core>
|
115
|
+
def roots(extension_name = nil)
|
116
|
+
return @roots ||= self.extensions.map { |extension| extension.root } if extension_name.nil?
|
117
|
+
|
118
|
+
extension_name.to_s.camelize.constantize.root
|
119
|
+
end
|
120
|
+
|
121
|
+
def version
|
122
|
+
Phoenix::Version.to_s
|
123
|
+
end
|
124
|
+
|
125
|
+
private
|
126
|
+
def validate_extension!(const)
|
127
|
+
unless const.respond_to?(:root) && const.root.is_a?(Pathname)
|
128
|
+
raise InvalidEngineError, "Extension must define a root accessor that returns a pathname to its root"
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
25
133
|
module Core
|
26
134
|
require 'phoenix/core/engine' if defined?(Rails)
|
27
135
|
|
@@ -0,0 +1,65 @@
|
|
1
|
+
module Phoenix
|
2
|
+
class Plugins < Array
|
3
|
+
|
4
|
+
def find_by_model(model)
|
5
|
+
model = model.constantize if model.is_a? String
|
6
|
+
detect { |plugin| plugin.activity.any? {|activity| activity.klass == model } }
|
7
|
+
end
|
8
|
+
|
9
|
+
def find_by_name(name)
|
10
|
+
detect { |plugin| plugin.name == name }
|
11
|
+
end
|
12
|
+
alias :[] :find_by_name
|
13
|
+
|
14
|
+
def find_by_title(title)
|
15
|
+
detect { |plugin| plugin.title == title }
|
16
|
+
end
|
17
|
+
|
18
|
+
def in_menu
|
19
|
+
self.class.new(reject(&:hide_from_menu))
|
20
|
+
end
|
21
|
+
|
22
|
+
def names
|
23
|
+
map(&:name)
|
24
|
+
end
|
25
|
+
|
26
|
+
def pathnames
|
27
|
+
map(&:pathname).compact.uniq
|
28
|
+
end
|
29
|
+
|
30
|
+
def titles
|
31
|
+
map(&:title)
|
32
|
+
end
|
33
|
+
|
34
|
+
class << self
|
35
|
+
def active
|
36
|
+
@active_plugins ||= new
|
37
|
+
end
|
38
|
+
|
39
|
+
def always_allowed
|
40
|
+
new registered.select(&:always_allow_access)
|
41
|
+
end
|
42
|
+
|
43
|
+
def registered
|
44
|
+
@registered_plugins ||= new
|
45
|
+
end
|
46
|
+
|
47
|
+
def activate(name)
|
48
|
+
active << registered[name] if registered[name] && !active[name]
|
49
|
+
end
|
50
|
+
|
51
|
+
def deactivate(name)
|
52
|
+
active.delete_if {|p| p.name == name}
|
53
|
+
end
|
54
|
+
|
55
|
+
def set_active(names)
|
56
|
+
@active_plugins = new
|
57
|
+
|
58
|
+
names.each do |name|
|
59
|
+
activate(name)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
data/lib/phoenix/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: phoenix_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1.beta
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-01-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70361875446880 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.1.3
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70361875446880
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: jquery-rails
|
27
|
-
requirement: &
|
27
|
+
requirement: &70361875436740 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70361875436740
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: haml
|
38
|
-
requirement: &
|
38
|
+
requirement: &70361875435560 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,32 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70361875435560
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: sass-rails
|
49
|
-
requirement: &
|
50
|
-
none: false
|
51
|
-
requirements:
|
52
|
-
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version: 3.1.5
|
55
|
-
type: :runtime
|
56
|
-
prerelease: false
|
57
|
-
version_requirements: *70221203780940
|
58
|
-
- !ruby/object:Gem::Dependency
|
59
|
-
name: mongoid
|
60
|
-
requirement: &70221203780340 !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
|
-
requirements:
|
63
|
-
- - ! '>='
|
64
|
-
- !ruby/object:Gem::Version
|
65
|
-
version: '0'
|
66
|
-
type: :runtime
|
67
|
-
prerelease: false
|
68
|
-
version_requirements: *70221203780340
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: mongoid_slug
|
71
|
-
requirement: &70221203795940 !ruby/object:Gem::Requirement
|
49
|
+
requirement: &70361875428880 !ruby/object:Gem::Requirement
|
72
50
|
none: false
|
73
51
|
requirements:
|
74
52
|
- - ! '>='
|
@@ -76,10 +54,10 @@ dependencies:
|
|
76
54
|
version: '0'
|
77
55
|
type: :runtime
|
78
56
|
prerelease: false
|
79
|
-
version_requirements: *
|
57
|
+
version_requirements: *70361875428880
|
80
58
|
- !ruby/object:Gem::Dependency
|
81
59
|
name: state_machine
|
82
|
-
requirement: &
|
60
|
+
requirement: &70361875428400 !ruby/object:Gem::Requirement
|
83
61
|
none: false
|
84
62
|
requirements:
|
85
63
|
- - ! '>='
|
@@ -87,10 +65,10 @@ dependencies:
|
|
87
65
|
version: '0'
|
88
66
|
type: :runtime
|
89
67
|
prerelease: false
|
90
|
-
version_requirements: *
|
68
|
+
version_requirements: *70361875428400
|
91
69
|
- !ruby/object:Gem::Dependency
|
92
70
|
name: simple_form
|
93
|
-
requirement: &
|
71
|
+
requirement: &70361875427840 !ruby/object:Gem::Requirement
|
94
72
|
none: false
|
95
73
|
requirements:
|
96
74
|
- - ! '>='
|
@@ -98,32 +76,10 @@ dependencies:
|
|
98
76
|
version: '0'
|
99
77
|
type: :runtime
|
100
78
|
prerelease: false
|
101
|
-
version_requirements: *
|
79
|
+
version_requirements: *70361875427840
|
102
80
|
- !ruby/object:Gem::Dependency
|
103
81
|
name: stringex
|
104
|
-
requirement: &
|
105
|
-
none: false
|
106
|
-
requirements:
|
107
|
-
- - ! '>='
|
108
|
-
- !ruby/object:Gem::Version
|
109
|
-
version: '0'
|
110
|
-
type: :runtime
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: *70221203794000
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: faker
|
115
|
-
requirement: &70221203793080 !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
|
-
requirements:
|
118
|
-
- - ! '>='
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: '0'
|
121
|
-
type: :runtime
|
122
|
-
prerelease: false
|
123
|
-
version_requirements: *70221203793080
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
|
-
name: deface
|
126
|
-
requirement: &70221203792400 !ruby/object:Gem::Requirement
|
82
|
+
requirement: &70361875426740 !ruby/object:Gem::Requirement
|
127
83
|
none: false
|
128
84
|
requirements:
|
129
85
|
- - ! '>='
|
@@ -131,10 +87,10 @@ dependencies:
|
|
131
87
|
version: '0'
|
132
88
|
type: :runtime
|
133
89
|
prerelease: false
|
134
|
-
version_requirements: *
|
90
|
+
version_requirements: *70361875426740
|
135
91
|
- !ruby/object:Gem::Dependency
|
136
92
|
name: haml-rails
|
137
|
-
requirement: &
|
93
|
+
requirement: &70361875426120 !ruby/object:Gem::Requirement
|
138
94
|
none: false
|
139
95
|
requirements:
|
140
96
|
- - ! '>='
|
@@ -142,7 +98,7 @@ dependencies:
|
|
142
98
|
version: '0'
|
143
99
|
type: :development
|
144
100
|
prerelease: false
|
145
|
-
version_requirements: *
|
101
|
+
version_requirements: *70361875426120
|
146
102
|
description: Its used for build core structure, dont contain biz.
|
147
103
|
email: lanvige@gmail.com
|
148
104
|
executables: []
|
@@ -154,15 +110,18 @@ files:
|
|
154
110
|
- app/assets/javascripts/application.js
|
155
111
|
- app/assets/stylesheets/application.css
|
156
112
|
- app/assets/stylesheets/bootstrap.css
|
157
|
-
- app/assets/stylesheets/
|
158
|
-
- app/assets/stylesheets/landing.css
|
113
|
+
- app/assets/stylesheets/phoenix.css
|
159
114
|
- app/controllers/phoenix/base_controller.rb
|
160
115
|
- app/controllers/phoenix/home_controller.rb
|
161
116
|
- app/helpers/phoenix/base_helper.rb
|
162
117
|
- app/mailers/phoenix/base_mailer.rb
|
163
118
|
- app/models/phoenix/user.rb
|
164
119
|
- app/views/phoenix/home/index.html.haml
|
165
|
-
- app/views/phoenix/layouts/
|
120
|
+
- app/views/phoenix/layouts/application.html.erb
|
121
|
+
- app/views/phoenix/layouts/site.html.erb
|
122
|
+
- app/views/phoenix/shared/_footer.html.erb
|
123
|
+
- app/views/phoenix/shared/_head.html.erb
|
124
|
+
- app/views/phoenix/shared/_header.html.erb
|
166
125
|
- config/initializers/phoenix.rb
|
167
126
|
- config/initializers/setup_mail.rb
|
168
127
|
- config/initializers/simple_form.rb
|
@@ -217,8 +176,10 @@ files:
|
|
217
176
|
- lib/phoenix/core/ssl_requirement.rb
|
218
177
|
- lib/phoenix/core/testing_support/common_rake.rb
|
219
178
|
- lib/phoenix/core/testing_support/env.rb
|
179
|
+
- lib/phoenix/core/url_helpers.rb
|
220
180
|
- lib/phoenix/core.rb
|
221
181
|
- lib/phoenix/engine.rb
|
182
|
+
- lib/phoenix/plugins.rb
|
222
183
|
- lib/phoenix/version.rb
|
223
184
|
- lib/phoenix_core.rb
|
224
185
|
- lib/tasks/assets.rake
|
@@ -1,24 +0,0 @@
|
|
1
|
-
/* global.css */
|
2
|
-
body {
|
3
|
-
background:#fff url(/assets/noise.png);
|
4
|
-
}
|
5
|
-
header {
|
6
|
-
background: #333;
|
7
|
-
height: 60px;
|
8
|
-
}
|
9
|
-
#body {
|
10
|
-
width: 980px;
|
11
|
-
margin: 0 auto;
|
12
|
-
}
|
13
|
-
footer {
|
14
|
-
border-top: 1px solid #ccc;
|
15
|
-
margin: 0 auto;
|
16
|
-
}
|
17
|
-
|
18
|
-
|
19
|
-
#signup-form {
|
20
|
-
|
21
|
-
}
|
22
|
-
#signin-form {
|
23
|
-
padding: 30px 0;
|
24
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
/* landing.css */
|
@@ -1,14 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html>
|
3
|
-
<head>
|
4
|
-
<title>PhoenixCore</title>
|
5
|
-
<%= stylesheet_link_tag "phoenix_core/application" %>
|
6
|
-
<%= javascript_include_tag "phoenix_core/application" %>
|
7
|
-
<%= csrf_meta_tags %>
|
8
|
-
</head>
|
9
|
-
<body>
|
10
|
-
|
11
|
-
<%= yield %>
|
12
|
-
|
13
|
-
</body>
|
14
|
-
</html>
|