rossta/lionel_richie

View on GitHub
lib/lionel/proxy_action.rb

Summary

Maintainability
A
0 mins
Test Coverage
module Lionel
  class ProxyAction
    extend Forwardable

    attr_reader :action
    def_delegators :action, :data, :type, :date

    def initialize(action)
      @action = action
    end

    def data_attributes(key)
      data[key] || {}
    end

    def create?
      type == "createCard"
    end

    def update?
      type == "updateCard"
    end

    def board_id
      data_attributes("board")["id"]
    end

    def list_after
      data_attributes("listAfter")
    end

    def list_before
      data_attributes("listBefore")
    end

    def list_after?
      list_after.any?
    end

    def list_before?
      list_before.any?
    end

    def moved_to?(list_name)
      return false unless list_after?
      !!(list_after["name"] =~ %r{^#{Regexp.escape(list_name.downcase)}}i)
    end

  end
end