enju_circulation 0.2.0.beta.3 → 0.2.0.beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/checkouts_controller.rb +4 -5
  3. data/app/controllers/reserves_controller.rb +4 -4
  4. data/app/helpers/items_helper.rb +2 -2
  5. data/app/models/concerns/enju_circulation/enju_accept.rb +1 -0
  6. data/app/models/concerns/enju_circulation/enju_item.rb +7 -6
  7. data/app/models/reserve.rb +1 -1
  8. data/app/models/reserve_state_machine.rb +4 -2
  9. data/app/views/checked_items/new.html.erb +2 -1
  10. data/app/views/checkouts/_index.html.erb +2 -2
  11. data/app/views/checkouts/_index_item.html.erb +2 -2
  12. data/app/views/checkouts/_index_overdue.html.erb +2 -2
  13. data/app/views/checkouts/_index_user.html.erb +5 -5
  14. data/app/views/checkouts/index.txt.erb +1 -1
  15. data/app/views/lending_policies/index.html.erb +2 -2
  16. data/app/views/profiles/_checkout_list.html.erb +3 -3
  17. data/app/views/reserves/_title.html.erb +1 -1
  18. data/app/views/reserves/index.html.erb +4 -4
  19. data/db/migrate/032_create_checkins.rb +3 -6
  20. data/db/migrate/033_create_checkouts.rb +8 -13
  21. data/db/migrate/035_create_reserves.rb +6 -11
  22. data/db/migrate/121_create_checked_items.rb +4 -5
  23. data/db/migrate/127_create_use_restrictions.rb +1 -1
  24. data/db/migrate/129_create_item_has_use_restrictions.rb +2 -4
  25. data/db/migrate/132_create_circulation_statuses.rb +1 -1
  26. data/db/migrate/20081030023518_create_user_group_has_checkout_types.rb +8 -10
  27. data/db/migrate/20081030023615_create_carrier_type_has_checkout_types.rb +3 -4
  28. data/db/migrate/20081212075554_create_checkout_stat_has_manifestations.rb +4 -4
  29. data/db/migrate/20081215094955_create_checkout_stat_has_users.rb +3 -5
  30. data/db/migrate/20081216190517_create_reserve_stat_has_manifestations.rb +3 -3
  31. data/db/migrate/20081220034117_create_reserve_stat_has_users.rb +2 -4
  32. data/db/migrate/20090831220301_create_lending_policies.rb +5 -5
  33. data/db/migrate/20120424103932_add_librarian_id_to_checked_item.rb +1 -1
  34. data/db/migrate/20130416054135_add_circulation_status_id_to_item.rb +2 -2
  35. data/db/migrate/20140810061942_add_user_id_to_user_checkout_stat.rb +4 -8
  36. data/db/migrate/20141014065831_add_shelf_id_to_checkout.rb +1 -2
  37. data/db/migrate/20141020120523_add_library_id_to_checkout.rb +1 -2
  38. data/db/migrate/20150106001709_create_demands.rb +3 -6
  39. data/lib/enju_circulation/version.rb +1 -1
  40. data/lib/generators/enju_circulation/setup/setup_generator.rb +3 -3
  41. data/spec/concerns/enju_accept_spec.rb +30 -0
  42. data/spec/controllers/checkins_controller_spec.rb +1 -1
  43. data/spec/controllers/checkouts_controller_spec.rb +2 -1
  44. data/spec/controllers/reserves_controller_spec.rb +14 -12
  45. data/spec/dummy/db/schema.rb +4 -2
  46. data/spec/factories/accept.rb +21 -0
  47. data/spec/factories/reserve.rb +1 -1
  48. data/spec/fixtures/reserve_transitions.yml +15 -0
  49. data/spec/helpers/items_helper_spec.rb +20 -0
  50. data/spec/models/reserve_spec.rb +28 -3
  51. data/spec/rails_helper.rb +1 -0
  52. data/spec/views/checked_items/new.html.erb_spec.rb +16 -0
  53. metadata +322 -300
@@ -1,15 +1,14 @@
1
1
  class CreateCarrierTypeHasCheckoutTypes < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :carrier_type_has_checkout_types do |t|
4
- t.integer :carrier_type_id, :null => false
5
- t.integer :checkout_type_id, :null => false
4
+ t.references :carrier_type, index: false, foreign_key: true, null: false
5
+ t.references :checkout_type, index: true, foreign_key: true, null: false
6
6
  t.text :note
