Browse Source

Rename "target" to "control target".

Akinori MUSHA 10 years ago
parent
commit
30041706ff

+ 1 - 1
app/concerns/agent_controller_concern.rb

@@ -24,7 +24,7 @@ module AgentControllerConcern
   end
 
   def control!
-    targets.active.each { |target|
+    control_targets.active.each { |target|
       begin
         case control_action
         when 'run'

+ 1 - 1
app/helpers/dot_helper.rb

@@ -162,7 +162,7 @@ module DotHelper
 
           [
             *agent.receivers,
-            *(agent.targets if agent.can_control_other_agents?)
+            *(agent.control_targets if agent.can_control_other_agents?)
           ].each { |receiver|
             agent_edge(agent, receiver) if agents.include?(receiver)
           }

+ 8 - 8
app/models/agent.rb

@@ -25,7 +25,7 @@ class Agent < ActiveRecord::Base
 
   EVENT_RETENTION_SCHEDULES = [["Forever", 0], ["1 day", 1], *([2, 3, 4, 5, 7, 14, 21, 30, 45, 90, 180, 365].map {|n| ["#{n} days", n] })]
 
-  attr_accessible :options, :memory, :name, :type, :schedule, :controller_ids, :target_ids, :disabled, :source_ids, :scenario_ids, :keep_events_for, :propagate_immediately
+  attr_accessible :options, :memory, :name, :type, :schedule, :controller_ids, :control_target_ids, :disabled, :source_ids, :scenario_ids, :keep_events_for, :propagate_immediately
 
   json_serialize :options, :memory
 
@@ -33,7 +33,7 @@ class Agent < ActiveRecord::Base
   validates_inclusion_of :keep_events_for, :in => EVENT_RETENTION_SCHEDULES.map(&:last)
   validate :sources_are_owned
   validate :controllers_are_owned
-  validate :targets_are_owned
+  validate :control_targets_are_owned
   validate :scenarios_are_owned
   validate :validate_schedule
   validate :validate_options
@@ -56,9 +56,9 @@ class Agent < ActiveRecord::Base
   has_many :sources, :through => :links_as_receiver, :class_name => "Agent", :inverse_of => :receivers
   has_many :receivers, :through => :links_as_source, :class_name => "Agent", :inverse_of => :sources
   has_many :chains_as_controller, dependent: :delete_all, foreign_key: 'controller_id', class_name: 'Chain', inverse_of: :controller
-  has_many :chains_as_target, dependent: :delete_all, foreign_key: 'target_id', class_name: 'Chain', inverse_of: :target
-  has_many :controllers, through: :chains_as_target, class_name: "Agent", inverse_of: :targets
-  has_many :targets, through: :chains_as_controller, class_name: "Agent", inverse_of: :controllers
+  has_many :chains_as_control_target, dependent: :delete_all, foreign_key: 'control_target_id', class_name: 'Chain', inverse_of: :control_target
+  has_many :controllers, through: :chains_as_control_target, class_name: "Agent", inverse_of: :control_targets
+  has_many :control_targets, through: :chains_as_controller, class_name: "Agent", inverse_of: :controllers
   has_many :scenario_memberships, :dependent => :destroy, :inverse_of => :agent
   has_many :scenarios, :through => :scenario_memberships, :inverse_of => :agents
 
@@ -233,8 +233,8 @@ class Agent < ActiveRecord::Base
     errors.add(:controllers, "must be owned by you") unless controllers.all? {|s| s.user == user }
   end
 
-  def targets_are_owned
-    errors.add(:targets, "must be owned by you") unless targets.all? {|s| s.user == user }
+  def control_targets_are_owned
+    errors.add(:control_targets, "must be owned by you") unless control_targets.all? {|s| s.user == user }
   end
 
   def scenarios_are_owned
@@ -423,7 +423,7 @@ class AgentDrop
     :receivers,
     :schedule,
     :controllers,
-    :targets,
+    :control_targets,
     :disabled,
     :keep_events_for,
     :propagate_immediately,

+ 1 - 1
app/models/chain.rb

@@ -3,5 +3,5 @@ class Chain < ActiveRecord::Base
   attr_accessible :controller_id, :target_id
 
   belongs_to :controller, class_name: 'Agent', inverse_of: :chains_as_controller
-  belongs_to :target, class_name: 'Agent', inverse_of: :chains_as_target
+  belongs_to :control_target, class_name: 'Agent', inverse_of: :chains_as_control_target
 end

+ 5 - 5
app/views/agents/_form.html.erb

@@ -61,11 +61,11 @@
           <div class="chain-region" data-can-control-other-agents="<%= @agent.can_control_other_agents? %>">
             <div class="can-control-other-agents">
               <div class="form-group">
-                <%= f.label :targets %>
-                <% eventTargets = current_user.agents.select(&:can_be_scheduled?) %>
-                <%= f.select(:target_ids,
-                             options_for_select(eventTargets.map {|s| [s.name, s.id] },
-                                                @agent.target_ids),
+                <%= f.label :control_targets %>
+                <% eventControlTargets = current_user.agents.select(&:can_be_scheduled?) %>
+                <%= f.select(:control_target_ids,
+                             options_for_select(eventControlTargets.map {|s| [s.name, s.id] },
+                                                @agent.control_target_ids),
                              {}, { multiple: true, size: 5, class: 'select2 form-control' }) %>
               </div>
             </div>

+ 2 - 2
app/views/agents/show.html.erb

@@ -136,8 +136,8 @@
 
             <% if @agent.can_control_other_agents? %>
               <p>
-                <b>Targets:</b>
-                <% if (agents = @agent.targets).length > 0 %>
+                <b>Control Targets:</b>
+                <% if (agents = @agent.control_targets).length > 0 %>
                   <%= agents.map { |agent| link_to(agent.name, agent_path(agent)) }.to_sentence.html_safe %>
                 <% else %>
                   None

+ 1 - 0
db/migrate/20140829081212_rename_target_id_to_control_target_id.rb

@@ -1,4 +1,5 @@
 class RenameTargetIdToControlTargetId < ActiveRecord::Migration
   def change
+    rename_column :chains, :target_id, :control_target_id
   end
 end

+ 15 - 18
db/schema.rb

@@ -11,10 +11,7 @@
 #
 # It's strongly recommended that you check this file into your version control system.
 
-ActiveRecord::Schema.define(version: 20140822085519) do
-
-  # These are extensions that must be enabled in order to support this database
-  enable_extension "plpgsql"
+ActiveRecord::Schema.define(version: 20140829081212) do
 
   create_table "agent_logs", force: true do |t|
     t.integer  "agent_id",                      null: false
@@ -38,14 +35,14 @@ ActiveRecord::Schema.define(version: 20140822085519) do
     t.integer  "last_checked_event_id"
     t.datetime "created_at"
     t.datetime "updated_at"
-    t.text     "memory"
+    t.text     "memory",                limit: 2147483647
     t.datetime "last_web_request_at"
-    t.integer  "keep_events_for",       default: 0,     null: false
+    t.integer  "keep_events_for",                          default: 0,     null: false
     t.datetime "last_event_at"
     t.datetime "last_error_log_at"
-    t.boolean  "propagate_immediately", default: false, null: false
-    t.boolean  "disabled",              default: false, null: false
-    t.string   "guid",                                  null: false
+    t.boolean  "propagate_immediately",                    default: false, null: false
+    t.boolean  "disabled",                                 default: false, null: false
+    t.string   "guid",                                                     null: false
     t.integer  "service_id"
   end
 
@@ -56,18 +53,18 @@ ActiveRecord::Schema.define(version: 20140822085519) do
 
   create_table "chains", force: true do |t|
     t.integer  "controller_id"
-    t.integer  "target_id"
+    t.integer  "control_target_id"
     t.datetime "created_at"
     t.datetime "updated_at"
   end
 
-  add_index "chains", ["controller_id", "target_id"], name: "index_chains_on_controller_id_and_target_id", unique: true, using: :btree
-  add_index "chains", ["target_id"], name: "index_chains_on_target_id", using: :btree
+  add_index "chains", ["control_target_id"], name: "index_chains_on_control_target_id", using: :btree
+  add_index "chains", ["controller_id", "control_target_id"], name: "index_chains_on_controller_id_and_control_target_id", unique: true, using: :btree
 
   create_table "delayed_jobs", force: true do |t|
-    t.integer  "priority",   default: 0
-    t.integer  "attempts",   default: 0
-    t.text     "handler"
+    t.integer  "priority",                    default: 0
+    t.integer  "attempts",                    default: 0
+    t.text     "handler",    limit: 16777215
     t.text     "last_error"
     t.datetime "run_at"
     t.datetime "locked_at"
@@ -83,9 +80,9 @@ ActiveRecord::Schema.define(version: 20140822085519) do
   create_table "events", force: true do |t|
     t.integer  "user_id"
     t.integer  "agent_id"
-    t.decimal  "lat",        precision: 15, scale: 10
-    t.decimal  "lng",        precision: 15, scale: 10
-    t.text     "payload"
+    t.decimal  "lat",                         precision: 15, scale: 10
+    t.decimal  "lng",                         precision: 15, scale: 10
+    t.text     "payload",    limit: 16777215
     t.datetime "created_at"
     t.datetime "updated_at"
     t.datetime "expires_at"

+ 6 - 6
spec/models/agent_spec.rb

@@ -508,15 +508,15 @@ describe Agent do
         agent.should have(0).errors_on(:controllers)
       end
 
-      it "should not allow target agents owned by other people" do
+      it "should not allow control target agents owned by other people" do
         agent = Agents::CannotBeScheduled.new(:name => "something")
         agent.user = users(:bob)
-        agent.target_ids = [agents(:bob_weather_agent).id]
-        agent.should have(0).errors_on(:targets)
-        agent.target_ids = [agents(:jane_weather_agent).id]
-        agent.should have(1).errors_on(:targets)
+        agent.control_target_ids = [agents(:bob_weather_agent).id]
+        agent.should have(0).errors_on(:control_targets)
+        agent.control_target_ids = [agents(:jane_weather_agent).id]
+        agent.should have(1).errors_on(:control_targets)
         agent.user = users(:jane)
-        agent.should have(0).errors_on(:targets)
+        agent.should have(0).errors_on(:control_targets)
       end
 
       it "should not allow scenarios owned by other people" do

+ 7 - 7
spec/models/agents/scheduler_agent_spec.rb

@@ -89,29 +89,29 @@ describe Agents::SchedulerAgent do
 
   describe "check!" do
     it "should control targets" do
-      targets = [agents(:bob_website_agent), agents(:bob_weather_agent)]
-      @agent.targets = targets
+      control_targets = [agents(:bob_website_agent), agents(:bob_weather_agent)]
+      @agent.control_targets = control_targets
       @agent.save!
 
-      target_ids = targets.map(&:id)
+      control_target_ids = control_targets.map(&:id)
       stub(Agent).async_check(anything) { |id|
-        target_ids.delete(id)
+        control_target_ids.delete(id)
       }
 
       @agent.check!
-      target_ids.should be_empty
+      control_target_ids.should be_empty
 
       @agent.options['action'] = 'disable'
       @agent.save!
 
       @agent.check!
-      targets.all? { |target| target.disabled? }
+      control_targets.all? { |control_target| control_target.disabled? }
 
       @agent.options['action'] = 'enable'
       @agent.save!
 
       @agent.check!
-      targets.all? { |target| !target.disabled? }
+      control_targets.all? { |control_target| !control_target.disabled? }
     end
   end
 end