makena 0.0.5
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 +7 -0
- data/.gitignore +37 -0
- data/Gemfile +139 -0
- data/Gemfile.lock +469 -0
- data/README.rdoc +28 -0
- data/Rakefile +6 -0
- data/app/assets/images/.keep +0 -0
- data/app/assets/javascripts/application.js +16 -0
- data/app/assets/stylesheets/application.css +13 -0
- data/app/controllers/application_controller.rb +5 -0
- data/app/controllers/concerns/.keep +0 -0
- data/app/helpers/application_helper.rb +2 -0
- data/app/mailers/.keep +0 -0
- data/app/models/.keep +0 -0
- data/app/models/concerns/.keep +0 -0
- data/app/views/layouts/application.html.erb +14 -0
- data/bin/bundle +3 -0
- data/bin/rails +4 -0
- data/bin/rake +4 -0
- data/config.ru +4 -0
- data/config/application.rb +23 -0
- data/config/boot.rb +4 -0
- data/config/database.yml +39 -0
- data/config/environment.rb +5 -0
- data/config/environments/development.rb +29 -0
- data/config/environments/production.rb +80 -0
- data/config/environments/test.rb +36 -0
- data/config/initializers/backtrace_silencers.rb +7 -0
- data/config/initializers/filter_parameter_logging.rb +4 -0
- data/config/initializers/inflections.rb +16 -0
- data/config/initializers/mime_types.rb +5 -0
- data/config/initializers/secret_token.rb +12 -0
- data/config/initializers/session_store.rb +3 -0
- data/config/initializers/wrap_parameters.rb +14 -0
- data/config/locales/en.yml +23 -0
- data/config/routes.rb +56 -0
- data/db/seeds.rb +7 -0
- data/lib/assets/.keep +0 -0
- data/lib/generators/connection/USAGE +26 -0
- data/lib/generators/connection/connection_generator.rb +195 -0
- data/lib/generators/connection/templates/extensions/alpha_alphas.rb +17 -0
- data/lib/generators/connection/templates/extensions/alpha_betas.rb +17 -0
- data/lib/generators/connection/templates/extensions/geocoder.rb +23 -0
- data/lib/generators/connection/templates/extensions/image.rb +12 -0
- data/lib/generators/copy/USAGE +7 -0
- data/lib/generators/copy/copy_generator.rb +41 -0
- data/lib/generators/git/USAGE +8 -0
- data/lib/generators/git/git_generator.rb +59 -0
- data/lib/generators/setup/USAGE +8 -0
- data/lib/generators/setup/setup_generator.rb +151 -0
- data/lib/generators/success/USAGE +44 -0
- data/lib/generators/success/success_generator.rb +18 -0
- data/lib/tasks/.keep +0 -0
- data/makena/.gitignore +17 -0
- data/makena/Gemfile +4 -0
- data/makena/LICENSE.txt +22 -0
- data/makena/README.md +32 -0
- data/makena/Rakefile +1 -0
- data/makena/lib/makena.rb +21 -0
- data/makena/lib/makena/controllers.rb +218 -0
- data/makena/lib/makena/gps.rb +2 -0
- data/makena/lib/makena/image.rb +2 -0
- data/makena/lib/makena/layouts.rb +41 -0
- data/makena/lib/makena/models.rb +2 -0
- data/makena/lib/makena/tree.rb +181 -0
- data/makena/lib/makena/version.rb +3 -0
- data/makena/lib/makena/views.rb +225 -0
- data/makena/makena.gemspec +23 -0
- data/public/404.html +58 -0
- data/public/422.html +58 -0
- data/public/500.html +57 -0
- data/public/favicon.ico +0 -0
- data/public/robots.txt +5 -0
- data/vendor/assets/javascripts/.keep +0 -0
- data/vendor/assets/stylesheets/.keep +0 -0
- metadata +150 -0
data/config/routes.rb
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
Makena::Application.routes.draw do
|
2
|
+
# The priority is based upon order of creation: first created -> highest priority.
|
3
|
+
# See how all your routes lay out with "rake routes".
|
4
|
+
|
5
|
+
# You can have the root of your site routed with "root"
|
6
|
+
# root 'welcome#index'
|
7
|
+
|
8
|
+
# Example of regular route:
|
9
|
+
# get 'products/:id' => 'catalog#view'
|
10
|
+
|
11
|
+
# Example of named route that can be invoked with purchase_url(id: product.id)
|
12
|
+
# get 'products/:id/purchase' => 'catalog#purchase', as: :purchase
|
13
|
+
|
14
|
+
# Example resource route (maps HTTP verbs to controller actions automatically):
|
15
|
+
# resources :products
|
16
|
+
|
17
|
+
# Example resource route with options:
|
18
|
+
# resources :products do
|
19
|
+
# member do
|
20
|
+
# get 'short'
|
21
|
+
# post 'toggle'
|
22
|
+
# end
|
23
|
+
#
|
24
|
+
# collection do
|
25
|
+
# get 'sold'
|
26
|
+
# end
|
27
|
+
# end
|
28
|
+
|
29
|
+
# Example resource route with sub-resources:
|
30
|
+
# resources :products do
|
31
|
+
# resources :comments, :sales
|
32
|
+
# resource :seller
|
33
|
+
# end
|
34
|
+
|
35
|
+
# Example resource route with more complex sub-resources:
|
36
|
+
# resources :products do
|
37
|
+
# resources :comments
|
38
|
+
# resources :sales do
|
39
|
+
# get 'recent', on: :collection
|
40
|
+
# end
|
41
|
+
# end
|
42
|
+
|
43
|
+
# Example resource route with concerns:
|
44
|
+
# concern :toggleable do
|
45
|
+
# post 'toggle'
|
46
|
+
# end
|
47
|
+
# resources :posts, concerns: :toggleable
|
48
|
+
# resources :photos, concerns: :toggleable
|
49
|
+
|
50
|
+
# Example resource route within a namespace:
|
51
|
+
# namespace :admin do
|
52
|
+
# # Directs /admin/products/* to Admin::ProductsController
|
53
|
+
# # (app/controllers/admin/products_controller.rb)
|
54
|
+
# resources :products
|
55
|
+
# end
|
56
|
+
end
|
data/db/seeds.rb
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
# This file should contain all the record creation needed to seed the database with its default values.
|
2
|
+
# The data can then be loaded with the rake db:seed (or created alongside the db with db:setup).
|
3
|
+
#
|
4
|
+
# Examples:
|
5
|
+
#
|
6
|
+
# cities = City.create([{ name: 'Chicago' }, { name: 'Copenhagen' }])
|
7
|
+
# Mayor.create(name: 'Emanuel', city: cities.first)
|
data/lib/assets/.keep
ADDED
File without changes
|
@@ -0,0 +1,26 @@
|
|
1
|
+
Description:
|
2
|
+
|
3
|
+
To change this USAGE document : $ vim lib/generators/connection/USAGE
|
4
|
+
To get here: $ rails g connection -h(elp)
|
5
|
+
|
6
|
+
Examples:
|
7
|
+
|
8
|
+
$ rails g(generator) connection alpha beta feature1|feature2|feature3...
|
9
|
+
where alpha = The name of object connecting from
|
10
|
+
where beta = The name of the non-existant object connecting to
|
11
|
+
|
12
|
+
if alpha = beta,
|
13
|
+
then beta is not created
|
14
|
+
then alpha is parent to beta
|
15
|
+
then beta is child to alpha
|
16
|
+
|
17
|
+
if beta = none,
|
18
|
+
then beta is not created
|
19
|
+
|
20
|
+
Example:
|
21
|
+
|
22
|
+
$ rails g connection user location name|content|location|image
|
23
|
+
$ rails g connection spot note name|content|image
|
24
|
+
|
25
|
+
This will create:
|
26
|
+
what/will/it/create
|
@@ -0,0 +1,195 @@
|
|
1
|
+
class ConnectionGenerator < Rails::Generators::NamedBase
|
2
|
+
|
3
|
+
# Look from root
|
4
|
+
source_root File.expand_path('../../../../', __FILE__)
|
5
|
+
|
6
|
+
# Example:
|
7
|
+
# rails g connectionion spot note name|content|image
|
8
|
+
def establish_variables
|
9
|
+
@alpha = name.underscore.singularize
|
10
|
+
@beta = args.shift.underscore.singularize
|
11
|
+
@connection = @alpha+"_"+@beta
|
12
|
+
@atts = args.shift.to_s.split("|")
|
13
|
+
@root = "lib/generators/connection/templates"
|
14
|
+
end
|
15
|
+
|
16
|
+
# Create standard scaffold
|
17
|
+
def generate_scaffold_and_models
|
18
|
+
if @alpha!=@beta
|
19
|
+
generate_scaffold_beta
|
20
|
+
generate_model_alpha_beta
|
21
|
+
elsif @alpha==@beta
|
22
|
+
generate_model_parents_children
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
# Modify standard views
|
27
|
+
def modify_views
|
28
|
+
if @alpha!=@beta
|
29
|
+
modify_views_assocs
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def generate_extensions
|
34
|
+
if @alpha!=@beta
|
35
|
+
empty_directory "app/models/extensions"
|
36
|
+
add_has_many_to_alpha_beta_models
|
37
|
+
template_extensions_geocoder if @atts.include?("location")
|
38
|
+
template_extensions_image if @atts.include?("image")
|
39
|
+
elsif @alpha==@beta
|
40
|
+
template_extensions_parents_children
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
# Add feature testing
|
45
|
+
def add_testing_notes
|
46
|
+
a = "features/user.feature"
|
47
|
+
b = "#T\O\D\O Add testing for #{@alpha}, #{@beta}, #{@connection}"
|
48
|
+
prepend_to_file a, b
|
49
|
+
end
|
50
|
+
|
51
|
+
# Run migration
|
52
|
+
def run_migration
|
53
|
+
run "rake db:drop"
|
54
|
+
run "rake db:create"
|
55
|
+
run "rake db:migrate"
|
56
|
+
run "rake db:test:clone" # unless Rails 4.1+
|
57
|
+
end
|
58
|
+
|
59
|
+
private
|
60
|
+
|
61
|
+
# Generate parents and children model
|
62
|
+
def generate_model_parents_children
|
63
|
+
generate "model", "#{@connection} user:references parent:references child:references"
|
64
|
+
from_file = "app/models/#{@connection}.rb"
|
65
|
+
from = " belongs_to :parent"
|
66
|
+
to = " belongs_to :parent_#{@beta}, class_name: '#{@beta.camelcase}', foreign_key: 'parent_id'"
|
67
|
+
gsub_file from_file, from, to
|
68
|
+
from_file = "app/models/#{@connection}.rb"
|
69
|
+
from = " belongs_to :child"
|
70
|
+
to = " belongs_to :child_#{@beta}, class_name: '#{@beta.camelcase}', foreign_key: 'child_id'"
|
71
|
+
gsub_file from_file, from, to
|
72
|
+
end
|
73
|
+
|
74
|
+
# Modify assocs views
|
75
|
+
def modify_views_assocs
|
76
|
+
modify_view @beta, :name if @atts.include?("name")
|
77
|
+
modify_view @beta, :image if @atts.include?("image")
|
78
|
+
modify_view @beta, :text, :content if @atts.include?("content")
|
79
|
+
modify_view @beta, :address, :location if @atts.include?("address")
|
80
|
+
end
|
81
|
+
|
82
|
+
# Generate scaffold assocs
|
83
|
+
def generate_scaffold_beta
|
84
|
+
pass_order = "#{@beta.pluralize} user:references"
|
85
|
+
pass_order << " is_public:boolean:index"
|
86
|
+
pass_order << " name:string:index" if @atts.include?("name")
|
87
|
+
pass_order << " content:text" if @atts.include?("content")
|
88
|
+
if @atts.include?("location")
|
89
|
+
pass_order << " address:string:index"
|
90
|
+
pass_order << " latitude:float:index"
|
91
|
+
pass_order << " longitude:float:index"
|
92
|
+
end
|
93
|
+
pass_order << " image:string:index" if @atts.include?("image")
|
94
|
+
generate "scaffold", pass_order
|
95
|
+
end
|
96
|
+
|
97
|
+
# Generate model for associates
|
98
|
+
def generate_model_alpha_beta
|
99
|
+
generate "model", "#{@connection} user:references #{@alpha}:references #{@beta}:references"
|
100
|
+
from_file = "app/models/#{@connection}.rb"
|
101
|
+
from = " belongs_to :parent"
|
102
|
+
to = " belongs_to :parent_#{@beta}, class_name: '#{@beta.camelcase}', foreign_key: 'parent_id'"
|
103
|
+
gsub_file from_file, from, to
|
104
|
+
from_file = "app/models/#{@connection}.rb"
|
105
|
+
from = " belongs_to :child"
|
106
|
+
to = " belongs_to :child_#{@beta}, class_name: '#{@beta.camelcase}', foreign_key: 'child_id'"
|
107
|
+
gsub_file from_file, from, to
|
108
|
+
end
|
109
|
+
|
110
|
+
# Transfer assocs extensions
|
111
|
+
def add_has_many_to_alpha_beta_models
|
112
|
+
passtarget = "< ActiveRecord::Base\n"
|
113
|
+
|
114
|
+
passpath = "app/models/#{@alpha}.rb"
|
115
|
+
passinsert = " has_many :#{@alpha}_#{@beta.pluralize}\n"
|
116
|
+
passinsert << " has_many :#{@beta.pluralize}, :through => :#{@alpha}_#{@beta.pluralize}\n"
|
117
|
+
insert_into_file passpath, passinsert, :after => passtarget
|
118
|
+
|
119
|
+
passpath = "app/models/#{@beta}.rb"
|
120
|
+
passinsert = " has_many :#{@alpha}_#{@beta.pluralize}\n"
|
121
|
+
passinsert << " has_many :#{@alpha.pluralize}, :through => :#{@alpha}_#{@beta.pluralize}\n"
|
122
|
+
insert_into_file passpath, passinsert, :after => passtarget
|
123
|
+
end
|
124
|
+
|
125
|
+
# Transfer parents children extensions
|
126
|
+
def template_extensions_parents_children
|
127
|
+
generate_model_extension "AlphaAlphas"
|
128
|
+
modify_model_extension_include @alpha, "AlphaAlphas"
|
129
|
+
modify_model_extension_include @beta, "AlphaAlphas"
|
130
|
+
end
|
131
|
+
|
132
|
+
# Transfer image extensions
|
133
|
+
def template_extensions_image
|
134
|
+
generate_model_extension "Image"
|
135
|
+
modify_model_extension_include @beta, "Image"
|
136
|
+
end
|
137
|
+
|
138
|
+
# Transfer image extensions
|
139
|
+
def template_extensions_geocoder
|
140
|
+
generate_model_extension "Geocoder"
|
141
|
+
modify_model_extension_include @beta, "Geocoder"
|
142
|
+
end
|
143
|
+
|
144
|
+
# Generate model extension
|
145
|
+
def generate_model_extension(extname)
|
146
|
+
passfrom = "#{@root}/extensions/#{extname.underscore}.rb"
|
147
|
+
passto = "app/models/extensions/#{extname.underscore}.rb"
|
148
|
+
template passfrom, passto
|
149
|
+
end
|
150
|
+
|
151
|
+
# Modify object model
|
152
|
+
# after: class Spot < ActiveRecord::Base
|
153
|
+
# include Extensions::Geocoder
|
154
|
+
def modify_model_extension_include(objname, extname)
|
155
|
+
passtarget = "< ActiveRecord::Base\n"
|
156
|
+
passinsert = " include Extensions::#{extname}\n"
|
157
|
+
passpath = "app/models/#{objname}.rb"
|
158
|
+
insert_into_file passpath, passinsert, :after => passtarget
|
159
|
+
end
|
160
|
+
|
161
|
+
# Modify object views
|
162
|
+
def modify_view(objname, objtype, objatt=nil)
|
163
|
+
objatt||=objtype.to_sym
|
164
|
+
modify_view_form(objname, objtype, objatt)
|
165
|
+
build_view_partial(objname, objtype, objatt)
|
166
|
+
modify_view_partial(objname, objtype, objatt)
|
167
|
+
end
|
168
|
+
|
169
|
+
# Modify object form
|
170
|
+
def modify_view_form(objname, objtype, objatt)
|
171
|
+
passformtarget = "<%= form_for @#{objname}, data:{ajax:false}, html:{multipart:true} do |f| %>\n"
|
172
|
+
passforminsert = " <%= layouts_form f, @#{objname}, \"#{objtype}\", #{objatt} %>\n"
|
173
|
+
passfilepath = "app/views/#{objname.pluralize}/_form.html.erb"
|
174
|
+
insert_into_file passfilepath, passforminsert, :after => passformtarget
|
175
|
+
end
|
176
|
+
|
177
|
+
# Build object partial
|
178
|
+
def build_view_partial(objname, objtype, objatt)
|
179
|
+
passfilepath = "app/views/#{objname.pluralize}/_#{objname}.html.erb"
|
180
|
+
pass = []
|
181
|
+
pass << "<!-- #{passfilepath} -->"
|
182
|
+
pass << "<%= form_for @#{objname}, data:{ajax:false}, html:{multipart:true} do |f| %>"
|
183
|
+
pass << "<% end %>"
|
184
|
+
create_file passfilepath, pass.join("\n")
|
185
|
+
end
|
186
|
+
|
187
|
+
# Modify object partial
|
188
|
+
def modify_view_partial(objname, objtype, objatt)
|
189
|
+
passformtarget = "<%= form_for @#{objname}, data:{ajax:false}, html:{multipart:true} do |f| %>\n"
|
190
|
+
passforminsert = " <%= layouts_show #{objname}, \"#{objtype}\", #{objatt} %>\n"
|
191
|
+
passfilepath = "app/views/#{objname.pluralize}/_#{objname}.html.erb"
|
192
|
+
insert_into_file passfilepath, passforminsert, :after => passformtarget
|
193
|
+
end
|
194
|
+
|
195
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Extensions
|
2
|
+
module <%= (@alpha.camelize+@alpha.camelize).pluralize %>
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
included do
|
5
|
+
|
6
|
+
attr_accessor :<%= @alpha %>_parent_id
|
7
|
+
attr_accessor :<%= @alpha %>_child_id
|
8
|
+
|
9
|
+
has_many :<%= @alpha+"_"+@alpha.pluralize %>, :foreign_key => 'parent_id'
|
10
|
+
has_many :parent_<%= @alpha+"_"+@alpha.pluralize %>, :class_name => 'SpotSpot', :foreign_key => 'child_id'
|
11
|
+
has_many :parents, :through => :parent_<%= @alpha+"_"+@alpha.pluralize %>, :source => :parent_<%= @alpha %>, :foreign_key => 'parent_id'
|
12
|
+
has_many :child_<%= @alpha+"_"+@alpha.pluralize %>, :class_name => '<%= (@alpha.camelize+@alpha.camelize) %>', :foreign_key => 'parent_id'
|
13
|
+
has_many :children, :through => :child_<%= @alpha+"_"+@alpha.pluralize %>, :source => :child_<%= @alpha %>, :foreign_key => 'child_id'
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Extensions
|
2
|
+
module <%= (@alpha.camelize+@alpha.camelize).pluralize %>
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
included do
|
5
|
+
|
6
|
+
attr_accessor :<%= @alpha %>_parent_id
|
7
|
+
attr_accessor :<%= @alpha %>_child_id
|
8
|
+
|
9
|
+
has_many :<%= @alpha+"_"+@alpha.pluralize %>, :foreign_key => 'parent_id'
|
10
|
+
has_many :parent_<%= @alpha+"_"+@alpha.pluralize %>, :class_name => 'SpotSpot', :foreign_key => 'child_id'
|
11
|
+
has_many :parents, :through => :parent_<%= @alpha+"_"+@alpha.pluralize %>, :source => :parent_<%= @alpha %>, :foreign_key => 'parent_id'
|
12
|
+
has_many :child_<%= @alpha+"_"+@alpha.pluralize %>, :class_name => '<%= (@alpha.camelize+@alpha.camelize) %>', :foreign_key => 'parent_id'
|
13
|
+
has_many :children, :through => :child_<%= @alpha+"_"+@alpha.pluralize %>, :source => :child_<%= @alpha %>, :foreign_key => 'child_id'
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Extensions
|
2
|
+
module Geocoder
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
included do
|
5
|
+
|
6
|
+
# Testing? Then timeout now
|
7
|
+
Geocoder.configure(:timeout => 0) unless Rails.env.test?
|
8
|
+
|
9
|
+
# Geocoder: street address or IP address
|
10
|
+
geocoded_by :address, :if => :address_changed?
|
11
|
+
|
12
|
+
# Geocoder: auto-fetch coordinates
|
13
|
+
after_validation :geocode, :if => :address_changed?
|
14
|
+
|
15
|
+
# reverse geocode by latitude and longitude attributes
|
16
|
+
reverse_geocoded_by :latitude, :longitude, :if => :longitude_changed?
|
17
|
+
|
18
|
+
# Geocoder: auto-fetch address
|
19
|
+
after_validation :reverse_geocode, :if => :longitude_changed?
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
class CopyGenerator < Rails::Generators::NamedBase
|
2
|
+
source_root File.expand_path('../../../../', __FILE__)
|
3
|
+
# name = file or folder
|
4
|
+
|
5
|
+
# rails g oldword newword oldname [newname]
|
6
|
+
def process_names
|
7
|
+
@oldword = name.to_s.humanize.downcase.gsub(" ","_")
|
8
|
+
@newword = args.shift.to_s.humanize.downcase.gsub(" ","_")
|
9
|
+
@oldname = args.shift.to_s
|
10
|
+
@newname = (newname=args.shift).present? ? newname.to_s : @oldname.to_s
|
11
|
+
@newname = @newname.
|
12
|
+
gsub((o=@oldword).pluralize, (n=@newword).pluralize).
|
13
|
+
gsub(o.singularize, n.singularize)
|
14
|
+
end
|
15
|
+
|
16
|
+
def move_files_or_directories
|
17
|
+
if @oldname.gsub("..","").scan(".").present?
|
18
|
+
copy_file @oldname, @newname
|
19
|
+
else
|
20
|
+
directory @oldname, @newname
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def apply_names
|
25
|
+
adapt_words @newname, @oldword.pluralize, @newword.pluralize
|
26
|
+
adapt_words @newname, @oldword.singularize, @newword.singularize
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
# grep -rl 'pass_old_word' pass_path | xargs sed -i 's/'pass_old_word'/pass_new_word/g'
|
32
|
+
def adapt_words(pass_path, pass_oldword, pass_newword)
|
33
|
+
run "grep -rl '#{pass_oldword}' #{pass_path} | xargs sed -i 's/#{pass_oldword}/#{pass_newword}/g'"
|
34
|
+
run "grep -rl '#{pass_oldword.camelcase}' #{pass_path} | xargs sed -i 's/#{pass_oldword.camelcase}/#{pass_newword.camelcase}/g'"
|
35
|
+
run "grep -rl '#{pass_oldword.upcase}' #{pass_path} | xargs sed -i 's/#{pass_oldword.upcase}/#{pass_newword.upcase}/g'"
|
36
|
+
run "grep -rl '#{pass_oldword.downcase}' #{pass_path} | xargs sed -i 's/#{pass_oldword.downcase}/#{pass_newword.downcase}/g'"
|
37
|
+
run "grep -rl '#{pass_oldword.humanize}' #{pass_path} | xargs sed -i 's/#{pass_oldword.humanize}/#{pass_newword.humanize}/g'"
|
38
|
+
run "grep -rl '#{pass_oldword.titleize}' #{pass_path} | xargs sed -i 's/#{pass_oldword.titleize}/#{pass_newword.titleize}/g'"
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
class GitGenerator < Rails::Generators::NamedBase
|
2
|
+
|
3
|
+
source_root File.expand_path('../../../../', __FILE__)
|
4
|
+
argument :content, :type => :string, :default => ""
|
5
|
+
|
6
|
+
def do_railroad
|
7
|
+
if content.present?
|
8
|
+
run "railroady -M -b | dot -Tsvg > app/assets/images/models.svg"
|
9
|
+
run "railroady -C -b | dot -Tsvg > app/assets/images/controllers.svg"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def do_yard
|
14
|
+
if content.present?
|
15
|
+
run "yard"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def do_assets_precompile
|
20
|
+
if content.present?
|
21
|
+
run "rake assets:precompile"
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
def git_gc_and_prune
|
26
|
+
if content.present?
|
27
|
+
run "git gc --prune"
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def git_comment
|
32
|
+
if content.present?
|
33
|
+
run "git add --all .; git commit -m '#{name.to_s.humanize.upcase} << #{content.to_s.gsub("_"," ")}'"
|
34
|
+
run "heroku maintenance:on" if content.present?
|
35
|
+
run "git push heroku master"
|
36
|
+
else
|
37
|
+
run "git add --all .; git commit -m '#{name.to_s}'"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def run_heroku_migration
|
42
|
+
if content.present?
|
43
|
+
run "heroku run rake db:migrate" if content.present?
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def run_heroku_restart
|
48
|
+
if content.present?
|
49
|
+
run "heroku restart" if content.present?
|
50
|
+
run "heroku maintenance:off" if content.present?
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def git_add
|
55
|
+
run "rake notes"
|
56
|
+
end
|
57
|
+
|
58
|
+
|
59
|
+
end
|