forest_liana 1.8.1 → 1.9.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 23ea47129405d59f5c99fe59decdc4a4d811f112
4
- data.tar.gz: f2733dc8c0a556866cbf51de9747fd8ca9124994
3
+ metadata.gz: eb536a1e4e065230ec20382ed1a94946decf81d6
4
+ data.tar.gz: 2e4604060f841044a86a7645395e2c78e28b6907
5
5
  SHA512:
6
- metadata.gz: 96c741bd5aff948d4fc5856e66ccc6a0d116f4e35cce02169e05b20ccb4d52812ca4b91e8b89379226004b668d52d4bf645c0f1637af6c72c1dd33c8719e9005
7
- data.tar.gz: f29af342b0e30a72d9a05aecb10c1cddc14b5670e4fed140a50583e03d1875af92c8dfb500b33c7c25dce088d58a4041766dbae676caa4a73860f6e97deb765a
6
+ metadata.gz: 6be78a0e9cf2b6e00aed353a043e20cc404c2ce9255843545a5e2121a900ff2f8396d53fb9435e8c214e2a9c0b8ef482d95a2e986bbfbf33e2c365bd3b9964c5
7
+ data.tar.gz: 310a836bb32528b14fef49f8dd95dc8549335a36193ab8c44c96db46b746db26729693a043b72707cdebabc466a7f4d8df7fbfc2e00bb88066f800114ff83392
@@ -87,7 +87,7 @@ module ForestLiana
87
87
  type: ['String'],
88
88
  reference: "#{model_name}_intercom_conversations.id",
89
89
  column: nil,
90
- is_searchable: false,
90
+ 'is-filterable': false,
91
91
  integration: 'intercom'
92
92
  }
93
93
 
@@ -96,7 +96,7 @@ module ForestLiana
96
96
  type: 'String',
97
97
  reference: "#{model_name}_intercom_attributes.id",
98
98
  column: nil,
99
- is_searchable: false,
99
+ 'is-filterable': false,
100
100
  integration: 'intercom'
101
101
  }
102
102
  end
@@ -117,7 +117,7 @@ module ForestLiana
117
117
  type: ['String'],
118
118
  reference: "#{model_name}_stripe_payments.id",
119
119
  column: nil,
120
- is_searchable: false,
120
+ 'is-filterable': false,
121
121
  integration: 'stripe'
122
122
  }
123
123
 
@@ -126,7 +126,7 @@ module ForestLiana
126
126
  type: ['String'],
127
127
  reference: "#{model_name}_stripe_invoices.id",
128
128
  column: nil,
129
- is_searchable: false,
129
+ 'is-filterable': false,
130
130
  integration: 'stripe'
131
131
  }
132
132
 
@@ -135,7 +135,7 @@ module ForestLiana
135
135
  type: ['String'],
136
136
  reference: "#{model_name}_stripe_cards.id",
137
137
  column: nil,
138
- is_searchable: false,
138
+ 'is-filterable': false,
139
139
  integration: 'stripe'
140
140
  }
141
141
 
@@ -144,7 +144,7 @@ module ForestLiana
144
144
  type: ['String'],
145
145
  reference: "#{model_name}_stripe_subscriptions.id",
146
146
  column: nil,
147
- is_searchable: false,
147
+ 'is-filterable': false,
148
148
  integration: 'stripe'
149
149
  }
150
150
 
@@ -153,7 +153,7 @@ module ForestLiana
153
153
  type: ['String'],
154
154
  reference: "#{model_name}_stripe_bank_accounts.id",
155
155
  column: nil,
156
- is_searchable: false,
156
+ 'is-filterable': false,
157
157
  integration: 'stripe'
158
158
  }
159
159
  end
@@ -238,7 +238,8 @@ module ForestLiana
238
238
  field: association.name.to_s,
239
239
  type: get_type_for_association(association),
240
240
  reference: "#{ForestLiana.name_for(association.klass)}.id",
