require "ez/version" require 'ez/dispatcher.rb' require 'ez/mapper.rb' require 'ez/apis.rb' require 'ez/domain_modeler.rb' # require 'ez/controller.rb' require 'ez/model.rb' require 'ez/view_helpers.rb' require 'hirb' module EZ class Railtie < Rails::Railtie rake_tasks do load "tasks/ez_tasks.rake" end console do Hirb.enable if defined?(Hirb) # context.back_trace_limit = 0 I18n.enforce_available_locales = false puts "Welcome to the Rails Console." puts "-" * 60 puts tables = ActiveRecord::Base.connection.tables - ['schema_migrations'] models = tables.map { |t| t.classify } if models.any? puts "Use this console to add, update, and delete rows from the database." puts puts "Models: #{models.to_sentence}" puts puts "HINTS:" puts "* Type 'exit' (or press Ctrl-D) to when you're done." puts "* Press Ctrl-C if things seem to get stuck." puts "* Use the up/down arrows to repeat commands." puts "* Type the name of a Model to see what columns it has." if models.any? puts end end initializer "ez" do ActiveSupport.on_load :action_view do include EZ::ViewHelpers end # tables = ActiveRecord::Base.connection.tables - ['schema_migrations'] # models.each { |m| m.constantize.magic_associations } # Rails.application.routes.draw do # tables.each do |table_name| # resources table_name.to_sym # end # end module ::Hirb # A Formatter object formats an output object (using Formatter.format_output) into a string based on the views defined # for its class and/or ancestry. class Formatter def determine_output_class(output) if output.respond_to?(:to_a) && to_a_classes.any? {|e| output.is_a?(e) } Array(output)[0].class else if output.is_a?(ActiveRecord::Base) Hash else output.class end end end end end end end end