module EnumExporter

Constants

VERSION

Public Class Methods

enums() click to toggle source
# File lib/enum_exporter.rb, line 13
def enums
  enums = []
  models.each do |model|
    if !model.defined_enums.empty?
      enums << {model.to_s => model.defined_enums}
    end
  end
  enums
end
json() click to toggle source
# File lib/enum_exporter.rb, line 9
def json
  enums.to_json
end
models() click to toggle source
# File lib/enum_exporter.rb, line 23
def models
  return [] unless defined?(Rails)

  Rails.application.eager_load!

  descendants = []
  descendants |= ApplicationRecord.descendants if defined?(ApplicationRecord)
  descendants |= ActiveRecord::Base.descendants if defined?(ActiveRecord)

  descendants.sort_by {|m| m.to_s}
end
yaml() click to toggle source
# File lib/enum_exporter.rb, line 5
def yaml
  enums.to_yaml
end