241
- inverseOf: inverse_of(association)
241
+ inverseOf: inverse_of(association),
242
+ 'is-filterable': !is_many_association(association)
242
243
  }
243
244
  end
244
245
 
@@ -409,9 +410,13 @@ module ForestLiana
409
410
  collection.fields.find {|x| x[:field] == field.foreign_key }
410
411
  end
411
412
 
412
- def get_type_for_association(association)
413
- if association.macro == :has_many ||
413
+ def is_many_association(association)
414
+ association.macro == :has_many ||
414
415
  association.macro == :has_and_belongs_to_many
416
+ end
417
+
418
+ def get_type_for_association(association)
419
+ if is_many_association(association)
415
420
  ['Number']
416
421
  else
417
422
  'Number'
@@ -232,23 +232,23 @@ module ForestLiana
232
232
  is_virtual: true,
233
233
  is_searchable: false,
234
234
  fields: [
235
- { field: :created_at, type: 'Date', is_searchable: false },
236
- { field: :updated_at, type: 'Date', is_searchable: false },
237
- { field: :session_count, type: 'Number', is_searchable: false },
238
- { field: :last_seen_ip, type: 'String', is_searchable: false },
239
- { field: :signed_up_at, type: 'Date', is_searchable: false },
240
- { field: :country, type: 'String', is_searchable: false },
241
- { field: :city, type: 'String', is_searchable: false },
242
- { field: :browser, type: 'String', is_searchable: false },
243
- { field: :platform, type: 'String', is_searchable: false },
244
- { field: :companies, type: 'String', is_searchable: false },
245
- { field: :segments, type: 'String', is_searchable: false },
246
- { field: :tags, type: 'String', is_searchable: false },
235
+ { field: :created_at, type: 'Date', 'is-filterable': false },
236
+ { field: :updated_at, type: 'Date', 'is-filterable': false },
237
+ { field: :session_count, type: 'Number', 'is-filterable': false },
238
+ { field: :last_seen_ip, type: 'String', 'is-filterable': false },
239
+ { field: :signed_up_at, type: 'Date', 'is-filterable': false },
240
+ { field: :country, type: 'String', 'is-filterable': false },
241
+ { field: :city, type: 'String', 'is-filterable': false },
242
+ { field: :browser, type: 'String', 'is-filterable': false },
243
+ { field: :platform, type: 'String', 'is-filterable': false },
244
+ { field: :companies, type: 'String', 'is-filterable': false },
245
+ { field: :segments, type: 'String', 'is-filterable': false },
246
+ { field: :tags, type: 'String', 'is-filterable': false },
247
247
  {
248
248
  field: :geoloc,
249
249
  type: 'String',
250
250
  widget: 'google map',
251
- is_searchable: false
251
+ 'is-filterable': false
252
252
  }
253
253
  ]
254
254
  })
@@ -297,18 +297,18 @@ module ForestLiana
297
297
  is_searchable: false,
298
298
  pagination_type: 'cursor',
299
299
  fields: [
300
- { field: :id, type: 'String', is_searchable: false },
301
- { field: :created, type: 'Date', is_searchable: false },
302
- { field: :amount, type: 'Number', is_searchable: false },
303
- { field: :status, type: 'String', is_searchable: false },
304
- { field: :currency, type: 'String', is_searchable: false },
305
- { field: :refunded, type: 'Boolean', is_searchable: false },
306
- { field: :description, type: 'String', is_searchable: false },
300
+ { field: :id, type: 'String', 'is-filterable': false },
301
+ { field: :created, type: 'Date', 'is-filterable': false },
302
+ { field: :amount, type: 'Number', 'is-filterable': false },
303
+ { field: :status, type: 'String', 'is-filterable': false },
304
+ { field: :currency, type: 'String', 'is-filterable': false },
305
+ { field: :refunded, type: 'Boolean', 'is-filterable': false },
306
+ { field: :description, type: 'String', 'is-filterable': false },
307
307
  {
308
308
  field: :customer,
309
309
  type: 'String',
310
310
  reference: "#{model_name}.id",
311
- is_searchable: false
311
+ 'is-filterable': false
312
312
  }
313
313
  ],