7
7
  t.integer :position
8
8
 
9
9
  t.timestamps
10
10
  end
11
- add_index :carrier_type_has_checkout_types, :carrier_type_id, :name => 'index_carrier_type_has_checkout_types_on_m_form_id'
12
- add_index :carrier_type_has_checkout_types, :checkout_type_id
11
+ add_index :carrier_type_has_checkout_types, :carrier_type_id, name: 'index_carrier_type_has_checkout_types_on_m_form_id'
13
12
  end
14
13
 
15
14
  def self.down
@@ -1,14 +1,14 @@
1
1
  class CreateCheckoutStatHasManifestations < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :checkout_stat_has_manifestations do |t|
4
- t.integer :manifestation_checkout_stat_id, :null => false
5
- t.integer :manifestation_id, :null => false
4
+ t.references :manifestation_checkout_stat, index: false, null: false
5
+ t.references :manifestation, index: false, foreign_key: true, null: false
6
6
  t.integer :checkouts_count
7
7
 
8
8
  t.timestamps
9
9
  end
10
- add_index :checkout_stat_has_manifestations, :manifestation_checkout_stat_id, :name => 'index_checkout_stat_has_manifestations_on_checkout_stat_id'
11
- add_index :checkout_stat_has_manifestations, :manifestation_id, :name => 'index_checkout_stat_has_manifestations_on_manifestation_id'
10
+ add_index :checkout_stat_has_manifestations, :manifestation_checkout_stat_id, name: 'index_checkout_stat_has_manifestations_on_checkout_stat_id'
11
+ add_index :checkout_stat_has_manifestations, :manifestation_id, name: 'index_checkout_stat_has_manifestations_on_manifestation_id'
12
12
  end
13
13
 
14
14
  def self.down
@@ -1,14 +1,12 @@
1
1
  class CreateCheckoutStatHasUsers < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :checkout_stat_has_users do |t|
4
- t.integer :user_checkout_stat_id, :null => false
5
- t.integer :user_id, :null => false
6
- t.integer :checkouts_count, :default => 0, :null => false
4
+ t.references :user_checkout_stat, index: true, foreign_key: true, null: false
5
+ t.references :user, index: true, foreign_key: true, null: false
6
+ t.integer :checkouts_count, default: 0, null: false
7
7
 
8
8
  t.timestamps
9
9
  end
10
- add_index :checkout_stat_has_users, :user_checkout_stat_id
11
- add_index :checkout_stat_has_users, :user_id
12
10
  end
13
11
 
14
12
  def self.down
@@ -1,13 +1,13 @@
1
1
  class CreateReserveStatHasManifestations < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :reserve_stat_has_manifestations do |t|
4
- t.integer :manifestation_reserve_stat_id, :null => false
5
- t.integer :manifestation_id, :null => false
4
+ t.references :manifestation_reserve_stat, index: false, null: false
5
+ t.references :manifestation, index: false, foreign_key: true, null: false
6
6
  t.integer :reserves_count
7
7
 
8
8
  t.timestamps
9
9
  end
10
- add_index :reserve_stat_has_manifestations, :manifestation_reserve_stat_id, :name => 'index_reserve_stat_has_manifestations_on_m_reserve_stat_id'
10
+ add_index :reserve_stat_has_manifestations, :manifestation_reserve_stat_id, name: 'index_reserve_stat_has_manifestations_on_m_reserve_stat_id'
11
11
  add_index :reserve_stat_has_manifestations, :manifestation_id
12
12
  end
13
13
 
@@ -1,14 +1,12 @@
1
1
  class CreateReserveStatHasUsers < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :reserve_stat_has_users do |t|
4
- t.integer :user_reserve_stat_id, :null => false
5
- t.integer :user_id, :null => false
4
+ t.references :user_reserve_stat, index: true, foreign_key: true, null: false
5
+ t.references :user, index: true, foreign_key: true, null: false
6
6
  t.integer :reserves_count
7
7
 
8
8
  t.timestamps
9
9
  end
10
- add_index :reserve_stat_has_users, :user_reserve_stat_id
11
- add_index :reserve_stat_has_users, :user_id
12
10
  end
13
11
 
14
12
  def self.down
@@ -1,12 +1,12 @@
1
1
  class CreateLendingPolicies < ActiveRecord::Migration
2
2
  def self.up
