class PhilColumns::Filter
Attributes
config[R]
seeds_path[R]
Public Class Methods
new( config )
click to toggle source
# File lib/phil_columns/filter.rb, line 6 def initialize( config ) @config = config @seeds_path = config.seeds_path @tags = config.tags end
Public Instance Methods
calculate_seed_set_all()
click to toggle source
# File lib/phil_columns/filter.rb, line 17 def calculate_seed_set_all end
calculate_seed_set_any()
click to toggle source
# File lib/phil_columns/filter.rb, line 20 def calculate_seed_set_any if any_exclusion_tags? raise PhilColumns::Error, "Cannot provide exclusion tags (#{config.exclusion_tags.join( ', ' )}) when operation is any" end seeds_for_current_env.tap do |seeds| unless tags.empty? seeds.select! { |seed_meta| (seed_meta.tags & tags).size > 0 } end end end
seeds()
click to toggle source
# File lib/phil_columns/filter.rb, line 12 def seeds load_seeds calculate_seed_set end
Protected Instance Methods
calculate_seed_set()
click to toggle source
# File lib/phil_columns/filter.rb, line 39 def calculate_seed_set send( "calculate_seed_set_#{config.operation}" ).tap do |seeds| unless config.version.blank? if config.down seeds.select! { |seed_meta| seed_meta.timestamp > config.version } else seeds.select! { |seed_meta| seed_meta.timestamp <= config.version } seeds.reject! { |seed_meta| seed_already_executed?( seed_meta.timestamp ) } end end end end