jinda 0.1.9 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f3ce5c17fcecc4aec0dd04876f2f49d0eb09652708eac9940830cbd421feb472
4
- data.tar.gz: 78a7b9a7cbb4bf0d24b87156a66c40d56b024a55cc2cba4244f287ce44ce2286
3
+ metadata.gz: 8b84fcc19349e4dc4ecaf04277c5de4b5e83a59c102c8f89de93cde6f563be5d
4
+ data.tar.gz: aa08af1a7565d4b873ab2989365c2186298341d412da536919cecfad295187df
5
5
  SHA512:
6
- metadata.gz: 8be7403c5159d253c77b86aa9a8c4012e6ae92555d9dd0c83907e585f17a252fe6b4f0ec2009a0504ff3cdf4377021c8704285930332f4b36f14dfe1ab705ce8
7
- data.tar.gz: e192a43b60a0588f8b64e8d60f5a029596e5063700c9f105e8087de2ef2416a4c45addb5f2be48b0594690092b60d5f74a2559af618a45f9a67e3519f71d4234
6
+ metadata.gz: a5a7180d9bde1efc58adfa2d069f0640566c75b7d0d1162885ab57896361af6e1fc35bbaf19eb9ab52406ed9bb0bfb8fb053d718b5dfaba3f5d2a6f4956a884e
7
+ data.tar.gz: c9c79c5b4a4e82aaa406b3ad4c42258217fed3dba81a05772063df643b30aaa4e3f4811c6320dd9d143d6b747d5f2d2641e88c13c09668e0071aef49f8c3f685
data/README.md CHANGED
@@ -16,7 +16,7 @@ Rails Application Generator using Freemind
16
16
  These versions works for sure but others may do.
17
17
 
18
18
  * Ruby 2.5.0
19
- * Rails 5.2.0
19
+ * Rails 5.2.1
20
20
  * MongoDB 6
21
21
  * Freemind 1.0.1
22
22
 
@@ -36,7 +36,7 @@ app without ActiveRecord
36
36
 
37
37
  ## Add jinda to your Gemfile:
38
38
 
39
- gem 'jinda', '~> 0.1.8'
39
+ gem 'jinda', '~> 0.2.0'
40
40
 
41
41
  For Development (most updated)
42
42
 
data/lib/jinda/helpers.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  # This helper handle
3
3
  # 1. Read xml from mm file to run core program:
4
- # process_services
4
+ # process_services
5
5
  # 2. Update Models, Services, Runseqs from index.mm (XML)
6
6
  # 3. Rake Task to create app models, views and controller from index.mm(updated)
7
7
  #
@@ -23,6 +23,8 @@
23
23
 
24
24
  require 'active_support'
25
25
  require 'active_support/core_ext'
26
+
27
+
26
28
  module Jinda
27
29
  module Helpers
28
30
  require "rexml/document"
@@ -82,31 +84,31 @@ module Jinda
82
84
  return default_role ? default_role.name.to_s : ''
83
85
  end
84
86
 
85
- def sign_in?
86
- if current_ma_user.present?
87
- return true
88
- else
89
- return false
90
- end
91
- end
92
-
93
- # ############################### Themes ###################################
94
- #
95
- # Check login user information from User model: name(code), image for Themes
96
- #
97
- # ##########################################################################
98
- def get_login_user_info
99
- if current_ma_user.present?
100
- $user_image = current_ma_user.image
101
- $user_name = current_ma_user.code
102
- $user_email = current_ma_user.email
103
- else
104
- $user_image = asset_url("user.png", :width => "48")
105
- $user_name = 'Guest User'
106
- $user_email = 'guest@sample.com'
107
- end
108
- return $user_image, $user_name, $user_email
109
- end
87
+ def sign_in?
88
+ if current_ma_user.present?
89
+ return true
90
+ else
91
+ return false
92
+ end
93
+ end
94
+
95
+ # ############################### Themes ###################################
96
+ #
97
+ # Check login user information from User model: name(code), image for Themes
98
+ #
99
+ # ##########################################################################
100
+ def get_login_user_info
101
+ if current_ma_user.present?
102
+ $user_image = current_ma_user.image
103
+ $user_name = current_ma_user.code
104
+ $user_email = current_ma_user.email
105
+ else
106
+ $user_image = asset_url("user.png", :width => "48")
107
+ $user_name = 'Guest User'
108
+ $user_email = 'guest@sample.com'
109
+ end
110
+ return $user_image, $user_name, $user_email
111
+ end
110
112
 