3
3
  create_table :lending_policies do |t|
4
- t.integer :item_id, :null => false
5
- t.integer :user_group_id, :null => false
6
- t.integer :loan_period, :default => 0, :null => false
4
+ t.references :item, index: false, foreign_key: true, null: false
5
+ t.references :user_group, index: false, foreign_key: true, null: false
6
+ t.integer :loan_period, default: 0, null: false
7
7
  t.datetime :fixed_due_date
8
- t.integer :renewal, :default => 0, :null => false
9
- t.integer :fine, :default => 0, :null => false
8
+ t.integer :renewal, default: 0, null: false
9
+ t.integer :fine, default: 0, null: false
10
10
  t.text :note
11
11
  t.integer :position
12
12
 
@@ -1,5 +1,5 @@
1
1
  class AddLibrarianIdToCheckedItem < ActiveRecord::Migration
2
2
  def change
3
- add_column :checked_items, :librarian_id, :integer
3
+ add_reference :checked_items, :user, index: true, foreign_key: true, column_name: :librarian_id
4
4
  end
5
5
  end
@@ -1,7 +1,7 @@
1
1
  class AddCirculationStatusIdToItem < ActiveRecord::Migration
2
2
  def change
3
- add_column :items, :circulation_status_id, :integer, :default => 5, :null => false
4
- add_column :items, :checkout_type_id, :integer, :default => 1, :null => false
3
+ add_column :items, :circulation_status_id, :integer, default: 5, null: false
4
+ add_column :items, :checkout_type_id, :integer, default: 1, null: false
5
5
  add_index :items, :circulation_status_id
6
6
  add_index :items, :checkout_type_id
7
7
  end
@@ -1,12 +1,8 @@
1
1
  class AddUserIdToUserCheckoutStat < ActiveRecord::Migration
2
2
  def change
3
- add_column :user_checkout_stats, :user_id, :integer
4
- add_column :user_reserve_stats, :user_id, :integer
5
- add_column :manifestation_checkout_stats, :user_id, :integer
6
- add_column :manifestation_reserve_stats, :user_id, :integer
7
- add_index :user_checkout_stats, :user_id
8
- add_index :user_reserve_stats, :user_id
9
- add_index :manifestation_checkout_stats, :user_id
10
- add_index :manifestation_reserve_stats, :user_id
3
+ add_reference :user_checkout_stats, :user, index: true, foreign_key: true
4
+ add_reference :user_reserve_stats, :user, index: true, foreign_key: true
5
+ add_reference :manifestation_checkout_stats, :user, index: true, foreign_key: true
6
+ add_reference :manifestation_reserve_stats, :user, index: true, foreign_key: true
11
7
  end
12
8
  end
@@ -1,6 +1,5 @@
1
1
  class AddShelfIdToCheckout < ActiveRecord::Migration
2
2
  def change
3
- add_column :checkouts, :shelf_id, :integer
4
- add_index :checkouts, :shelf_id
3
+ add_reference :checkouts, :shelf, index: true, foreign_key: true
5
4
  end
6
5
  end
@@ -1,6 +1,5 @@
1
1
  class AddLibraryIdToCheckout < ActiveRecord::Migration
2
2
  def change
3
- add_column :checkouts, :library_id, :integer
4
- add_index :checkouts, :library_id
3
+ add_reference :checkouts, :library, index: true, foreign_key: true
5
4
  end
6
5
  end
@@ -1,14 +1,11 @@
1
1
  class CreateDemands < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :demands do |t|
4
- t.integer :user_id
5
- t.integer :item_id
6
- t.integer :message_id
4
+ t.references :user, index: true, foreign_key: true
5
+ t.references :item, index: true, foreign_key: true
6
+ t.references :message, index: true, foreign_key: true
7
7
 
8
8
  t.timestamps null: false
9
9
  end
10
- add_index :demands, :user_id
11
- add_index :demands, :item_id
12
- add_index :demands, :message_id
13
10
  end
14
11
  end
@@ -1,3 +1,3 @@
1
1
  module EnjuCirculation
2
- VERSION = "0.2.0.beta.3"
2
+ VERSION = "0.2.0.beta.4"
3
3
  end
@@ -5,11 +5,11 @@ class EnjuCirculation::SetupGenerator < Rails::Generators::Base
5
5
  def copy_setup_files
6
6
  directory("db/fixtures", "db/fixtures/enju_circulation")
