railsbuilder 0.1.10 → 0.1.11

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: 7a53d1909bcb338048d8b383aebdbcc35752e8fc
4
- data.tar.gz: 0ff37fdb31bc77ccbe6386fb39de773db624d9fa
3
+ metadata.gz: 45d6b14d1a55a45a60dd93200ab4b6f9c74c55fd
4
+ data.tar.gz: b588dd06cba0132e028012a1face9cbbf20b632c
5
5
  SHA512:
6
- metadata.gz: c4423924292843ca4037390cfac3235be78272ef916a5314369959d2e7c53f7a469f303fd8f6aab68f02e13f202904d2a0810dfff1483fda342fa5bba6ca748f
7
- data.tar.gz: e548f193a35ed8356174bad133e2ca8f840aaa14a6ec0e2d941c630ac5b7583bd55d249108988c07f78db0844796525a6036321abe2e2b828396dfcbac9e44eb
6
+ metadata.gz: 88cf4b6d5956ec1d8b00351807ae78a4093482272a5095c0296d7d9aa106424212068acdf31ea29304a5514ee57b82e9793ae3c8636550c682d90b37e7815d5a
7
+ data.tar.gz: 06a5c0a37cf73071b4fd286772d109ac314ff75ffbd8cec82424e3ad12e3c633d2ec63dbb0181aa5dc1f91e7fa26c686d925fa1b8b869a82e8e8d34e6cc5001f
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/railsbuilder.rb CHANGED
@@ -5,6 +5,7 @@
5
5
  require 'fileutils'
6
6
  require 'io/console'
7
7
  require 'lineparser'
8
+ require 'rdiscount'
8
9
 
9
10
 
10
11
  class RailsBuilder
@@ -24,10 +25,12 @@ class RailsBuilder
24
25
  [:model_class, /(\w+):\s*(string|text)/, :class_attribute],
25
26
  [:resource, /controller \+ views/, :resource_cv],
26
27
  [:resource_cv, /(\w+)(?:\s+([av]{1,2}))?/, :resource_cv_av],
27
- [:all, /^\s*#/, :comment]
28
+ [:resource_cv_av, /(markdown):\s*(.*)/, :renderer],
29
+ [:renderer, /.*/, :render_block],
30
+ [:all, /^\s*;/, :comment]
28
31
  ]
29
32
 
30
- parse(patterns, buffer)
33
+ parse(patterns, buffer.gsub(/^(\s{,5})#/,'\1;'))
31
34
  end
32
35
 
33
36
  def build()
@@ -73,7 +76,6 @@ class RailsBuilder
73
76
  end
74
77
 
75
78
  resources = doc.element('resources/@resources')
76
- puts 'resources :' + resources.inspect
77
79
 
78
80
  if resources then
79
81
 
@@ -130,7 +132,8 @@ class RailsBuilder
130
132
  puts ":: preparing to execute shell command: `#{command}`"
131
133
  puts 'Are you sure you want to generate a model? (Y/n)'
132
134
 
133
- shell command
135
+ r = shell command
136
+ next if r == :abort
134
137
 
135
138
  # -- next command ---------------------
136
139
 
@@ -191,6 +194,34 @@ class RailsBuilder
191
194
  File.write view_file, ''
192
195
  puts ':: created ' + page
193
196
  end
197
+
198
+ # does it contain a renderer? e.g. markdown
199
+ renderer = av.element 'renderer'
200
+ next unless renderer
201
+
202
+ type, text = renderer.attributes.values
203
+ # open the related page and add the content if it
204
+ # doesn't already exist
205
+
206
+ render_block = renderer.text('render_block')
207
+
208
+ raw_text = if text and render_block then
209
+ text + "\n" + render_block
210
+ elsif text then text
211
+ elsif render_block then render_block
212
+ end
213
+
214
+ if type == 'markdown' and raw_text then
215
+
216
+ html = RDiscount.new(raw_text).to_html
217
+ buffer = File.read view_file
218
+
219
+ unless buffer[/#{html}/] then
220
+ File.write view_file, html + "\n" + buffer
221
+ puts ':: updated ' + view_file
222
+ end
223
+ end
224
+
194
225
  end
195
226
  end
196
227
 
@@ -258,6 +289,7 @@ EOF
258
289
  IO.popen(command).each_line {|x| print "", x}
259
290
  else
260
291
  puts 'Abort'
292
+ :abort
261
293
  end
262
294
  end
263
295
  end
data.tar.gz.sig CHANGED
Binary file
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.10
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -61,6 +61,20 @@ dependencies:
61
61
  - - ">="
62
62
  - !ruby/object:Gem::Version
63
63
  version: '0'
64
+ - !ruby/object:Gem::Dependency
65
+ name: rdiscount
66
+ requirement: !ruby/object:Gem::Requirement
67
+ requirements:
68
+ - - ">="
69
+ - !ruby/object:Gem::Version
70
+ version: '0'
71
+ type: :runtime
72
+ prerelease: false
73
+ version_requirements: !ruby/object:Gem::Requirement
74
+ requirements:
75
+ - - ">="
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
64
78
  description:
65
79
  email: james@r0bertson.co.uk
66
80
  executables: []
metadata.gz.sig CHANGED
Binary file