Sha256: e4ba6fdfa807f406baecdb2db0ee5153948e3ebe044dead0055719b5e7912716

Contents?: true

Size: 892 Bytes

Versions: 1

Compression:

Stored size: 892 Bytes

Contents

module Onoma
  module Migration
    module Actions
      class ItemChange < Onoma::Migration::Actions::Base
        attr_reader :nomenclature, :name, :changes
        def initialize(element)
          name = element['item'].split('#')
          @nomenclature = name.first
          @name = name.second
          @changes = element.attributes.delete_if do |k, _v|
            %w(item).include?(k)
          end.each_with_object({}) do |(k, v), h|
            h[k.to_sym] = v.to_s
          end
        end

        def new_name?
          @changes[:name].present?
        end

        def new_name
          @changes[:name]
        end

        def label
          "change_item #{@nomenclature}##{@name}(" + changes.simple_print + ")"
        end
        
        def human_name
          "Change item #{@nomenclature}##{@name} with " + changes.inspect
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
onoma-0.0.0 lib/onoma/migration/actions/item_change.rb