Sha256: 85f6971665a0ef4ce4e679fa4cb1b9b20c2a3ad041b985a08511ecf0e0c06f97

Contents?: true

Size: 609 Bytes

Versions: 43

Compression:

Stored size: 609 Bytes

Contents

module Brightbox
  class FirewallRules
    def self.from_policy(firewall_policy)
      rules = firewall_policy.rules
      rules.map do |rule|
        fwr = FirewallRule.new('fwr')
        fwr.attributes = symbolize_keys(rule)
        fwr
      end
    end

    def self.symbolize_keys(object) #:nodoc:
      modify_keys(object) do |key|
        key.is_a?(String) ? key.to_sym : key
      end
    end

    def self.modify_keys(object, &modifier) #:nodoc:
      object.reduce({}) do |result, (key, value)|
        new_key = modifier.call(key)
        result.merge! new_key => value
      end
    end
  end
end

Version data entries

43 entries across 43 versions & 1 rubygems

Version Path
brightbox-cli-3.3.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-3.2.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-3.1.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-3.0.1 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-3.0.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.12.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.11.2 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.11.1 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.11.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.10.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.9.3 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.9.2 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.9.1 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.9.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.8.2 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.8.1 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.8.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.7.1 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.7.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-2.6.0 lib/brightbox-cli/firewall_rules.rb