forest_liana 6.0.0.pre.beta.3 → 6.0.3

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 (32) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/forest_liana/actions_controller.rb +12 -2
  3. data/app/controllers/forest_liana/authentication_controller.rb +5 -21
  4. data/app/serializers/forest_liana/stripe_invoice_serializer.rb +5 -5
  5. data/app/services/forest_liana/authentication.rb +0 -2
  6. data/app/services/forest_liana/authorization_getter.rb +23 -21
  7. data/app/services/forest_liana/oidc_client_manager.rb +9 -5
  8. data/app/services/forest_liana/resource_creator.rb +1 -1
  9. data/app/services/forest_liana/resource_updater.rb +3 -3
  10. data/app/services/forest_liana/schema_utils.rb +8 -3
  11. data/app/services/forest_liana/stripe_invoice_getter.rb +1 -1
  12. data/app/services/forest_liana/stripe_invoices_getter.rb +1 -1
  13. data/app/services/forest_liana/stripe_source_getter.rb +1 -1
  14. data/app/services/forest_liana/stripe_sources_getter.rb +1 -1
  15. data/config/initializers/error-messages.rb +3 -0
  16. data/config/initializers/errors.rb +21 -2
  17. data/config/routes.rb +0 -4
  18. data/lib/forest_liana.rb +1 -0
  19. data/lib/forest_liana/bootstrapper.rb +12 -5
  20. data/lib/forest_liana/version.rb +1 -1
  21. data/lib/generators/forest_liana/install_generator.rb +13 -5
  22. data/spec/requests/actions_controller_spec.rb +49 -1
  23. data/spec/requests/authentications_spec.rb +7 -20
  24. data/test/routing/route_test.rb +0 -12
  25. data/test/services/forest_liana/resources_getter_test.rb +1 -1
  26. metadata +119 -154
  27. data/app/controllers/forest_liana/sessions_controller.rb +0 -95
  28. data/app/serializers/forest_liana/session_serializer.rb +0 -33
  29. data/app/services/forest_liana/login_handler.rb +0 -99
  30. data/app/services/forest_liana/two_factor_registration_confirmer.rb +0 -36
  31. data/app/services/forest_liana/user_secret_creator.rb +0 -26
  32. data/spec/requests/sessions_spec.rb +0 -53
@@ -35,6 +35,11 @@ describe 'Requesting Actions routes', :type => :request do
35
35
  type: 'Enum',
36
36
  enums: %w[a b c],
37
37
  }
38
+ multiple_enum = {
39
+ field: 'multipleEnum',
40
+ type: ['Enum'],
41
+ enums: %w[a b c],
42
+ }
38
43
 
39
44
  action_definition = {
40
45
  name: 'my_action',
@@ -95,12 +100,28 @@ describe 'Requesting Actions routes', :type => :request do
95
100
  }
96
101
  }
97
102
  }
103
+
104
+ multiple_enums_action_definition = {
105
+ name: 'multiple_enums_action',
106
+ fields: [foo, multiple_enum],
107
+ hooks: {
108
+ :change => {
109
+ 'foo' => -> (context) {
110
+ fields = context[:fields]
111
+ fields['multipleEnum'][:enums] = %w[c d z]
112
+ return fields
113
+ }
114
+ }
115
+ }
116
+ }
117
+
98
118
  action = ForestLiana::Model::Action.new(action_definition)
99
119
  fail_action = ForestLiana::Model::Action.new(fail_action_definition)
100
120
  cheat_action = ForestLiana::Model::Action.new(cheat_action_definition)
101
121
  enums_action = ForestLiana::Model::Action.new(enums_action_definition)
122
+ multiple_enums_action = ForestLiana::Model::Action.new(multiple_enums_action_definition)
102
123
  island = ForestLiana.apimap.find {|collection| collection.name.to_s == ForestLiana.name_for(Island)}
103
- island.actions = [action, fail_action, cheat_action, enums_action]
124
+ island.actions = [action, fail_action, cheat_action, enums_action, multiple_enums_action]
104
125
 