314
314
  actions: [
@@ -330,26 +330,26 @@ module ForestLiana
330
330
  is_searchable: false,
331
331
  pagination_type: 'cursor',
332
332
  fields: [
333
- { field: :id, type: 'String', is_searchable: false },
334
- { field: :amount_due, type: 'Number', is_searchable: false },
335
- { field: :attempt_count, type: 'Number', is_searchable: false },
336
- { field: :attempted, type: 'Boolean', is_searchable: false },
337
- { field: :closed, type: 'Boolean', is_searchable: false },
338
- { field: :currency, type: 'String', is_searchable: false },
339
- { field: :date, type: 'Date', is_searchable: false },
340
- { field: :forgiven, type: 'Boolean', is_searchable: false },
341
- { field: :period_start, type: 'Date', is_searchable: false },
342
- { field: :period_end, type: 'Date', is_searchable: false },
343
- { field: :subtotal, type: 'Number', is_searchable: false },
344
- { field: :total, type: 'Number', is_searchable: false },
345
- { field: :application_fee, type: 'Number', is_searchable: false },
346
- { field: :tax, type: 'Number', is_searchable: false },
347
- { field: :tax_percent, type: 'Number', is_searchable: false },
333
+ { field: :id, type: 'String', 'is-filterable': false },
334
+ { field: :amount_due, type: 'Number', 'is-filterable': false },
335
+ { field: :attempt_count, type: 'Number', 'is-filterable': false },
336
+ { field: :attempted, type: 'Boolean', 'is-filterable': false },
337
+ { field: :closed, type: 'Boolean', 'is-filterable': false },
338
+ { field: :currency, type: 'String', 'is-filterable': false },
339
+ { field: :date, type: 'Date', 'is-filterable': false },
340
+ { field: :forgiven, type: 'Boolean', 'is-filterable': false },
341
+ { field: :period_start, type: 'Date', 'is-filterable': false },
342
+ { field: :period_end, type: 'Date', 'is-filterable': false },
343
+ { field: :subtotal, type: 'Number', 'is-filterable': false },
344
+ { field: :total, type: 'Number', 'is-filterable': false },
345
+ { field: :application_fee, type: 'Number', 'is-filterable': false },
346
+ { field: :tax, type: 'Number', 'is-filterable': false },
347
+ { field: :tax_percent, type: 'Number', 'is-filterable': false },
348
348
  {
349
349
  field: :customer,
350
350
  type: 'String',
351
351
  reference: "#{model_name}.id",
352
- is_searchable: false
352
+ 'is-filterable': false
353
353
  }
354
354
  ]
355
355
  })
@@ -365,26 +365,26 @@ module ForestLiana
365
365
  only_for_relationships: true,
366
366
  pagination_type: 'cursor',
367
367
  fields: [
368
- { field: :id, type: 'String', is_searchable: false },
369
- { field: :last4, type: 'String', is_searchable: false },
370
- { field: :brand, type: 'String', is_searchable: false },
371
- { field: :funding, type: 'String', is_searchable: false },
372
- { field: :exp_month, type: 'Number', is_searchable: false },
373
- { field: :exp_year, type: 'Number', is_searchable: false },
374
- { field: :country, type: 'String', is_searchable: false },
375
- { field: :name, type: 'String', is_searchable: false },
376
- { field: :address_line1, type: 'String', is_searchable: false },
377
- { field: :address_line2, type: 'String', is_searchable: false },
378
- { field: :address_city, type: 'String', is_searchable: false },
379
- { field: :address_state, type: 'String', is_searchable: false },
380
- { field: :address_zip, type: 'String', is_searchable: false },
381
- { field: :address_country, type: 'String', is_searchable: false },
382
- { field: :cvc_check, type: 'String', is_searchable: false },
368
+ { field: :id, type: 'String', 'is-filterable': false },
369
+ { field: :last4, type: 'String', 'is-filterable': false },
370
+ { field: :brand, type: 'String', 'is-filterable': false },
371
+ { field: :funding, type: 'String', 'is-filterable': false },
372
+ { field: :exp_month, type: 'Number', 'is-filterable': false },
373
+ { field: :exp_year, type: 'Number', 'is-filterable': false },
374
+ { field: :country, type: 'String', 'is-filterable': false },
375
+ { field: :name, type: 'String', 'is-filterable': false },
376
+ { field: :address_line1, type: 'String', 'is-filterable': false },
377
+ { field: :address_line2, type: 'String', 'is-filterable': false },
378
+ { field: :address_city, type: 'String', 'is-filterable': false },
379
+ { field: :address_state, type: 'String', 'is-filterable': false },
380
+ { field: :address_zip, type: 'String', 'is-filterable': false },
381
+ { field: :address_country, type: 'String', 'is-filterable': false },
382
+ { field: :cvc_check, type: 'String', 'is-filterable': false },
383
383
  {
384
384
  field: :customer,
385
385
  type: 'String',
386
386
  reference: "#{model_name}.id",
387
- is_searchable: false
387
+ 'is-filterable': false
388
388
  }
389
389
  ]
