mindapp 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. data/README.md +19 -3
  2. data/lib/generators/mindapp/install_generator.rb +2 -1
  3. data/lib/generators/mindapp/templates/app/assets/javascripts/admins.js.coffee +3 -0
  4. data/lib/generators/mindapp/templates/app/assets/javascripts/devs.js.coffee +3 -0
  5. data/lib/generators/mindapp/templates/app/assets/javascripts/disable_enter_key.js +1 -1
  6. data/lib/generators/mindapp/templates/app/assets/javascripts/mindapp.js +2 -2
  7. data/lib/generators/mindapp/templates/app/assets/javascripts/users.js.coffee +3 -0
  8. data/lib/generators/mindapp/templates/app/assets/stylesheets/admins.css.scss +3 -0
  9. data/lib/generators/mindapp/templates/app/assets/stylesheets/devs.css.scss +3 -0
  10. data/lib/generators/mindapp/templates/app/assets/stylesheets/users.css.scss +3 -0
  11. data/lib/generators/mindapp/templates/app/controllers/admins_controller.rb +6 -0
  12. data/lib/generators/mindapp/templates/app/controllers/devs_controller.rb +2 -0
  13. data/lib/generators/mindapp/templates/app/controllers/mindapp_controller.rb +23 -18
  14. data/lib/generators/mindapp/templates/app/controllers/sessions_controller.rb +1 -1
  15. data/lib/generators/mindapp/templates/app/controllers/users_controller.rb +25 -0
  16. data/lib/generators/mindapp/templates/app/helpers/admins_helper.rb +2 -0
  17. data/lib/generators/mindapp/templates/app/helpers/devs_helper.rb +2 -0
  18. data/lib/generators/mindapp/templates/app/helpers/users_helper.rb +2 -0
  19. data/lib/generators/mindapp/templates/app/mindapp/index.mm +5 -6
  20. data/lib/generators/mindapp/templates/app/mindapp/template/view.html.erb +9 -9
  21. data/lib/generators/mindapp/templates/app/models/mindapp/doc.rb +4 -3
  22. data/lib/generators/mindapp/templates/app/models/mindapp/module.rb +1 -0
  23. data/lib/generators/mindapp/templates/app/models/mindapp/notice.rb +1 -0
  24. data/lib/generators/mindapp/templates/app/models/mindapp/role.rb +1 -0
  25. data/lib/generators/mindapp/templates/app/models/mindapp/service.rb +1 -0
  26. data/lib/generators/mindapp/templates/app/models/param.rb +2 -2
  27. data/lib/generators/mindapp/templates/app/views/admins/edit_role/edit_role.html.erb +7 -0
  28. data/lib/generators/mindapp/templates/app/views/admins/edit_role/select_user.html.erb +4 -0
  29. data/lib/generators/mindapp/templates/app/views/layouts/_full.haml +1 -1
  30. data/lib/generators/mindapp/templates/app/views/mindapp/_menu.haml +1 -1
  31. data/lib/generators/mindapp/templates/app/views/mindapp/_menu_mm.haml +2 -3
  32. data/lib/generators/mindapp/templates/app/views/mindapp/_pending_page.haml +1 -2
  33. data/lib/generators/mindapp/templates/app/views/mindapp/error_logs.haml +22 -0
  34. data/lib/generators/mindapp/templates/app/views/mindapp/logs.haml +22 -0
  35. data/lib/generators/mindapp/templates/app/views/mindapp/run_form.haml +1 -1
  36. data/lib/generators/mindapp/templates/app/views/mindapp/search.haml +1 -1
  37. data/lib/generators/mindapp/templates/app/views/mindapp/status.haml +2 -2
  38. data/lib/generators/mindapp/templates/app/views/users/index.haml +13 -0
  39. data/lib/generators/mindapp/templates/app/views/users/pwd/enter.html.erb +6 -0
  40. data/lib/generators/mindapp/templates/app/views/users/user/enter_user.html.erb +8 -0
  41. data/lib/generators/mindapp/templates/spec/controllers/admins_controller_spec.rb +5 -0
  42. data/lib/generators/mindapp/templates/spec/controllers/devs_controller_spec.rb +5 -0
  43. data/lib/generators/mindapp/templates/spec/controllers/users_controller_spec.rb +5 -0
  44. data/lib/generators/mindapp/templates/spec/helpers/admins_helper_spec.rb +15 -0
  45. data/lib/generators/mindapp/templates/spec/helpers/devs_helper_spec.rb +15 -0
  46. data/lib/generators/mindapp/templates/spec/helpers/users_helper_spec.rb +15 -0
  47. data/lib/generators/mindapp/templates/spec/spec_helper.rb +38 -0
  48. data/lib/mindapp/helpers.rb +15 -12
  49. data/lib/mindapp/version.rb +1 -1
  50. data/mindapp.gemspec +3 -3
  51. metadata +31 -6
  52. data/lib/generators/mindapp/templates/app/mailers/.gitkeep +0 -0
data/README.md CHANGED
@@ -1,6 +1,17 @@
1
1
  # Mindapp
2
2
 
3
- TODO: Write a gem description
3
+ gem to generate ror app from mind map
4
+
5
+ ## Warning
6
+
7
+ * under heavy development, not ready yet
8
+
9
+ ## Convention
10
+
11
+ * database is MongoDB
12
+ * images stored in or Cloudinary (default) unset IMAGE_LOCATION in initializer/mindapp.rb to use file system
13
+ * mail use Gmail SMTP
14
+ * authentication use omniauth-identity
4
15
 
5
16
  ## Installation
6
17
 
@@ -12,9 +23,14 @@ And then execute:
12
23
 
13
24
  $ bundle
14
25
 
15
- Or install it yourself as:
26
+ Then generate and seed, which will create initial user admin:secret
27
+
28
+ $ rails generate mindapp:install
29
+ $ rake db:seed
30
+
31
+ Your app is now ready at http://localhost:3000/. When make changes to app/mindapp/index.mm, run
16
32
 
17
- $ gem install mindapp
33
+ $ rake mindapp:update
18
34
 
19
35
  ## Usage
20
36
 
@@ -19,6 +19,7 @@ module Mindapp
19
19
  gem 'bcrypt-ruby', '~> 3.0.0'
20
20
  gem 'omniauth-identity'