105
126
  describe 'call /load' do
106
127
  params = {recordIds: [1], collectionName: 'Island'}
@@ -169,6 +190,33 @@ describe 'Requesting Actions routes', :type => :request do
169
190
  expect(JSON.parse(response.body)).to eq({'fields' => [expected_foo.stringify_keys, expected_enum.stringify_keys]})
170
191
  end
171
192
 
193
+ it 'should not reset value when every enum values are in the enums definition' do
194
+ updated_multiple_enum = multiple_enum.clone.merge({:previousValue => nil, :value => %w[c]})
195
+ p = {recordIds: [1], fields: [foo, updated_multiple_enum], collectionName: 'Island', changedField: 'foo'}
196
+ post '/forest/actions/multiple_enums_action/hooks/change', params: JSON.dump(p), headers: { 'CONTENT_TYPE' => 'application/json' }
197
+ expect(response.status).to eq(200)
198
+
199
+ expected_multiple_enum = updated_multiple_enum.clone.merge({ :enums => %w[c d z], :widgetEdit => nil, :value => %w[c]})
200
+ expected_multiple_enum.delete(:widget)
201
+ expected_foo = foo.clone.merge({ :widgetEdit => nil})
202
+ expected_foo.delete(:widget)
203
+
204
+ expect(JSON.parse(response.body)).to eq({'fields' => [expected_foo.stringify_keys, expected_multiple_enum.stringify_keys]})
205
+ end
206
+
207
+ it 'should reset value when one of the enum values is not in the enums definition' do
208
+ wrongly_updated_multiple_enum = multiple_enum.clone.merge({:previousValue => nil, :value => %w[a b]})
209
+ p = {recordIds: [1], fields: [foo, wrongly_updated_multiple_enum], collectionName: 'Island', changedField: 'foo'}
210
+ post '/forest/actions/multiple_enums_action/hooks/change', params: JSON.dump(p), headers: { 'CONTENT_TYPE' => 'application/json' }
211
+ expect(response.status).to eq(200)
212
+
213
+ expected_multiple_enum = wrongly_updated_multiple_enum.clone.merge({ :enums => %w[c d z], :widgetEdit => nil, :value => nil })
214
+ expected_multiple_enum.delete(:widget)
215
+ expected_foo = foo.clone.merge({ :widgetEdit => nil})
216
+ expected_foo.delete(:widget)
217
+
218
+ expect(JSON.parse(response.body)).to eq({'fields' => [expected_foo.stringify_keys, expected_multiple_enum.stringify_keys]})
219
+ end
172
220
  end
173
221
  end
174
222
  end
@@ -33,12 +33,13 @@ describe "Authentications", type: :request do
33
33
  }
34
34
  end
35
35
 
36
- it "should respond with a 302 code" do
37
- expect(response).to have_http_status(302)
36
+ it "should respond with a 200 code" do
37
+ expect(response).to have_http_status(200)
38
38
  end
39
39
 
40
40
  it "should return a valid authentication url" do
41
- expect(response.headers['Location']).to eq('https://api.forestadmin.com/oidc/auth?client_id=random_id&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fforest%2Fauthentication%2Fcallback&response_type=code&scope=openid%20email%20profile&state=%7B%22renderingId%22%3D%3E42%7D')
41
+ body = JSON.parse(response.body, :symbolize_names => true)
42
+ expect(body[:authorizationUrl]).to eq('https://api.forestadmin.com/oidc/auth?client_id=random_id&redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fforest%2Fauthentication%2Fcallback&response_type=code&scope=openid%20email%20profile&state=%7B%22renderingId%22%3D%3E42%7D')
42
43
  end
43
44
  end
44
45
 
@@ -59,10 +60,9 @@ describe "Authentications", type: :request do
59
60
  end
60
61
 
61
62
  it "should return a valid authentication token" do
62
- session_cookie = response.headers['set-cookie']
63
- expect(session_cookie).to match(/^forest_session_token=[^;]+; path=\/; expires=[^;]+; secure; HttpOnly$/)
63
+ body = JSON.parse(response.body, :symbolize_names => true);
64
64
 
65
- token = session_cookie.match(/^forest_session_token=([^;]+);/)[1]
65
+ token = body[:token]
66
66
  decoded = JWT.decode(token, ForestLiana.auth_secret, true, { algorithm: 'HS256' })[0]
67
67
 
68
68
  expected_token_data = {
@@ -75,31 +75,18 @@ describe "Authentications", type: :request do
75
75
  }
76
76
 
77
77
  expect(decoded).to include(expected_token_data)
78
- expect(JSON.parse(response.body, :symbolize_names => true)).to eq({ token: token, tokenData: decoded.deep_symbolize_keys! })
78
+ expect(body).to eq({ token: token, tokenData: decoded.deep_symbolize_keys! })
79
79
  expect(response).to have_http_status(200)
80
80
  end
81
81
  end
82
82
 
83
83
  describe "POST /authentication/logout" do
84
84
  before() do
85
- cookies['forest_session_token'] = {
86
- value: 'eyJhbGciOiJIUzI1NiJ9.eyJpZCI6NjY2LCJlbWFpbCI6ImFsaWNlQGZvcmVzdGFkbWluLmNvbSIsImZpcnN0X25hbWUiOiJBbGljZSIsImxhc3RfbmFtZSI6IkRvZSIsInRlYW0iOjEsInJlbmRlcmluZ19pZCI6IjQyIiwiZXhwIjoxNjA4MDQ5MTI2fQ.5xaMxjUjE3wKldBsj3wW0BP9GHnnMqQi2Kpde8cIHEw',
87
- path: '/',
88
- expires: Time.now.to_i + 14.days,
89
- secure: true,
90
- httponly: true
91
- }
92
85
  post ForestLiana::Engine.routes.url_helpers.authentication_logout_path, params: { :renderingId => 42 }, :headers => headers
93
- cookies.delete('forest_session_token')
94
86
  end
95
87
 
96
88
  it "should respond with a 204 code" do
97
89
  expect(response).to have_http_status(204)
98
90
  end
99
-
100
- it "should invalidate token from browser" do
101
- invalidated_session_cookie = response.headers['set-cookie']
102
- expect(invalidated_session_cookie).to match(/^forest_session_token=[^;]+; path=\/; expires=Thu, 01 Jan 1970 00:00:00 GMT; secure; HttpOnly$/)
103
- end
104
91
  end
105
92
  end
@@ -12,18 +12,6 @@ module ForestLiana
12
12
  controller: 'forest_liana/apimaps', action: 'index'
13
13
  })
14
14
 
15
- # Session
16
- assert_routing({
17
- method: 'post', path: 'sessions'
18
- }, {
19
- controller: 'forest_liana/sessions', action: 'create_with_password'
20
- })
21
- assert_routing({
22
- method: 'post', path: 'sessions-google'
23
- }, {
24
- controller: 'forest_liana/sessions', action: 'create_with_google'
25
- })
26
-
27
15
  # Associations
