frame 0.0.3 → 0.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.
- data/Gemfile.lock +229 -1
- data/README.md +36 -0
- data/lib/generators/frame.rb +8 -0
- data/lib/generators/frame/admin/USAGE +11 -0
- data/lib/generators/frame/admin/admin_generator.rb +66 -0
- data/lib/generators/frame/admin/templates/pages.rb +15 -0
- data/lib/generators/frame/admin/templates/pages_controller.rb +25 -0
- data/lib/generators/frame/admin/templates/show.html.erb +7 -0
- data/lib/generators/frame/all/USAGE +11 -0
- data/lib/generators/frame/all/all_generator.rb +24 -0
- data/lib/generators/frame/blueprint/USAGE +11 -0
- data/lib/generators/frame/blueprint/blueprint_generator.rb +41 -0
- data/lib/generators/frame/devise/devise_generator.rb +46 -8
- data/lib/generators/frame/devise/templates/defaults.html.erb +7 -5
- data/lib/generators/frame/layout/layout_generator.rb +19 -4
- data/lib/generators/frame/layout/templates/application_helper.rb +1 -1
- data/lib/generators/frame/layout/templates/defaults.html.erb +2 -2
- data/lib/generators/frame/layout/templates/econ64.gif +0 -0
- data/lib/generators/frame/layout/templates/favicon.ico +0 -0
- data/lib/generators/frame/layout/templates/frame.css +145 -0
- data/lib/generators/frame/mysql/mysql_generator.rb +23 -2
- data/lib/generators/frame/omniauth/USAGE +11 -0
- data/lib/generators/frame/omniauth/omniauth_generator.rb +90 -0
- data/lib/generators/frame/omniauth/templates/defaults.html.erb +47 -0
- data/lib/generators/frame/omniauth/templates/omniauth.rb +6 -0
- data/lib/generators/frame/omniauth/templates/omniauth_callbacks_controller.rb +38 -0
- data/lib/generators/frame/pages/pages_generator.rb +89 -45
- data/lib/generators/frame/pages/templates/_sidebar.html.erb +2 -2
- data/lib/generators/frame/pages/templates/pages.html.erb +0 -3
- metadata +262 -4
data/Gemfile.lock
CHANGED
@@ -1,14 +1,242 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
frame (0.0.
|
4
|
+
frame (0.0.4)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: http://rubygems.org/
|
8
8
|
specs:
|
9
|
+
actionmailer (3.2.8)
|
10
|
+
actionpack (= 3.2.8)
|
11
|
+
mail (~> 2.4.4)
|
12
|
+
actionpack (3.2.8)
|
13
|
+
activemodel (= 3.2.8)
|
14
|
+
activesupport (= 3.2.8)
|
15
|
+
builder (~> 3.0.0)
|
16
|
+
erubis (~> 2.7.0)
|
17
|
+
journey (~> 1.0.4)
|
18
|
+
rack (~> 1.4.0)
|
19
|
+
rack-cache (~> 1.2)
|
20
|
+
rack-test (~> 0.6.1)
|
21
|
+
sprockets (~> 2.1.3)
|
22
|
+
activeadmin (0.5.0)
|
23
|
+
arbre (>= 1.0.1)
|
24
|
+
bourbon (>= 1.0.0)
|
25
|
+
devise (>= 1.1.2)
|
26
|
+
fastercsv
|
27
|
+
formtastic (>= 2.0.0)
|
28
|
+
inherited_resources (>= 1.3.1)
|
29
|
+
jquery-rails (>= 1.0.0)
|
30
|
+
kaminari (>= 0.13.0)
|
31
|
+
meta_search (>= 0.9.2)
|
32
|
+
rails (>= 3.0.0)
|
33
|
+
sass (>= 3.1.0)
|
34
|
+
activemodel (3.2.8)
|
35
|
+
activesupport (= 3.2.8)
|
36
|
+
builder (~> 3.0.0)
|
37
|
+
activerecord (3.2.8)
|
38
|
+
activemodel (= 3.2.8)
|
39
|
+
activesupport (= 3.2.8)
|
40
|
+
arel (~> 3.0.2)
|
41
|
+
tzinfo (~> 0.3.29)
|
42
|
+
activeresource (3.2.8)
|
43
|
+
activemodel (= 3.2.8)
|
44
|
+
activesupport (= 3.2.8)
|
45
|
+
activesupport (3.2.8)
|
46
|
+
i18n (~> 0.6)
|
47
|
+
multi_json (~> 1.0)
|
48
|
+
addressable (2.3.2)
|
49
|
+
arbre (1.0.1)
|
50
|
+
activesupport (>= 3.0.0)
|
51
|
+
arel (3.0.2)
|
52
|
+
bcrypt-ruby (3.0.1)
|
53
|
+
bourbon (2.1.1)
|
54
|
+
sass (>= 3.1)
|
55
|
+
builder (3.0.3)
|
56
|
+
capybara (1.1.2)
|
57
|
+
mime-types (>= 1.16)
|
58
|
+
nokogiri (>= 1.3.3)
|
59
|
+
rack (>= 1.0.0)
|
60
|
+
rack-test (>= 0.5.4)
|
61
|
+
selenium-webdriver (~> 2.0)
|
62
|
+
xpath (~> 0.1.4)
|
63
|
+
childprocess (0.3.5)
|
64
|
+
ffi (~> 1.0, >= 1.0.6)
|
65
|
+
coffee-rails (3.2.2)
|
66
|
+
coffee-script (>= 2.2.0)
|
67
|
+
railties (~> 3.2.0)
|
68
|
+
coffee-script (2.2.0)
|
69
|
+
coffee-script-source
|
70
|
+
execjs
|
71
|
+
coffee-script-source (1.3.3)
|
72
|
+
cucumber (1.2.1)
|
73
|
+
builder (>= 2.1.2)
|
74
|
+
diff-lcs (>= 1.1.3)
|
75
|
+
gherkin (~> 2.11.0)
|
76
|
+
json (>= 1.4.6)
|
77
|
+
cucumber-rails (1.3.0)
|
78
|
+
capybara (>= 1.1.2)
|
79
|
+
cucumber (>= 1.1.8)
|
80
|
+
nokogiri (>= 1.5.0)
|
81
|
+
devise (2.1.2)
|
82
|
+
bcrypt-ruby (~> 3.0)
|
83
|
+
orm_adapter (~> 0.1)
|
84
|
+
railties (~> 3.1)
|
85
|
+
warden (~> 1.2.1)
|
86
|
+
diff-lcs (1.1.3)
|
87
|
+
erubis (2.7.0)
|
88
|
+
execjs (1.4.0)
|
89
|
+
multi_json (~> 1.0)
|
90
|
+
faraday (0.8.1)
|
91
|
+
multipart-post (~> 1.1)
|
92
|
+
fastercsv (1.5.5)
|
93
|
+
ffi (1.1.5)
|
94
|
+
formtastic (2.2.1)
|
95
|
+
actionpack (>= 3.0)
|
96
|
+
gherkin (2.11.2)
|
97
|
+
json (>= 1.4.6)
|
98
|
+
has_scope (0.5.1)
|
99
|
+
hashie (1.2.0)
|
100
|
+
hike (1.2.1)
|
101
|
+
httpauth (0.1)
|
102
|
+
i18n (0.6.1)
|
103
|
+
inherited_resources (1.3.1)
|
104
|
+
has_scope (~> 0.5.0)
|
105
|
+
responders (~> 0.6)
|
106
|
+
journey (1.0.4)
|
107
|
+
jquery-rails (2.1.2)
|
108
|
+
railties (>= 3.1.0, < 5.0)
|
109
|
+
thor (~> 0.14)
|
110
|
+
json (1.7.5)
|
111
|
+
kaminari (0.13.0)
|
112
|
+
actionpack (>= 3.0.0)
|
113
|
+
activesupport (>= 3.0.0)
|
114
|
+
railties (>= 3.0.0)
|
115
|
+
libwebsocket (0.1.5)
|
116
|
+
addressable
|
117
|
+
mail (2.4.4)
|
118
|
+
i18n (>= 0.4.0)
|
119
|
+
mime-types (~> 1.16)
|
120
|
+
treetop (~> 1.4.8)
|
121
|
+
meta_search (1.1.3)
|
122
|
+
actionpack (~> 3.1)
|
123
|
+
activerecord (~> 3.1)
|
124
|
+
activesupport (~> 3.1)
|
125
|
+
polyamorous (~> 0.5.0)
|
126
|
+
mime-types (1.19)
|
127
|
+
multi_json (1.3.6)
|
128
|
+
multipart-post (1.1.5)
|
129
|
+
mysql2 (0.3.11)
|
130
|
+
nokogiri (1.5.5)
|
131
|
+
oauth (0.4.6)
|
132
|
+
oauth2 (0.6.1)
|
133
|
+
faraday (~> 0.7)
|
134
|
+
httpauth (~> 0.1)
|
135
|
+
multi_json (~> 1.3)
|
136
|
+
omniauth (1.0.0)
|
137
|
+
hashie (~> 1.2)
|
138
|
+
rack
|
139
|
+
omniauth-google-oauth2 (0.1.7)
|
140
|
+
omniauth (~> 1.0)
|
141
|
+
omniauth-oauth2
|
142
|
+
omniauth-oauth (1.0.1)
|
143
|
+
oauth
|
144
|
+
omniauth (~> 1.0)
|
145
|
+
omniauth-oauth2 (1.0.2)
|
146
|
+
oauth2 (~> 0.6.0)
|
147
|
+
omniauth (~> 1.0)
|
148
|
+
omniauth-twitter (0.0.7)
|
149
|
+
omniauth-oauth (~> 1.0)
|
150
|
+
orm_adapter (0.4.0)
|
151
|
+
polyamorous (0.5.0)
|
152
|
+
activerecord (~> 3.0)
|
153
|
+
polyglot (0.3.3)
|
154
|
+
rack (1.4.1)
|
155
|
+
rack-cache (1.2)
|
156
|
+
rack (>= 0.4)
|
157
|
+
rack-ssl (1.3.2)
|
158
|
+
rack
|
159
|
+
rack-test (0.6.1)
|
160
|
+
rack (>= 1.0)
|
161
|
+
rails (3.2.8)
|
162
|
+
actionmailer (= 3.2.8)
|
163
|
+
actionpack (= 3.2.8)
|
164
|
+
activerecord (= 3.2.8)
|
165
|
+
activeresource (= 3.2.8)
|
166
|
+
activesupport (= 3.2.8)
|
167
|
+
bundler (~> 1.0)
|
168
|
+
railties (= 3.2.8)
|
169
|
+
railties (3.2.8)
|
170
|
+
actionpack (= 3.2.8)
|
171
|
+
activesupport (= 3.2.8)
|
172
|
+
rack-ssl (~> 1.3.2)
|
173
|
+
rake (>= 0.8.7)
|
174
|
+
rdoc (~> 3.4)
|
175
|
+
thor (>= 0.14.6, < 2.0)
|
176
|
+
rake (0.9.2.2)
|
177
|
+
rdoc (3.12)
|
178
|
+
json (~> 1.4)
|
179
|
+
responders (0.9.2)
|
180
|
+
railties (~> 3.1)
|
181
|
+
rspec (2.11.0)
|
182
|
+
rspec-core (~> 2.11.0)
|
183
|
+
rspec-expectations (~> 2.11.0)
|
184
|
+
rspec-mocks (~> 2.11.0)
|
185
|
+
rspec-core (2.11.1)
|
186
|
+
rspec-expectations (2.11.3)
|
187
|
+
diff-lcs (~> 1.1.3)
|
188
|
+
rspec-mocks (2.11.2)
|
189
|
+
rspec-rails (2.11.0)
|
190
|
+
actionpack (>= 3.0)
|
191
|
+
activesupport (>= 3.0)
|
192
|
+
railties (>= 3.0)
|
193
|
+
rspec (~> 2.11.0)
|
194
|
+
rubyzip (0.9.9)
|
195
|
+
sass (3.2.1)
|
196
|
+
sass-rails (3.2.5)
|
197
|
+
railties (~> 3.2.0)
|
198
|
+
sass (>= 3.1.10)
|
199
|
+
tilt (~> 1.3)
|
200
|
+
selenium-webdriver (2.25.0)
|
201
|
+
childprocess (>= 0.2.5)
|
202
|
+
libwebsocket (~> 0.1.3)
|
203
|
+
multi_json (~> 1.0)
|
204
|
+
rubyzip
|
205
|
+
sprockets (2.1.3)
|
206
|
+
hike (~> 1.2)
|
207
|
+
rack (~> 1.0)
|
208
|
+
tilt (~> 1.1, != 1.3.0)
|
209
|
+
thor (0.16.0)
|
210
|
+
tilt (1.3.3)
|
211
|
+
treetop (1.4.10)
|
212
|
+
polyglot
|
213
|
+
polyglot (>= 0.3.1)
|
214
|
+
tzinfo (0.3.33)
|
215
|
+
uglifier (1.3.0)
|
216
|
+
execjs (>= 0.3.0)
|
217
|
+
multi_json (~> 1.0, >= 1.0.2)
|
218
|
+
warden (1.2.1)
|
219
|
+
rack (>= 1.0)
|
220
|
+
xpath (0.1.4)
|
221
|
+
nokogiri (~> 1.3)
|
9
222
|
|
10
223
|
PLATFORMS
|
11
224
|
ruby
|
12
225
|
|
13
226
|
DEPENDENCIES
|
227
|
+
activeadmin
|
228
|
+
coffee-rails (~> 3.2.1)
|
229
|
+
cucumber-rails
|
230
|
+
devise
|
14
231
|
frame!
|
232
|
+
jquery-rails
|
233
|
+
meta_search
|
234
|
+
mysql2
|
235
|
+
oauth2
|
236
|
+
omniauth
|
237
|
+
omniauth-google-oauth2
|
238
|
+
omniauth-twitter
|
239
|
+
rails (= 3.2.8)
|
240
|
+
rspec-rails
|
241
|
+
sass-rails (~> 3.2.3)
|
242
|
+
uglifier (>= 1.0.3)
|
data/README.md
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
Frame
|
2
|
+
=====
|
3
|
+
|
4
|
+
Frame is used to instantly setup websites with just a couple of commands. Frame users several other gems to build the
|
5
|
+
webpages up. Once they are created, then they can be fully customized and grow independent of frame.
|
6
|
+
|
7
|
+
|
8
|
+
## Getting Started
|
9
|
+
|
10
|
+
To just see what frame was designed to do, create a new project:
|
11
|
+
|
12
|
+
```console
|
13
|
+
rails new tester
|
14
|
+
cd tester
|
15
|
+
```
|
16
|
+
|
17
|
+
You must add frame as a gem:
|
18
|
+
```ruby
|
19
|
+
# Gemfile
|
20
|
+
gem 'frame'#, :path => '/home/admin/frame/'
|
21
|
+
```
|
22
|
+
|
23
|
+
|
24
|
+
Then run the bundler:
|
25
|
+
```console
|
26
|
+
bundle
|
27
|
+
```
|
28
|
+
|
29
|
+
To just see what frame was designed to do run (you must hit y/a for the overwrites):
|
30
|
+
|
31
|
+
```console
|
32
|
+
rails generate frame:all
|
33
|
+
rails generate frame:omniauth
|
34
|
+
rails server
|
35
|
+
|
36
|
+
```
|
data/lib/generators/frame.rb
CHANGED
@@ -13,7 +13,15 @@ module Frame
|
|
13
13
|
|
14
14
|
private
|
15
15
|
|
16
|
+
def add_if_missing(file, string, options = {}, unless_match = string)
|
17
|
+
puts "\n\n==> Adding the following to '#{file}' file:\n'#{string}' unless it already exists"
|
18
|
+
file_content = File.read(file)
|
19
|
+
#File.open(file, 'a') { |f| f.write("\n") } unless file_content =~ /\n\Z/
|
20
|
+
insert_into_file file, string, options unless file_content.include? unless_match
|
21
|
+
end
|
22
|
+
|
16
23
|
def add_gem(name, options = {})
|
24
|
+
#add_if_missing(destination_path("Gemfile"),)
|
17
25
|
gemfile_content = File.read(destination_path("Gemfile"))
|
18
26
|
File.open(destination_path("Gemfile"), 'a') { |f| f.write("\n") } unless gemfile_content =~ /\n\Z/
|
19
27
|
gem name, options unless gemfile_content.include? name
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Description:
|
2
|
+
Generates active_admin installation.
|
3
|
+
|
4
|
+
Usage:
|
5
|
+
Use to generate install and setup active_admin for a project.
|
6
|
+
|
7
|
+
Examples:
|
8
|
+
rails generate frame:admin
|
9
|
+
|
10
|
+
Methods:
|
11
|
+
There are several methods generated which you can use in your application.
|
@@ -0,0 +1,66 @@
|
|
1
|
+
require 'generators/frame'
|
2
|
+
require 'rails/generators/migration'
|
3
|
+
|
4
|
+
module Frame
|
5
|
+
module Generators
|
6
|
+
class AdminGenerator < Base
|
7
|
+
include Rails::Generators::Migration
|
8
|
+
|
9
|
+
desc "Installs Active Admin."
|
10
|
+
|
11
|
+
def add_gems
|
12
|
+
add_gem("sass-rails", :group => "test")
|
13
|
+
add_gem("meta_search", :group => "test")
|
14
|
+
end
|
15
|
+
|
16
|
+
def install_active_admin
|
17
|
+
if yes?("Would you like to install Active Admin?")
|
18
|
+
gem("activeadmin")
|
19
|
+
Bundler.with_clean_env do
|
20
|
+
run "bundle install"
|
21
|
+
end
|
22
|
+
generate("active_admin:install")
|
23
|
+
default_model = "page"
|
24
|
+
generate("active_admin:resource #{default_model}")
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def update_db
|
29
|
+
if yes?("Would you like to migrate the database?")
|
30
|
+
rake("db:migrate")
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def update_admin_form
|
35
|
+
template 'pages.rb', 'app/admin/pages.rb'
|
36
|
+
end
|
37
|
+
|
38
|
+
def update_pages_controller
|
39
|
+
template 'pages_controller.rb', 'app/controller/pages_controller.rb'
|
40
|
+
end
|
41
|
+
|
42
|
+
def cleanup_page_routes
|
43
|
+
file='config/routes.rb'
|
44
|
+
add_if_missing(file, " match 'pages/:id' => 'pages#show', :as => :page", :after => " resources :pages\n")
|
45
|
+
comment_lines file, / resources :pages/
|
46
|
+
end
|
47
|
+
|
48
|
+
def remove_pages_cud
|
49
|
+
filenames = ["app/views/pages/new.html.erb", "app/views/pages/edit.html.erb", "app/views/pages/index.html.erb", "app/views/pages/_form.html.erb"]
|
50
|
+
filenames.each { |filename|
|
51
|
+
if File.exists?(filename) and yes?("Would you like to remove '#{filename}'?")
|
52
|
+
remove_file filename
|
53
|
+
end
|
54
|
+
}
|
55
|
+
template 'show.html.erb', 'app/views/pages/show.html.erb'
|
56
|
+
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def destination_path(path)
|
61
|
+
File.join(destination_root, path)
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
ActiveAdmin.register Page do
|
2
|
+
|
3
|
+
form do |f|
|
4
|
+
f.inputs "Page" do
|
5
|
+
f.input :name
|
6
|
+
f.input :title
|
7
|
+
f.input :ordinal
|
8
|
+
f.input :url, :as => :url
|
9
|
+
f.input :location, :as => :select, :collection => [['Top', 'topbar'], ['Userbar', 'userbar'], ['Sidebar', 'sidebar'], ['Bottom', 'bottombar'], ['Disabled', 'off']]
|
10
|
+
f.input :content, :as => :text
|
11
|
+
end
|
12
|
+
f.buttons
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class PagesController < ApplicationController
|
2
|
+
|
3
|
+
# GET /pages/1
|
4
|
+
# GET /pages/1.json
|
5
|
+
def show
|
6
|
+
if params[:id] == 0
|
7
|
+
@page = Page.find_by_name('home') || Page.first
|
8
|
+
else
|
9
|
+
@page = Page.find(params[:id])
|
10
|
+
end
|
11
|
+
|
12
|
+
respond_to do |format|
|
13
|
+
# show.html.erb
|
14
|
+
if @page
|
15
|
+
format.html
|
16
|
+
format.json { render json: @page }
|
17
|
+
else
|
18
|
+
format.html { redirect_to action: 'new' }
|
19
|
+
format.json { render json: @page.errors, status: :unprocessable_entity }
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Description:
|
2
|
+
Generates active_admin installation.
|
3
|
+
|
4
|
+
Usage:
|
5
|
+
Use to generate install and setup active_admin for a project.
|
6
|
+
|
7
|
+
Examples:
|
8
|
+
rails generate frame:admin
|
9
|
+
|
10
|
+
Methods:
|
11
|
+
There are several methods generated which you can use in your application.
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'generators/frame'
|
2
|
+
require 'rails/generators/migration'
|
3
|
+
|
4
|
+
module Frame
|
5
|
+
module Generators
|
6
|
+
class AllGenerator < Base
|
7
|
+
include Rails::Generators::Migration
|
8
|
+
|
9
|
+
desc "Installs All of Frame for a new project."
|
10
|
+
|
11
|
+
def generate_all
|
12
|
+
generate("frame:gitignore")
|
13
|
+
generate("frame:secret")
|
14
|
+
generate("frame:mysql")
|
15
|
+
generate("frame:pages")
|
16
|
+
generate("frame:layout")
|
17
|
+
generate("frame:blueprint")
|
18
|
+
generate("frame:devise")
|
19
|
+
generate("frame:admin")
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|