21
21
  gem 'cloudinary'
22
+ gem 'kaminari'
22
23
  gem_group :development, :test do
23
24
  gem "debugger"
24
25
  gem "rspec"
@@ -73,7 +74,7 @@ module Mindapp
73
74
  end
74
75
  initializer "mindapp.rb" do
75
76
  %q{# encoding: utf-8
76
-
77
+ MM = "#{Rails.root}/app/mindapp/index.mm"
77
78
  DEFAULT_TITLE = 'Mindapp'
78
79
  DEFAULT_HEADER = 'Mindapp'
79
80
  GMAP = true
@@ -0,0 +1,3 @@
1
+ # Place all the behaviors and hooks related to the matching controller here.
2
+ # All this logic will automatically be available in application.js.
3
+ # You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
@@ -0,0 +1,3 @@
1
+ # Place all the behaviors and hooks related to the matching controller here.
2
+ # All this logic will automatically be available in application.js.
3
+ # You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
@@ -3,7 +3,7 @@ $(function() {
3
3
  //Deterime where our character code is coming from within the event
4
4
  var charCode = evt.charCode || evt.keyCode;
5
5
  if (charCode == 13) { //Enter key's keycode
6
- alert("กรุณาใช้เม้าส์คลิ้กที่ปุ่มเพื่อดำเนินการต่อ");
6
+ alert("Please click the button");
7
7
  return false;
8
8
  }
9
9
  });
@@ -1,8 +1,8 @@
1
1
  $(function() {
2
2
  $('body').show();
3
3
  $.extend( $.mobile , {
4
- loadingMessage: 'กรุณารอสักครู่',
5
- pageLoadErrorMessage: "ขออภัย ไม่สามารถดำเนินการได้"
4
+ loadingMessage: 'please wait',
5
+ pageLoadErrorMessage: "Error"
6
6
  });
7
7
 
8
8
  // TODO loop all $('.ui-header .ui-btn-text')
@@ -0,0 +1,3 @@
1
+ # Place all the behaviors and hooks related to the matching controller here.
2
+ # All this logic will automatically be available in application.js.
3
+ # You can use CoffeeScript in this file: http://jashkenas.github.com/coffee-script/
@@ -0,0 +1,3 @@
1
+ // Place all the styles related to the admins controller here.
2
+ // They will automatically be included in application.css.
3
+ // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -0,0 +1,3 @@
1
+ // Place all the styles related to the devs controller here.
2
+ // They will automatically be included in application.css.
3
+ // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -0,0 +1,3 @@
1
+ // Place all the styles related to the users controller here.
2
+ // They will automatically be included in application.css.
3
+ // You can use Sass (SCSS) here: http://sass-lang.com/
@@ -0,0 +1,6 @@
1
+ class AdminsController < ApplicationController
2
+ def update_role
3
+ user = User.find_by :code=> $xvars["select_user"]["code"]
4
+ user.update_attribute :role, $xvars["edit_role"]["role"]
5
+ end
6
+ end
@@ -0,0 +1,2 @@
1
+ class DevsController < ApplicationController
2
+ end
@@ -2,6 +2,12 @@
2
2
  class MindappController < ApplicationController
3
3
  def index
4
4
  end
5
+ def logs
6
+ @xmains = Mindapp::Xmain.all.desc(:created_at).page(params[:page]).per(10)
7
+ end
8
+ def error_logs
9
+ @xmains = Mindapp::Xmain.in(status:['E']).desc(:created_at).page(params[:page]).per(10)
10
+ end
5
11
  def pending
6
12
  @xmains = Mindapp::Xmain.in(status:['R','I']).asc(:created_at)
7
13
  end
@@ -27,22 +33,23 @@ class MindappController < ApplicationController
27
33
  render :text=> "<script>#{js}</script>"
28
34
  end
29
35
  def init
30
- @service= Mindapp::Service.where(:module_code=> params[:module], :code=> params[:service]).first
36
+ module_code, code = params[:s].split(":")
37
+ @service= Mindapp::Service.where(:module_code=> module_code, :code=> code).first
38
+ # @service= Mindapp::Service.where(:module_code=> params[:module], :code=> params[:service]).first
31
39
  if @service && authorize_init?
32
40
  xmain = create_xmain(@service)
33
41
  result = create_runseq(xmain)
34
42
  unless result
35
43
  message = "cannot find action for xmain #{xmain.id}"
36
- gma_log("ERROR", message)
44
+ ma_log("ERROR", message)
37
45
  flash[:notice]= message
38
- # gma_notice message
39
46
  redirect_to "pending" and return
40
47
  end
41
48
  xmain.update_attribute(:xvars, @xvars)
42
49
  xmain.runseqs.last.update_attribute(:end,true)
43
50
  redirect_to :action=>'run', :id=>xmain.id
44
51
  else
45
- refresh_to "/", :alert => "ขออภัย ไม่สามารถทำงานได้"
52
+ refresh_to "/", :alert => "Error: cannot process"
46
53
  end
47
54
  end
48
55
  def run
@@ -68,8 +75,8 @@ class MindappController < ApplicationController
68
75
  f= "app/views/#{service.module.code}/#{service.code}/#{@runseq.code}.html.erb"
69
76
  @ui= File.read(f)
70
77
  else
71
- flash[:notice]= "ไม่สามารถค้นหาบริการที่ต้องการได้"
72
- gma_notice "ไม่สามารถค้นหาบริการที่ต้องการได้"
78
+ # flash[:notice]= "ไม่สามารถค้นหาบริการที่ต้องการได้"
79
+ ma_log "Error: Service not found"
73
80
  redirect_to_root
74
81
  end
75
82
  end
@@ -160,8 +167,8 @@ class MindappController < ApplicationController
160
167
  @message = "สิ้นสุดการทำงาน" if @runseq.end
161
168
  eval "@xvars[@runseq.code] = url_for(:controller=>'Mindapp', :action=>'document', :id=>@doc.id)"
162
169
  else
163
- flash[:notice]= "ไม่สามารถค้นหาบริการที่ต้องการได้"
164
- gma_notice "ไม่สามารถค้นหาบริการที่ต้องการได้"
170
+ # flash[:notice]= "ไม่สามารถค้นหาบริการที่ต้องการได้"
171
+ ma_log "Error: service not found"
165
172
  redirect_to_root
166
173
  end
167
174
  #display= get_option("display")
@@ -315,7 +322,7 @@ class MindappController < ApplicationController
315
322
  @backbtn= true
316
323
  @xvars= @xmain.xvars
317
324
  # flash.now[:notice]= "รายการ #{@xmain.id} ได้ถูกยกเลิกแล้ว" if @xmain.status=='X'
318
- gma_notice "Task #{@xmain.id} is cancelled" if @xmain.status=='X'
325
+ ma_log "Task #{@xmain.id} is cancelled" if @xmain.status=='X'
319
326
  # flash.now[:notice]= "transaction #{@xmain.id} was cancelled" if @xmain.status=='X'
320
327
  rescue
321
328
  refresh_to "/", :alert => "Could not find task number <b> #{params[:xid]} </b>"
@@ -323,7 +330,7 @@ class MindappController < ApplicationController
323
330
  def help
324
331
  end
325
332
  def search
326
- @q = params[:q] || params[:gma_search][:q] || ""
333
+ @q = params[:q] || params[:ma_search][:q] || ""
327
334
  @title = "ผลการค้นหา #{@q}"
328
335
  @backbtn= true
329
336
  @cache= true
@@ -335,17 +342,15 @@ class MindappController < ApplicationController
335
342
  end
336
343
  end
337
344
  def err404
338
- gma_log 'ERROR', 'main/err404'
345
+ # ma_log 'ERROR', 'main/err404'
339
346
  flash[:notice] = "We're sorry, but something went wrong. We've been notified about this issue and we'll take a look at it shortly."
340
- gma_notice "We're sorry, but something went wrong. We've been notified about this issue and we'll take a look at it shortly."
341
- # gma_notice "ขออภัย เกิดข้อผิดพลาดรหัส 404 ขึ้นในระบบ กรุณาติดต่อผู้ดูแลระบบ"
347
+ ma_log "We're sorry, but something went wrong. We've been notified about this issue and we'll take a look at it shortly."
342
348
  redirect_to '/'
343
349
  end
344
350
  def err500
345
- gma_log 'ERROR', 'main/err500'
351
+ # ma_log 'ERROR', 'main/err500'
346
352
  flash[:notice] = "We're sorry, but something went wrong. We've been notified about this issue and we'll take a look at it shortly."
347
- gma_notice "We're sorry, but something went wrong. We've been notified about this issue and we'll take a look at it shortly."
348
- # gma_notice "ขออภัย เกิดข้อผิดพลาดรหัส 500 ขึ้นในระบบ กรุณาติดต่อผู้ดูแลระบบ"
353
+ ma_log "We're sorry, but something went wrong. We've been notified about this issue and we'll take a look at it shortly."
349
354
  redirect_to '/'
350
355
  end
351
356
 
@@ -374,7 +379,7 @@ class MindappController < ApplicationController
374
379
  i= 0; j= 0 # i= step, j= form_step
375
380
  root.elements.each('node') do |activity|
376
381
  text= activity.attributes['TEXT']
377
- next if gma_comment?(text)
382
+ next if ma_comment?(text)
378
383
  next if text =~/^rule:\s*/
379
384
  action= freemind2action(activity.elements['icon'].attributes['BUILTIN']) if activity.elements['icon']
380
385
  return false unless action
@@ -458,7 +463,7 @@ class MindappController < ApplicationController
458
463
  else
459
464
  @docs = GmaDoc.search(@q.downcase, params[:page], PER_PAGE)
460
465
  end
461
- @xmains = GmaXmain.find(@docs.map(&:gma_xmain_id)).sort { |a,b| b.id<=>a.id }
466
+ @xmains = GmaXmain.find(@docs.map(&:ma_xmain_id)).sort { |a,b| b.id<=>a.id }
462
467
  # @xmains = GmaXmain.find @docs.map(&:created_at).sort { |a,b| b<=>a }
463
468
  end
464
469
  end
@@ -22,7 +22,7 @@ class SessionsController < ApplicationController
22
22
  end
23
23
 
24
24
  def failure
25
- gma_log "Authentication failed, please try again."
25
+ ma_log "Authentication failed, please try again."
26
26
  redirect_to root_path, :alert=> "Authentication failed, please try again."
27
27
  end
28
28
  end
@@ -0,0 +1,25 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class UsersController < ApplicationController
3
+ def index
4
+ @today = Date.today
5
+ @xmains = current_user.xmains.in(status:['R','I']).asc(:created_at)
6
+ end
7
+
8
+ # mindapp methods
9
+ def update_user
10
+ # can't use session, current_user inside mindapp methods
11
+ $user.update_attribute :email, $xvars["enter_user"]["user"]["email"]
12
+ end
13
+ def change_password
14
+ # check if old password correct
15
+ identity = Identity.find_by :code=> $user.code
16
+ if identity.authenticate($xvars["enter"]["epass"])
17
+ identity.password = $xvars["enter"]["npass"]
18
+ identity.password_confirmation = $xvars["enter"]["npass_confirm"]
19
+ identity.save
20
+ ma_log "Password changed"
21
+ else
22
+ ma_log "Unauthorized access"
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,2 @@
1
+ module AdminsHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module DevsHelper
2
+ end
@@ -0,0 +1,2 @@
1
+ module UsersHelper
2
+ end
@@ -2,9 +2,9 @@
2
2
  <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
3
3
  <node CREATED="1273819432637" ID="ID_1098419600" MODIFIED="1334737006485" TEXT="Mindapp">
4
4
  <node CREATED="1273819462973" ID="ID_282419531" MODIFIED="1334737064016" POSITION="right" TEXT="services">
5
- <node CREATED="1275756501221" FOLDED="true" ID="ID_1720745721" MODIFIED="1355422528220" TEXT="account:user">
5
+ <node CREATED="1275756501221" FOLDED="true" ID="ID_1720745721" MODIFIED="1359019893815" TEXT="users:user">
6
6
  <node CREATED="1278491598711" ID="ID_1662699954" MODIFIED="1278491602025" TEXT="role:m"/>
7
- <node CREATED="1279700865182" ID="ID_1266797279" MODIFIED="1330477813686" TEXT="link:info: /account"/>
7
+ <node CREATED="1279700865182" ID="ID_1266797279" MODIFIED="1357798847781" TEXT="link:info: /users"/>
8
8
  <node CREATED="1319015338880" ID="ID_189841353" MODIFIED="1330477824203" TEXT="link:pending tasks: /mindapp/pending"/>
9
9
  <node CREATED="1275905802131" ID="ID_154000410" MODIFIED="1355422418892" TEXT="user:edit">
10
10
  <node CREATED="1275756515843" ID="ID_1108188320" MODIFIED="1330477833918" TEXT="enter_user:edit">
@@ -26,9 +26,8 @@
26
26
  </node>
27
27
  <node CREATED="1276062721100" ID="ID_1806588076" MODIFIED="1276062727685" TEXT="rule: login?"/>
28
28
  </node>
29
- <node CREATED="1279700865182" ID="ID_630918549" MODIFIED="1330477858086" TEXT="link:document: /main/doc"/>
30
29
  </node>
31
- <node CREATED="1275752678377" FOLDED="true" ID="ID_1348489452" MODIFIED="1355422529272" TEXT="admin:admin">
30
+ <node CREATED="1275752678377" FOLDED="true" ID="ID_1348489452" MODIFIED="1359019899148" TEXT="admins:admin">
32
31
  <node CREATED="1275752688167" ID="ID_229996461" MODIFIED="1275752690948" TEXT="role:a"/>
33
32
  <node CREATED="1282722836614" ID="ID_1213363124" MODIFIED="1330477902602" TEXT="edit_role:edit user role">
34
33
  <node CREATED="1282722862918" ID="ID_1190117882" MODIFIED="1330477922159" TEXT="select_user:select user">
@@ -46,9 +45,9 @@
46
45
  <node CREATED="1273913393454" ID="ID_1088166839" MODIFIED="1355422465435" TEXT="link: pending tasks: /mindapp/pending"/>
47
46
  <node CREATED="1275790679363" ID="ID_829325467" MODIFIED="1355422470135" TEXT="link: logs: /mindapp/logs"/>
48
47
  </node>
49
- <node CREATED="1273706796854" FOLDED="true" ID="ID_1003882979" MODIFIED="1355422530348" TEXT="dev: developer">
48
+ <node CREATED="1273706796854" ID="ID_1003882979" MODIFIED="1359019900806" TEXT="devs: developer">
50
49
  <node CREATED="1275373154914" ID="ID_340725299" MODIFIED="1275373158632" TEXT="role:d"/>
51
- <node CREATED="1275788317299" ID="ID_716276608" MODIFIED="1355422502461" TEXT="link: run_call errors: /mindapp/run_call_errors"/>
50
+ <node CREATED="1275788317299" ID="ID_716276608" MODIFIED="1359019912446" TEXT="link: error_logs: /mindapp/error_logs"/>
52
51
  </node>
53
52
  </node>
54
53
  <node CREATED="1273819465949" ID="ID_855471610" MODIFIED="1355422517520" POSITION="right" TEXT="roles">
@@ -2,20 +2,20 @@
2
2
  doc = Doc.new :issue_on=> Date.today, :process_at => Time.now
3
3
  %>
4
4
  <%#= fields_for doc do |f| %>
5
- <%#= f.label :rnum, "เลขที่ทะเบียนรับ" %>
5
+ <%#= f.label :rnum, "Reference number" %>
6
6
  <%#= f.text_field :rnum %>
7
- <%#= f.label :confidential, "ชั้นความลับ" %>
8
- <%#= f.select :confidential, [['ปรกติ',0],['ลับ',1],['ลับมาก',2],['ลับที่สุด',3]],{},"data-native-menu"=>"false" %>
9
- <%#= f.label :issue_on, "ลงวันที่" %>
7
+ <%#= f.label :confidential, "Confidentiality" %>
8
+ <%#= f.select :confidential, [['normal',0],['secret',1],['top secret',2]],{},"data-native-menu"=>"false" %>
9
+ <%#= f.label :issue_on, "Dated" %>
10
10
  <%#= f.date_field :issue_on, "blackDays"=>[0,6] %>
11
- <%#= f.label :summary, "สรุป" %>
11
+ <%#= f.label :summary, "Summary" %>
12
12
  <%#= f.text_area :summary, :cols=>50, :rows=>6 %>
13
- <%#= f.label :dscan, "เอกสารสแกน" %>
13
+ <%#= f.label :dscan, "Attached document" %>
14
14
  <%#= f.file_field :dscan %>
15
15
  <%# end %>
16
- <%#= label_tag :hotel, "รหัสโรงแรม" %>
16
+ <%#= label_tag :hotel, "Ungroup field" %>
17
17
  <%#= text_field_tag :hotel %>
18
18
  <!--div>
19
- <%#= label_tag :done1, "สิ้นสุดการบันทึกข้อมูล" %>
20
- <%#= select_tag :done1, options_for_select([['ใช่', 'y'], ['ยังมีอีก', 'n']],'y'), 'data-role'=>"slider" %>
19
+ <%#= label_tag :done1, "Logic field" %>
20
+ <%#= select_tag :done1, options_for_select([['Yes', 'y'], ['No', 'n']],'y'), 'data-role'=>"slider" %>
21
21
  </div-->
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  class Mindapp::Doc
2
3
  include Mongoid::Document
3
4
  include Mongoid::Timestamps
@@ -18,13 +19,13 @@ class Mindapp::Doc
18
19
 
19
20
  def self.search(q, page, per_page=PER_PAGE)
20
21
  paginate :per_page=>per_page, :page => page, :conditions =>
21
- ["content_type=? AND data_text LIKE ? AND (secured=? OR gma_user_id=?)",
22
+ ["content_type=? AND data_text LIKE ? AND (secured=? OR ma_user_id=?)",
22
23
  "output", "%#{q}%", false, session[:user_id] ],
23
- :order=>'gma_xmain_id DESC', :select=>'DISTINCT gma_xmain_id'
24
+ :order=>'ma_xmain_id DESC', :select=>'DISTINCT ma_xmain_id'
24
25
  end
25
26
  def self.search_secured(q, page, per_page=PER_PAGE)
26
27
  paginate :per_page=>per_page, :page => page, :conditions =>
27
28
  ["content_type=? AND data_text LIKE ?", "output", "%#{q}%" ],
28
- :order=>'gma_xmain_id DESC', :select=>'DISTINCT gma_xmain_id'
29
+ :order=>'ma_xmain_id DESC', :select=>'DISTINCT ma_xmain_id'
29
30
  end
30
31
  end
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  class Mindapp::Module
2
3
  include Mongoid::Document
3
4
  field :uid, :type => String
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  class Mindapp::Notice
2
3
  include Mongoid::Document
3
4
  include Mongoid::Timestamps
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  class Mindapp::Role
2
3
  include Mongoid::Document
3
4
  include Mongoid::Timestamps
@@ -1,3 +1,4 @@
1
+ # -*- encoding : utf-8 -*-
1
2
  class Mindapp::Service
2
3
  include Mongoid::Document
3
4
  field :uid, :type => String
@@ -2,13 +2,13 @@
2
2
  class Param
3
3
  include Mongoid::Document
4
4
  validates_uniqueness_of :code
5
- # Mindapp begin
5
+ # mindapp begin
6
6
  include Mongoid::Timestamps
7
7
  field :code, :type => String
8
8
  field :pid, :type => String
9
9
  field :yearly, :type => Boolean
10
10
  field :description, :type => String
11
- # Mindapp end
11
+ # mindapp end
12
12
 
13
13
  def self.get(code)
14
14
  p= where(:code=> code).first
@@ -0,0 +1,7 @@
1
+ <%
2
+ user = User.find_by :code=> $xvars["select_user"]["code"]
3
+ %>
4
+ Role codes seperated by comma
5
+ <p>
6
+ <%= label_tag :role, "Role" %>
7
+ <%= text_field_tag :role, user.role %>
@@ -0,0 +1,4 @@
1
+ <div class="field" data-role="fieldcontain">
2
+ <%= label_tag :code, 'User code' %>
3
+ <%= select_tag :code, options_from_collection_for_select(User.all.asc(:code), :code, :code), "data-native-menu"=>"false" %>
4
+ </div>
@@ -36,4 +36,4 @@
36
36
  $.get("/mindapp/ajax_notice", function(r) {$(r).appendTo('head').remove()});
37
37
  });
38
38
 
39
- /= raw handle_gma_notice
39
+ /= raw handle_ma_notice
@@ -10,7 +10,7 @@
10
10
  = render "/mindapp/menu_mm"
11
11
  - if login?
12
12
  %li
13
- %a{:href=>"/mindapp/pending", "data-rel"=>"dialog", "data-panel" => "main"} Pending Jobs
13
+ %a{:href=>"/mindapp/pending", "data-rel"=>"dialog", "data-panel" => "main"} Pending Tasks
14
14
  %li
15
15
  %a{"data-panel" => "main", :href => logout_path, "data-ajax"=>"false"} Sign Out
16
16
  - else
@@ -20,11 +20,10 @@
20
20
  - name, url = s.name.split(":", 2)
21
21
  - url.strip!
22
22
  - else
23
- - name= s.name
24
- - url= "/mindapp/init/#{s.module_code}/#{s.code}"
23
+ - name= s.name; url= "/mindapp/init?s=#{s.module_code}:#{s.code}"
25
24
  - if s.confirm
26
25
  %li
27
- %a{"data-panel"=>"main", :onclick=>"if (confirm('กรุณายืนยัน')) {location.hash='#{url}'};"}= name
26
+ %a{"data-panel"=>"main", :onclick=>"if (confirm('Please Confirm')) {location.hash='#{url}'};"}= name
28
27
  - else
29
28
  %li
30
29
  %a{"data-panel"=>"main", :href=> url}= name
@@ -14,7 +14,6 @@
14
14
  - @runseq= Mindapp::Runseq.find(xmain.current_runseq)
15
15
  - next unless @runseq
16
16
  - next unless %w(form output pdf).include?(@runseq.action)
17
- /- debugger
18
17
  - next if @xmain.runseqs.first==@xmain.current_runseq && @xmain.user!=current_user
19
18
  - next unless authorize?
20
19
  %tr
@@ -22,5 +21,5 @@
22
21
  %td= link_to xmain.name, :controller=>"mindapp", :action=>"run", :id=>xmain.id
23
22
  %td= @runseq.name
24
23
  %td{:align=>'center'}= xmain.user.try :code
25
- %td= date_thai xmain.start
24
+ %td= xmain.start.strftime("%c")
26
25
  %td(align='center')= link_to image_tag('delete.png', style:'border:none; float:none;'), "#", :onclick=>"if (confirm('กรุณายืนยัน')) {location.hash='/mindapp/cancel/#{xmain.id}';}"
@@ -0,0 +1,22 @@
1
+ - @title= "Error Logs"
2
+ = paginate @xmains
3
+ %table{:id=>"pending-table", :width=>"100%"}
4
+ %tr{:style=>"color:white; background-color:#97BF60;"}
5
+ %th id
6
+ %th task
7
+ %th step
8
+ %th starter
9
+ %th begin
10
+ %th message
11
+ - @xmains.each do |xmain|
12
+ - @xmain= xmain
13
+ - next unless xmain.current_runseq
14
+ - @runseq= Mindapp::Runseq.find(xmain.current_runseq)
15
+ - next unless @runseq
16
+ %tr
17
+ %td= xmain.xid
18
+ %td= xmain.name
19
+ %td= @runseq.name
20
+ %td(align="center")= xmain.user.try :code
21
+ %td= xmain.start.strftime("%c")
22
+ %td(style="width:50%")= xmain.xvars["error"]
@@ -0,0 +1,22 @@
1
+ - @title= "Mindapp Logs"
2
+ = paginate @xmains
3
+ %table{:id=>"pending-table", :width=>"100%"}
4
+ %tr{:style=>"color:white; background-color:#97BF60;"}
5
+ %th id
6
+ %th task
7
+ %th step
8
+ %th starter
9
+ %th begin
10
+ %th status
11
+ - @xmains.each do |xmain|
12
+ - @xmain= xmain
13
+ - next unless xmain.current_runseq
14
+ - @runseq= Mindapp::Runseq.find(xmain.current_runseq)
15
+ - next unless @runseq
16
+ %tr
17
+ %td= xmain.xid
18
+ %td= xmain.name
19
+ %td= @runseq.name
20
+ %td(align="center")= xmain.user.try :code
21
+ %td= xmain.start.strftime("%c")
22
+ %td(align="center")= status_icon(xmain.status)
@@ -26,7 +26,7 @@
26
26
  //Deterime where our character code is coming from within the event
27
27
  var charCode = evt.charCode || evt.keyCode;
28
28
  if (charCode == 13) { //Enter key's keycode
29
- alert("กรุณาใช้เม้าส์คลิ้กที่ปุ่มเพื่อดำเนินการต่อ");
29
+ alert("Please click the button");
30
30
  return false;
31
31
  }
32
32
  });
