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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/railsbuilder.rb +36 -4
- data.tar.gz.sig +0 -0
- metadata +15 -1
- metadata.gz.sig +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 45d6b14d1a55a45a60dd93200ab4b6f9c74c55fd
         | 
| 4 | 
            +
              data.tar.gz: b588dd06cba0132e028012a1face9cbbf20b632c
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 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 | 
            -
             | 
| 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. | 
| 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 |