nextable 0.0.6 → 0.0.7

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.
@@ -0,0 +1,49 @@
1
+ postgres cannot access the server configuration file "/usr/local/pgsql/data/postgresql.conf": No such file or directory
2
+ LOG: database system was shut down at 2016-01-26 21:12:04 PST
3
+ LOG: MultiXact member wraparound protections are now enabled
4
+ LOG: database system is ready to accept connections
5
+ LOG: autovacuum launcher started
6
+ FATAL: database "tkbrigham" does not exist
7
+ FATAL: database "tkbrigham" does not exist
8
+ FATAL: database "tkbrigham" does not exist
9
+ ERROR: unrecognized configuration parameter "databases"
10
+ STATEMENT: show databases;
11
+ ERROR: syntax error at or near "databases" at character 1
12
+ STATEMENT: databases;
13
+ ERROR: syntax error at or near "ls" at character 1
14
+ STATEMENT: ls
15
+ ;
16
+ ERROR: unrecognized configuration parameter "tables"
17
+ STATEMENT: show tables;
18
+ ERROR: syntax error at or near ";" at character 5
19
+ STATEMENT: show;
20
+ ERROR: relation "users" does not exist at character 15
21
+ STATEMENT: select * from users;
22
+ ERROR: unrecognized configuration parameter "relations"
23
+ STATEMENT: show relations;
24
+ ERROR: unrecognized configuration parameter "users"
25
+ STATEMENT: show users;
26
+ ERROR: syntax error at or near "user" at character 6
27
+ STATEMENT: show user;
28
+ ERROR: syntax error at or near ";" at character 5
29
+ STATEMENT: show;
30
+ ERROR: syntax error at or near "exit" at character 1
31
+ STATEMENT: exit
32
+ ;
33
+ ERROR: database "nextable-dev" already exists
34
+ STATEMENT: CREATE DATABASE "nextable-dev" ENCODING = 'unicode'
35
+ ERROR: database "nextable-test" already exists
36
+ STATEMENT: CREATE DATABASE "nextable-test" ENCODING = 'unicode'
37
+ ERROR: relation "users" does not exist at character 15
38
+ STATEMENT: select * from users;
39
+ ERROR: unrecognized configuration parameter "relation"
40
+ STATEMENT: show relation;
41
+ ERROR: unrecognized configuration parameter "relations"
42
+ STATEMENT: show relations;
43
+ ERROR: syntax error at or near "list" at character 1
44
+ STATEMENT: list
45
+ relations;
46
+ ERROR: invalid input syntax for type time: "12pm" at character 120
47
+ STATEMENT: SELECT "users".* FROM "users" WHERE "users"."date_of_birth" = 'january 18 1988 12:00pm' AND "users"."time_of_birth" = '12pm'
48
+ ERROR: invalid input syntax for type time: "12" at character 120
49
+ STATEMENT: SELECT "users".* FROM "users" WHERE "users"."date_of_birth" = 'january 18 1988 12:00pm' AND "users"."time_of_birth" = '12'
@@ -25,138 +25,32 @@ class NextableTest < ActiveSupport::TestCase
25
25
  end
26
26
  end
27
27
 