111
113
  def name2code(s)
112
114
  # rather not ignore # symbol cause it could be comment
@@ -246,12 +248,12 @@ module Jinda
246
248
  # ""
247
249
  # end
248
250
  # end
249
-
250
- # ##########################################################################
251
- #
252
- # Create / Update Modules, Runseqs, Services from XML
253
- #
254
- # ##########################################################################
251
+
252
+ # ##########################################################################
253
+ #
254
+ # Create / Update Modules, Runseqs, Services from XML
255
+ #
256
+ # ##########################################################################
255
257
  def process_services
256
258
  # todo: persist mm_md5
257
259
  xml= @app||get_app
@@ -276,9 +278,9 @@ module Jinda
276
278
  module_code= code.to_code
277
279
  menu_icon = m_icon(m)
278
280
 
279
- # ##########################################################################
280
- # First Node eg: Module Name
281
- # ##########################################################################
281
+ # ##########################################################################
282
+ # First Node eg: Module Name
283
+ # ##########################################################################
282
284
  # create or update to GmaModule
283
285
  ma_module= Jinda::Module.find_or_create_by :code=>module_code
284
286
  ma_module.update_attributes :uid=>ma_module.id.to_s, :icon=>menu_icon
@@ -288,9 +290,9 @@ module Jinda
288
290
  mseq += 1
289
291
  seq= 0
290
292
 
291
- # ##########################################################################
292
- # Second Nodes eg: Role, Link otherwise Services
293
- # ##########################################################################
293
+ # ##########################################################################
294
+ # Second Nodes eg: Role, Link otherwise Services
295
+ # ##########################################################################
294
296
  m.each_element('node') do |s|
295
297
  service_name= s.attributes["TEXT"].to_s
296
298
  scode, sname= service_name.split(':', 2)
@@ -313,9 +315,9 @@ module Jinda
313
315
  protected_services << ma_service.uid
314
316
  else
315
317
 
316
- # ##########################################################################
317
- # Second and Third Nodes eg: Role, Normal Services
318
- # ##########################################################################
318
+ # ##########################################################################
319
+ # Second and Third Nodes eg: Role, Normal Services
320
+ # ##########################################################################
319
321
  # normal service
320
322
  step1 = s.elements['node']
321
323
  role= get_option_xml("role", step1) || ""
@@ -335,13 +337,13 @@ module Jinda
335
337
  Jinda::Service.not_in(:uid=>protected_services).delete_all
336
338
  end
337
339
 
338
- # ##########################################################################
339
- # Load index.mm from Rails
340
- # ##########################################################################
340
+ # ##########################################################################
341
+ # Load index.mm from Rails
342
+ # ##########################################################################
341
343
  def get_app
342
- # MM was defined in Rails: config/initializer/jinda.rb
343
- f= MM || "#{Rails.root}/app/jinda/index.mm"
344
- dir= File.dirname(f)
344
+ # MM was defined in Rails: config/initializer/jinda.rb
345
+ f= MM || "#{Rails.root}/app/jinda/index.mm"
346
+ dir= File.dirname(f)
345
347
  t= REXML::Document.new(File.read(MM).gsub("\n","")).root
346
348
  recheck= true ; first_pass= true
347
349
  while recheck
@@ -368,243 +370,243 @@ module Jinda
368
370
  return t
369
371
  end
370
372
 