28
16
  assert_routing({
29
17
  method: 'get', path: ':collection/:id/relationships/:association_name'
@@ -106,7 +106,7 @@ module ForestLiana
106
106
  conditions: [{
107
107
  field: 'created_at',
108
108
  operator: 'after',
109
- value: '2015-06-18 08:00:00',
109
+ value: "#{Time.now.year - 5}-06-18 08:00:00",
110
110
  }, {
111
111
  field: 'owner:name',
112
112
  operator: 'equal',
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forest_liana
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0.pre.beta.3
4
+ version: 6.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sandro Munda
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-14 00:00:00.000000000 Z
11
+ date: 2021-03-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -122,34 +122,6 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
- - !ruby/object:Gem::Dependency
126
- name: rotp
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - ">="
130
- - !ruby/object:Gem::Version
131
- version: '0'
132
- type: :runtime
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ">="
137
- - !ruby/object:Gem::Version
138
- version: '0'
139
- - !ruby/object:Gem::Dependency
140
- name: base32
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - ">="
144
- - !ruby/object:Gem::Version
145
- version: '0'
146
- type: :runtime
147
- prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: '0'
153
125
  - !ruby/object:Gem::Dependency
154
126
  name: httparty
155
127
  requirement: !ruby/object:Gem::Requirement
@@ -246,7 +218,6 @@ files:
246
218
  - app/controllers/forest_liana/mixpanel_controller.rb
247
219
  - app/controllers/forest_liana/resources_controller.rb
248
220
  - app/controllers/forest_liana/router.rb
249
- - app/controllers/forest_liana/sessions_controller.rb
250
221
  - app/controllers/forest_liana/smart_actions_controller.rb
251
222
  - app/controllers/forest_liana/stats_controller.rb
252
223
  - app/controllers/forest_liana/stripe_controller.rb
@@ -267,7 +238,6 @@ files:
267
238
  - app/serializers/forest_liana/mixpanel_event_serializer.rb
268
239
  - app/serializers/forest_liana/schema_serializer.rb
269
240
  - app/serializers/forest_liana/serializer_factory.rb
270
- - app/serializers/forest_liana/session_serializer.rb
271
241
  - app/serializers/forest_liana/stat_serializer.rb
272
242
  - app/serializers/forest_liana/stripe_bank_account_serializer.rb
273
243
  - app/serializers/forest_liana/stripe_card_serializer.rb
@@ -294,7 +264,6 @@ files:
294
264
  - app/services/forest_liana/leaderboard_stat_getter.rb
295
265
  - app/services/forest_liana/line_stat_getter.rb
296
266
  - app/services/forest_liana/live_query_checker.rb
297
- - app/services/forest_liana/login_handler.rb
298
267
  - app/services/forest_liana/mixpanel_last_events_getter.rb
299
268
  - app/services/forest_liana/objective_stat_getter.rb
300
269
  - app/services/forest_liana/oidc_client_manager.rb
@@ -326,8 +295,6 @@ files:
326
295
  - app/services/forest_liana/stripe_subscription_getter.rb
327
296
  - app/services/forest_liana/stripe_subscriptions_getter.rb
328
297
  - app/services/forest_liana/token.rb
329
- - app/services/forest_liana/two_factor_registration_confirmer.rb
330
- - app/services/forest_liana/user_secret_creator.rb
331
298
  - app/services/forest_liana/utils/beta_schema_utils.rb
332
299
  - app/services/forest_liana/value_stat_getter.rb
333
300
  - app/views/layouts/forest_liana/application.html.erb
@@ -397,7 +364,6 @@ files:
397
364
  - spec/requests/actions_controller_spec.rb
398
365
  - spec/requests/authentications_spec.rb
399
366
  - spec/requests/resources_spec.rb
400
- - spec/requests/sessions_spec.rb
401
367
  - spec/services/forest_liana/apimap_sorter_spec.rb
402
368
  - spec/services/forest_liana/filters_parser_spec.rb
403
369
  - spec/services/forest_liana/ip_whitelist_checker_spec.rb
@@ -503,7 +469,7 @@ homepage: https://github.com/ForestAdmin/forest-rails
503
469
  licenses:
504
470
  - GPL-3.0
505
471
  metadata: {}
506
- post_install_message:
472
+ post_install_message:
507
473
  rdoc_options: []
508
474
  require_paths:
509
475
  - lib
@@ -514,162 +480,161 @@ required_ruby_version: !ruby/object:Gem::Requirement
514
480
  version: '0'
515
481
  required_rubygems_version: !ruby/object:Gem::Requirement
516
482
  requirements:
517
- - - ">"
483
+ - - ">="
518
484
  - !ruby/object:Gem::Version
519
- version: 1.3.1
485
+ version: '0'
520
486
  requirements: []
521
- rubygems_version: 3.0.8
522
- signing_key:
487
+ rubygems_version: 3.1.2
488
+ signing_key:
523
489
  specification_version: 4
524
490
  summary: Official Rails Liana for Forest
525
491
  test_files:
526
- - test/fixtures/owner.yml
527
- - test/fixtures/belongs_to_field.yml
528
- - test/fixtures/has_many_through_field.yml
529
- - test/fixtures/tree.yml
530
- - test/fixtures/has_one_field.yml
531
- - test/fixtures/reference.yml
532
- - test/fixtures/serialize_field.yml
533
- - test/fixtures/has_many_field.yml
534
- - test/fixtures/string_field.yml
535
- - test/services/forest_liana/resources_getter_test.rb
536
- - test/services/forest_liana/scope_validator_test.rb
537
- - test/services/forest_liana/schema_adapter_test.rb
538
- - test/services/forest_liana/has_many_getter_test.rb
539
- - test/services/forest_liana/value_stat_getter_test.rb
540
- - test/services/forest_liana/resource_updater_test.rb
541
- - test/services/forest_liana/pie_stat_getter_test.rb
542
- - test/test_helper.rb
543
- - test/dummy/README.rdoc
492
+ - test/dummy/config/application.rb
493
+ - test/dummy/config/database.yml
494
+ - test/dummy/config/environment.rb
495
+ - test/dummy/config/locales/en.yml
496
+ - test/dummy/config/secrets.yml
497
+ - test/dummy/config/environments/development.rb
498
+ - test/dummy/config/environments/test.rb
499
+ - test/dummy/config/environments/production.rb
500
+ - test/dummy/config/boot.rb
501
+ - test/dummy/config/initializers/session_store.rb
502
+ - test/dummy/config/initializers/mime_types.rb
503
+ - test/dummy/config/initializers/cookies_serializer.rb
504
+ - test/dummy/config/initializers/wrap_parameters.rb
505
+ - test/dummy/config/initializers/inflections.rb
506
+ - test/dummy/config/initializers/filter_parameter_logging.rb
507
+ - test/dummy/config/initializers/assets.rb
508
+ - test/dummy/config/initializers/backtrace_silencers.rb
509
+ - test/dummy/config/routes.rb
510
+ - test/dummy/app/assets/config/manifest.js
511
+ - test/dummy/app/assets/stylesheets/application.css
512
+ - test/dummy/app/assets/javascripts/application.js
544
513
  - test/dummy/app/views/layouts/application.html.erb
545
- - test/dummy/app/models/has_many_field.rb
514
+ - test/dummy/app/controllers/application_controller.rb
515
+ - test/dummy/app/models/tree.rb
516
+ - test/dummy/app/models/reference.rb
517
+ - test/dummy/app/models/belongs_to_field.rb
546
518
  - test/dummy/app/models/string_field.rb
547
- - test/dummy/app/models/has_and_belongs_to_many_field.rb
548
519
  - test/dummy/app/models/has_many_through_field.rb
549
520
  - test/dummy/app/models/has_many_class_name_field.rb
550
- - test/dummy/app/models/has_one_field.rb
551
521
  - test/dummy/app/models/date_field.rb
522
+ - test/dummy/app/models/polymorphic_field.rb
552
523
  - test/dummy/app/models/boolean_field.rb
553
- - test/dummy/app/models/float_field.rb
554
- - test/dummy/app/models/reference.rb
555
524
  - test/dummy/app/models/belongs_to_class_name_field.rb
556
- - test/dummy/app/models/polymorphic_field.rb
557
- - test/dummy/app/models/tree.rb
525
+ - test/dummy/app/models/has_one_field.rb
526
+ - test/dummy/app/models/has_many_field.rb
527
+ - test/dummy/app/models/has_and_belongs_to_many_field.rb
558
528
  - test/dummy/app/models/decimal_field.rb
529
+ - test/dummy/app/models/owner.rb
559
530
  - test/dummy/app/models/serialize_field.rb
560
531
  - test/dummy/app/models/integer_field.rb
561
- - test/dummy/app/models/belongs_to_field.rb
562
- - test/dummy/app/models/owner.rb
532
+ - test/dummy/app/models/float_field.rb
563
533
  - test/dummy/app/helpers/application_helper.rb
564
- - test/dummy/app/assets/javascripts/application.js
565
- - test/dummy/app/assets/stylesheets/application.css
566
- - test/dummy/app/assets/config/manifest.js
567
- - test/dummy/app/controllers/application_controller.rb
568
534
  - test/dummy/Rakefile
535
+ - test/dummy/config.ru
536
+ - test/dummy/README.rdoc
537
+ - test/dummy/bin/rails
569
538
  - test/dummy/bin/rake
570
539
  - test/dummy/bin/bundle
571
- - test/dummy/bin/rails
572
540
  - test/dummy/bin/setup
541
+ - test/dummy/public/favicon.ico
542
+ - test/dummy/public/422.html
573
543
  - test/dummy/public/404.html
574
544
  - test/dummy/public/500.html
575
- - test/dummy/public/422.html
576
- - test/dummy/public/favicon.ico
577
- - test/dummy/config.ru
578
- - test/dummy/db/migrate/20181111162121_create_references_table.rb
545
+ - test/dummy/db/schema.rb
579
546
  - test/dummy/db/migrate/20150608131430_create_integer_field.rb
580
- - test/dummy/db/migrate/20160628173505_add_timestamps.rb
547
+ - test/dummy/db/migrate/20181111162121_create_references_table.rb
548
+ - test/dummy/db/migrate/20150608130516_create_date_field.rb
581
549
  - test/dummy/db/migrate/20160627172810_create_owner.rb
582
- - test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
550
+ - test/dummy/db/migrate/20150609114636_create_belongs_to_class_name_field.rb
551
+ - test/dummy/db/migrate/20170614141921_create_serialize_field.rb
583
552
  - test/dummy/db/migrate/20150608132159_create_boolean_field.rb
584
- - test/dummy/db/migrate/20150608131603_create_decimal_field.rb
585
553
  - test/dummy/db/migrate/20150616150629_create_polymorphic_field.rb
554
+ - test/dummy/db/migrate/20160627172951_create_tree.rb
555
+ - test/dummy/db/migrate/20150608132621_create_string_field.rb
556
+ - test/dummy/db/migrate/20150608150016_create_has_many_field.rb
586
557
  - test/dummy/db/migrate/20150612112520_create_has_and_belongs_to_many_field.rb
587
- - test/dummy/db/migrate/20150608131610_create_float_field.rb
558
+ - test/dummy/db/migrate/20150814081918_create_has_many_through_field.rb
588
559
  - test/dummy/db/migrate/20150608133038_create_belongs_to_field.rb
589
- - test/dummy/db/migrate/20150608150016_create_has_many_field.rb
590
- - test/dummy/db/migrate/20150609114636_create_belongs_to_class_name_field.rb
591
- - test/dummy/db/migrate/20170614141921_create_serialize_field.rb
592
- - test/dummy/db/migrate/20150608132621_create_string_field.rb
593
- - test/dummy/db/migrate/20150608133044_create_has_one_field.rb
594
560
  - test/dummy/db/migrate/20150623115554_create_has_many_class_name_field.rb
595
- - test/dummy/db/migrate/20150608130516_create_date_field.rb
596
- - test/dummy/db/migrate/20160627172951_create_tree.rb
597
- - test/dummy/db/schema.rb
598
- - test/dummy/config/routes.rb
599
- - test/dummy/config/environment.rb
600
- - test/dummy/config/secrets.yml
601
- - test/dummy/config/application.rb
602
- - test/dummy/config/boot.rb
603
- - test/dummy/config/environments/test.rb
604
- - test/dummy/config/environments/development.rb
605
- - test/dummy/config/environments/production.rb
606
- - test/dummy/config/locales/en.yml
607
- - test/dummy/config/initializers/wrap_parameters.rb
608
- - test/dummy/config/initializers/mime_types.rb
609
- - test/dummy/config/initializers/filter_parameter_logging.rb
610
- - test/dummy/config/initializers/assets.rb
611
- - test/dummy/config/initializers/session_store.rb
612
- - test/dummy/config/initializers/inflections.rb
613
- - test/dummy/config/initializers/cookies_serializer.rb
614
- - test/dummy/config/initializers/backtrace_silencers.rb
615
- - test/dummy/config/database.yml
616
- - test/forest_liana_test.rb
561
+ - test/dummy/db/migrate/20160628173505_add_timestamps.rb
562
+ - test/dummy/db/migrate/20150608133044_create_has_one_field.rb
563
+ - test/dummy/db/migrate/20150608131610_create_float_field.rb
564
+ - test/dummy/db/migrate/20150608131603_create_decimal_field.rb
565
+ - test/fixtures/tree.yml
566
+ - test/fixtures/has_many_through_field.yml
567
+ - test/fixtures/owner.yml
568
+ - test/fixtures/has_many_field.yml
569
+ - test/fixtures/string_field.yml
570
+ - test/fixtures/serialize_field.yml
571
+ - test/fixtures/has_one_field.yml
572
+ - test/fixtures/reference.yml
573
+ - test/fixtures/belongs_to_field.yml
574
+ - test/services/forest_liana/value_stat_getter_test.rb
575
+ - test/services/forest_liana/resources_getter_test.rb
576
+ - test/services/forest_liana/has_many_getter_test.rb
577
+ - test/services/forest_liana/resource_updater_test.rb
578
+ - test/services/forest_liana/pie_stat_getter_test.rb
579
+ - test/services/forest_liana/schema_adapter_test.rb
580
+ - test/services/forest_liana/scope_validator_test.rb
617
581
  - test/routing/route_test.rb
618
- - spec/services/forest_liana/permissions_formatter_spec.rb
619
- - spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
620
- - spec/services/forest_liana/ip_whitelist_checker_spec.rb
621
- - spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
622
- - spec/services/forest_liana/schema_adapter_spec.rb
623
- - spec/services/forest_liana/apimap_sorter_spec.rb
624
- - spec/services/forest_liana/filters_parser_spec.rb
625
- - spec/services/forest_liana/permissions_getter_spec.rb
626
- - spec/spec_helper.rb
627
- - spec/requests/actions_controller_spec.rb
628
- - spec/requests/sessions_spec.rb
629
- - spec/requests/authentications_spec.rb
630
- - spec/requests/resources_spec.rb
631
- - spec/dummy/README.rdoc
582
+ - test/forest_liana_test.rb
583
+ - test/test_helper.rb
584
+ - spec/dummy/config/application.rb
585
+ - spec/dummy/config/database.yml
586
+ - spec/dummy/config/environment.rb
587
+ - spec/dummy/config/secrets.yml
588
+ - spec/dummy/config/environments/development.rb
589
+ - spec/dummy/config/environments/test.rb
590
+ - spec/dummy/config/environments/production.rb
591
+ - spec/dummy/config/boot.rb
592
+ - spec/dummy/config/initializers/session_store.rb
593
+ - spec/dummy/config/initializers/mime_types.rb
594
+ - spec/dummy/config/initializers/cookies_serializer.rb
595
+ - spec/dummy/config/initializers/wrap_parameters.rb
596
+ - spec/dummy/config/initializers/inflections.rb
597
+ - spec/dummy/config/initializers/forest_liana.rb
598
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
599
+ - spec/dummy/config/initializers/assets.rb
600
+ - spec/dummy/config/initializers/backtrace_silencers.rb
601
+ - spec/dummy/config/routes.rb
602
+ - spec/dummy/app/config/routes.rb
603
+ - spec/dummy/app/assets/config/manifest.js
604
+ - spec/dummy/app/assets/stylesheets/application.css
605
+ - spec/dummy/app/assets/javascripts/application.js
632
606
  - spec/dummy/app/views/layouts/application.html.erb
633
- - spec/dummy/app/models/island.rb
634
- - spec/dummy/app/models/user.rb
607
+ - spec/dummy/app/controllers/application_controller.rb
635
608
  - spec/dummy/app/models/tree.rb
609
+ - spec/dummy/app/models/user.rb
610
+ - spec/dummy/app/models/island.rb
636
611
  - spec/dummy/app/helpers/application_helper.rb
637
- - spec/dummy/app/assets/javascripts/application.js
638
- - spec/dummy/app/assets/stylesheets/application.css
639
- - spec/dummy/app/assets/config/manifest.js
640
- - spec/dummy/app/config/routes.rb
641
- - spec/dummy/app/controllers/application_controller.rb
642
612
  - spec/dummy/Rakefile
613
+ - spec/dummy/config.ru
614
+ - spec/dummy/README.rdoc
615
+ - spec/dummy/bin/rails
643
616
  - spec/dummy/bin/rake
644
617
  - spec/dummy/bin/bundle
645
- - spec/dummy/bin/rails
646
618
  - spec/dummy/bin/setup
647
- - spec/dummy/config.ru
619
+ - spec/dummy/db/schema.rb
620
+ - spec/dummy/db/migrate/20190226173051_create_isle.rb
648
621
  - spec/dummy/db/migrate/20190226174951_create_tree.rb
622
+ - spec/dummy/db/migrate/20190226172951_create_user.rb
649
623
  - spec/dummy/db/migrate/20190716135241_add_type_to_user.rb
650
- - spec/dummy/db/migrate/20190226173051_create_isle.rb
651
624
  - spec/dummy/db/migrate/20190716130830_add_age_to_tree.rb
652
- - spec/dummy/db/migrate/20190226172951_create_user.rb
653
- - spec/dummy/db/schema.rb
654
- - spec/dummy/config/routes.rb
655
- - spec/dummy/config/environment.rb
656
- - spec/dummy/config/secrets.yml
657
- - spec/dummy/config/application.rb
658
- - spec/dummy/config/boot.rb
659
- - spec/dummy/config/environments/test.rb
660
- - spec/dummy/config/environments/development.rb
661
- - spec/dummy/config/environments/production.rb
662
- - spec/dummy/config/initializers/wrap_parameters.rb
663
- - spec/dummy/config/initializers/forest_liana.rb
664
- - spec/dummy/config/initializers/mime_types.rb
665
- - spec/dummy/config/initializers/filter_parameter_logging.rb
666
- - spec/dummy/config/initializers/assets.rb
667
- - spec/dummy/config/initializers/session_store.rb
668
- - spec/dummy/config/initializers/inflections.rb
669
- - spec/dummy/config/initializers/cookies_serializer.rb
670
- - spec/dummy/config/initializers/backtrace_silencers.rb
671
- - spec/dummy/config/database.yml
625
+ - spec/requests/resources_spec.rb
626
+ - spec/requests/authentications_spec.rb
627
+ - spec/requests/actions_controller_spec.rb
628
+ - spec/spec_helper.rb
629
+ - spec/services/forest_liana/filters_parser_spec.rb
630
+ - spec/services/forest_liana/permissions_checker_acl_disabled_spec.rb
631
+ - spec/services/forest_liana/schema_adapter_spec.rb
632
+ - spec/services/forest_liana/permissions_checker_acl_enabled_spec.rb
633
+ - spec/services/forest_liana/apimap_sorter_spec.rb
634
+ - spec/services/forest_liana/permissions_getter_spec.rb
635
+ - spec/services/forest_liana/ip_whitelist_checker_spec.rb
636
+ - spec/services/forest_liana/permissions_formatter_spec.rb
637
+ - spec/rails_helper.rb
672
638
  - spec/helpers/forest_liana/schema_helper_spec.rb
673
639
  - spec/helpers/forest_liana/is_same_data_structure_helper_spec.rb
674
640
  - spec/helpers/forest_liana/query_helper_spec.rb
675
- - spec/rails_helper.rb