28
- class WithFieldParam < NextableTest
29
- test "date_field_example_birthday" do
30
- @feb_1965, @feb_1942, @jan_1929 = create_three_users
31
-
32
- # next_record
33
- assert_equal @jan_1929.next_record(field: 'birthday'), @feb_1942
34
- assert_equal @feb_1942.next_record(field: 'birthday'), @feb_1965
35
-
36
- # previous_record
37
- assert_equal @feb_1965.previous_record(field: 'birthday'), @feb_1942
38
- assert_equal @feb_1942.previous_record(field: 'birthday'), @jan_1929
39
-
40
- # final record of each direction
41
- assert_equal @jan_1929.previous_record(field: 'birthday'), nil
42
- assert_equal @feb_1965.next_record(field: 'birthday'), nil
43
- end
44
-
45
- test "integer_field_example_total_friends" do
46
- @six, @eight, @seven = create_three_users
47
-
48
- # next_record
49
- assert_equal @six.next_record(field: 'total_friends'), @seven
50
- assert_equal @seven.next_record(field: 'total_friends'), @eight
51
-
52
- # previous_record
53
- assert_equal @eight.previous_record(field: 'total_friends'), @seven
54
- assert_equal @seven.previous_record(field: 'total_friends'), @six
55
-
56
- # final record of each direction
57
- assert_equal @six.previous_record(field: 'total_friends'), nil
58
- assert_equal @eight.next_record(field: 'total_friends'), nil
59
- end
60
-
61
- test "string_field_example_name" do
62
- @malcolm, @huey, @mlk = create_three_users
63
-
64
- # next_record
65
- assert_equal @huey.next_record(field: 'name'), @malcolm
66
- assert_equal @malcolm.next_record(field: 'name'), @mlk
67
-
68
- # previous_record
69
- assert_equal @mlk.previous_record(field: 'name'), @malcolm
70
- assert_equal @malcolm.previous_record(field: 'name'), @huey
71
-
72
- # final record of each direction
73
- assert_equal @huey.previous_record(field: 'name'), nil
74
- assert_equal @mlk.next_record(field: 'name'), nil
75
- end
76
- end
77
-
78
- class WithCycleTrue < NextableTest
79
- test "default_will_cycle_by_id" do
80
- @first, @second, @third = create_three_users
81
-
82
- # final record of each direction
83
- assert_equal @first.previous_record(cycle: true), @third
84
- assert_equal @third.next_record(cycle: true), @first
85
- end
86
-
87
- test "cycle_by_date_field_example_birthday" do
88
- @feb_1965, @feb_1942, @jan_1929 = create_three_users
89
-
90
- # final record of each direction
91
- assert_equal @jan_1929.previous_record(
92
- field: 'birthday', cycle: true), @feb_1965
93
- assert_equal @feb_1965.next_record(
94
- field: 'birthday', cycle: true), @jan_1929
95
- end
96
-
97
- test "cycle_by_integer_field_example_total_friends" do
98
- @six, @eight, @seven = create_three_users
99
-
100
- # final record of each direction
101
- assert_equal @six.previous_record(
102
- cycle: true, field: 'total_friends'), @eight
103
- assert_equal @eight.next_record(
104
- cycle: true, field: 'total_friends'), @six
105
- end
106
-
107
- test "cycle_by_string_field_example_name" do
108
- @malcolm, @huey, @mlk = create_three_users
109
-
110
- # final record of each direction
111
- assert_equal @mlk.next_record(cycle: true, field: 'name'), @huey
112
- assert_equal @huey.previous_record(cycle: true, field: 'name'), @mlk
113
- end
114
- end
115
-
116
- class WithFiltersParam < NextableTest
117
- setup do
118
- @first, @second, @third, @fourth, @fifth, @sixth, @seventh = create_seven_users
119
- end
120
-
121
- test "with_jun_2_1991_birthday" do
122
- assert_equal @second.next_record(filters: { birthday: '1991-06-02' }), @third
123
- assert_equal @fifth.next_record(filters: { birthday: '1991-06-02' }), nil
124
- end
125
-
126
- test "with_oct_26_1990_birthday" do
127
- assert_equal @second.next_record(filters: { birthday: '1990-10-26' }), @fifth
128
- assert_equal @fifth.next_record(filters: { birthday: '1990-10-26' }), @sixth
129
-
130
- assert_equal @sixth.previous_record(filters: { birthday: '1990-10-26' }), @fifth
131
- assert_equal @fifth.previous_record(filters: { birthday: '1990-10-26' }), nil
132
-
133
- # with cycle
134
- assert_equal @fifth.previous_record(cycle: true, filters: { birthday: '1990-10-26' }), @seventh
135
- assert_equal @seventh.next_record(cycle: true, filters: { birthday: '1990-10-26' }), @fifth
136
-
137
- # with field param
138
- assert_equal @fifth.previous_record(field: 'name', filters: { birthday: '1990-10-26' }), @sixth
139
- assert_equal @seventh.next_record(field: 'name', filters: { birthday: '1990-10-26' }), @sixth
140
- end
141
- end
142
-
143
28
  private
144
29
 
145
30
  def create_seven_users
