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