371
- ########################################################################
372
- # Jinda Rake Task #
373
- ########################################################################
374
-
375
- def gen_views
376
- t = ["*** generate ui ***"]
377
-
378
- # create array of files to be tested
379
- $afile = Array.new
380
-
381
- Jinda::Module.all.each do |m|
382
- m.services.each do |s|
383
- dir ="app/views/#{s.module.code}"
384
- unless gen_view_file_exist?(dir)
385
- gen_view_mkdir(dir,t)
386
- end
387
-
388
- if s.code=='link'
389
- f= "app/views/#{s.module.code}/index.haml"
390
- $afile << f
391
- unless gen_view_file_exist?(f)
392
- sv = "app/jinda/template/linkview.haml"
393
- f= "app/views/#{s.module.code}/index.haml"
394
- gen_view_createfile(sv,f,t)
395
- end
396
- next
397
- end
398
-
399
- dir ="app/views/#{s.module.code}/#{s.code}"
400
- unless gen_view_file_exist?(dir)
401
- gen_view_mkdir(dir,t)
402
- end
403
-
404
- xml= REXML::Document.new(s.xml)
405
- xml.elements.each('*/node') do |activity|
406
- icon = activity.elements['icon']
407
- next unless icon
408
- action= freemind2action(icon.attributes['BUILTIN'])
409
- next unless ui_action?(action)
410
- code_name = activity.attributes["TEXT"].to_s
411
- next if code_name.comment?
412
- code= name2code(code_name)
413
- if action=="pdf"
414
- f= "app/views/#{s.module.code}/#{s.code}/#{code}.pdf.prawn"
415
- else
416
- f= "app/views/#{s.module.code}/#{s.code}/#{code}.html.erb"
417
- end
418
- $afile << f
419
- unless gen_view_file_exist?(f)
420
- sv = "app/jinda/template/view.html.erb"
421
- gen_view_createfile(sv,f,t)
422
- end
423
- end
424
- end
425
- end
426
- puts $afile.join("\n")
427
- puts t.join("\n")
428
- return $afile
429
- end
430
-
431
- def process_controllers
432
- process_services
433
- modules= Jinda::Module.all
434
- modules.each do |m|
435
- next if controller_exists?(m.code)
436
- system("rails generate controller #{m.code}")
437
- end
438
- end
439
-
440
- def process_models
441
-
442
- # app= get_app
443
- # t= ["process models"]
444
- # xml map sample from index.mm
445
- # node @CREATED=1273819432637 @ID=ID_1098419600 @MODIFIED=1334737006485 @TEXT=Jinda
446
- # node @CREATED=1273819462973 @ID=ID_282419531 @MODIFIED=1493705904561 @POSITION=right @TEXT=services
447
- # node @CREATED=1273819465949 @FOLDED=true @ID=ID_855471610 @MODIFIED=1493768913078 @POSITION=right @TEXT=roles
448
- # node @CREATED=1273819456867 @ID=ID_1677010054 @MODIFIED=1493418874718 @POSITION=left @TEXT=models
449
- # node @CREATED=1292122118499 @FOLDED=true @ID=ID_1957754752 @MODIFIED=1493705885123 @TEXT=person
450
- # node @CREATED=1292122236285 @FOLDED=true @ID=ID_959987887 @MODIFIED=1493768919147 @TEXT=address
451
- # node @CREATED=1493418879485 @ID=ID_1995497233 @MODIFIED=1493718770637 @TEXT=article
452
- # node @CREATED=1493418915637 @ID=ID_429078131 @MODIFIED=1493418930081 @TEXT=comment
453
-
454
- models= @app.elements["//node[@TEXT='models']"] || REXML::Document.new
455
- models.each_element('node') do |model|
456
- # t << "= "+model.attributes["TEXT"]
457
- model_name= model.attributes["TEXT"]
458
- next if model_name.comment?
459
- model_code= name2code(model_name)
460
- model_file= "#{Rails.root}/app/models/#{model_code}.rb"
461
-
462
- if File.exists?(model_file)
463
- doc= File.read(model_file)
464
- else
465
- system("rails generate model #{model_code}")
466
- doc= File.read(model_file)
467
- end
468
-
469
- doc = add_utf8(doc)
470
- attr_hash= make_fields(model)
471
- doc = add_jinda(doc, attr_hash)
472
- # t << "modified: #{model_file}"
473
- File.open(model_file, "w") do |f|
474
- f.puts doc
475
- end
476
-
477
- end
478
-
479
- # puts t.join("\n")
480
- end
481
-
482
- def add_jinda(doc, attr_hash)
483
- if doc =~ /#{@btext}/
484
- s1,s2,s3= doc.partition(/ #{@btext}.*#{@etext}\n/m)
485
- s2= ""
486
- else
487
- s1,s2,s3= doc.partition("include Mongoid::Document\n")
488
- end
489
- doc= s1+s2+ <<-EOT
490
- #{@btext}
491
- include Mongoid::Timestamps
492
- EOT
493
-
494
- attr_hash.each do |a|
495
- # doc+= "\n*****"+a.to_s+"\n"
496
- if a[:edit]
497
- doc += " #{a[:text]}\n"
498
- else
499
- doc += " field :#{a[:code]}, :type => #{a[:type].capitalize}\n"
500
- end
501
- end
502
- doc += " #{@etext}\n"
503
- doc + s3
504
- end
505
-
506
- def add_utf8(doc)
507
- unless doc =~ /encoding\s*:\s*utf-8/
508
- doc.insert 0, "# encoding: utf-8\n"
509
- else
510
- doc
511
- end
512
- end
513
-
514
- # inspect all nodes that has attached file (2 cases) and replace relative path with absolute path
515
- def make_folders_absolute(f,tt)
516
- tt.elements.each("//node") do |nn|
517
- if nn.attributes['LINK']
518
- nn.attributes['LINK']= File.expand_path(File.dirname(f))+"/#{nn.attributes['LINK']}"
519
- end
520
- end
521
- end
522
-
523
- def name2code(s)
524
- # rather not ignore # symbol cause it could be comment
525
- code, name = s.split(':')
526
- code.downcase.strip.gsub(' ','_').gsub(/[^#_\/a-zA-Z0-9]/,'')
527
- end
528
-
529
- def model_exists?(model)
530
- File.exists? "#{Rails.root}/app/models/#{model}.rb"
531
- end
532
-
533
- def make_fields(n)
534
- # s= field string used by generate model cli (old style jinda)
535
- s= ""
536
- # h= hash :code, :type, :edit, :text
537
- h= []
538
- n.each_element('node') do |nn|
539
- text = nn.attributes['TEXT']
540
- icon = nn.elements['icon']
541
- edit= (icon && icon.attribute('BUILTIN').value=="edit")
542
- next if text.comment? && !edit
543
-
544
- # sometimes freemind puts all fields inside a blank node
545
- unless text.empty?
546
- k,v= text.split(/:\s*/,2)
547
- v ||= 'string'
548
- v= 'float' if v=~/double/i
549
- s << " #{name2code(k.strip)}:#{v.strip} "
550
- h << {:code=>name2code(k.strip), :type=>v.strip, :edit=>edit, :text=>text}
551
- else
552
- nn.each_element('node') do |nnn|
553
- icon = nnn.elements['icon']
554
- edit1= (icon && icon.attribute('BUILTIN').value=="edit")
555
- text1 = nnn.attributes['TEXT']
556
- next if text1 =~ /\#.*/
557
- k,v= text1.split(/:\s*/,2)
558
- v ||= 'string'
559
- v= 'float' if v=~/double/i
560
- s << " #{name2code(k.strip)}:#{v.strip} "
561
- h << {:code=>name2code(k.strip), :type=>v.strip, :edit=>edit1, :text=>text1}
562
- end
563
- end
564
- end
565
- # f
566
- h
567
- end
568
-
569
- # Add method to ruby class String
570
- # ###############################
571
- class String
572
- def comment?
573
- self[0]=='#'
574
- # self[0]==35 # check if first char is #
575
- end
576
- def to_code
577
- s= self.dup
578
- s.downcase.strip.gsub(' ','_').gsub(/[^#_\/a-zA-Z0-9]/,'')
579
- end
580
- end
581
-
582
- ########################################################################
583
- # END code from jinda.rake #
584
- ########################################################################
585
-
586
-
587
- ########################################################################
588
- # Methods to be overrided by gemhelp #
589
- # for Rspec Test
590
- ########################################################################
591
- def gen_view_file_exist?(dir)
592
- File.exists?(dir)
593
- end
594
-
595
- def gen_view_mkdir(dir,t)
596
- Dir.mkdir(dir)
597
- t << "create directory #{dir}"
598
- end
599
-
600
- def gen_view_createfile(s,f,t)
601
- FileUtils.cp s,f
602
- # FileUtils.cp "app/jinda/template/linkview.haml",f
603
- t << "create file #{f}"
604
- end
605
- ########################################################################
606
-
607
- def controller_exists?(modul)
373
+ ########################################################################
374
+ # Jinda Rake Task #
375
+ ########################################################################
376
+
377
+ def gen_views
378
+ t = ["*** generate ui ***"]
379
+
380
+ # create array of files to be tested
381
+ $afile = Array.new
382
+
383
+ Jinda::Module.all.each do |m|
384
+ m.services.each do |s|
385
+ dir ="app/views/#{s.module.code}"
386
+ unless gen_view_file_exist?(dir)
387
+ gen_view_mkdir(dir,t)
388
+ end
389
+
390
+ if s.code=='link'
391
+ f= "app/views/#{s.module.code}/index.haml"
392
+ $afile << f
393
+ unless gen_view_file_exist?(f)
394
+ sv = "app/jinda/template/linkview.haml"
395
+ f= "app/views/#{s.module.code}/index.haml"
396
+ gen_view_createfile(sv,f,t)
397
+ end
398
+ next
399
+ end
400
+
401
+ dir ="app/views/#{s.module.code}/#{s.code}"
402
+ unless gen_view_file_exist?(dir)
403
+ gen_view_mkdir(dir,t)
404
+ end
405
+
406
+ xml= REXML::Document.new(s.xml)
407
+ xml.elements.each('*/node') do |activity|
408
+ icon = activity.elements['icon']
409
+ next unless icon
410
+ action= freemind2action(icon.attributes['BUILTIN'])
411
+ next unless ui_action?(action)
412
+ code_name = activity.attributes["TEXT"].to_s
413
+ next if code_name.comment?
414
+ code= name2code(code_name)
415
+ if action=="pdf"
416
+ f= "app/views/#{s.module.code}/#{s.code}/#{code}.pdf.prawn"
417
+ else
418
+ f= "app/views/#{s.module.code}/#{s.code}/#{code}.html.erb"
419
+ end
420
+ $afile << f
421
+ unless gen_view_file_exist?(f)
422
+ sv = "app/jinda/template/view.html.erb"
423
+ gen_view_createfile(sv,f,t)
424
+ end
425
+ end
426
+ end
427
+ end
428
+ puts $afile.join("\n")
429
+ puts t.join("\n")
430
+ return $afile
431
+ end
432
+
433
+ def process_controllers
434
+ process_services
435
+ modules= Jinda::Module.all
436
+ modules.each do |m|
437
+ next if controller_exists?(m.code)
438
+ system("rails generate controller #{m.code}")
439
+ end
440
+ end
441
+
442
+ def process_models
443
+
444
+ # app= get_app
445
+ # t= ["process models"]
446
+ # xml map sample from index.mm
447
+ # node @CREATED=1273819432637 @ID=ID_1098419600 @MODIFIED=1334737006485 @TEXT=Jinda
448
+ # node @CREATED=1273819462973 @ID=ID_282419531 @MODIFIED=1493705904561 @POSITION=right @TEXT=services
449
+ # node @CREATED=1273819465949 @FOLDED=true @ID=ID_855471610 @MODIFIED=1493768913078 @POSITION=right @TEXT=roles
450
+ # node @CREATED=1273819456867 @ID=ID_1677010054 @MODIFIED=1493418874718 @POSITION=left @TEXT=models
451
+ # node @CREATED=1292122118499 @FOLDED=true @ID=ID_1957754752 @MODIFIED=1493705885123 @TEXT=person
452
+ # node @CREATED=1292122236285 @FOLDED=true @ID=ID_959987887 @MODIFIED=1493768919147 @TEXT=address
453
+ # node @CREATED=1493418879485 @ID=ID_1995497233 @MODIFIED=1493718770637 @TEXT=article
454
+ # node @CREATED=1493418915637 @ID=ID_429078131 @MODIFIED=1493418930081 @TEXT=comment
455
+
456
+ models= @app.elements["//node[@TEXT='models']"] || REXML::Document.new
457
+ models.each_element('node') do |model|
458
+ # t << "= "+model.attributes["TEXT"]
459
+ model_name= model.attributes["TEXT"]
460
+ next if model_name.comment?
461
+ model_code= name2code(model_name)
462
+ model_file= "#{Rails.root}/app/models/#{model_code}.rb"
463
+
464
+ if File.exists?(model_file)
465
+ doc= File.read(model_file)
466
+ else
467
+ system("rails generate model #{model_code}")
468
+ doc= File.read(model_file)
469
+ end
470
+
471
+ doc = add_utf8(doc)
472
+ attr_hash= make_fields(model)
473
+ doc = add_jinda(doc, attr_hash)
474
+ # t << "modified: #{model_file}"
475
+ File.open(model_file, "w") do |f|
476
+ f.puts doc
477
+ end
478
+
479
+ end
480
+
481
+ # puts t.join("\n")
482
+ end
483
+
484
+ def add_jinda(doc, attr_hash)
485
+ if doc =~ /#{@btext}/
486
+ s1,s2,s3= doc.partition(/ #{@btext}.*#{@etext}\n/m)
487
+ s2= ""
488
+ else
489
+ s1,s2,s3= doc.partition("include Mongoid::Document\n")
490
+ end
491
+ doc= s1+s2+ <<-EOT
492
+ #{@btext}
493
+ include Mongoid::Timestamps
494
+ EOT
495
+
496
+ attr_hash.each do |a|
497
+ # doc+= "\n*****"+a.to_s+"\n"
498
+ if a[:edit]
499
+ doc += " #{a[:text]}\n"
500
+ else
501
+ doc += " field :#{a[:code]}, :type => #{a[:type].capitalize}\n"
502
+ end
503
+ end
504
+ doc += " #{@etext}\n"
505
+ doc + s3
506
+ end
507
+
508
+ def add_utf8(doc)
509
+ unless doc =~ /encoding\s*:\s*utf-8/
510
+ doc.insert 0, "# encoding: utf-8\n"
511
+ else
512
+ doc
513
+ end
514
+ end
515
+
516
+ # inspect all nodes that has attached file (2 cases) and replace relative path with absolute path
517
+ def make_folders_absolute(f,tt)
518
+ tt.elements.each("//node") do |nn|
519
+ if nn.attributes['LINK']
520
+ nn.attributes['LINK']= File.expand_path(File.dirname(f))+"/#{nn.attributes['LINK']}"
521
+ end
522
+ end
523
+ end
524
+
525
+ def name2code(s)
526
+ # rather not ignore # symbol cause it could be comment
527
+ code, name = s.split(':')
528
+ code.downcase.strip.gsub(' ','_').gsub(/[^#_\/a-zA-Z0-9]/,'')
529
+ end
530
+
531
+ def model_exists?(model)
532
+ File.exists? "#{Rails.root}/app/models/#{model}.rb"
533
+ end
534
+
535
+ def make_fields(n)
536
+ # s= field string used by generate model cli (old style jinda)
537
+ s= ""
538
+ # h= hash :code, :type, :edit, :text
539
+ h= []
540
+ n.each_element('node') do |nn|
541
+ text = nn.attributes['TEXT']
542
+ icon = nn.elements['icon']
543
+ edit= (icon && icon.attribute('BUILTIN').value=="edit")
544
+ next if text.comment? && !edit
545
+
546
+ # sometimes freemind puts all fields inside a blank node
547
+ unless text.empty?
548
+ k,v= text.split(/:\s*/,2)
549
+ v ||= 'string'
550
+ v= 'float' if v=~/double/i
551
+ s << " #{name2code(k.strip)}:#{v.strip} "
552
+ h << {:code=>name2code(k.strip), :type=>v.strip, :edit=>edit, :text=>text}
553
+ else
554
+ nn.each_element('node') do |nnn|
555
+ icon = nnn.elements['icon']
556
+ edit1= (icon && icon.attribute('BUILTIN').value=="edit")
557
+ text1 = nnn.attributes['TEXT']
558
+ next if text1 =~ /\#.*/
559
+ k,v= text1.split(/:\s*/,2)
560
+ v ||= 'string'
561
+ v= 'float' if v=~/double/i
562
+ s << " #{name2code(k.strip)}:#{v.strip} "
563
+ h << {:code=>name2code(k.strip), :type=>v.strip, :edit=>edit1, :text=>text1}
564
+ end
565
+ end
566
+ end
567
+ # f
568
+ h
569
+ end
570
+
571
+ # Add method to ruby class String
572
+ # ###############################
573
+ class String
574
+ def comment?
575
+ self[0]=='#'
576
+ # self[0]==35 # check if first char is #
577
+ end
578
+ def to_code
579
+ s= self.dup
580
+ s.downcase.strip.gsub(' ','_').gsub(/[^#_\/a-zA-Z0-9]/,'')
581
+ end
582
+ end
583
+
584
+ ########################################################################
585
+ # END code from jinda.rake #
586
+ ########################################################################
587
+
588
+
589
+ ########################################################################
590
+ # Methods to be overrided by gemhelp #
591
+ # for Rspec Test
592
+ ########################################################################
593
+ def gen_view_file_exist?(dir)
594
+ File.exists?(dir)
595
+ end
596
+
597
+ def gen_view_mkdir(dir,t)
598
+ Dir.mkdir(dir)
599
+ t << "create directory #{dir}"
600
+ end
601
+
602
+ def gen_view_createfile(s,f,t)
603
+ FileUtils.cp s,f
604
+ # FileUtils.cp "app/jinda/template/linkview.haml",f
605
+ t << "create file #{f}"
606
+ end
607
+ ########################################################################
608
+
609
+ def controller_exists?(modul)
608
610
  File.exists? "#{Rails.root}/app/controllers/#{modul}_controller.rb"
609
611
  end
610
612
  def dup_hash(a)
data/lib/jinda/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jinda
2
- VERSION = "0.1.9"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jinda
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Prateep Kul
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-07-12 00:00:00.000000000 Z
12
+ date: 2018-09-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler