Explorar o código

Merge pull request #396 from knu/show_propagate_immediately

Make propagate_immediately more visible in agent details and the diagram.
Andrew Cantino %!s(int64=10) %!d(string=hai) anos
pai
achega
ea7594fa97

+ 8 - 0
app/helpers/application_helper.rb

@@ -7,6 +7,14 @@ module ApplicationHelper
     HTML
   end
 
+  def yes_no(bool)
+    if bool
+      '<span class="label label-info">Yes</span>'.html_safe
+    else
+      '<span class="label label-default">No</span>'.html_safe
+    end
+  end
+
   def working(agent)
     if agent.disabled?
       link_to 'Disabled', agent_path(agent), :class => 'label label-warning'

+ 7 - 1
app/helpers/dot_helper.rb

@@ -36,7 +36,13 @@ module DotHelper
         end
         agent.receivers.each do |receiver|
           next unless agents.include?(receiver)
-          dot << "%s->%s;" % [disabled_label(agent), disabled_label(receiver)]
+          dot << "%s->%s%s;" % [
+            disabled_label(agent),
+            disabled_label(receiver),
+            if rich
+              '[style=dashed]' unless receiver.propagate_immediately
+            end
+          ]
         end
       end
       dot << "}"

+ 5 - 0
app/views/agents/show.html.erb

@@ -116,6 +116,11 @@
                   None
                 <% end %>
               </p>
+
+              <p>
+                <b>Propagate immediately:</b>
+                <%= yes_no @agent.propagate_immediately %>
+              </p>
             <% end %>
 
             <% if @agent.can_create_events? %>

+ 1 - 1
spec/helpers/dot_helper_spec.rb

@@ -41,7 +41,7 @@ describe DotHelper do
         @bar.save!
 
         agents_dot([@foo, @bar]).should == 'digraph foo {"foo";"foo"->"bar";"bar";}'
-        agents_dot([@foo, @bar], true).should == 'digraph foo {"foo"[URL="/agents/%d"];"foo"->"bar";"bar"[URL="/agents/%d"];}' % [@foo.id, @bar.id]
+        agents_dot([@foo, @bar], true).should == 'digraph foo {"foo"[URL="/agents/%d"];"foo"->"bar"[style=dashed];"bar"[URL="/agents/%d"];}' % [@foo.id, @bar.id]
       end
     end
   end