Sha256: 7484e62939b26cd2f2ffee4203e27338e1c35f7917364134a9225cfcbb60346b
Contents?: true
Size: 1019 Bytes
Versions: 1
Compression:
Stored size: 1019 Bytes
Contents
module ActiveMocker class SchemaReader attr_reader :model_name, :schema_file, :file_reader, :table, :clear_cache def initialize(options={}) @file_reader = options[:file_reader] ||= FileReader @schema_file = options[:schema_file] @clear_cache = options[:clear_cache] end def search(model_name) @model_name = model_name @table = search_schema_file @table.fields.unshift Field.new('id', :integer, {}) @table end private def table_name model_name end def not_found raise "#{table_name} table not found." if @schema_result.nil? end def search_schema_file ActiveMocker::ActiveRecord::Schema.clear_cache if clear_cache ActiveMocker::ActiveRecord::Schema.search(table_name) @schema_result = eval_file not_found @schema_result end def eval_file m = Module.new m.module_eval(read_file) end def read_file file_reader.read(schema_file) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
active_mocker-1.1.10 | lib/active_mocker/schema_reader.rb |