Sha256: aef346450bee5e793dfd693570616218fbf4e4be96e8b0b391a5a1d082d03bd8

Contents?: true

Size: 1013 Bytes

Versions: 40

Compression:

Stored size: 1013 Bytes

Contents

module Killbill
  module Plugin
    module PropertiesHelper

      def find_value_from_properties(properties, key = nil)
        return nil if key.nil?
        prop = (properties.find { |kv| kv.key.to_s == key.to_s })
        prop.nil? ? nil : prop.value
      end

      def hash_to_properties(options = {})
        merge_properties([], options)
      end

      def properties_to_hash(properties, options = {})
        merged = {}
        (properties || []).each do |p|
          merged[p.key.to_sym] = p.value
        end
        merged.merge(options)
      end

      def merge_properties(properties, options = {})
        merged = properties_to_hash(properties, options)

        properties = []
        merged.each do |k, v|
          properties << build_property(k, v)
        end
        properties
      end

      def build_property(key, value = nil)
        prop = ::Killbill::Plugin::Model::PluginProperty.new
        prop.key = key
        prop.value = value
        prop
      end
    end
  end
end

Version data entries

40 entries across 40 versions & 1 rubygems

Version Path
killbill-9.4.1 lib/killbill/helpers/properties_helper.rb
killbill-8.3.6 lib/killbill/helpers/properties_helper.rb
killbill-9.4.0 lib/killbill/helpers/properties_helper.rb
killbill-9.3.2 lib/killbill/helpers/properties_helper.rb
killbill-9.3.1 lib/killbill/helpers/properties_helper.rb
killbill-8.3.5 lib/killbill/helpers/properties_helper.rb
killbill-9.3.0 lib/killbill/helpers/properties_helper.rb
killbill-9.2.2 lib/killbill/helpers/properties_helper.rb
killbill-8.3.4 lib/killbill/helpers/properties_helper.rb
killbill-8.3.3 lib/killbill/helpers/properties_helper.rb
killbill-9.2.1 lib/killbill/helpers/properties_helper.rb
killbill-9.2.0 lib/killbill/helpers/properties_helper.rb
killbill-8.3.2 lib/killbill/helpers/properties_helper.rb
killbill-8.3.1 lib/killbill/helpers/properties_helper.rb
killbill-8.3.0 lib/killbill/helpers/properties_helper.rb
killbill-8.2.0 lib/killbill/helpers/properties_helper.rb
killbill-8.1.0 lib/killbill/helpers/properties_helper.rb
killbill-7.0.6 lib/killbill/helpers/properties_helper.rb
killbill-8.0.1 lib/killbill/helpers/properties_helper.rb
killbill-8.0.0 lib/killbill/helpers/properties_helper.rb