@@ -14,7 +14,7 @@
14
14
  %tr
15
15
  %td= link_to xmain.id, :action=>"status", :id=>xmain.id
16
16
  %td= link_to xmain.name, :action=>"status", :id=>xmain.id
17
- %td{:align=>'center'}= xmain.gma_user.full_name
17
+ %td{:align=>'center'}= xmain.ma_user.full_name
18
18
  %td= date_thai xmain.start, :date_only=>true
19
19
  %td= xmain.stop ? date_thai(xmain.stop, :date_only=>true) : '&nbsp;'
20
20
  %td(align='center')= status_icon xmain
@@ -10,7 +10,7 @@
10
10
  - if @xmain.status=='X'
11
11
  %td{:align=>'center'}= image_tag 'cancel.png'
12
12
  - else
13
- %td{:align=>'center'}= status_icon(r)
13
+ %td{:align=>'center'}= status_icon(r.status)
14
14
  %td= r.name
15
15
  %td{:align=>'center'}
16
16
  - if r.role.blank? && @xvars[:action]
@@ -57,5 +57,5 @@
57
57
  = image_tag 'page_attach.png'
58
58
  = link_to align_text(doc.name), "/engine/document/#{doc.id}", :target=>'_blank'
59
59
  %td= doc.filename
60
- %td= doc.gma_user.full_name
60
+ %td= doc.ma_user.full_name
61
61
  %td= date_thai doc.created_at
