Sha256: 63bb5e1e30530f70a9cde0a4608a8577e6a1a1747d95cdac7209fff0fbe0c752

Contents?: true

Size: 612 Bytes

Versions: 14

Compression:

Stored size: 612 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.inject({}) do |result, (key, value)|
        new_key   = modifier.call(key)
        result.merge! new_key => value
      end
    end

  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
brightbox-cli-1.1.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-1.0.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-1.0.0.rc2 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-1.0.0.rc1 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-0.18.1 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-0.18.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-0.17.5 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-0.17.4 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-0.17.3 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-0.17.2 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-0.17.1 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-0.17.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-0.16.0 lib/brightbox-cli/firewall_rules.rb
brightbox-cli-0.15.0 lib/brightbox-cli/firewall_rules.rb