lib/errata.rb in errata-0.1.4 vs lib/errata.rb in errata-0.1.5
- old
+ new
@@ -1,17 +1,18 @@
-require 'rubygems'
-require 'activesupport'
+require 'active_support'
require 'remote_table'
require 'erratum'
require 'erratum/delete'
require 'erratum/reject'
require 'erratum/replace'
require 'erratum/simplify'
require 'erratum/transform'
require 'erratum/truncate'
class Errata
+ ERRATUM_TYPES = %w{delete replace simplify transform truncate}
+
attr_reader :klass
def initialize(options = {})
@klass = options[:klass]
@_table = RemoteTable.new(:url => options[:url])
@@ -31,12 +32,12 @@
end
private
def rejections
- @_rejections ||= @_table.rows.map { |erratum| ::Errata::Erratum::Reject.new(self, erratum) if erratum[:action] == 'reject' }.compact
+ @_rejections ||= @_table.rows.map { |hash| hash.symbolize_keys!; ::Errata::Erratum::Reject.new(self, hash) if hash[:action] == 'reject' }.compact
end
def corrections
- @_corrections ||= @_table.rows.map { |erratum| "::Errata::Erratum::#{erratum[:action].camelcase}".constantize.new(self, erratum) if %w{delete replace simplify transform truncate}.include?(erratum[:action]) }.compact
+ @_corrections ||= @_table.rows.map { |hash| hash.symbolize_keys!; "::Errata::Erratum::#{hash[:action].camelcase}".constantize.new(self, hash) if ERRATUM_TYPES.include?(hash[:action]) }.compact
end
end