cs.save_with_tags!
# Subscribe user to changeset comments
- cs.subscribe(current_user)
+ cs.subscribers << current_user
render :plain => cs.id.to_s
end
# Find the changeset and check it is valid
changeset = Changeset.find(id)
- raise OSM::APIChangesetAlreadySubscribedError, changeset if changeset.subscribed?(current_user)
+ raise OSM::APIChangesetAlreadySubscribedError, changeset if changeset.subscribers.include?(current_user)
# Add the subscriber
- changeset.subscribe(current_user)
+ changeset.subscribers << current_user
# Return a copy of the updated changeset
@changeset = changeset
# Find the changeset and check it is valid
changeset = Changeset.find(id)
- raise OSM::APIChangesetNotSubscribedError, changeset unless changeset.subscribed?(current_user)
+ raise OSM::APIChangesetNotSubscribedError, changeset unless changeset.subscribers.include?(current_user)
# Remove the subscriber
- changeset.unsubscribe(current_user)
+ changeset.subscribers.delete(current_user)
# Return a copy of the updated changeset
@changeset = changeset
def show
@changeset = Changeset.find(params[:changeset_id])
- @subscribed = @changeset.subscribed?(current_user)
+ @subscribed = @changeset.subscribers.include?(current_user)
rescue ActiveRecord::RecordNotFound
render :action => "no_such_entry", :status => :not_found
end
def create
@changeset = Changeset.find(params[:changeset_id])
- @changeset.subscribe(current_user) unless @changeset.subscribed?(current_user)
+ @changeset.subscribers << current_user unless @changeset.subscribers.include?(current_user)
redirect_to changeset_path(@changeset)
rescue ActiveRecord::RecordNotFound
def destroy
@changeset = Changeset.find(params[:changeset_id])
- @changeset.unsubscribe(current_user)
+ @changeset.subscribers.delete(current_user)
redirect_to changeset_path(@changeset)
rescue ActiveRecord::RecordNotFound
save_with_tags!
end
- def subscribe(user)
- subscribers << user
- end
-
- def unsubscribe(user)
- subscribers.delete(user)
- end
-
- def subscribed?(user)
- subscribers.exists?(user.id)
- end
-
def size_limit
@size_limit ||= ActiveRecord::Base.connection.select_value(
"SELECT api_size_limit($1)", "api_size_limit", [user_id]
post changeset_subscription_path(changeset)
end
assert_redirected_to changeset_path(changeset)
- assert changeset.reload.subscribed?(other_user)
+ assert_includes changeset.reload.subscribers, other_user
end
def test_create_fail
delete changeset_subscription_path(changeset)
end
assert_redirected_to changeset_path(changeset)
- assert_not changeset.reload.subscribed?(other_user)
+ assert_not_includes changeset.reload.subscribers, other_user
end
def test_unsubscribe_fail
Changeset.from_xml(xml, :create => true)
end
end
-
- def test_subscription
- changeset = create(:changeset)
- user = create(:user)
-
- assert_not changeset.subscribed?(user)
-
- changeset.subscribe(user)
- assert changeset.subscribed?(user)
-
- changeset.unsubscribe(changeset.subscribers.first)
- assert_not changeset.subscribed?(user)
- end
end