bin/asana2flowdock in asana2flowdock-1.2.0 vs bin/asana2flowdock in asana2flowdock-1.3.0
- old
+ new
@@ -39,11 +39,11 @@
index :digest, :unique=>true
end unless table_exists?('digests')
}
#
- option('--quiet', '-q')
+ option('--debug', '-d')
#
daemonizes!
#
@@ -67,13 +67,16 @@
end
def process_stories!
#
asana = Asana.api_for config.get(:asana, :token)
- #asana.debug = true
- #asana.logger = logger
+ if params[:debug].given?
+ asana.debug = true
+ asana.logger = logger
+ end
+
#
workspace = asana.my.workspaces.detect{|workspace| workspace.name == config.get(:asana, :workspace)}
unless workspace
workspaces = asana.my.workspaces.map{|workspace| workspace.name}
@@ -125,11 +128,11 @@
#
flow = Flowdock::Flow.new(
:api_token => config.get(:flowdock, :token),
:source => "asana",
- :project => project.name,
+ :project => project.name.gsub(/[^0-9a-z _\-]/i, ''),
:from => from
)
#
activity = []
@@ -150,24 +153,24 @@
#
msg = Map.new
msg[:format] = "html"
msg[:subject] = "#{ project.name } :: #{ task.name }"
- msg[:tags] = ["asana"]
+ msg[:tags] = [slug_for("asana/#{ project.name }"), "asana"]
msg[:content] = content
#
digest = Digest::MD5.hexdigest(msg.to_json)
next if db[:digests].where(:digest => digest).first
#
pushed =
- unless params[:quiet].given?
- flow.push_to_team_inbox(msg)
- else
+ if params[:debug].given?
true
+ else
+ flow.push_to_team_inbox(msg)
end
#
db[:digests].insert(:digest => digest) if pushed
@@ -216,13 +219,13 @@
Time.parse(db[:state].where(:key => 'last_run_time').first[:value])
end
#
- mode(:shell){
+ mode(:console){
description <<-__
- drop into the shell. fuck with the db.
+ drop into the console. fuck with the db.
__
def run
require 'pry'
Pry.config.hooks.delete_hooks(:before_session)
@@ -258,16 +261,22 @@
exit(42) unless status == 0
end
(@locks ||= []).push(lock)
end
+
+#
+ def slug_for(*args)
+ Slug.for(*args)
+ end
}
BEGIN {
#
require_relative '../lib/asana2flowdock.rb'
Asana = Asana2Flowdock::Asana
+ Slug = Asana2Flowdock::Slug
#
STDOUT.sync = true
STDERR.sync = true
}