7
7
  return if file == 'fixture'
8
- rake("enju_circulation_engine:install:migrations")
9
- rake("enju_event_engine:install:migrations")
10
8
  rake("enju_message_engine:install:migrations")
11
- generate("enju_event:setup")
9
+ rake("enju_event_engine:install:migrations")
10
+ rake("enju_circulation_engine:install:migrations")
12
11
  generate("enju_message:setup")
12
+ generate("enju_event:setup")
13
13
  inject_into_class "app/controllers/application_controller.rb", ApplicationController do
14
14
  " include EnjuCirculation::Controller\n"
15
15
  end
@@ -0,0 +1,30 @@
1
+ require 'rails_helper'
2
+
3
+ class MyAccept < Accept
4
+ include EnjuCirculation::EnjuAccept
5
+ end
6
+
7
+ describe EnjuCirculation::EnjuAccept do
8
+ fixtures :all
9
+ it "should successfully accept" do
10
+ accept = MyAccept.new(FactoryGirl.attributes_for(:accept))
11
+ expect(accept.item).to be_truthy
12
+ expect(accept.item.circulation_status.name).to eq "In Process"
13
+ accept.save!
14
+ expect(accept.item.circulation_status.name).to eq "Available On Shelf"
15
+ expect(accept.item.use_restriction.name).to eq "Limited Circulation, Normal Loan Period"
16
+ end
17
+ it "should reflect to items list", solr: true do
18
+ FactoryGirl.create(:item)
19
+ FactoryGirl.create(:item)
20
+ FactoryGirl.create(:item)
21
+ result = Item.search.build { facet :circulation_status }.execute
22
+ inprocess_count = result.facet(:circulation_status).rows.find{|e| e.value == "In Process" }.count
23
+ onshelf_count = result.facet(:circulation_status).rows.find{|e| e.value == "Available On Shelf" }.try(:count) || 0
24
+ accept = MyAccept.new(FactoryGirl.attributes_for(:accept))
25
+ accept.save!
26
+ result = Item.search.build { facet :circulation_status }.execute
27
+ expect(result.facet(:circulation_status).rows.find{|e| e.value == "In Process" }.count).to eq inprocess_count
28
+ expect(result.facet(:circulation_status).rows.find{|e| e.value == "Available On Shelf" }.try(:count)).to eq onshelf_count + 1
29
+ end
30
+ end
@@ -249,7 +249,7 @@ describe CheckinsController do
249
249
  it "should show notification when it is reserved" do
250
250
  post :create, :checkin => {:item_identifier => '00008'}, :basket_id => 9
251
251
  flash[:message].to_s.index(I18n.t('item.this_item_is_reserved')).should be_truthy
252
- assigns(:checkin).item.manifestation.next_reservation.current_state.should eq 'retained'
252
+ assigns(:checkin).item.should be_retained
253
253
  assigns(:checkin).item.circulation_status.name.should eq 'Available On Shelf'
254
254
  response.should redirect_to(checkins_url(basket_id: assigns(:basket).id))
255
255
  end
@@ -38,12 +38,13 @@ describe CheckoutsController do
38
38
 
39
39
  it "should get index txt" do
40
40
  get :index, format: 'txt'
41
- assigns(:checkouts).count.should eq Checkout.count
41
+ assigns(:checkouts).count.should eq assigns(:checkouts).total_entries
42
42
  response.should be_success
43
43
  end
44
44
 
45
45
  it "should get index rss" do
46
46
  get :index, format: 'rss'
47
+ assigns(:checkouts).count.should eq assigns(:checkouts).total_entries
47
48
  response.should be_success
48
49
  end
49
50
 
@@ -32,25 +32,27 @@ describe ReservesController do
32
32
  end
33
33
 
34
34
  it "should get index feed without user_id" do
35
- get :index, :format => 'rss'
35
+ get :index, format: 'rss'
36
36
  response.should be_success
37
- assigns(:reserves).collect(&:id).should eq Reserve.order('reserves.id DESC').includes(:manifestation).page(1).collect(&:id)
37
+ assigns(:reserves).count.should eq assigns(:reserves).total_entries
38
+ assigns(:reserves).should eq(Reserve.order('reserves.id DESC').includes(:manifestation))
38
39
  end
39
40
 
40
41
  it "should get index txt without user_id" do
