Sha256: 5b9db38a586f590c7710b4ca92e054cedd537130feac03352491d31111330ff7
Contents?: true
Size: 1.01 KB
Versions: 12
Compression:
Stored size: 1.01 KB
Contents
require 'thor/group' require 'ostruct' require 'active_support' require 'active_support/core_ext' require 'faker' module Locomotive module Wagon module Generators class ContentType < Thor::Group include Thor::Actions argument :name argument :target_path argument :fields def copy_sources directory('.', target_path, { recursive: true }, { name: self.name, fields: extract_fields(fields) }) end def self.source_root File.join(File.dirname(__FILE__), '..', '..', '..', '..', 'generators', 'content_type') end protected def extract_fields(fields) fields.map do |raw_attributes| name, type, required = raw_attributes.split(':') OpenStruct.new({ name: name, type: type || 'string', required: %w(true required).include?(required) }) end end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems