humdrum-rails 0.1.1 → 0.1.2
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 +212 -1
- data/humdrum-rails.gemspec +1 -1
- data/lib/humdrum/version.rb +1 -1
- data/lib/rails/generators/humdrum/api/templates/models/resource.rb +8 -8
- data/lib/rails/generators/humdrum/layout/layout_generator.rb +37 -37
- data/lib/rails/generators/humdrum/layout/templates/controllers/application_controller.rb +7 -3
- data/lib/rails/generators/humdrum/layout/templates/helpers/display_helper.rb +4 -12
- data/lib/rails/generators/humdrum/layout/templates/helpers/params_parser_helper.rb +1 -16
- data/lib/rails/generators/humdrum/layout/templates/stylesheets/application.css +6 -5
- data/lib/rails/generators/humdrum/layout/templates/stylesheets/bootstrap3/overrides-bootstrap.css +9 -6
- data/lib/rails/generators/humdrum/layout/templates/views/bootstrap2/layouts/application.html.erb +14 -14
- data/lib/rails/generators/humdrum/layout/templates/views/bootstrap2/layouts/common/_flash_message.html.erb +4 -4
- data/lib/rails/generators/humdrum/layout/templates/views/bootstrap2/layouts/layout_name.html.erb +15 -15
- data/lib/rails/generators/humdrum/layout/templates/views/bootstrap3/layouts/application/_header.html.erb +18 -33
- data/lib/rails/generators/humdrum/layout/templates/views/bootstrap3/layouts/application.html.erb +15 -15
- data/lib/rails/generators/humdrum/layout/templates/views/bootstrap3/layouts/common/_flash_message.html.erb +4 -4
- data/lib/rails/generators/humdrum/layout/templates/views/bootstrap3/layouts/layout_name.html.erb +15 -15
- data/lib/rails/generators/humdrum/layout/templates/views/gumby/layouts/application.html.erb +13 -13
- data/lib/rails/generators/humdrum/layout/templates/views/gumby/layouts/common/_flash_message.html.erb +4 -4
- data/lib/rails/generators/humdrum/layout/templates/views/gumby/layouts/layout_name.html.erb +13 -13
- data/lib/rails/generators/humdrum/resource/templates/controllers/resource_controller.rb +53 -49
- data/lib/rails/generators/humdrum/resource/templates/models/resource.rb +9 -11
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/_edit.html.erb +2 -2
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/_field.html.erb +7 -7
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/_filters.html.erb +2 -2
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/_form.html.erb +33 -33
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/_index.html.erb +1 -1
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/_item.html.erb +9 -9
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/_nav_filters.html.erb +3 -3
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/_new.html.erb +2 -2
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/_show.html.erb +13 -13
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/_summary.html.erb +1 -1
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/index.html.erb +6 -6
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap2/resource/index.js.erb +3 -3
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/_drop_down.html.erb +1 -1
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/_edit.html.erb +2 -2
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/_field.html.erb +12 -12
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/_filters.html.erb +5 -5
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/_form.html.erb +21 -21
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/_index.html.erb +1 -1
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/_item.html.erb +15 -15
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/_nav_filters.html.erb +3 -3
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/_new.html.erb +2 -2
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/_show.html.erb +20 -20
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/_summary.html.erb +1 -1
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/destroy.js.erb +4 -4
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/index.html.erb +7 -7
- data/lib/rails/generators/humdrum/resource/templates/views/bootstrap3/resource/index.js.erb +3 -3
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/_edit.html.erb +2 -2
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/_field.html.erb +7 -7
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/_filters.html.erb +1 -1
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/_form.html copy.erb +13 -13
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/_form.html.erb +18 -18
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/_index.html.erb +1 -1
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/_item.html.erb +9 -9
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/_nav_filters.html.erb +3 -3
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/_new.html.erb +2 -2
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/_show.html.erb +19 -19
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/_summary.html.erb +1 -1
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/index.html.erb +6 -6
- data/lib/rails/generators/humdrum/resource/templates/views/gumby/resource/index.js.erb +3 -3
- data/lib/rails/generators/humdrum/setup/setup_generator.rb +21 -26
- data/lib/rails/generators/humdrum/setup/templates/config/database.example.sql +17 -40
- data/lib/rails/generators/humdrum/setup/templates/config/database.sql +16 -38
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbfd7807c2c0c77df353f4b5067cdf0bfe8eb003
|
4
|
+
data.tar.gz: de29fb34479544fc0b1117f2afafc154f0a7ef66
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 398f127b42b5659fa6b6c16fdc419ed4333626c7a7450e717cde6b64e9717387cf1f1ff87e486f4f3a71e214ef7b882fb96ce5407b329f31c13320969d26329b
|
7
|
+
data.tar.gz: 2e1786442698257e8ba834b85b87602fe81be9793723ac3ff645ea7f6fca2190c8c2089e68db2901441aa798313b84e4458108896f2a99b1a4c51506c93d27fb
|
data/README.md
CHANGED
@@ -18,7 +18,218 @@ Or install it yourself as:
|
|
18
18
|
|
19
19
|
## Usage
|
20
20
|
|
21
|
-
|
21
|
+
### STEP 1: Create the rails application
|
22
|
+
|
23
|
+
$ rails new my_rails_app -m https://gist.githubusercontent.com/kpvarma/8fe9ed04092bb7868917/raw --skip-test-unit --skip-bundle
|
24
|
+
|
25
|
+
The -m option will generate the application, download the template from the url mentioned and apply it to the generated output.
|
26
|
+
Open the Gemfile once when the application is created and you will see the Gemfile having all the gems from the template
|
27
|
+
Feel free to visit the URL https://gist.githubusercontent.com/kpvarma/8fe9ed04092bb7868917 to know how the template looks like.
|
28
|
+
Checkout http://guides.rubyonrails.org/generators.html#generator-methods for knowing more about Rails Generators.
|
29
|
+
|
30
|
+
### STEP 2: Setup the project
|
31
|
+
|
32
|
+
We now have a bare rails application.
|
33
|
+
|
34
|
+
If you dont have bundler installed, first install it
|
35
|
+
$ gem install bundler
|
36
|
+
|
37
|
+
Lets bundle install which will download all the required gems
|
38
|
+
$ bundle install
|
39
|
+
|
40
|
+
|
41
|
+
### STEP 3: Basic Humdrum Setup
|
42
|
+
|
43
|
+
We will now see how humdrum can help us in setting up a project quickly.
|
44
|
+
|
45
|
+
$ rails g humdrum:setup --config-database --dbase_name=my_rails_app --db_username=kpvarma --password=password1234 --rbenv_gemsets=my_rails_app
|
46
|
+
|
47
|
+
Type **Y** for all the questions and you will see something like this:
|
48
|
+
|
49
|
+
remove public/index.html
|
50
|
+
create config/initializers/config_center.rb
|
51
|
+
create config/locales/humdrum.en.yml
|
52
|
+
create lib/core_ext/string.rb
|
53
|
+
conflict .gitignore
|
54
|
+
Overwrite /Users/kvarma/Projects/VarmaLabs/OpenSource/my_rails_app/.gitignore? (enter "h" for help) [Ynaqdh] Y
|
55
|
+
force .gitignore
|
56
|
+
create .ruby-version
|
57
|
+
create .rbenv-gemsets
|
58
|
+
create config/database.example.yml
|
59
|
+
conflict config/database.yml
|
60
|
+
Overwrite /Users/kvarma/Projects/VarmaLabs/OpenSource/my_rails_app/config/database.yml? (enter "h" for help) [Ynaqdh] Y
|
61
|
+
force config/database.yml
|
62
|
+
|
63
|
+
You will find more about these files and its usages in Wiki Section.
|
64
|
+
As of now you just need to understand that humdrum:setup does the following:
|
65
|
+
|
66
|
+
- removes the public/index.html for old rails application (This is not applicable for rails 4+)
|
67
|
+
- creates a config_center.rb which is quite usefull to put all application constants. Open the file and check it out to understand what all things are there.
|
68
|
+
- humdrum.en.yml is required by the controllers generated by humdrum for dealing with alerts and messages
|
69
|
+
- string.rb has a useful mesthod is added to active record for randomly accessing elements from a table
|
70
|
+
- .gitignore has a list of all the usefull file paths to be ignored by git
|
71
|
+
- .ruby-version and -rbenv-gemsets helps us to manage ruby versions while dealing with a large number of projects
|
72
|
+
- humdrum will generate database.yml with the options passed - checkout database.yml to understand better.
|
73
|
+
- database.example.yml are required for deployment using capistrano. Ignore this if you are not dealing with deployment with capistrano.
|
74
|
+
|
75
|
+
### STEP 4: Create the database
|
76
|
+
|
77
|
+
$ bundle exec rake db:create
|
78
|
+
$ bundle exec rake db:migrate
|
79
|
+
|
80
|
+
This should now create the required database
|
81
|
+
|
82
|
+
### STEP 4: Create a layout using humdrum
|
83
|
+
|
84
|
+
$ bundle exec rails g humdrum:layout "user" --application-name="My Rails App" --fluid --framework=bootstrap3 -f
|
85
|
+
|
86
|
+
This will create layouts compatible with bootstrap3 for quick start. This will also create a welcome page (landing page) which is linked as root url in routes.rb. You should see the following:
|
87
|
+
|
88
|
+
force app/assets/stylesheets/application.css
|
89
|
+
create app/assets/stylesheets/bootstrap.css
|
90
|
+
create app/assets/stylesheets/overrides-bootstrap.css
|
91
|
+
force app/assets/javascripts/application.js
|
92
|
+
create app/assets/javascripts/validations/main.js
|
93
|
+
create app/assets/javascripts/bootstrap.min.js
|
94
|
+
create app/assets/javascripts/utilities.js
|
95
|
+
create app/assets/images/favicon.ico
|
96
|
+
create app/helpers/image_helper.rb
|
97
|
+
create app/helpers/title_helper.rb
|
98
|
+
create app/helpers/navigation_helper.rb
|
99
|
+
create app/helpers/meta_tags_helper.rb
|
100
|
+
create app/helpers/display_helper.rb
|
101
|
+
create app/helpers/params_parser_helper.rb
|
102
|
+
create app/helpers/flash_helper.rb
|
103
|
+
force app/views/layouts/application.html.erb
|
104
|
+
create app/views/layouts/application/_header.html.erb
|
105
|
+
create app/views/layouts/application/_footer.html.erb
|
106
|
+
create app/views/layouts/application/_navbar.html.erb
|
107
|
+
create app/views/layouts/common/_flash_message.html.erb
|
108
|
+
create app/views/layouts/common/_meta_tags.html.erb
|
109
|
+
create app/views/layouts/common/_overlays.html.erb
|
110
|
+
create app/views/layouts/user.html.erb
|
111
|
+
create app/views/layouts/user/_header.html.erb
|
112
|
+
create app/views/layouts/user/_footer.html.erb
|
113
|
+
create app/views/layouts/user/_navbar.html.erb
|
114
|
+
force app/controllers/application_controller.rb
|
115
|
+
create app/controllers/welcome_controller.rb
|
116
|
+
create app/controllers/user_controller.rb
|
117
|
+
create app/views/welcome/index.html.erb
|
118
|
+
create app/views/kaminari/_first_page.html.erb
|
119
|
+
create app/views/kaminari/_gap.html.erb
|
120
|
+
create app/views/kaminari/_last_page.html.erb
|
121
|
+
create app/views/kaminari/_next_page.html.erb
|
122
|
+
create app/views/kaminari/_page.html.erb
|
123
|
+
create app/views/kaminari/_paginator.html.erb
|
124
|
+
create app/views/kaminari/_prev_page.html.erb
|
125
|
+
route root :to => 'welcome#index'
|
126
|
+
|
127
|
+
Once again check your database.yml and ensure that the username and password is correct.
|
128
|
+
Otherwise you are likely to see an error like this:
|
129
|
+
"FATAL: role "xxxxxx" does not exist Run `$ bin/rake db:create db:migrate` to create your database"
|
130
|
+
|
131
|
+
|
132
|
+
Once everything checked, start the rails server:
|
133
|
+
|
134
|
+
$ rails s
|
135
|
+
|
136
|
+
Take a browser and hit http://localhost:3000 and chekc out.
|
137
|
+
|
138
|
+
### STEP 5: Create a resource using humdrum
|
139
|
+
|
140
|
+
$ rails g humdrum:resource users/documents name:string --fluid --framework=bootstrap3
|
141
|
+
|
142
|
+
|
143
|
+
This will create layouts compatible with bootstrap3 for quick start. This will also create a welcome page (landing page) which is linked as root url in routes.rb.
|
144
|
+
Once this is done, start the rails server, take a browser and hit http://localhost:3000
|
145
|
+
|
146
|
+
$ rails s
|
147
|
+
<browser> http://localhost:3000
|
148
|
+
|
149
|
+
|
150
|
+
STEP LAST: Learn more about humdrum
|
151
|
+
|
152
|
+
Now try
|
153
|
+
|
154
|
+
rails g humdrum:setup --help
|
155
|
+
rails g humdrum:layout --help
|
156
|
+
|
157
|
+
rails g humdrum:resource --help
|
158
|
+
|
159
|
+
rails g humdrum:api --help
|
160
|
+
|
161
|
+
You will see the usage
|
162
|
+
|
163
|
+
Possible Errors:
|
164
|
+
|
165
|
+
When you run
|
166
|
+
|
167
|
+
|
168
|
+
rails g humdrum:setup --help
|
169
|
+
|
170
|
+
if you see 'Could not find generator humdrum:setup.' error you should go to Gemfile and ensure that you add humdrum to it
|
171
|
+
|
172
|
+
gem "humdrum", "0.1.1"
|
173
|
+
|
174
|
+
Humdrum also requires the following gems . so ensure that you have the latest ones.
|
175
|
+
|
176
|
+
gem 'jquery-rails'
|
177
|
+
gem 'jquery-validation-rails'
|
178
|
+
gem "kaminari"
|
179
|
+
gem "handy-css-rails", "0.0.4"
|
180
|
+
|
181
|
+
You might want to add the following ones if you are using bootstrap framework
|
182
|
+
|
183
|
+
gem "bootstrap-kaminari-views"
|
184
|
+
gem "bootstrap-datepicker-rails"
|
185
|
+
|
186
|
+
|
187
|
+
Setup
|
188
|
+
|
189
|
+
rails g humdrum:setup --dbase="postgresql" --dbase_name="htb" --db_username="krishnan" db_password="password" --ruby_version="ruby-1.9.3-p429" --ruby_gemset="htb"
|
190
|
+
|
191
|
+
This will create a ruby-version and ruby-gemset file. Also copies database.yml and database.example.yml (In a better format)
|
192
|
+
|
193
|
+
No go back to parent folder and cd project_directory once again
|
194
|
+
$ cd ..
|
195
|
+
$ cd htb_app
|
196
|
+
|
197
|
+
check rvm current
|
198
|
+
you will see
|
199
|
+
ruby-1.9.3-p429@htb
|
200
|
+
|
201
|
+
now do bundle install again.
|
202
|
+
|
203
|
+
Different usages
|
204
|
+
|
205
|
+
rails g humdrum:setup
|
206
|
+
rails g humdrum:setup -p
|
207
|
+
rails g humdrum:setup --skip-gitignore -p
|
208
|
+
rails g humdrum:setup --skip-gitignore -p
|
209
|
+
rails g humdrum:setup --skip-gitignore --skip-ruby-gemset-p
|
210
|
+
rails g humdrum:setup --skip-gitignore --skip-ruby-gemset -p
|
211
|
+
rails g humdrum:setup --skip-gitignore --skip-gemset -p
|
212
|
+
rails g humdrum:setup --skip-gitignore --skip-gemset --skip-version -p
|
213
|
+
rails g humdrum:setup --skip-gitignore --skip-gemset --skip-version -p
|
214
|
+
rails g humdrum:setup --skip-gitignore --skip-gemset --skip-version --config-database -p
|
215
|
+
rails g humdrum:setup --skip-gitignore --skip-gemset --skip-version --config-database -p
|
216
|
+
rails g humdrum:setup --skip-gitignore --skip-gemset --skip-version -p
|
217
|
+
rails g humdrum:setup --skip-gitignore --skip-gemset --skip-version --config-database -p
|
218
|
+
rails g humdrum:setup --config-database --dbase="postgresql" --dbase_name="htb" --db_username="krishnan" db_password="password" --ruby_version="ruby-1.9.3-p429" --ruby_gemset="htb" -p
|
219
|
+
|
220
|
+
Layout
|
221
|
+
|
222
|
+
Create a basic layout including admin modules and user modules
|
223
|
+
rails g humdrum:layout "HTB App" --create_admin_layout --create_user_layout -f
|
224
|
+
|
225
|
+
skip welcome page
|
226
|
+
rails g humdrum:layout "HTB App" --create_admin_layout --create_user_layout --skip_welcome_page -p
|
227
|
+
|
228
|
+
Create a plain public layout to start with, including a landing page (welcome)
|
229
|
+
rails g humdrum:layout "HTB App"
|
230
|
+
|
231
|
+
Resource
|
232
|
+
|
22
233
|
|
23
234
|
## Contributing
|
24
235
|
|
data/humdrum-rails.gemspec
CHANGED
@@ -25,6 +25,6 @@ Gem::Specification.new do |gem|
|
|
25
25
|
gem.add_runtime_dependency 'colorize', '~> 0.7', '>= 0.7.3'
|
26
26
|
gem.add_development_dependency 'rails', '~> 3.0', '>= 3.0.0'
|
27
27
|
gem.add_development_dependency 'rainbow', '~> 1.1.4', '>= 1.1.4'
|
28
|
-
gem.add_development_dependency 'handy-css-rails', '~> 0.0.
|
28
|
+
gem.add_development_dependency 'handy-css-rails', '~> 0.0.7', '>= 0.0.7'
|
29
29
|
|
30
30
|
end
|
data/lib/humdrum/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
class <%= model_class %> < ActiveRecord::Base
|
2
|
-
|
3
|
-
attr_accessible <%= fields.keys.map{|x| ":" + x.downcase }.join(", ") %>
|
4
|
-
|
2
|
+
|
3
|
+
#attr_accessible <%= fields.keys.map{|x| ":" + x.downcase }.join(", ") %>
|
4
|
+
|
5
5
|
# Validations
|
6
6
|
<%- fields.each do |name, type| -%>
|
7
7
|
<%- if type == "string" %>
|
@@ -11,22 +11,22 @@ class <%= model_class %> < ActiveRecord::Base
|
|
11
11
|
<%- elsif type == "integer" %>
|
12
12
|
#validates :<%= name %>, :presence=>true, :numericality => true, :if => proc{|x| x.condition? }
|
13
13
|
<%- elsif type == "decimal" || type == "float" %>
|
14
|
-
#validates :<%= name %>, :format => { :with => /^\d+??(?:\.\d{0,2})?$/ },
|
14
|
+
#validates :<%= name %>, :format => { :with => /^\d+??(?:\.\d{0,2})?$/ },
|
15
15
|
:numericality =>{:greater_than => 0}
|
16
16
|
<%- elsif type != "boolean" %>
|
17
17
|
#validates :<%= name %>, :presence=>true
|
18
18
|
<%- end -%>
|
19
19
|
<%- end -%>
|
20
|
-
|
20
|
+
|
21
21
|
# Validation Examples
|
22
22
|
#LANDLINE_LIST = ["1234567890", "0987654321"]
|
23
|
-
#validates :first_name,
|
23
|
+
#validates :first_name,
|
24
24
|
# :presence=>true,
|
25
25
|
# :length => {:minimum => ConfigCenter::GeneralValidations::FIRST_NAME_MIN_LEN ,
|
26
|
-
# :maximum => ConfigCenter::GeneralValidations::FIRST_NAME_MAX_LEN, :message => "should be less than x and greater than y"},
|
26
|
+
# :maximum => ConfigCenter::GeneralValidations::FIRST_NAME_MAX_LEN, :message => "should be less than x and greater than y"},
|
27
27
|
# :uniqueness => {:scope => [:user_id, :status], :case_sensitive => false},
|
28
28
|
# :format => {:with => ConfigCenter::GeneralValidations::FIRST_NAME_FORMAT_REG_EXP, :message => "Invalid format"},
|
29
29
|
# :inclusion => { :in => PHONE_LIST, :message => "not included in the list" },
|
30
30
|
# :unless => proc{|user| user.password.blank? }
|
31
|
-
|
31
|
+
|
32
32
|
end
|
@@ -1,19 +1,19 @@
|
|
1
1
|
module Humdrum
|
2
2
|
module Generators
|
3
3
|
class LayoutGenerator < Rails::Generators::Base
|
4
|
-
|
4
|
+
|
5
5
|
source_root File.expand_path('../templates', __FILE__)
|
6
|
-
|
6
|
+
|
7
7
|
desc "Generates a layout file with the given name (default is 'application') and the required partials " <<
|
8
8
|
"Pass --application_name=MyNewApp to set a name / brand for the application." <<
|
9
9
|
"Pass --framework=bootstrap3 to copy bootstrap3 assets and generate a layout which is compatible to it."
|
10
|
-
|
10
|
+
|
11
11
|
argument :layout_name, :type=>:string, :default => "application", :desc => "This creates/replaces application.html.erb by default"
|
12
|
-
|
12
|
+
|
13
13
|
class_option :application_name, :type => :string, :default => "New App", :desc => "The name of the application. This is used as the brand name in header."
|
14
14
|
class_option :fixed, :type => :boolean, :default => false, :desc => "Create fixed layouts. Default is fluid (Gumby doesn't support fluid framework. Hence applicable only for bootstrap for the timebeing.)"
|
15
15
|
class_option :framework, :type => :string, :default => 'bootstrap3', :desc => "Support Twitter Bootstrap (twitter.github.io/bootstrap/) and Gumpy (http://gumbyframework.com/). Default is bootstrap. Pass gumby for Gumby Framework"
|
16
|
-
|
16
|
+
|
17
17
|
class_option :skip_stylesheet, :type => :boolean, :default => false, :desc => "Generate the stylesheets"
|
18
18
|
class_option :skip_javascript, :type => :boolean, :default => false, :desc => "Generate the javascripts"
|
19
19
|
class_option :skip_graphics, :type => :boolean, :default => false, :desc => "Generate the graphics (images required for the css and UI frameworks)"
|
@@ -23,58 +23,58 @@ module Humdrum
|
|
23
23
|
|
24
24
|
## Parse from config file
|
25
25
|
#class_option :config_file, :type => :string, :desc => "Parse options from the config file."
|
26
|
-
|
26
|
+
|
27
27
|
#@@config = nil
|
28
|
-
|
28
|
+
|
29
29
|
#def config
|
30
30
|
# args = options.dup
|
31
31
|
# args.config_file ||= '.csvconverter.yaml'
|
32
32
|
#
|
33
33
|
# config = YAML::load File.open(args[:file], 'r')
|
34
34
|
#end
|
35
|
-
|
35
|
+
|
36
36
|
def application_name
|
37
37
|
options.application_name
|
38
38
|
end
|
39
|
-
|
39
|
+
|
40
40
|
def framework
|
41
41
|
options.framework
|
42
42
|
end
|
43
|
-
|
43
|
+
|
44
44
|
def generate_stylesheets
|
45
45
|
unless options.skip_stylesheet?
|
46
|
-
|
46
|
+
|
47
47
|
template "stylesheets/application.css", "app/assets/stylesheets/application.css"
|
48
|
-
|
48
|
+
|
49
49
|
case framework
|
50
50
|
when "bootstrap3"
|
51
|
-
|
51
|
+
|
52
52
|
# Copy bootstrap css file
|
53
53
|
copy_file "stylesheets/bootstrap3/bootstrap.css", "app/assets/stylesheets/bootstrap.css"
|
54
|
-
|
54
|
+
|
55
55
|
# Its named overrides-bootstrap so that it loads after bootstrap.css
|
56
56
|
copy_file "stylesheets/bootstrap3/overrides-bootstrap.css", "app/assets/stylesheets/overrides-bootstrap.css"
|
57
57
|
when "bootstrap2"
|
58
|
-
|
58
|
+
|
59
59
|
# Copy bootstrap css file
|
60
60
|
copy_file "stylesheets/bootstrap2/bootstrap.css", "app/assets/stylesheets/bootstrap.css"
|
61
61
|
copy_file "stylesheets/bootstrap2/bootstrap-responsive.css", "app/assets/stylesheets/bootstrap-responsive.css"
|
62
|
-
|
62
|
+
|
63
63
|
# Its named overrides-bootstrap so that it loads after bootstrap.css
|
64
64
|
copy_file "stylesheets/bootstrap2/overrides-bootstrap.css", "app/assets/stylesheets/overrides-bootstrap.css"
|
65
65
|
when "gumby"
|
66
|
-
|
66
|
+
|
67
67
|
# Copy gumby css file
|
68
68
|
copy_file "stylesheets/gumby/gumby.css", "app/assets/stylesheets/gumby.css"
|
69
69
|
copy_file "stylesheets/gumby/gumby-pagination.css", "app/assets/stylesheets/gumby-pagination.css"
|
70
|
-
|
70
|
+
|
71
71
|
# Its named overrides-gumby so that it loads after gumby.css
|
72
72
|
copy_file "stylesheets/gumby/overrides-gumby.css", "app/assets/stylesheets/overrides-gumby.css"
|
73
73
|
end
|
74
|
-
|
74
|
+
|
75
75
|
end
|
76
76
|
end
|
77
|
-
|
77
|
+
|
78
78
|
def generate_javascripts
|
79
79
|
unless options.skip_javascript?
|
80
80
|
template "javascripts/application.js", "app/assets/javascripts/application.js"
|
@@ -92,7 +92,7 @@ module Humdrum
|
|
92
92
|
end
|
93
93
|
end
|
94
94
|
end
|
95
|
-
|
95
|
+
|
96
96
|
# TODO - This section has to be optimized. All the assets should be organized under the framework folders.
|
97
97
|
# We should also use fontawesome irrespective of what the framework is
|
98
98
|
def generate_graphics
|
@@ -110,7 +110,7 @@ module Humdrum
|
|
110
110
|
end
|
111
111
|
end
|
112
112
|
end
|
113
|
-
|
113
|
+
|
114
114
|
def generate_helpers
|
115
115
|
template "helpers/image_helper.rb", "app/helpers/image_helper.rb"
|
116
116
|
template "helpers/title_helper.rb", "app/helpers/title_helper.rb"
|
@@ -120,34 +120,34 @@ module Humdrum
|
|
120
120
|
template "helpers/params_parser_helper.rb", "app/helpers/params_parser_helper.rb"
|
121
121
|
template "helpers/flash_helper.rb", "app/helpers/flash_helper.rb"
|
122
122
|
end
|
123
|
-
|
123
|
+
|
124
124
|
def generate_layout
|
125
|
-
|
126
|
-
template "views/#{framework}/layouts/application.html.erb", "app/views/layouts/application.html.erb"
|
125
|
+
|
126
|
+
template "views/#{framework}/layouts/application.html.erb", "app/views/layouts/application.html.erb"
|
127
127
|
template "views/#{framework}/layouts/application/_header.html.erb", "app/views/layouts/application/_header.html.erb"
|
128
128
|
template "views/#{framework}/layouts/application/_footer.html.erb", "app/views/layouts/application/_footer.html.erb"
|
129
129
|
template "views/#{framework}/layouts/application/_navbar.html.erb", "app/views/layouts/application/_navbar.html.erb"
|
130
|
-
|
130
|
+
|
131
131
|
template "views/#{framework}/layouts/common/_flash_message.html.erb", "app/views/layouts/common/_flash_message.html.erb"
|
132
132
|
template "views/#{framework}/layouts/common/_meta_tags.html.erb", "app/views/layouts/common/_meta_tags.html.erb"
|
133
133
|
template "views/#{framework}/layouts/common/_overlays.html.erb", "app/views/layouts/common/_overlays.html.erb"
|
134
|
-
|
135
|
-
template "views/#{framework}/layouts/layout_name.html.erb", "app/views/layouts/#{layout_name}.html.erb"
|
134
|
+
|
135
|
+
template "views/#{framework}/layouts/layout_name.html.erb", "app/views/layouts/#{layout_name}.html.erb"
|
136
136
|
template "views/#{framework}/layouts/layout_name/_header.html.erb", "app/views/layouts/#{layout_name}/_header.html.erb"
|
137
137
|
template "views/#{framework}/layouts/layout_name/_footer.html.erb", "app/views/layouts/#{layout_name}/_footer.html.erb"
|
138
138
|
template "views/#{framework}/layouts/layout_name/_navbar.html.erb", "app/views/layouts/#{layout_name}/_navbar.html.erb"
|
139
|
-
|
139
|
+
|
140
140
|
end
|
141
|
-
|
141
|
+
|
142
142
|
def generate_controllers
|
143
143
|
template "controllers/application_controller.rb", "app/controllers/application_controller.rb"
|
144
144
|
template "controllers/welcome_controller.rb", "app/controllers/welcome_controller.rb" unless options.skip_welcome_page?
|
145
145
|
template "controllers/layout_name_controller.rb", "app/controllers/#{layout_name}_controller.rb"
|
146
146
|
end
|
147
|
-
|
147
|
+
|
148
148
|
def generate_views
|
149
149
|
template "views/#{framework}/welcome/index.html.erb", "app/views/welcome/index.html.erb" unless options.skip_welcome_page?
|
150
|
-
|
150
|
+
|
151
151
|
# Copy kaminari templates
|
152
152
|
unless options.skip_kaminari?
|
153
153
|
template "views/#{framework}/kaminari/_first_page.html.erb", "app/views/kaminari/_first_page.html.erb"
|
@@ -159,13 +159,13 @@ module Humdrum
|
|
159
159
|
template "views/#{framework}/kaminari/_prev_page.html.erb", "app/views/kaminari/_prev_page.html.erb"
|
160
160
|
end
|
161
161
|
end
|
162
|
-
|
162
|
+
|
163
163
|
def generate_routes
|
164
164
|
route("root :to => 'welcome#index'") unless options.skip_welcome_page
|
165
165
|
end
|
166
|
-
|
166
|
+
|
167
167
|
private
|
168
|
-
|
168
|
+
|
169
169
|
def container_class
|
170
170
|
case framework
|
171
171
|
when "bootstrap3", "gumby"
|
@@ -176,7 +176,7 @@ module Humdrum
|
|
176
176
|
options.fixed? ? "container" : "container-fluid"
|
177
177
|
end
|
178
178
|
end
|
179
|
-
|
179
|
+
|
180
180
|
def row_class
|
181
181
|
case framework
|
182
182
|
when "bootstrap3", "gumby"
|
@@ -187,7 +187,7 @@ module Humdrum
|
|
187
187
|
options.fixed? ? "row" : "row-fluid"
|
188
188
|
end
|
189
189
|
end
|
190
|
-
|
190
|
+
|
191
191
|
end
|
192
192
|
end
|
193
193
|
end
|
@@ -1,8 +1,12 @@
|
|
1
1
|
class ApplicationController < ActionController::Base
|
2
2
|
protect_from_forgery
|
3
|
-
|
4
|
-
include
|
3
|
+
|
4
|
+
include DisplayHelper
|
5
5
|
include FlashHelper
|
6
|
+
include ImageHelper
|
7
|
+
include MetaTagsHelper
|
6
8
|
include NavigationHelper
|
7
|
-
|
9
|
+
include ParamsParserHelper
|
10
|
+
include TitleHelper
|
11
|
+
|
8
12
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module DisplayHelper
|
2
|
-
|
2
|
+
|
3
3
|
def scrap_word(text, char_count_limit, more_text = nil, more_link = nil,style='')
|
4
4
|
# remove HTML tags
|
5
5
|
text = text.to_s.gsub(/<\/?[^>]*>/, " ")
|
@@ -26,17 +26,9 @@ module DisplayHelper
|
|
26
26
|
end
|
27
27
|
return teaser
|
28
28
|
end
|
29
|
-
|
30
|
-
def display_time(disp_time, class_name
|
29
|
+
|
30
|
+
def display_time(disp_time, class_name="")
|
31
31
|
return distance_of_time_in_words_to_now(disp_time) + " ago"
|
32
|
-
# return_str = ""
|
33
|
-
# if ((Time.now - disp_time) < (6*24*60*60))
|
34
|
-
# return_str = distance_of_time_in_words_to_now(disp_time) + " ago"
|
35
|
-
# else
|
36
|
-
# return_str = "#{disp_time.strftime('%m/%d/%y')}"
|
37
|
-
# end
|
38
|
-
#
|
39
|
-
# return content_tag("span", return_str, :class => (class_name.nil? ? "text-color-grey" : class_name))
|
40
32
|
end
|
41
|
-
|
33
|
+
|
42
34
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module ParamsParserHelper
|
2
|
-
|
2
|
+
|
3
3
|
def parse_pagination_params
|
4
4
|
@current_page = params[:page] || "1"
|
5
5
|
@per_page = params[:per_page] || ConfigCenter::Defaults::ITEMS_PER_LIST.to_s
|
@@ -9,23 +9,8 @@ module ParamsParserHelper
|
|
9
9
|
end
|
10
10
|
|
11
11
|
@offset = (@current_page.to_i - 1) * (@per_page.to_i)
|
12
|
-
|
13
12
|
end
|
14
13
|
|
15
|
-
def parse_filter_dates(instance_name, start_date_name="start_date", end_date_name="end_date")
|
16
|
-
## Parsing the date info if any
|
17
|
-
unless params[instance_name][start_date_name].blank?
|
18
|
-
d = params[instance_name][start_date_name] ? (Time.parse(params[instance_name][start_date_name])) : (Date.today - 1.day)
|
19
|
-
@start_date = params[instance_name][:start_date] || (Date.today - 1.day)
|
20
|
-
@start_time = Time.utc(d.year,d.month,d.day,00,00,00)
|
21
|
-
end
|
22
|
-
unless params[instance_name][end_date_name].blank?
|
23
|
-
d = params[instance_name][end_date_name] ? Time.parse(params[instance_name][end_date_name]) : Date.today
|
24
|
-
@end_date = params[instance_name][end_date_name] || Date.today
|
25
|
-
@end_time = Time.utc(d.year,d.month,d.day,23,59,59)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
14
|
end
|
30
15
|
|
31
16
|
|
@@ -9,12 +9,13 @@
|
|
9
9
|
* compiled file, but it's generally better to create a new file per style scope.
|
10
10
|
*
|
11
11
|
*= require_self
|
12
|
+
* handycss is a bunch of handy CSS which can be used directly in any project, developed with SCSS
|
13
|
+
* Chekcout https://github.com/kpvarma/handyCSS and https://github.com/kpvarma/handy-css-rails
|
14
|
+
*= require handycss.css
|
15
|
+
* require handycss.box.css
|
16
|
+
* require handycss.backdrops.css
|
12
17
|
|
13
|
-
|
14
|
-
* require handyCSS.box.css
|
15
|
-
* require handyCSS.backdrops.css
|
16
|
-
|
17
|
-
<% case framework
|
18
|
+
<% case framework
|
18
19
|
when "bootstrap3" -%>
|
19
20
|
* require bootstrap-rails (Alternatively you can use the bootstrap3-rails gem)
|
20
21
|
*= require bootstrap
|
data/lib/rails/generators/humdrum/layout/templates/stylesheets/bootstrap3/overrides-bootstrap.css
CHANGED
@@ -1,12 +1,15 @@
|
|
1
|
-
body { padding:
|
1
|
+
body { padding: 5px; }
|
2
2
|
|
3
3
|
.navbar { margin-bottom: 0px; }
|
4
4
|
|
5
5
|
.alert { padding:10px; }
|
6
6
|
|
7
7
|
.container {
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
}
|
8
|
+
padding-right: 5px;
|
9
|
+
padding-left: 5px;
|
10
|
+
margin-right: auto;
|
11
|
+
margin-left: auto;
|
12
|
+
}
|
13
|
+
|
14
|
+
.dropdown-menu.align-right {left: -65%;}
|
15
|
+
.box .row {margin: 0px !important}
|
data/lib/rails/generators/humdrum/layout/templates/views/bootstrap2/layouts/application.html.erb
CHANGED
@@ -4,29 +4,29 @@
|
|
4
4
|
<!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]-->
|
5
5
|
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
|
6
6
|
<head>
|
7
|
-
|
7
|
+
|
8
8
|
<title><%%= title -%></title>
|
9
|
-
|
9
|
+
|
10
10
|
<%%= render :partial=>"/layouts/common/meta_tags" -%>
|
11
11
|
|
12
12
|
<!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
|
13
13
|
<link rel="icon" href="/assets/favicon.ico" type="image/png">
|
14
|
-
|
14
|
+
|
15
15
|
<%%= stylesheet_link_tag "application", :media => "all" -%>
|
16
|
-
|
16
|
+
|
17
17
|
<%%= csrf_meta_tags -%>
|
18
18
|
|
19
19
|
</head>
|
20
20
|
|
21
21
|
<body>
|
22
|
-
|
22
|
+
|
23
23
|
<!--[if lt IE 7]>
|
24
|
-
<p class="chromeframe">You are using an <strong>outdated</strong> browser.
|
25
|
-
Please <a href="http://browsehappy.com/">upgrade your browser</a> or
|
26
|
-
<a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a>
|
24
|
+
<p class="chromeframe">You are using an <strong>outdated</strong> browser.
|
25
|
+
Please <a href="http://browsehappy.com/">upgrade your browser</a> or
|
26
|
+
<a href="http://www.google.com/chromeframe/?redirect=true">activate Google Chrome Frame</a>
|
27
27
|
to improve your experience.</p>
|
28
28
|
<![endif]-->
|
29
|
-
|
29
|
+
|
30
30
|
<div class="header-block clearfix">
|
31
31
|
<div id="div_page_header">
|
32
32
|
<%%= render :partial=>"/layouts/application/header" -%>
|
@@ -35,19 +35,19 @@
|
|
35
35
|
<%%= render :partial=>"/layouts/application/navbar" -%>
|
36
36
|
</div>
|
37
37
|
</div>
|
38
|
-
|
38
|
+
|
39
39
|
<%%#* Show flash messages if controller has set any. -%>
|
40
40
|
<div id="div_flash_message">
|
41
41
|
<%%= render :partial=>"/layouts/common/flash_message" -%>
|
42
42
|
</div>
|
43
|
-
|
44
|
-
<div class="<%= container_class %>
|
43
|
+
|
44
|
+
<div class="<%= container_class %> pt-10" style="min-height:400px;">
|
45
45
|
<%%= yield %>
|
46
46
|
</div>
|
47
|
-
|
47
|
+
|
48
48
|
<%%#* Display Footer -%>
|
49
49
|
<%%= render :partial=>"/layouts/application/footer" -%>
|
50
|
-
|
50
|
+
|
51
51
|
<%%#* Display Hidden Overlays -%>
|
52
52
|
<%%= render :partial=>"/layouts/common/overlays" -%>
|
53
53
|
|