class Riveter::Generators::EnumGenerator
Public Class Methods
new(args, *options)
click to toggle source
Calls superclass method
# File lib/generators/riveter/enum/enum_generator.rb, line 13 def initialize(args, *options) super parse_enum_members! end
Public Instance Methods
create_enum_file()
click to toggle source
# File lib/generators/riveter/enum/enum_generator.rb, line 18 def create_enum_file template 'enum.rb', File.join('app/enums', class_path, "#{file_name}_enum.rb") end
create_locale_file()
click to toggle source
# File lib/generators/riveter/enum/enum_generator.rb, line 27 def create_locale_file template 'enums.en.yml', File.join('config/locales', 'enums.en.yml') unless locale_file_exists? end
create_module_file()
click to toggle source
# File lib/generators/riveter/enum/enum_generator.rb, line 22 def create_module_file return if regular_class_path.empty? template 'module.rb', File.join('app/enums', "#{class_path.join('/')}.rb") if behavior == :invoke end
Protected Instance Methods
locale_file_exists?()
click to toggle source
# File lib/generators/riveter/enum/enum_generator.rb, line 46 def locale_file_exists? File.exists?(File.join(destination_root, 'config', 'locales', 'enums.en.yml')) end
parse_enum_members!()
click to toggle source
# File lib/generators/riveter/enum/enum_generator.rb, line 35 def parse_enum_members! self.enum_members = (enum_members || []).map do |member| # expected in the form "name:value" or "name" parts = member.split(':') OpenStruct.new( :name => parts.first.titleize, :value => (parts.length > 1 ? parts.last : nil) ) end end