@@ -0,0 +1,13 @@
1
+ .field(data-role="fieldcontain")
2
+ %label.ui-input-text Name
3
+ = b current_user.code
4
+ .field(data-role="fieldcontain")
5
+ %label.ui-input-text Email
6
+ = b current_user.email
7
+ .field(data-role="fieldcontain")
8
+ %label.ui-input-text Role
9
+ = b current_user.role
10
+
11
+ - if @xmains
12
+ %h2 Pending Tasks
13
+ = render :partial=>"mindapp/pending_page", :locals=>{:xmains=>@xmains}
@@ -0,0 +1,6 @@
1
+ <%= label_tag :epass, "Existing password" %>
2
+ <%= password_field_tag :epass %>
3
+ <%= label_tag :npass, "New password" %>
4
+ <%= password_field_tag :npass %>
5
+ <%= label_tag :npass_confirm, "New password confirmation" %>
6
+ <%= password_field_tag :npass_confirm %>
@@ -0,0 +1,8 @@
1
+ <%
2
+ user = current_user
3
+ %>
4
+ <h3><%= user.code %></h3>
5
+ <%= fields_for user do |f| %>
6
+ <%= f.label :email, "Email" %>
7
+ <%= f.text_field :email %>
8
+ <% end %>
@@ -0,0 +1,5 @@
1
+ require 'spec_helper'
2
+
3
+ describe AdminsController do
4
+
5
+ end
@@ -0,0 +1,5 @@
1
+ require 'spec_helper'
2
+
3
+ describe DevsController do
4
+
5
+ end
@@ -0,0 +1,5 @@
1
+ require 'spec_helper'
2
+
3
+ describe UsersController do
4
+
5
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ # Specs in this file have access to a helper object that includes
4
+ # the AdminsHelper. For example:
5
+ #
6
+ # describe AdminsHelper do
7
+ # describe "string concat" do
8
+ # it "concats two strings with spaces" do
9
+ # helper.concat_strings("this","that").should == "this that"
10
+ # end
11
+ # end
12
+ # end
13
+ describe AdminsHelper do
14
+ pending "add some examples to (or delete) #{__FILE__}"
15
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ # Specs in this file have access to a helper object that includes
4
+ # the DevsHelper. For example:
5
+ #
6
+ # describe DevsHelper do
7
+ # describe "string concat" do
8
+ # it "concats two strings with spaces" do
9
+ # helper.concat_strings("this","that").should == "this that"
10
+ # end
11
+ # end
12
+ # end
13
+ describe DevsHelper do
14
+ pending "add some examples to (or delete) #{__FILE__}"
15
+ end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ # Specs in this file have access to a helper object that includes
4
+ # the UsersHelper. For example:
5
+ #
6
+ # describe UsersHelper do
7
+ # describe "string concat" do
8
+ # it "concats two strings with spaces" do
9
+ # helper.concat_strings("this","that").should == "this that"
10
+ # end
11
+ # end
12
+ # end
13
+ describe UsersHelper do
14
+ pending "add some examples to (or delete) #{__FILE__}"
15
+ end
@@ -0,0 +1,38 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV["RAILS_ENV"] ||= 'test'
3
+ require File.expand_path("../../config/environment", __FILE__)
4
+ require 'rspec/rails'
5
+ require 'rspec/autorun'
6
+
7
+ # Requires supporting ruby files with custom matchers and macros, etc,
8
+ # in spec/support/ and its subdirectories.
9
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
10
+
11
+ RSpec.configure do |config|
12
+ # ## Mock Framework
13
+ #
14
+ # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
15
+ #
16
+ # config.mock_with :mocha
17
+ # config.mock_with :flexmock
18
+ # config.mock_with :rr
19
+
20
+ # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
21
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
22
+
23
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
24
+ # examples within a transaction, remove the following line or assign false
25
+ # instead of true.
26
+ config.use_transactional_fixtures = true
27
+
28
+ # If true, the base class of anonymous controllers will be inferred
29
+ # automatically. This will be the default behavior in future versions of
30
+ # rspec-rails.
31
+ config.infer_base_class_for_anonymous_controllers = false
32
+
33
+ # Run specs in random order to surface order dependencies. If you find an
34
+ # order dependency and want to debug it, you can fix the order by providing
35
+ # the seed, which is printed after each run.
36
+ # --seed 1234
37
+ config.order = "random"
38
+ end
@@ -2,12 +2,15 @@ module Mindapp
2
2
  module Helpers
3
3
 
4
4
  # methods from application_controller
5
+ def b(s)
6
+ "<b>#{s}</b>".html_safe
7
+ end
5
8
  def code_text(s) # old def code(s)
6
9
  "<pre style='background-color: #efffef;'><code class='ruby' lang='ruby'>#{s}</code></pre>".html_safe
7
10
  end
8
11
  def refresh_to(url='/', option={})
9
12
  if option[:alert]
10
- gma_log option[:alert]
13
+ ma_log option[:alert]
11
14
  end
12
15
  render :text => "<script>window.location.replace('#{url}')</script>"
13
16
  end
@@ -27,7 +30,7 @@ module Mindapp
27
30
  c, h= url.split(':', 2)
28
31
  opt= h ? h.strip : false
29
32
  end
30
- def gma_comment?(s)
33
+ def ma_comment?(s)
31
34
  s[0]==35
32
35
  end
33
36
  def get_ip
@@ -85,7 +88,7 @@ module Mindapp
85
88
  return current_user.has_role(role)
86
89
  end
87
90
  end
88
- def gma_log(message)
91
+ def ma_log(message)
89
92
  Mindapp::Notice.create :message => ERB::Util.html_escape(message.gsub("`","'")),
90
93
  :user_id => $user.id, :unread=> true
