Sha256: af67aa1ebde4b6d8e08b69f2ed388e10d38a4480b3d63317894c04f1dfc3c8c3
Contents?: true
Size: 1.57 KB
Versions: 2
Compression:
Stored size: 1.57 KB
Contents
# frozen_string_literal: true require 'generators/ember/generator_helpers' module Ember module Generators class ModelGenerator < ::Rails::Generators::NamedBase include Ember::Generators::GeneratorHelpers source_root File.expand_path('../templates', __dir__) desc 'creates a new ember.js model' argument :attributes, type: :array, default: [], banner: 'field[:type] field[:type] ...' class_option :javascript_engine, desc: 'engine for javascripts' class_option :ember_path, type: :string, aliases: '-d', desc: 'custom ember app path' class_option :app_name, type: :string, aliases: '-n', desc: 'Custom ember app name' def create_model_files file_path = File.join(ember_path, 'models', class_path, "#{file_name.dasherize}.#{engine_extension}") template "model.#{engine_extension}", file_path end private EMBER_TYPE_LOOKUP = { nil => 'string', :binary => 'string', :string => 'string', :text => 'string', :boolean => 'boolean', :date => 'date', :datetime => 'date', :time => 'date', :timestamp => 'date', :decimal => 'number', :float => 'number', :integer => 'number', :primary_key => 'number' }.freeze def parse_attributes! self.attributes = (attributes || []).map do |attr| name, type = attr.split(':') key = type.try(:to_sym) ember_type = EMBER_TYPE_LOOKUP[key] || type { name: name, type: ember_type } end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
emberjs-rails-0.1.1 | lib/generators/ember/model_generator.rb |
emberjs-rails-0.1.0 | lib/generators/ember/model_generator.rb |