Sha256: 8e097560352fa5cc3a33d28853a8fdfc424da3aac48f3c85b2322af9575c0766

Contents?: true

Size: 354 Bytes

Versions: 5

Compression:

Stored size: 354 Bytes

Contents

module StatusTag
  class Decider

    attr_accessor :ordered_choices

    def initialize(ordered_choices:)
      @ordered_choices = ordered_choices
    end

    def decide(object)
      ordered_choices.detect do |choice|
        if choice.catch_all?
          true
        else
          object.send(choice.name)
        end
      end
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
status_tag-0.2.0 lib/status_tag/decider.rb
status_tag-0.1.3 lib/status_tag/decider.rb
status_tag-0.1.2 lib/status_tag/decider.rb
status_tag-0.1.1 lib/status_tag/decider.rb
status_tag-0.1.0 lib/status_tag/decider.rb