class MinaRevisioneer::MessageExtractor
Attributes
api_token[R]
binding[R]
host[R]
Public Class Methods
new(host, token, binding)
click to toggle source
# File lib/mina_revisioneer/message_extractor.rb, line 7 def initialize host, token, binding @host = host @api_token = token @binding = binding end
Public Instance Methods
last_deploy()
click to toggle source
# File lib/mina_revisioneer/message_extractor.rb, line 13 def last_deploy @last_deploy ||= begin curl = %Q{curl "#{host}/deployments?limit=1" -H "API-TOKEN: #{api_token}" -s} response = %x[#{curl}].strip JSON.parse(response).first || {} end rescue => err {} # no JSON received - propably first deploy? end
last_deploy_date()
click to toggle source
# File lib/mina_revisioneer/message_extractor.rb, line 30 def last_deploy_date Time.parse(last_deploy.fetch("deployed_at")) end
last_deploy_sha()
click to toggle source
# File lib/mina_revisioneer/message_extractor.rb, line 34 def last_deploy_sha last_deploy.fetch("sha", nil) end
messages()
click to toggle source
# File lib/mina_revisioneer/message_extractor.rb, line 42 def messages [] # implemented in subclass end
number_of_new_commits()
click to toggle source
# File lib/mina_revisioneer/message_extractor.rb, line 23 def number_of_new_commits walker = Rugged::Walker.new(repo) walker.push sha walker.hide last_deploy_sha if last_deploy_sha walker.each.to_a.count end
repo()
click to toggle source
# File lib/mina_revisioneer/message_extractor.rb, line 38 def repo @repo ||= Rugged::Repository.new(".") end
sha()
click to toggle source
# File lib/mina_revisioneer/message_extractor.rb, line 46 def sha ref = repo.head ref.target end