Sha256: a6380255f93849dbacf1841d37dd0e064f43880fee5a044f749a48f08fc59ab3
Contents?: true
Size: 884 Bytes
Versions: 4
Compression:
Stored size: 884 Bytes
Contents
module RailsData::Import # extend RailsData::Import # config do # model BankPayment # column :amount, header: 'My name', field: -> {} # column :email, header: 'Email', field: -> {} # end attr_reader :record, :columns def config(&block) block.call if block_given? end def model(class_name) if class_name.respond_to?(:ancestors) && class_name.ancestors.include?(ActiveRecord::Base) @record = class_name else raise 'The collection must be a subclass of ActiveRecord::Base' end end def column(name, header: nil, field: nil) @columns ||= {} name = name.to_sym @columns[name] = {} if header.is_a?(String) && header.size > 0 @columns[name][:header] = header else warn 'wrong header type' end if field.respond_to?(:call) @columns[name][:field] = field end self end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
rails_data-1.0.2 | lib/rails_data/import.rb |
rails_data-1.0.1 | lib/rails_data/import.rb |
rails_data-1.0.0 | lib/rails_data/import.rb |
rails_data-0.0.1 | lib/rails_data/import.rb |