class Cloudflare::Firewall::Rules

Public Instance Methods

each_by_value(value, &block) click to toggle source
# File lib/cloudflare/firewall.rb, line 57
def each_by_value(value, &block)
        each(configuration_value: value, &block)
end
representation() click to toggle source
# File lib/cloudflare/firewall.rb, line 35
def representation
        Rule
end
set(mode, value, notes: nil, target: "ip") click to toggle source
# File lib/cloudflare/firewall.rb, line 39
def set(mode, value, notes: nil, target: "ip")
        notes ||= "cloudflare gem [#{mode}] #{Time.now.strftime('%m/%d/%y')}"
        
        payload = {mode: mode.to_s, notes: notes, configuration: {target: target, value: value.to_s}}
        
        Rule.post(@resource, payload) do |resource, response|
                value = response.read
                result = value[:result]
                metadata = response.headers
                
                if id = result[:id]
                        resource = resource.with(path: id)
                end
                
                Rule.new(resource, value: value, metadata: metadata)
        end
end