146
- first = User.create!(name: 'Gibbert', total_friends: 1, birthday: 'June 2, 1991')
147
- second = User.create!(name: 'Fubart', total_friends: 1, birthday: 'June 2, 1991')
148
- third = User.create!(name: 'Ebert', total_friends: 1, birthday: 'June 2, 1991')
149
- fourth = User.create!(name: 'Dilbert', total_friends: 2, birthday: 'June 2, 1991')
150
- fifth = User.create!(name: 'Cubert', total_friends: 2, birthday: 'October 26, 1990')
151
- sixth = User.create!(name: 'Bertal', total_friends: 3, birthday: 'October 26, 1990')
152
- seventh = User.create!(name: 'Albert', total_friends: 3, birthday: 'October 26, 1990')
31
+ first = User.create!(name: 'Gibbert', total_friends: 1, date_of_birth: 'June 2, 1991')
32
+ second = User.create!(name: 'Fubart', total_friends: 1, date_of_birth: 'June 2, 1991')
33
+ third = User.create!(name: 'Ebert', total_friends: 1, date_of_birth: 'June 2, 1991')
34
+ fourth = User.create!(name: 'Dilbert', total_friends: 2, date_of_birth: 'June 2, 1991')
35
+ fifth = User.create!(name: 'Cubert', total_friends: 2, date_of_birth: 'October 26, 1990')
36
+ sixth = User.create!(name: 'Bertal', total_friends: 3, date_of_birth: 'October 26, 1990')
37
+ seventh = User.create!(name: 'Albert', total_friends: 3, date_of_birth: 'October 26, 1990')
153
38
  return first, second, third, fourth, fifth, sixth, seventh
154
39
  end
155
40
 
156
41
  def create_three_users
157
- first = User.create!(name: 'Malcom Little', total_friends: 6, birthday: 'February 21, 1965')
158
- second = User.create!(name: 'Huey Newton', total_friends: 8, birthday: 'February 17, 1942')
159
- third = User.create!(name: 'MLK Junior', total_friends: 7, birthday: 'January 15, 1929')
42
+ first = User.create!(name: 'Malcom Little',
43
+ total_friends: 6,
44
+ date_of_birth: 'February 21, 1965',
45
+ time_of_birth: '10:00am')
46
+ second = User.create!(name: 'Huey Newton',
47
+ total_friends: 8,
48
+ date_of_birth: 'February 17, 1942',
49
+ time_of_birth: '9:00am')
50
+ third = User.create!(name: 'MLK Junior',
51
+ total_friends: 7,
52
+ date_of_birth: 'January 15, 1929',
53
+ time_of_birth: '11:00am')
160
54
  return first, second, third
161
55
  end
162
56
  end
