class OData::Model::CLI::ModelTemplate

Represents the model template used by the command-line generator. @api private

Attributes

class_name[R]
properties[R]
service_name[R]

Public Class Methods

new(class_name, service_name, properties, entity_name) click to toggle source
# File lib/odata/model/cli/model_template.rb, line 12
def initialize(class_name, service_name, properties, entity_name)
  @class_name = class_name
  @service_name = service_name
  @properties = properties
  @entity_name = entity_name
end

Public Instance Methods

render() click to toggle source
# File lib/odata/model/cli/model_template.rb, line 34
def render
  renderer = ERB.new(template, 0, '<>')
  renderer.result(binding)
end
template() click to toggle source
# File lib/odata/model/cli/model_template.rb, line 19
        def template
          <<-EOS
class <%= @class_name %>
  include OData::Model

  use_service '<%= @service_name %>'
  <%= @entity_name.nil? ? nil : "use_entity_set  '\#\{@entity_name\}'" %>

<% properties.each do |property_name, as_name| %>
  property '<%= property_name %>'<%= as_name.nil? ? nil : ", as: :\#\{as_name\}" %>
<% end %>
end
          EOS
        end