41
- get :index, :format => 'txt'
42
+ get :index, format: 'txt'
42
43
  response.should be_success
44
+ assigns(:reserves).count.should eq assigns(:reserves).total_entries
43
45
  assigns(:reserves).should eq(Reserve.order('reserves.id DESC').includes(:manifestation))
44
46
  end
45
47
 
46
48
  it "should get index feed with user_id" do
47
- get :index, :user_id => users(:user1).username, :format => 'rss'
49
+ get :index, :user_id => users(:user1).username, format: 'rss'
48
50
  response.should be_success
49
51
  assigns(:reserves).should eq(users(:user1).reserves.order('reserves.id DESC').includes(:manifestation).page(1))
50
52
  end
51
53
 
52
54
  it "should get index txt with user_id" do
53
- get :index, :user_id => users(:user1).username, :format => 'txt'
55
+ get :index, :user_id => users(:user1).username, format: 'txt'
54
56
  response.should be_success
55
57
  assigns(:reserves).should eq(users(:user1).reserves.order('reserves.id DESC').includes(:manifestation))
56
58
  end
@@ -62,7 +64,7 @@ describe ReservesController do
62
64
  end
63
65
 
64
66
  it "should get other user's index feed" do
65
- get :index, :user_id => users(:user1).username, :format => :rss
67
+ get :index, :user_id => users(:user1).username, format: :rss
66
68
  response.should be_success
67
69
  assigns(:reserves).should eq(users(:user1).reserves.order('reserves.id DESC').includes(:manifestation).page(1))
68
70
  end
@@ -82,13 +84,13 @@ describe ReservesController do
82
84
  end
83
85
 
84
86
  it "should get my index feed" do
85
- get :index, :format => :rss
87
+ get :index, format: :rss
86
88
  response.should be_success
87
89
  response.should render_template("index")
88
90
  end
89
91
 
90
92
  it "should get my index txt" do
91
- get :index, :format => :txt
93
+ get :index, format: :txt
92
94
  response.should be_success
93
95
  response.should render_template("index")
94
96
  end
@@ -100,13 +102,13 @@ describe ReservesController do
100
102
  end
101
103
 
102
104
  it "should redirect to my reservation feed" do
103
- get :index, :user_id => users(:user1).username, :format => 'rss'
104
- response.should redirect_to reserves_url(:format => :rss)
105
+ get :index, :user_id => users(:user1).username, format: 'rss'
106
+ response.should redirect_to reserves_url(format: :rss)
105
107
  end
106
108
 
107
109
  it "should redirect to my reservation txt" do
108
- get :index, :user_id => users(:user1).username, :format => 'txt'
109
- response.should redirect_to reserves_url(:format => :txt)
110
+ get :index, :user_id => users(:user1).username, format: 'txt'
111
+ response.should redirect_to reserves_url(format: :txt)
110
112
  end
111
113
  end
112
114
 
@@ -223,14 +223,17 @@ ActiveRecord::Schema.define(version: 20160814165332) do
223
223
  create_table "checked_items", force: :cascade do |t|
224
224
  t.integer "item_id", null: false
225
225
  t.integer "basket_id", null: false
226
+ t.integer "librarian_id"
226
227
  t.datetime "due_date", null: false
227
228
  t.datetime "created_at"
228
229
  t.datetime "updated_at"
229
- t.integer "librarian_id"
230
+ t.integer "user_id"
230
231
  end
231
232
 
232
233
  add_index "checked_items", ["basket_id"], name: "index_checked_items_on_basket_id"
233
234
  add_index "checked_items", ["item_id"], name: "index_checked_items_on_item_id"
235
+ add_index "checked_items", ["librarian_id"], name: "index_checked_items_on_librarian_id"
236
+ add_index "checked_items", ["user_id"], name: "index_checked_items_on_user_id"
234
237
 
235
238
  create_table "checkins", force: :cascade do |t|
236
239
  t.integer "item_id", null: false
@@ -1105,7 +1108,6 @@ ActiveRecord::Schema.define(version: 20160814165332) do
1105
1108
  add_index "reserves", ["item_id"], name: "index_reserves_on_item_id"
1106
1109
  add_index "reserves", ["manifestation_id"], name: "index_reserves_on_manifestation_id"
1107
1110
  add_index "reserves", ["pickup_location_id"], name: "index_reserves_on_pickup_location_id"