@@ -0,0 +1,42 @@
1
+ require 'test_helper'
2
+ require 'nextable_test'
3
+
4
+ module ParamTests
5
+ class CycleTest < NextableTest
6
+ test "default_will_cycle_by_id" do
7
+ @first, @second, @third = create_three_users
8
+
9
+ # final record of each direction
10
+ assert_equal @first.previous_record(cycle: true), @third
11
+ assert_equal @third.next_record(cycle: true), @first
12
+ end
13
+
14
+ test "cycle_by_date_field_example_date_of_birth" do
15
+ @feb_1965, @feb_1942, @jan_1929 = create_three_users
16
+
17
+ # final record of each direction
18
+ assert_equal @jan_1929.previous_record(
19
+ field: 'date_of_birth', cycle: true), @feb_1965
20
+ assert_equal @feb_1965.next_record(
21
+ field: 'date_of_birth', cycle: true), @jan_1929
22
+ end
23
+
24
+ test "cycle_by_integer_field_example_total_friends" do
25
+ @six, @eight, @seven = create_three_users
26
+
27
+ # final record of each direction
28
+ assert_equal @six.previous_record(
29
+ cycle: true, field: 'total_friends'), @eight
30
+ assert_equal @eight.next_record(
31
+ cycle: true, field: 'total_friends'), @six
32
+ end
33
+
34
+ test "cycle_by_string_field_example_name" do
35
+ @malcolm, @huey, @mlk = create_three_users
36
+
37
+ # final record of each direction
38
+ assert_equal @mlk.next_record(cycle: true, field: 'name'), @huey
39
+ assert_equal @huey.previous_record(cycle: true, field: 'name'), @mlk
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,70 @@
1
+ require 'test_helper'
2
+ require 'nextable_test'
3
+
4
+ module ParamTests
5
+ class FieldTest < NextableTest
6
+ test "date_field_example_date_of_birth" do
7
+ @feb_1965, @feb_1942, @jan_1929 = create_three_users
8
+
9
+ # next_record
10
+ assert_equal @jan_1929.next_record(field: 'date_of_birth'), @feb_1942
11
+ assert_equal @feb_1942.next_record(field: 'date_of_birth'), @feb_1965
12
+
13
+ # previous_record
14
+ assert_equal @feb_1965.previous_record(field: 'date_of_birth'), @feb_1942
15
+ assert_equal @feb_1942.previous_record(field: 'date_of_birth'), @jan_1929
16
+
17
+ # final record of each direction
18
+ assert_equal @jan_1929.previous_record(field: 'date_of_birth'), nil
19
+ assert_equal @feb_1965.next_record(field: 'date_of_birth'), nil
20
+ end
21
+
22
+ test "time_field_example_time_of_birth" do
23
+ @ten_am, @nine_am, @eleven_am = create_three_users
24
+
25
+ # next_record
26
+ assert_equal @nine_am.next_record(field: 'time_of_birth'), @ten_am
27
+ assert_equal @ten_am.next_record(field: 'time_of_birth'), @eleven_am
28
+
29
+ # previous_record
30
+ assert_equal @eleven_am.previous_record(field: 'time_of_birth'), @ten_am
31
+ assert_equal @ten_am.previous_record(field: 'time_of_birth'), @nine_am
32
+
33
+ # final record of each direction
34
+ assert_equal @nine_am.previous_record(field: 'time_of_birth'), nil
35
+ assert_equal @eleven_am.next_record(field: 'time_of_birth'), nil
36
+ end
37
+
38
+ test "integer_field_example_total_friends" do
39
+ @six, @eight, @seven = create_three_users
40
+
41
+ # next_record
42
+ assert_equal @six.next_record(field: 'total_friends'), @seven
43
+ assert_equal @seven.next_record(field: 'total_friends'), @eight
44
+
45
+ # previous_record
46
+ assert_equal @eight.previous_record(field: 'total_friends'), @seven
47
+ assert_equal @seven.previous_record(field: 'total_friends'), @six
48
+
49
+ # final record of each direction
50
+ assert_equal @six.previous_record(field: 'total_friends'), nil
51
+ assert_equal @eight.next_record(field: 'total_friends'), nil
52
+ end
53
+
54
+ test "string_field_example_name" do
55
+ @malcolm, @huey, @mlk = create_three_users
56
+
57
+ # next_record
58
+ assert_equal @huey.next_record(field: 'name'), @malcolm
59
+ assert_equal @malcolm.next_record(field: 'name'), @mlk
60
+
61
+ # previous_record
62
+ assert_equal @mlk.previous_record(field: 'name'), @malcolm
63
+ assert_equal @malcolm.previous_record(field: 'name'), @huey
64
+
65
+ # final record of each direction
66
+ assert_equal @huey.previous_record(field: 'name'), nil
67
+ assert_equal @mlk.next_record(field: 'name'), nil
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,31 @@
1
+ require 'test_helper'
2
+ require 'nextable_test'
3
+
4
+ module ParamTests
5
+ class FiltersTest < NextableTest
6
+ setup do
7
+ @first, @second, @third, @fourth, @fifth, @sixth, @seventh = create_seven_users
8
+ end
9
+
10
+ test "with_jun_2_1991_date_of_birth" do
11
+ assert_equal @second.next_record(filters: { date_of_birth: '1991-06-02' }), @third
12
+ assert_equal @fifth.next_record(filters: { date_of_birth: '1991-06-02' }), nil
13
+ end
14
+
15
+ test "with_oct_26_1990_date_of_birth" do
16
+ assert_equal @second.next_record(filters: { date_of_birth: '1990-10-26' }), @fifth
17
+ assert_equal @fifth.next_record(filters: { date_of_birth: '1990-10-26' }), @sixth
18
+
19
+ assert_equal @sixth.previous_record(filters: { date_of_birth: '1990-10-26' }), @fifth
20
+ assert_equal @fifth.previous_record(filters: { date_of_birth: '1990-10-26' }), nil
21
+
22
+ # with cycle
23
+ assert_equal @fifth.previous_record(cycle: true, filters: { date_of_birth: '1990-10-26' }), @seventh
24
+ assert_equal @seventh.next_record(cycle: true, filters: { date_of_birth: '1990-10-26' }), @fifth
25
+
26
+ # with field param
27
+ assert_equal @fifth.previous_record(field: 'name', filters: { date_of_birth: '1990-10-26' }), @sixth
28
+ assert_equal @seventh.next_record(field: 'name', filters: { date_of_birth: '1990-10-26' }), @sixth
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nextable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Brigham
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-01-21 00:00:00.000000000 Z
11
+ date: 2016-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 4.1.14
19
+ version: '4.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 4.1.14
26
+ version: '4.1'
27
27
  - !ruby/object:Gem::Dependency
