Module: RailsCsvFixtures::CsvFixtures
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/rails-csv-fixtures/active_record_csv_fixtures.rb
Instance Method Summary collapse
- #csv_file_path ⇒ Object
- #erb_render(fixture_content) ⇒ Object
- #read_csv_fixture_files ⇒ Object
- #read_fixture_files_with_csv_support ⇒ Object
Instance Method Details
#csv_file_path ⇒ Object
31 32 33 |
# File 'lib/rails-csv-fixtures/active_record_csv_fixtures.rb', line 31 def csv_file_path @fixture_path + ".csv" end |
#erb_render(fixture_content) ⇒ Object
35 36 37 |
# File 'lib/rails-csv-fixtures/active_record_csv_fixtures.rb', line 35 def erb_render(fixture_content) ERB.new(fixture_content).result end |
#read_csv_fixture_files ⇒ Object
20 21 22 23 24 25 26 27 28 29 |
# File 'lib/rails-csv-fixtures/active_record_csv_fixtures.rb', line 20 def read_csv_fixture_files reader = CSV.parse(erb_render(IO.read(csv_file_path))) header = reader.shift i = 0 reader.each do |row| data = {} row.each_with_index { |cell, j| data[header[j].to_s.strip] = cell.to_s.strip } fixtures["#{@class_name.to_s.underscore}_#{i+=1}"] = ActiveRecord::Fixture.new(data, model_class) end end |
#read_fixture_files_with_csv_support ⇒ Object
12 13 14 15 16 17 18 |
# File 'lib/rails-csv-fixtures/active_record_csv_fixtures.rb', line 12 def read_fixture_files_with_csv_support if ::File.file?(csv_file_path) read_csv_fixture_files else read_fixture_files_without_csv_support end end |