390
390
  })
@@ -399,25 +399,25 @@ module ForestLiana
399
399
  is_searchable: false,
400
400
  pagination_type: 'cursor',
401
401
  fields: [
402
- { field: :id, type: 'String', is_searchable: false },
403
- { field: :cancel_at_period_end, type: 'Boolean', is_searchable: false },
404
- { field: :canceled_at, type: 'Date', is_searchable: false },
405
- { field: :created, type: 'Date', is_searchable: false },
406
- { field: :current_period_end, type: 'Date', is_searchable: false },
407
- { field: :current_period_start, type: 'Date', is_searchable: false },
408
- { field: :ended_at, type: 'Date', is_searchable: false },
409
- { field: :livemode, type: 'Boolean', is_searchable: false },
410
- { field: :quantity, type: 'Number', is_searchable: false },
411
- { field: :start, type: 'Date', is_searchable: false },
412
- { field: :status, type: 'String', is_searchable: false },
413
- { field: :tax_percent, type: 'Number', is_searchable: false },
414
- { field: :trial_end, type: 'Date', is_searchable: false },
415
- { field: :trial_start, type: 'Date', is_searchable: false },
402
+ { field: :id, type: 'String', 'is-filterable': false },
403
+ { field: :cancel_at_period_end, type: 'Boolean', 'is-filterable': false },
404
+ { field: :canceled_at, type: 'Date', 'is-filterable': false },
405
+ { field: :created, type: 'Date', 'is-filterable': false },
406
+ { field: :current_period_end, type: 'Date', 'is-filterable': false },
407
+ { field: :current_period_start, type: 'Date', 'is-filterable': false },
408
+ { field: :ended_at, type: 'Date', 'is-filterable': false },
409
+ { field: :livemode, type: 'Boolean', 'is-filterable': false },
410
+ { field: :quantity, type: 'Number', 'is-filterable': false },
411
+ { field: :start, type: 'Date', 'is-filterable': false },
412
+ { field: :status, type: 'String', 'is-filterable': false },
413
+ { field: :tax_percent, type: 'Number', 'is-filterable': false },
414
+ { field: :trial_end, type: 'Date', 'is-filterable': false },
415
+ { field: :trial_start, type: 'Date', 'is-filterable': false },
416
416
  {
417
417
  field: :customer,
418
418
  type: 'String',
419
419
  reference: "#{model_name}.id",
420
- is_searchable: false
420
+ 'is-filterable': false
421
421
  }
422
422
  ]
423
423
  })
@@ -433,23 +433,23 @@ module ForestLiana
433
433
  only_for_relationships: true,
434
434
  pagination_type: 'cursor',