28
- name: sqlite3
28
+ name: pg
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0'
33
+ version: '2.4'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ">="
38
+ - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0'
40
+ version: '2.4'
41
41
  description: " ** NOT PRODUCTION READY ** \nA plugin for Rails that enables 'walking'
42
42
  of ActiveRecord models by implementing\nnext_record and #previous_record instance
43
43
  methods.\nDocumentation: https://github.com/tkbrigham/nextable\n"
@@ -47,6 +47,7 @@ extensions: []
47
47
  extra_rdoc_files: []
48
48
  files:
49
49
  - lib/nextable.rb
50
+ - lib/nextable/db.rb
50
51
  - test/dummy/README.rdoc
51
52
  - test/dummy/Rakefile
52
53
  - test/dummy/app/assets/javascripts/application.js
@@ -77,12 +78,14 @@ files:
77
78
  - test/dummy/config/locales/en.yml
78
79
  - test/dummy/config/routes.rb
79
80
  - test/dummy/config/secrets.yml
80
- - test/dummy/db/development.sqlite3
81
81
  - test/dummy/db/migrate/20160121233437_create_users.rb
82
82
  - test/dummy/db/schema.rb
83
- - test/dummy/db/test.sqlite3
83
+ - test/dummy/log/RAILS_DB=pg.log
84
84
  - test/dummy/log/development.log
85
+ - test/dummy/log/development_mysql.log
86
+ - test/dummy/log/development_pg.log
85
87
  - test/dummy/log/test.log
88
+ - test/dummy/logfile
86
89
  - test/dummy/public/404.html
87
90
  - test/dummy/public/422.html
88
91
  - test/dummy/public/500.html
@@ -90,6 +93,9 @@ files:
90
93
  - test/dummy/test/fixtures/users.yml
91
94
  - test/dummy/test/models/user_test.rb
92
95
  - test/nextable_test.rb
96
+ - test/param_tests/cycle_test.rb
97
+ - test/param_tests/field_test.rb
98
+ - test/param_tests/filters_test.rb
93
99
  - test/test_helper.rb
94
100
  homepage: https://github.com/tkbrigham/nextable
95
101
  licenses:
@@ -111,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
111
117
  version: '0'
112
118
  requirements: []
113
119
  rubyforge_project:
114
- rubygems_version: 2.4.5
120
+ rubygems_version: 2.4.5.1
115
121
  signing_key:
116
122
  specification_version: 4
117
123
  summary: 'Extends ActiveRecord::Base to implement #next_record and #previous_record
@@ -145,12 +151,14 @@ test_files:
145
151
  - test/dummy/config/routes.rb
146
152
  - test/dummy/config/secrets.yml
147
153
  - test/dummy/config.ru
148
- - test/dummy/db/development.sqlite3
149
154
  - test/dummy/db/migrate/20160121233437_create_users.rb
150
155
  - test/dummy/db/schema.rb
151
- - test/dummy/db/test.sqlite3
152
156
  - test/dummy/log/development.log
157
+ - test/dummy/log/development_mysql.log
158
+ - test/dummy/log/development_pg.log
159
+ - test/dummy/log/RAILS_DB=pg.log
153
160
  - test/dummy/log/test.log
161
+ - test/dummy/logfile
154
162
  - test/dummy/public/404.html
155
163
  - test/dummy/public/422.html
156
164
  - test/dummy/public/500.html
@@ -160,4 +168,7 @@ test_files:
160
168
  - test/dummy/test/fixtures/users.yml
161
169
  - test/dummy/test/models/user_test.rb
162
170
  - test/nextable_test.rb
171
+ - test/param_tests/cycle_test.rb
172
+ - test/param_tests/field_test.rb
173
+ - test/param_tests/filters_test.rb
163
174
  - test/test_helper.rb