91
94
  end
@@ -99,8 +102,8 @@ module Mindapp
99
102
  def align_text(s, pixel=3)
100
103
  "<span style='position:relative; top:-#{pixel}px;'>#{s}</span>".html_safe
101
104
  end
102
- def status_icon(runseq)
103
- case runseq.status
105
+ def status_icon(status)
106
+ case status
104
107
  when 'R'
105
108
  image_tag 'user.png'
106
109
  when 'F'
@@ -155,7 +158,7 @@ module Mindapp
155
158
  def ui_action?(s)
156
159
  %w(form output mail pdf).include? s
157
160
  end
158
- # def handle_gma_notice
161
+ # def handle_ma_notice
159
162
  # if Mindapp::Notice.recent.count>0
160
163
  # notice= Mindapp::Notice.recent.last
161
164
  # notice.update_attribute :unread, false
@@ -208,9 +211,9 @@ module Mindapp
208
211
  ma_service= Mindapp::Service.find_or_create_by :module_code=> ma_module.code, :code=> scode, :name=> sname
209
212
  ma_service.update_attributes :xml=>s.to_s, :name=>sname,
210
213
  :list=>listed(s), :secured=>secured?(s),
211
- :module_id=>gma_module.id, :seq => seq,
214
+ :module_id=>ma_module.id, :seq => seq,
212
215
  :confirm=> get_option_xml("confirm", xml),