435
435
  fields: [
436
- { field: :id, type: 'String', is_searchable: false },
437
- { field: :account, type: 'String', is_searchable: false },
438
- { field: :account_holder_name, type: 'String', is_searchable: false },
439
- { field: :account_holder_type, type: 'String', is_searchable: false },
440
- { field: :bank_name, type: 'String', is_searchable: false },
441
- { field: :country, type: 'String', is_searchable: false },
442
- { field: :currency, type: 'String', is_searchable: false },
443
- { field: :default_for_currency, type: 'Boolean', is_searchable: false },
444
- { field: :fingerprint, type: 'String', is_searchable: false },
445
- { field: :last4, type: 'String', is_searchable: false },
446
- { field: :rooting_number, type: 'String', is_searchable: false },
447
- { field: :status, type: 'String', is_searchable: false },
436
+ { field: :id, type: 'String', 'is-filterable': false },
437
+ { field: :account, type: 'String', 'is-filterable': false },
438
+ { field: :account_holder_name, type: 'String', 'is-filterable': false },
439
+ { field: :account_holder_type, type: 'String', 'is-filterable': false },
440
+ { field: :bank_name, type: 'String', 'is-filterable': false },
441
+ { field: :country, type: 'String', 'is-filterable': false },
442
+ { field: :currency, type: 'String', 'is-filterable': false },
443
+ { field: :default_for_currency, type: 'Boolean', 'is-filterable': false },
444
+ { field: :fingerprint, type: 'String', 'is-filterable': false },
445
+ { field: :last4, type: 'String', 'is-filterable': false },
446
+ { field: :rooting_number, type: 'String', 'is-filterable': false },
447
+ { field: :status, type: 'String', 'is-filterable': false },
448
448
  {
449
449
  field: :customer,
450
450
  type: 'String',
451
451
  reference: "#{model_name}.id",
452
- is_searchable: false
452
+ 'is-filterable': false
453
453
  }
454
454
  ]
455
455
  })
@@ -41,16 +41,13 @@ module ForestLiana::Collection
41
41
 
42
42
  def field(name, opts, &block)
43
43
  opts[:read_only] = true unless opts.has_key?(:read_only)
44
- opts[:is_searchable] = false unless opts.has_key?(:is_searchable)
45
-
46
44
  opts[:read_only] = false if opts.has_key?(:set)
47
- opts[:is_searchable] = true if opts.has_key?(:search)
48
45
 
49
46
  model.fields << opts.merge({
50
47
  field: name,
51
48
  :'is-read-only' => opts[:read_only],
52
- :'is-searchable' => opts['is_searchable'],
53
- :'is-sortable' => opts[:is_sortable],
49
+ :'is-filterable' => !!opts[:is_filterable],
50
+ :'is-sortable' => !!opts[:is_sortable],
54
51
  :'is-virtual' => true
55
52
  })
56
53
 
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "1.8.1"
2
+ VERSION = "1.9.0"
3
3
  end
@@ -51,7 +51,8 @@ module ForestLiana
51
51
  field: 'belongs_to_field',
52
52
  type: 'Number',
53
53
  reference: 'belongs_to_fields.id',
54
- inverseOf: 'has_one_field'
54
+ inverseOf: 'has_one_field',
55
+ "is-filterable": true
55
56
  })
56
57
  end
57
58
 
@@ -61,7 +62,8 @@ module ForestLiana
61
62
  field: 'belongs_to_fields',
62
63
  type: ['Number'],
63
64
  reference: 'belongs_to_fields.id',
64
- inverseOf: 'has_many_field'
65
+ inverseOf: 'has_many_field',
66
+ "is-filterable": false
65
67
  })
66
68
  end
67
69
 
@@ -71,7 +73,8 @@ module ForestLiana
71
73
  field: 'foo',
72
74
  type: ['Number'],
73
75
  reference: 'belongs_to_fields.id',
74
- inverseOf: 'has_many_class_name_field'
76
+ inverseOf: 'has_many_class_name_field',
77
+ "is-filterable": false
75
78
  })
76
79
  end
77
80
 
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: 1.8.1
4
+ version: 1.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sandro Munda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-26 00:00:00.000000000 Z
11
+ date: 2017-10-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails