Sha256: 35efe8480bcb3f4259cbf014a9f4c23b1264bbc77885e634b953c778fc7d60cf

Contents?: true

Size: 1.94 KB

Versions: 22

Compression:

Stored size: 1.94 KB

Contents

module Lanes
    module Command

        module ClientModelUpdate
            # @param file [Pathname] file to replace the props on
            def replace_props(file, columns)
                contents = file.read
                match = contents.match(/\n(\s+props\s*:\s*)\n+(\s+)\w/m)
                if !match
                    raise Thor::Error.new("Unable to detect existing props section")
                end
                (props,indent) = match.capture3
p match
                maxlen = columns.map{|field| field.name.length }.max

                contents = "#{props}"
                columns.each do | column |
                    contents << sprintf("#{indent}%-#{maxlen+1}s",column.name+':') + type_specification(column) + "\n"
                end
puts contents
#                gsub_file file, /\n\s+props\s*:\s*\n.*?\n\n/m, contents

#     props:
# <% len = max_name_length(@columns)
#    @columns.each do | column | -%>
#         <%= sprintf("%-#{len+1}s",column.name+':') -%> <%= type_specification(column) %>
# <% end -%>

# <% if @associations.any? -%>
#     associations:
# <% len = max_name_length(@associations)
#    @associations.each do | assoc | -%>
#         <%= sprintf("%-#{len+2}s",assoc.name.to_s+':') -%> { <%= assoc.collection? ? 'collection' : 'model' -%>: "<%= assoc.class_name.demodulize %>" }
# <% end -%>
# <% end -%>




            end



        end
    end
end


__END__

    props:
<% fields.each do |field| -%>
<% if field.reference? -%>
        <%= sprintf("%-#{max_field_length}s",field.name+'_id') %>: "<%= field.client_type %>"
<% else -%>
        <%= sprintf("%-#{max_field_length}s",field.name) %>: "<%= field.client_type %>"
<% end -%>
<% end %>
<% if reference_fields.any? -%>

    associations:
<% reference_fields.each do |field| -%>
        <%= sprintf("%-#{max_field_length}s ",field.name) %>: { <%= field.belongs_to? ? 'model' : 'collection' -%>: "Lanes.<%= namespace.camelize %>.<%= field.name.camelize %>" }
<% end -%>
<% end -%>

Version data entries

22 entries across 22 versions & 1 rubygems

Version Path
lanes-0.8.3 lib/lanes/command/client_model_update.rb
lanes-0.8.2 lib/lanes/command/client_model_update.rb
lanes-0.8.1 lib/lanes/command/client_model_update.rb
lanes-0.8.0 lib/lanes/command/client_model_update.rb
lanes-0.7.0 lib/lanes/command/client_model_update.rb
lanes-0.6.1 lib/lanes/command/client_model_update.rb
lanes-0.6.0 lib/lanes/command/client_model_update.rb
lanes-0.5.6 lib/lanes/command/client_model_update.rb
lanes-0.5.5 lib/lanes/command/client_model_update.rb
lanes-0.5.0 lib/lanes/command/client_model_update.rb
lanes-0.4.0 lib/lanes/command/client_model_update.rb
lanes-0.3.0 lib/lanes/command/client_model_update.rb
lanes-0.1.9.5 lib/lanes/command/client_model_update.rb
lanes-0.1.9 lib/lanes/command/client_model_update.rb
lanes-0.1.8 lib/lanes/command/client_model_update.rb
lanes-0.1.7 lib/lanes/command/client_model_update.rb
lanes-0.1.6 lib/lanes/command/client_model_update.rb
lanes-0.1.5 lib/lanes/command/client_model_update.rb
lanes-0.1.2 lib/lanes/command/client_model_update.rb
lanes-0.1.0 lib/lanes/command/client_model_update.rb