push_type_core 0.6.0 → 0.7.0.beta.1
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.
- checksums.yaml +4 -4
- data/app/fields/push_type/boolean_field.rb +12 -0
- data/app/fields/push_type/matrix_field.rb +13 -3
- data/app/fields/push_type/relation_field.rb +12 -6
- data/app/fields/push_type/select_field.rb +1 -1
- data/lib/push_type/core/engine.rb +4 -0
- data/lib/push_type/core.rb +2 -0
- data/lib/push_type/core_ext/to_bool.rb +25 -0
- data/lib/push_type/field_type.rb +1 -0
- data/lib/push_type/primitives/boolean_type.rb +12 -0
- data/lib/push_type/version.rb +1 -1
- data/test/dummy/config/initializers/push_type.rb +1 -1
- data/test/dummy/config/secrets.yml +2 -2
- data/test/dummy/db/migrate/{20151108150752_create_push_type_users.push_type.rb → 20160108132348_create_push_type_users.push_type.rb} +0 -0
- data/test/dummy/db/migrate/{20151108150753_create_push_type_nodes.push_type.rb → 20160108132349_create_push_type_nodes.push_type.rb} +0 -0
- data/test/dummy/db/migrate/{20151108150754_create_push_type_node_hierarchies.push_type.rb → 20160108132350_create_push_type_node_hierarchies.push_type.rb} +0 -0
- data/test/dummy/db/migrate/{20151108150755_create_push_type_assets.push_type.rb → 20160108132351_create_push_type_assets.push_type.rb} +0 -0
- data/test/dummy/db/migrate/{20151108150756_create_push_type_taxonomies.push_type.rb → 20160108132352_create_push_type_taxonomies.push_type.rb} +0 -0
- data/test/dummy/db/migrate/{20151108150757_create_push_type_taxonomy_hierarchies.push_type.rb → 20160108132353_create_push_type_taxonomy_hierarchies.push_type.rb} +0 -0
- data/test/dummy/db/migrate/{20151108150758_add_field_store_default_values.push_type.rb → 20160108132354_add_field_store_default_values.push_type.rb} +0 -0
- data/test/dummy/db/schema.rb +1 -1
- data/test/dummy/log/test.log +9084 -14616
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0ANSDcZJu9gPyqtYPIW729qm1kriQ29Vn9LU8T2SGQU.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/{tlOpTnaa_t4XAbGrJuMXP6N7RwkbFqu0Q3NnnTJGR_o.cache → 8FGH_ku24FOYEa6ACm3vyk_rZwODpSzv3MjZU4irm7M.cache} +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/_d65qW7wxRtKVSYpmfSenECz5QUWVI9pppUgV7TA1Rk.cache +0 -0
- data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/{ICYfNnwyQOM4ypAd7cL9ig1weq-ynnC7JO__sNCZo98.cache → o8jETQIOAUNl34ED3ZTGdlVAlYRSl8zt6mfx4Wr1_Hs.cache} +0 -0
- data/test/fields/push_type/boolean_field_test.rb +21 -0
- data/test/fields/push_type/matrix_field_test.rb +8 -2
- data/test/fields/push_type/relation_field_test.rb +12 -0
- data/test/lib/push_type/core_exts_test.rb +31 -0
- data/test/lib/push_type/primitives_test.rb +13 -0
- metadata +31 -30
- data/app/fields/push_type/node_field.rb +0 -27
- data/app/fields/push_type/taxonomy_field.rb +0 -21
- data/test/fields/push_type/node_field_test.rb +0 -48
- data/test/fields/push_type/taxonomy_field_test.rb +0 -48
|
Binary file
|
|
File without changes
|
|
Binary file
|
|
File without changes
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module PushType
|
|
4
|
+
class BooleanFieldTest < ActiveSupport::TestCase
|
|
5
|
+
|
|
6
|
+
class TestPage < PushType::Node
|
|
7
|
+
field :foo, :boolean
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
let(:node) { TestPage.create FactoryGirl.attributes_for(:node, foo: '1') }
|
|
11
|
+
let(:field) { node.fields[:foo] }
|
|
12
|
+
|
|
13
|
+
it { field.json_primitive.must_equal :boolean }
|
|
14
|
+
it { field.form_helper.must_equal :check_box }
|
|
15
|
+
it { field.json_value.must_equal true }
|
|
16
|
+
it { field.value.must_equal true }
|
|
17
|
+
|
|
18
|
+
it { node.foo.must_equal true }
|
|
19
|
+
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -4,13 +4,14 @@ module PushType
|
|
|
4
4
|
class MatrixFieldTest < ActiveSupport::TestCase
|
|
5
5
|
|
|
6
6
|
class TestPage < PushType::Node
|
|
7
|
-
field :foo, :matrix do
|
|
7
|
+
field :foo, :matrix, grid: false do
|
|
8
8
|
field :key, :string
|
|
9
9
|
field :val, :text
|
|
10
10
|
end
|
|
11
|
+
field :bar, :matrix, class: :location
|
|
11
12
|
end
|
|
12
13
|
|
|
13
|
-
let(:node) { TestPage.create FactoryGirl.attributes_for(:node, foo: val) }
|
|
14
|
+
let(:node) { TestPage.create FactoryGirl.attributes_for(:node, foo: val, bar: [1]) }
|
|
14
15
|
let(:val) { [{ key: 'a', val: 'b' }, { key: 'x', val: 'y' }] }
|
|
15
16
|
let(:field) { node.fields[:foo] }
|
|
16
17
|
|
|
@@ -23,5 +24,10 @@ module PushType
|
|
|
23
24
|
it { field.value[0].key.must_equal 'a' }
|
|
24
25
|
it { field.value[1].val.must_equal 'y' }
|
|
25
26
|
|
|
27
|
+
it { node.bar.first.must_be_instance_of Location }
|
|
28
|
+
it { node.bar.first.class.ancestors.must_include PushType::Structure }
|
|
29
|
+
it { node.fields[:bar].grid?.must_equal true }
|
|
30
|
+
it { node.fields[:foo].grid?.must_equal false }
|
|
31
|
+
|
|
26
32
|
end
|
|
27
33
|
end
|
|
@@ -6,6 +6,8 @@ module PushType
|
|
|
6
6
|
class TestPage < PushType::Node
|
|
7
7
|
field :page_id, :relation
|
|
8
8
|
field :bar_ids, :relation, to: 'push_type/node', multiple: true
|
|
9
|
+
field :baz_ids, :relation, to: :page, scope: -> { order(created_at: :desc).all }
|
|
10
|
+
field :qux_ids, :relation, to: :page, scope: -> { all.hash_tree }
|
|
9
11
|
end
|
|
10
12
|
|
|
11
13
|
before do
|
|
@@ -17,6 +19,8 @@ module PushType
|
|
|
17
19
|
let(:rel) { @pages.first }
|
|
18
20
|
let(:foo) { node.fields[:page_id] }
|
|
19
21
|
let(:bar) { node.fields[:bar_ids] }
|
|
22
|
+
let(:baz) { node.fields[:baz_ids] }
|
|
23
|
+
let(:qux) { node.fields[:qux_ids] }
|
|
20
24
|
|
|
21
25
|
it { foo.json_primitive.must_equal :string }
|
|
22
26
|
it { foo.template.must_equal 'relation' }
|
|
@@ -29,6 +33,7 @@ module PushType
|
|
|
29
33
|
it { foo.choices.map { |c| c[:value] }.must_include rel.id }
|
|
30
34
|
it { foo.relation_name.must_equal 'page' }
|
|
31
35
|
it { foo.relation_class.must_equal Page }
|
|
36
|
+
it { foo.relation_items.must_be_kind_of ActiveRecord::Relation }
|
|
32
37
|
|
|
33
38
|
it { bar.json_primitive.must_equal :array }
|
|
34
39
|
it { bar.must_be :multiple? }
|
|
@@ -38,6 +43,13 @@ module PushType
|
|
|
38
43
|
it { bar.json_value.must_equal @bars.map(&:id) }
|
|
39
44
|
it { bar.value.must_equal @bars.map(&:id) }
|
|
40
45
|
it { bar.choices.size.must_equal 7 }
|
|
46
|
+
it { bar.relation_items.must_be_kind_of ActiveRecord::Relation }
|
|
47
|
+
|
|
48
|
+
it { baz.relation_class.must_equal Page }
|
|
49
|
+
it { baz.choices.size.must_equal 4 }
|
|
50
|
+
it { baz.relation_items.must_be_kind_of ActiveRecord::Relation }
|
|
51
|
+
it { qux.choices.size.must_equal 4 }
|
|
52
|
+
it { qux.relation_items.must_be_kind_of Hash }
|
|
41
53
|
|
|
42
54
|
it { node.page_id.must_equal rel.id }
|
|
43
55
|
it { node.page.must_equal rel }
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
require 'test_helper'
|
|
2
|
+
|
|
3
|
+
module PushType
|
|
4
|
+
class CoreExtTest < ActiveSupport::TestCase
|
|
5
|
+
|
|
6
|
+
describe 'to_bool' do
|
|
7
|
+
# Strings
|
|
8
|
+
it { ''.to_bool.must_equal false }
|
|
9
|
+
it { '0'.to_bool.must_equal false }
|
|
10
|
+
it { 'no'.to_bool.must_equal false }
|
|
11
|
+
it { 'false'.to_bool.must_equal false }
|
|
12
|
+
it { '1'.to_bool.must_equal true }
|
|
13
|
+
it { 'anything else'.to_bool.must_equal true }
|
|
14
|
+
|
|
15
|
+
# Fixnums
|
|
16
|
+
it { 0.to_bool.must_equal false }
|
|
17
|
+
it { 1.to_bool.must_equal true }
|
|
18
|
+
it { 1234.to_bool.must_equal true }
|
|
19
|
+
|
|
20
|
+
# Booleans
|
|
21
|
+
it { false.to_i.must_equal 0 }
|
|
22
|
+
it { false.to_bool.must_equal false }
|
|
23
|
+
it { true.to_i.must_equal 1 }
|
|
24
|
+
it { true.to_bool.must_equal true }
|
|
25
|
+
|
|
26
|
+
# Nils
|
|
27
|
+
it { nil.to_bool.must_equal false }
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -18,6 +18,19 @@ module PushType
|
|
|
18
18
|
it { primitive.to_json(val).must_equal ['a', 'b', 'c'] }
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
+
describe 'BooleanType' do
|
|
22
|
+
let(:primitive) { PushType::Primitives::BooleanType }
|
|
23
|
+
|
|
24
|
+
it { primitive.to_json(nil).must_equal nil }
|
|
25
|
+
it { primitive.to_json(false).must_equal false }
|
|
26
|
+
it { primitive.to_json(0).must_equal false }
|
|
27
|
+
it { primitive.to_json('').must_equal false }
|
|
28
|
+
it { primitive.to_json('false').must_equal false }
|
|
29
|
+
it { primitive.to_json(true).must_equal true }
|
|
30
|
+
it { primitive.to_json(1).must_equal true }
|
|
31
|
+
it { primitive.to_json('true').must_equal true }
|
|
32
|
+
end
|
|
33
|
+
|
|
21
34
|
describe 'NumberType' do
|
|
22
35
|
let(:primitive) { PushType::Primitives::NumberType }
|
|
23
36
|
let(:val) { '123.45' }
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: push_type_core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.7.0.beta.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Aaron Russell
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-01-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -44,14 +44,14 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version:
|
|
47
|
+
version: 6.0.0
|
|
48
48
|
type: :runtime
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
54
|
+
version: 6.0.0
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: dragonfly
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -155,10 +155,10 @@ files:
|
|
|
155
155
|
- app/controllers/nodes_front_end_controller.rb
|
|
156
156
|
- app/controllers/taxonomies_front_end_controller.rb
|
|
157
157
|
- app/fields/push_type/asset_field.rb
|
|
158
|
+
- app/fields/push_type/boolean_field.rb
|
|
158
159
|
- app/fields/push_type/date_field.rb
|
|
159
160
|
- app/fields/push_type/markdown_field.rb
|
|
160
161
|
- app/fields/push_type/matrix_field.rb
|
|
161
|
-
- app/fields/push_type/node_field.rb
|
|
162
162
|
- app/fields/push_type/number_field.rb
|
|
163
163
|
- app/fields/push_type/relation_field.rb
|
|
164
164
|
- app/fields/push_type/repeater_field.rb
|
|
@@ -166,7 +166,6 @@ files:
|
|
|
166
166
|
- app/fields/push_type/string_field.rb
|
|
167
167
|
- app/fields/push_type/structure_field.rb
|
|
168
168
|
- app/fields/push_type/tag_list_field.rb
|
|
169
|
-
- app/fields/push_type/taxonomy_field.rb
|
|
170
169
|
- app/fields/push_type/text_field.rb
|
|
171
170
|
- app/fields/push_type/time_field.rb
|
|
172
171
|
- app/helpers/push_type/application_helper.rb
|
|
@@ -219,6 +218,7 @@ files:
|
|
|
219
218
|
- lib/push_type/config.rb
|
|
220
219
|
- lib/push_type/core.rb
|
|
221
220
|
- lib/push_type/core/engine.rb
|
|
221
|
+
- lib/push_type/core_ext/to_bool.rb
|
|
222
222
|
- lib/push_type/field_type.rb
|
|
223
223
|
- lib/push_type/menu_builder.rb
|
|
224
224
|
- lib/push_type/menu_builder/dsl/menu.rb
|
|
@@ -230,6 +230,7 @@ files:
|
|
|
230
230
|
- lib/push_type/presenter.rb
|
|
231
231
|
- lib/push_type/primitives/array_type.rb
|
|
232
232
|
- lib/push_type/primitives/base.rb
|
|
233
|
+
- lib/push_type/primitives/boolean_type.rb
|
|
233
234
|
- lib/push_type/primitives/number_type.rb
|
|
234
235
|
- lib/push_type/primitives/object_type.rb
|
|
235
236
|
- lib/push_type/primitives/string_type.rb
|
|
@@ -279,13 +280,13 @@ files:
|
|
|
279
280
|
- test/dummy/config/locales/en.yml
|
|
280
281
|
- test/dummy/config/routes.rb
|
|
281
282
|
- test/dummy/config/secrets.yml
|
|
282
|
-
- test/dummy/db/migrate/
|
|
283
|
-
- test/dummy/db/migrate/
|
|
284
|
-
- test/dummy/db/migrate/
|
|
285
|
-
- test/dummy/db/migrate/
|
|
286
|
-
- test/dummy/db/migrate/
|
|
287
|
-
- test/dummy/db/migrate/
|
|
288
|
-
- test/dummy/db/migrate/
|
|
283
|
+
- test/dummy/db/migrate/20160108132348_create_push_type_users.push_type.rb
|
|
284
|
+
- test/dummy/db/migrate/20160108132349_create_push_type_nodes.push_type.rb
|
|
285
|
+
- test/dummy/db/migrate/20160108132350_create_push_type_node_hierarchies.push_type.rb
|
|
286
|
+
- test/dummy/db/migrate/20160108132351_create_push_type_assets.push_type.rb
|
|
287
|
+
- test/dummy/db/migrate/20160108132352_create_push_type_taxonomies.push_type.rb
|
|
288
|
+
- test/dummy/db/migrate/20160108132353_create_push_type_taxonomy_hierarchies.push_type.rb
|
|
289
|
+
- test/dummy/db/migrate/20160108132354_add_field_store_default_values.push_type.rb
|
|
289
290
|
- test/dummy/db/schema.rb
|
|
290
291
|
- test/dummy/db/seeds.rb
|
|
291
292
|
- test/dummy/log/test.log
|
|
@@ -297,18 +298,18 @@ files:
|
|
|
297
298
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/0ANSDcZJu9gPyqtYPIW729qm1kriQ29Vn9LU8T2SGQU.cache
|
|
298
299
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/3T6ioyhwSsEzte_a9viHBvfmuKgORQ019srIEoUYkVs.cache
|
|
299
300
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache
|
|
300
|
-
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/
|
|
301
|
+
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/8FGH_ku24FOYEa6ACm3vyk_rZwODpSzv3MjZU4irm7M.cache
|
|
301
302
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/IYzwMwq7DWWSuojH6oXsrP__pcD7O8TQieMFSzQiwnc.cache
|
|
302
303
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache
|
|
303
304
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/_d65qW7wxRtKVSYpmfSenECz5QUWVI9pppUgV7TA1Rk.cache
|
|
304
|
-
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/
|
|
305
|
+
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/o8jETQIOAUNl34ED3ZTGdlVAlYRSl8zt6mfx4Wr1_Hs.cache
|
|
305
306
|
- test/dummy/tmp/generators/app/models/category.rb
|
|
306
307
|
- test/dummy/tmp/generators/app/views/taxonomies/category.html.erb
|
|
307
308
|
- test/fields/push_type/asset_field_test.rb
|
|
309
|
+
- test/fields/push_type/boolean_field_test.rb
|
|
308
310
|
- test/fields/push_type/date_field_test.rb
|
|
309
311
|
- test/fields/push_type/markdown_field_test.rb
|
|
310
312
|
- test/fields/push_type/matrix_field_test.rb
|
|
311
|
-
- test/fields/push_type/node_field_test.rb
|
|
312
313
|
- test/fields/push_type/number_field_test.rb
|
|
313
314
|
- test/fields/push_type/relation_field_test.rb
|
|
314
315
|
- test/fields/push_type/repeater_field_test.rb
|
|
@@ -316,7 +317,6 @@ files:
|
|
|
316
317
|
- test/fields/push_type/string_field_test.rb
|
|
317
318
|
- test/fields/push_type/structure_field_test.rb
|
|
318
319
|
- test/fields/push_type/tag_list_field_test.rb
|
|
319
|
-
- test/fields/push_type/taxonomy_field_test.rb
|
|
320
320
|
- test/fields/push_type/text_field_test.rb
|
|
321
321
|
- test/fields/push_type/time_field_test.rb
|
|
322
322
|
- test/files/audio.m3u
|
|
@@ -329,6 +329,7 @@ files:
|
|
|
329
329
|
- test/lib/generators/push_type/presenter_generator_test.rb
|
|
330
330
|
- test/lib/generators/push_type/structure_generator_test.rb
|
|
331
331
|
- test/lib/generators/push_type/taxonomy_generator_test.rb
|
|
332
|
+
- test/lib/push_type/core_exts_test.rb
|
|
332
333
|
- test/lib/push_type/core_test.rb
|
|
333
334
|
- test/lib/push_type/field_type_test.rb
|
|
334
335
|
- test/lib/push_type/menu_builder/menu_dsl_test.rb
|
|
@@ -366,9 +367,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
366
367
|
version: '0'
|
|
367
368
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
368
369
|
requirements:
|
|
369
|
-
- - "
|
|
370
|
+
- - ">"
|
|
370
371
|
- !ruby/object:Gem::Version
|
|
371
|
-
version:
|
|
372
|
+
version: 1.3.1
|
|
372
373
|
requirements: []
|
|
373
374
|
rubyforge_project:
|
|
374
375
|
rubygems_version: 2.4.2
|
|
@@ -411,13 +412,13 @@ test_files:
|
|
|
411
412
|
- test/dummy/config/routes.rb
|
|
412
413
|
- test/dummy/config/secrets.yml
|
|
413
414
|
- test/dummy/config.ru
|
|
414
|
-
- test/dummy/db/migrate/
|
|
415
|
-
- test/dummy/db/migrate/
|
|
416
|
-
- test/dummy/db/migrate/
|
|
417
|
-
- test/dummy/db/migrate/
|
|
418
|
-
- test/dummy/db/migrate/
|
|
419
|
-
- test/dummy/db/migrate/
|
|
420
|
-
- test/dummy/db/migrate/
|
|
415
|
+
- test/dummy/db/migrate/20160108132348_create_push_type_users.push_type.rb
|
|
416
|
+
- test/dummy/db/migrate/20160108132349_create_push_type_nodes.push_type.rb
|
|
417
|
+
- test/dummy/db/migrate/20160108132350_create_push_type_node_hierarchies.push_type.rb
|
|
418
|
+
- test/dummy/db/migrate/20160108132351_create_push_type_assets.push_type.rb
|
|
419
|
+
- test/dummy/db/migrate/20160108132352_create_push_type_taxonomies.push_type.rb
|
|
420
|
+
- test/dummy/db/migrate/20160108132353_create_push_type_taxonomy_hierarchies.push_type.rb
|
|
421
|
+
- test/dummy/db/migrate/20160108132354_add_field_store_default_values.push_type.rb
|
|
421
422
|
- test/dummy/db/schema.rb
|
|
422
423
|
- test/dummy/db/seeds.rb
|
|
423
424
|
- test/dummy/log/test.log
|
|
@@ -431,18 +432,18 @@ test_files:
|
|
|
431
432
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/0ANSDcZJu9gPyqtYPIW729qm1kriQ29Vn9LU8T2SGQU.cache
|
|
432
433
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/3T6ioyhwSsEzte_a9viHBvfmuKgORQ019srIEoUYkVs.cache
|
|
433
434
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache
|
|
435
|
+
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/8FGH_ku24FOYEa6ACm3vyk_rZwODpSzv3MjZU4irm7M.cache
|
|
434
436
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/_d65qW7wxRtKVSYpmfSenECz5QUWVI9pppUgV7TA1Rk.cache
|
|
435
|
-
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/ICYfNnwyQOM4ypAd7cL9ig1weq-ynnC7JO__sNCZo98.cache
|
|
436
437
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/IYzwMwq7DWWSuojH6oXsrP__pcD7O8TQieMFSzQiwnc.cache
|
|
438
|
+
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/o8jETQIOAUNl34ED3ZTGdlVAlYRSl8zt6mfx4Wr1_Hs.cache
|
|
437
439
|
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache
|
|
438
|
-
- test/dummy/tmp/cache/assets/test/sprockets/v3.0/tlOpTnaa_t4XAbGrJuMXP6N7RwkbFqu0Q3NnnTJGR_o.cache
|
|
439
440
|
- test/dummy/tmp/generators/app/models/category.rb
|
|
440
441
|
- test/dummy/tmp/generators/app/views/taxonomies/category.html.erb
|
|
441
442
|
- test/fields/push_type/asset_field_test.rb
|
|
443
|
+
- test/fields/push_type/boolean_field_test.rb
|
|
442
444
|
- test/fields/push_type/date_field_test.rb
|
|
443
445
|
- test/fields/push_type/markdown_field_test.rb
|
|
444
446
|
- test/fields/push_type/matrix_field_test.rb
|
|
445
|
-
- test/fields/push_type/node_field_test.rb
|
|
446
447
|
- test/fields/push_type/number_field_test.rb
|
|
447
448
|
- test/fields/push_type/relation_field_test.rb
|
|
448
449
|
- test/fields/push_type/repeater_field_test.rb
|
|
@@ -450,7 +451,6 @@ test_files:
|
|
|
450
451
|
- test/fields/push_type/string_field_test.rb
|
|
451
452
|
- test/fields/push_type/structure_field_test.rb
|
|
452
453
|
- test/fields/push_type/tag_list_field_test.rb
|
|
453
|
-
- test/fields/push_type/taxonomy_field_test.rb
|
|
454
454
|
- test/fields/push_type/text_field_test.rb
|
|
455
455
|
- test/fields/push_type/time_field_test.rb
|
|
456
456
|
- test/files/audio.m3u
|
|
@@ -463,6 +463,7 @@ test_files:
|
|
|
463
463
|
- test/lib/generators/push_type/presenter_generator_test.rb
|
|
464
464
|
- test/lib/generators/push_type/structure_generator_test.rb
|
|
465
465
|
- test/lib/generators/push_type/taxonomy_generator_test.rb
|
|
466
|
+
- test/lib/push_type/core_exts_test.rb
|
|
466
467
|
- test/lib/push_type/core_test.rb
|
|
467
468
|
- test/lib/push_type/field_type_test.rb
|
|
468
469
|
- test/lib/push_type/menu_builder/menu_dsl_test.rb
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
module PushType
|
|
2
|
-
class NodeField < RelationField
|
|
3
|
-
|
|
4
|
-
options template: 'relation', root: '/'
|
|
5
|
-
|
|
6
|
-
def relation_class
|
|
7
|
-
super
|
|
8
|
-
rescue NameError
|
|
9
|
-
PushType::Node
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def relation_root
|
|
13
|
-
root = relation_class.not_trash
|
|
14
|
-
root = root.find_by_path(@opts[:root].split('/')) unless @opts[:root] == '/'
|
|
15
|
-
root or raise "Cannot find root node at path '#{ @opts[:root] }'"
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
on_instance do |object, field|
|
|
19
|
-
object.class_eval do
|
|
20
|
-
define_method(field.relation_name.to_sym) do
|
|
21
|
-
field.relation_class.not_trash.find field.json_value unless field.json_value.blank?
|
|
22
|
-
end unless method_defined?(field.relation_name.to_sym)
|
|
23
|
-
end
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
end
|
|
27
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module PushType
|
|
2
|
-
class TaxonomyField < RelationField
|
|
3
|
-
|
|
4
|
-
options template: 'relation'
|
|
5
|
-
|
|
6
|
-
def relation_class
|
|
7
|
-
super
|
|
8
|
-
rescue NameError
|
|
9
|
-
PushType::Taxonomy
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
on_instance do |object, field|
|
|
13
|
-
object.class_eval do
|
|
14
|
-
define_method(field.relation_name.to_sym) do
|
|
15
|
-
field.relation_class.find field.json_value unless field.json_value.blank?
|
|
16
|
-
end unless method_defined?(field.relation_name.to_sym)
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
require 'test_helper'
|
|
2
|
-
|
|
3
|
-
module PushType
|
|
4
|
-
class NodeFieldTest < ActiveSupport::TestCase
|
|
5
|
-
|
|
6
|
-
class TestPage < PushType::Node
|
|
7
|
-
field :page_id, :node
|
|
8
|
-
field :bar_ids, :node, multiple: true, to: 'page', root: 'foo-bar'
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
before do
|
|
12
|
-
root = Page.create FactoryGirl.attributes_for(:node, slug: 'foo-bar')
|
|
13
|
-
@pages = 4.times.map { Page.create FactoryGirl.attributes_for(:node) }
|
|
14
|
-
@bars = 2.times.map { Page.create FactoryGirl.attributes_for(:node, parent_id: root.id) }
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
let(:node) { TestPage.create FactoryGirl.attributes_for(:node, page_id: rel.id, bar_ids: @bars.map(&:id)) }
|
|
18
|
-
let(:rel) { @pages.first }
|
|
19
|
-
let(:foo) { node.fields[:page_id] }
|
|
20
|
-
let(:bar) { node.fields[:bar_ids] }
|
|
21
|
-
|
|
22
|
-
it { foo.json_primitive.must_equal :string }
|
|
23
|
-
it { foo.template.must_equal 'relation' }
|
|
24
|
-
it { foo.wont_be :multiple? }
|
|
25
|
-
it { foo.label.must_equal 'Page' }
|
|
26
|
-
it { foo.html_options.keys.must_include :multiple }
|
|
27
|
-
it { foo.json_value.must_equal rel.id }
|
|
28
|
-
it { foo.value.must_equal rel.id }
|
|
29
|
-
it { foo.choices.size.must_equal 7 }
|
|
30
|
-
it { foo.choices.map { |c| c[:value] }.must_include rel.id }
|
|
31
|
-
it { foo.relation_name.must_equal 'page' }
|
|
32
|
-
it { foo.relation_class.must_equal Page }
|
|
33
|
-
|
|
34
|
-
it { bar.json_primitive.must_equal :array }
|
|
35
|
-
it { bar.must_be :multiple? }
|
|
36
|
-
it { bar.label.must_equal 'Bars' }
|
|
37
|
-
it { bar.json_value.must_equal @bars.map(&:id) }
|
|
38
|
-
it { bar.value.must_equal @bars.map(&:id) }
|
|
39
|
-
it { bar.choices.size.must_equal 3 }
|
|
40
|
-
it { bar.relation_name.must_equal 'bars' }
|
|
41
|
-
|
|
42
|
-
it { node.page_id.must_equal rel.id }
|
|
43
|
-
it { node.page.must_equal rel }
|
|
44
|
-
it { node.bar_ids.must_equal @bars.map(&:id) }
|
|
45
|
-
it { node.bars.sort.must_equal @bars.sort }
|
|
46
|
-
|
|
47
|
-
end
|
|
48
|
-
end
|