213
- :role => role, :rule => rule, :uid=> gma_service.id.to_s
216
+ :role => role, :rule => rule, :uid=> ma_service.id.to_s
214
217
  seq += 1
215
218
  protected_services << ma_service.uid
216
219
  else
@@ -233,9 +236,9 @@ module Mindapp
233
236
  Mindapp::Service.not_in(:uid=>protected_services).delete_all
234
237
  end
235
238
  def get_app
236
- dir= "#{Rails.root}/app/mindapp"
237
- f= "#{dir}/index.mm"
238
- t= REXML::Document.new(File.read(f).gsub("\n","")).root
239
+ # dir= "#{Rails.root}/app/mindapp"
240
+ f= MM || "#{Rails.root}/app/mindapp/index.mm"
241
+ t= REXML::Document.new(File.read(MM).gsub("\n","")).root
239
242
  recheck= true ; first_pass= true
240
243
  while recheck
241
244
  recheck= false
@@ -274,7 +277,7 @@ module Mindapp
274
277
  session[:user_id] != nil
275
278
  end
276
279
  def own_xmain?
277
- if $xvars
280
+ if $xmain
278
281
  return $user.id==$xvars['user_id']
279
282
  else
280
283
  # if eval on first step would return true so user can start service
@@ -1,3 +1,3 @@
1
1
  module Mindapp
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/mindapp.gemspec CHANGED
@@ -8,9 +8,9 @@ Gem::Specification.new do |gem|
8
8
  gem.version = Mindapp::VERSION
9
9
  gem.authors = ["songrit"]
10
10
  gem.email = ["songrit@gmail.com"]
11
- gem.description = %q{generate ror app from mind map}
12
- gem.summary = %q{generate ror app from mind map}
13
- gem.homepage = ""
11
+ gem.description = %q{generate Ruby on Rails app from mind map}
12
+ gem.summary = %q{generate Ruby on Rails app from mind map}
13
+ gem.homepage = "https://github.com/songrit/mindapp"
14
14
 
15
15
  gem.files = `git ls-files`.split($/)
16
16
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mindapp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,9 +9,9 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-09 00:00:00.000000000 Z
12
+ date: 2013-01-24 00:00:00.000000000 Z
13
13
  dependencies: []
14
- description: generate ror app from mind map
14
+ description: generate Ruby on Rails app from mind map
15
15
  email:
16
16
  - songrit@gmail.com
17
17
  executables: []
@@ -65,7 +65,9 @@ files:
65
65
  - lib/generators/mindapp/templates/app/assets/images/tick.png
66
66
  - lib/generators/mindapp/templates/app/assets/images/user.png
67
67
  - lib/generators/mindapp/templates/app/assets/images/view_code.png
68
+ - lib/generators/mindapp/templates/app/assets/javascripts/admins.js.coffee
68
69
  - lib/generators/mindapp/templates/app/assets/javascripts/application.js
70
+ - lib/generators/mindapp/templates/app/assets/javascripts/devs.js.coffee
69
71
  - lib/generators/mindapp/templates/app/assets/javascripts/disable_enter_key.js
70
72
  - lib/generators/mindapp/templates/app/assets/javascripts/iscroll-wrapper.js
71
73
  - lib/generators/mindapp/templates/app/assets/javascripts/iscroll.js
@@ -74,7 +76,10 @@ files:
74
76
  - lib/generators/mindapp/templates/app/assets/javascripts/jquery.mobile.js
75
77
  - lib/generators/mindapp/templates/app/assets/javascripts/jquery.mobile.splitview.js
76
78
  - lib/generators/mindapp/templates/app/assets/javascripts/mindapp.js
79
+ - lib/generators/mindapp/templates/app/assets/javascripts/users.js.coffee
80
+ - lib/generators/mindapp/templates/app/assets/stylesheets/admins.css.scss
77
81
  - lib/generators/mindapp/templates/app/assets/stylesheets/application.css.scss
82
+ - lib/generators/mindapp/templates/app/assets/stylesheets/devs.css.scss
78
83
  - lib/generators/mindapp/templates/app/assets/stylesheets/fonts/sarabun.eot
79
84
  - lib/generators/mindapp/templates/app/assets/stylesheets/fonts/sarabun.ttf
80
85
  - lib/generators/mindapp/templates/app/assets/stylesheets/fonts/sarabun.woff
@@ -156,10 +161,16 @@ files:
156
161
  - lib/generators/mindapp/templates/app/assets/stylesheets/jquery.mobile.splitview.css
157
162
  - lib/generators/mindapp/templates/app/assets/stylesheets/mindapp.css
158
163
  - lib/generators/mindapp/templates/app/assets/stylesheets/sarabun.css
164
+ - lib/generators/mindapp/templates/app/assets/stylesheets/users.css.scss
165
+ - lib/generators/mindapp/templates/app/controllers/admins_controller.rb
166
+ - lib/generators/mindapp/templates/app/controllers/devs_controller.rb
159
167
  - lib/generators/mindapp/templates/app/controllers/identities_controller.rb
160
168
  - lib/generators/mindapp/templates/app/controllers/mindapp_controller.rb
161
169
  - lib/generators/mindapp/templates/app/controllers/sessions_controller.rb
162
- - lib/generators/mindapp/templates/app/mailers/.gitkeep
170
+ - lib/generators/mindapp/templates/app/controllers/users_controller.rb
171
+ - lib/generators/mindapp/templates/app/helpers/admins_helper.rb
172
+ - lib/generators/mindapp/templates/app/helpers/devs_helper.rb
173
+ - lib/generators/mindapp/templates/app/helpers/users_helper.rb
163
174
  - lib/generators/mindapp/templates/app/mailers/mindapp_mailer.rb
164
175
  - lib/generators/mindapp/templates/app/mindapp/index.mm
165
176
  - lib/generators/mindapp/templates/app/mindapp/template/view.html.erb
@@ -174,6 +185,8 @@ files:
174
185
  - lib/generators/mindapp/templates/app/models/mindapp/xmain.rb
175
186
  - lib/generators/mindapp/templates/app/models/param.rb
176
187
  - lib/generators/mindapp/templates/app/models/user.rb
188
+ - lib/generators/mindapp/templates/app/views/admins/edit_role/edit_role.html.erb
189
+ - lib/generators/mindapp/templates/app/views/admins/edit_role/select_user.html.erb
177
190
  - lib/generators/mindapp/templates/app/views/identities/new.html.erb
178
191
  - lib/generators/mindapp/templates/app/views/layouts/_full.haml
179
192
  - lib/generators/mindapp/templates/app/views/layouts/_head.html.erb
@@ -195,24 +208,36 @@ files:
195
208
  - lib/generators/mindapp/templates/app/views/mindapp/_service.md
196
209
  - lib/generators/mindapp/templates/app/views/mindapp/_static.haml
197
210
  - lib/generators/mindapp/templates/app/views/mindapp/doc.md
211
+ - lib/generators/mindapp/templates/app/views/mindapp/error_logs.haml
198
212
  - lib/generators/mindapp/templates/app/views/mindapp/feed.rss.builder
199
213
  - lib/generators/mindapp/templates/app/views/mindapp/help.haml
200
214
  - lib/generators/mindapp/templates/app/views/mindapp/index.html.haml
215
+ - lib/generators/mindapp/templates/app/views/mindapp/logs.haml
201
216
  - lib/generators/mindapp/templates/app/views/mindapp/pending.haml
202
217
  - lib/generators/mindapp/templates/app/views/mindapp/run_form.haml
203
218
  - lib/generators/mindapp/templates/app/views/mindapp/search.haml
204
219
  - lib/generators/mindapp/templates/app/views/mindapp/status.haml
205
220
  - lib/generators/mindapp/templates/app/views/mindapp_mailer/gmail.html.erb
206
221
  - lib/generators/mindapp/templates/app/views/sessions/new.html.erb
222
+ - lib/generators/mindapp/templates/app/views/users/index.haml
223
+ - lib/generators/mindapp/templates/app/views/users/pwd/enter.html.erb
224
+ - lib/generators/mindapp/templates/app/views/users/user/enter_user.html.erb
207
225
  - lib/generators/mindapp/templates/mindapp.yml
208
226
  - lib/generators/mindapp/templates/seeds.rb
227
+ - lib/generators/mindapp/templates/spec/controllers/admins_controller_spec.rb
228
+ - lib/generators/mindapp/templates/spec/controllers/devs_controller_spec.rb
229
+ - lib/generators/mindapp/templates/spec/controllers/users_controller_spec.rb
230
+ - lib/generators/mindapp/templates/spec/helpers/admins_helper_spec.rb
231
+ - lib/generators/mindapp/templates/spec/helpers/devs_helper_spec.rb
232
+ - lib/generators/mindapp/templates/spec/helpers/users_helper_spec.rb
233
+ - lib/generators/mindapp/templates/spec/spec_helper.rb
209
234
  - lib/mindapp.rb
210
235
  - lib/mindapp/helpers.rb
211
236
  - lib/mindapp/railtie.rb
212
237
  - lib/mindapp/version.rb
213
238
  - lib/tasks/mindapp.rake
214
239
  - mindapp.gemspec
215
- homepage: ''
240
+ homepage: https://github.com/songrit/mindapp
216
241
  licenses: []
217
242
  post_install_message:
218
243
  rdoc_options: []
@@ -235,5 +260,5 @@ rubyforge_project:
235
260
  rubygems_version: 1.8.24
236
261
  signing_key:
237
262
  specification_version: 3
238
- summary: generate ror app from mind map
263
+ summary: generate Ruby on Rails app from mind map
239
264
  test_files: []