1108
- add_index "reserves", ["request_status_type_id"], name: "index_reserves_on_request_status_type_id"
1109
1111
  add_index "reserves", ["user_id"], name: "index_reserves_on_user_id"
1110
1112
 
1111
1113
  create_table "resource_export_file_transitions", force: :cascade do |t|
@@ -0,0 +1,21 @@
1
+ # Read about factories at https://github.com/thoughtbot/factory_girl
2
+
3
+ FactoryGirl.define do
4
+ factory :accept do
5
+ basket_id{FactoryGirl.create(:basket).id}
6
+ item_id{FactoryGirl.create(:item).id}
7
+ librarian_id{FactoryGirl.create(:librarian).id}
8
+ end
9
+ end
10
+
11
+ # == Schema Information
12
+ #
13
+ # Table name: accepts
14
+ #
15
+ # id :integer not null, primary key
16
+ # basket_id :integer
17
+ # item_id :integer
18
+ # librarian_id :integer
19
+ # created_at :datetime
20
+ # updated_at :datetime
21
+ #
@@ -2,7 +2,7 @@ FactoryGirl.define do
2
2
  factory :reserve do |f|
3
3
  before(:create) do |reserve|
4
4
  profile = FactoryGirl.create(:profile)
5
- user = User.new(FactoryGirl.attributes_for(:user), as: :admin)
5
+ user = User.new(FactoryGirl.attributes_for(:user))
6
6
  user.profile = profile
7
7
  reserve.user = user
8
8
  end
@@ -3,76 +3,91 @@ reserve_transition_00001:
3
3
  to_state: requested
4
4
  reserve_id: 1
5
5
  sort_key: 0
6
+ most_recent: true
6
7
  reserve_transition_00002:
7
8
  id: 2
8
9
  to_state: requested
9
10
  reserve_id: 2
10
11
  sort_key: 0
12
+ most_recent: true
11
13
  reserve_transition_00003:
12
14
  id: 3
13
15
  to_state: requested
14
16
  reserve_id: 3
15
17
  sort_key: 0
18
+ most_recent: true
16
19
  reserve_transition_00004:
17
20
  id: 4
18
21
  to_state: requested
19
22
  reserve_id: 4
20
23
  sort_key: 0
24
+ most_recent: true
21
25
  reserve_transition_00005:
22
26
  id: 5
23
27
  to_state: requested
24
28
  reserve_id: 5
25
29
  sort_key: 0
30
+ most_recent: true
26
31
  reserve_transition_00006:
27
32
  id: 6
28
33
  to_state: requested
29
34
  reserve_id: 6
30
35
  sort_key: 0
36
+ most_recent: true
31
37
  reserve_transition_00007:
32
38
  id: 7
33
39
  to_state: requested
34
40
  reserve_id: 7
35
41
  sort_key: 0
42
+ most_recent: true
36
43
  reserve_transition_00008:
37
44
  id: 8
38
45
  to_state: expired
39
46
  reserve_id: 8
40
47
  sort_key: 0
48
+ most_recent: true
41
49
  reserve_transition_00009:
42
50
  id: 9
43
51
  to_state: requested
44
52
  reserve_id: 9
45
53
  sort_key: 0
54
+ most_recent: true
46
55
  reserve_transition_00010:
47
56
  id: 10
48
57
  to_state: completed
49
58
  reserve_id: 10
50
59
  sort_key: 0
60
+ most_recent: true
51
61
  reserve_transition_00011:
52
62
  id: 11
53
63
  to_state: expired
54
64
  reserve_id: 11
55
65
  sort_key: 0
66
+ most_recent: true
56
67
  reserve_transition_00012:
57
68
  id: 12
58
69
  to_state: retained
59
70
  reserve_id: 12
60
71
  sort_key: 0
72
+ most_recent: true
61
73
  reserve_transition_00013:
62
74
  id: 13
63
75
  to_state: requested
64
76
  reserve_id: 13
65
77
  sort_key: 0
78
+ most_recent: true
66
79
  reserve_transition_00014:
67
80
  id: 14
68
81
  to_state: retained
69
82
  reserve_id: 14
70
83
  sort_key: 0
84
+ most_recent: true
71
85
  reserve_transition_00015:
72
86
  id: 15
73
87
  to_state: requested
74
88
  reserve_id: 15
75
89
  sort_key: 0
90
+ most_recent: true
76
91
 
77
92
  # == Schema Information
78
93
  #