railsbuilder 0.1.10 → 0.1.11

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 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