Sha256: b42b6091392d2e1c43aca5f64f71b8608c30c1e9171ec2c42e1273b5d8f167a8
Contents?: true
Size: 1.36 KB
Versions: 1
Compression:
Stored size: 1.36 KB
Contents
module Owl module Lib class Commit DEPLOY_TRIGGER = '#deploy' GITHUB_IP_1 = NetAddr::CIDR.create('204.232.175.64/27').enumerate GITHUB_IP_2 = NetAddr::CIDR.create('192.30.252.0/22').enumerate BITBUCKET_IPS = ['207.223.240.187', '207.223.240.188'] AUTHORIZED_IPS = BITBUCKET_IPS + GITHUB_IP_1 + GITHUB_IP_2 attr_accessor :data attr_accessor :message attr_accessor :id attr_accessor :ip def initialize(payload, ip) @payload = payload.is_a?(String) ? JSON.parse(payload) : payload["payload"] @data = @payload["commits"].first @ip = ip parse_message parse_id end def parse_message @message = @data['message'].downcase end def parse_id # github # # bitbucket # @id = @data['id'] || @data['node'] end def deploy_if_necessary if deploy? Owl::Lib::CachedFile.clear_all! cmd = [ 'git reset --hard HEAD', 'git pull' ] system cmd.join(" && ") end end def triggers_deploy? @message.include? DEPLOY_TRIGGER end def authorized? AUTHORIZED_IPS.include?(@ip) end def deploy? triggers_deploy? and authorized? end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
owl-cms-0.1.5 | core/classes/commit.rb |