railsbuilder 0.1.0 → 0.1.1

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
  SHA1:
3
- metadata.gz: 0c6a33a0a354b43ceab08297355bde21fc365925
4
- data.tar.gz: 6c513bb65eca3e8847748b467a544c7285ad28ae
3
+ metadata.gz: 20ff889b67b8a58a7da262a03fdf38e9d650cc61
4
+ data.tar.gz: 35387c44716f8a5a097013b196924ca85d3771f0
5
5
  SHA512:
6
- metadata.gz: a65a78db65efc5d58f9ba253841b37c5539afbcbe716c71e6b18096af042c47c6522b07f30d97d36f47610245cefccce0a417e2c3403919921b3d6a8251923bc
7
- data.tar.gz: 7a634beda2d9e7ae152d96b83257cd44a992a6658de5d910ed5717e1216cbc75f8b5f101ca0e4ae681660d450acab11dc5492fa163e31d0180365ac4fc8a2bc8
6
+ metadata.gz: 387f19a35cc271b42ef8f5eca79ca985ef98f1d14cf5f553dcb30da2e3c8f26553692386dab6c135c496566a38ba8ac0bb33bf52acd43ae62bb8517330cb5d26
7
+ data.tar.gz: 5e8bfa46ad371c3907db5b6a8ef1e40aa1a35f8518d179f5713524b5bf9ef0900f78043937788a5ad35129febc2ddb280cd4f3dfc5c9f212d06ab7b71c004d6f
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/railsbuilder.rb CHANGED
@@ -8,40 +8,72 @@ require 'lineparser'
8
8
 
9
9
 
10
10
  class RailsBuilder
11
+
12
+ attr_reader :to_a
11
13
 
12
14
  def initialize(filepath=nil)
13
15
 
14
16
  buffer = File.read filepath if filepath
15
17
 
16
18
  patterns = [
19
+ [:root, 'app_path: :app_path', :app_path],
17
20
  [:root, 'app: :app', :app],
18
21
  [:root, 'resources: :resources', :resources],
19
22
  [:root, ':resource', :resource],
20
23
  [:resource, 'model', :model],
21
24
  [:model, ':class_name', :model_class],
25
+ [:resource, 'controller + views', :resource_cv],
26
+ [:resource_cv, /(\w+)\s+[av]{1,2}/, :resource_cv_av],
22
27
  [:all, /#/]
23
28
  ]
24
29
 
25
- @h = parse(patterns, buffer)
30
+ @to_a = @a = parse(patterns, buffer)
26
31
  end
27
32
 
28
33
  def build()
29
34
 
30
- cols = @h[:root].select {|x| x[1].has_key? ':app' }
35
+ cols = @a[:root].select {|x| x[1].has_key? ':app' }
31
36
  @app = cols[0][1][':app']
32
37
 
33
38
  unless File.exists? @app then
34
39
  command = 'rails new ' + @app
35
40
  puts ":: preparing to execute shell command: `#{command}`"
36
41
  puts 'Are you sure you want to build a new app? (Y/n)'
37
- r = $stdin.getch
38
42
 
39
- if r[/y|\r/i] then
40
- IO.popen(command).each_line {|x| print "", x}
41
- else
42
- puts 'Abort'
43
+ shell command
44
+ else
45
+ Dir.chdir @app
46
+ end
47
+
48
+ # select the :resource records
49
+
50
+ @a[:root].select{|x| x[1][":resource"]}.each do |raw_resource|
51
+
52
+ resource_child = raw_resource[3][0][3]
53
+ resource = raw_resource[1][":resource"]
54
+
55
+ case resource_child[0][0]
56
+
57
+ when :model
58
+ puts "it's a model"
59
+ when :resource_cv
60
+
61
+ # fetch the action name
62
+ action = resource_child[0][1][:captures][0]
63
+ page = action + '.html.erb'
64
+
65
+ unless File.exists? File.join('app','views', resource, page) then
66
+
67
+ command = "rails generate controller %s %s" % [resource, action]
68
+ puts ":: preparing to execute shell command: `#{command}`"
69
+ puts 'Are you sure you want to generate a controller action? (Y/n)'
70
+
71
+ shell command
72
+ end
73
+
43
74
  end
44
75
  end
76
+
45
77
  @h
46
78
  end
47
79
 
@@ -78,6 +110,14 @@ EOF
78
110
  a.group_by(&:first)
79
111
  end
80
112
 
113
+ def shell(command)
114
+
115
+ if $stdin.getch[/y|\r/i] then
116
+ IO.popen(command).each_line {|x| print "", x}
117
+ else
118
+ puts 'Abort'
119
+ end
120
+ end
81
121
  end
82
122
 
83
123
  =begin
@@ -88,4 +128,4 @@ rb = RailsBuilder.new
88
128
  r = rb.build
89
129
  rb.save
90
130
 
91
- =end
131
+ =end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: railsbuilder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -31,7 +31,7 @@ cert_chain:
31
31
  bNcCWso1cJhifoTCytPAyf9YVuyU4HjqC3eqx3p00NCg0VoELwMEkyhkpvYOGz2l
32
32
  NSkTRB6yCN+xzQ==
33
33
  -----END CERTIFICATE-----
34
- date: 2014-03-09 00:00:00.000000000 Z
34
+ date: 2014-03-10 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rails
metadata.gz.sig CHANGED
Binary file