lhs 5.4.1 → 5.4.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 24363abbc61959e5dfb50fcaa161fdaa317472e6
4
- data.tar.gz: 5f39eab662c51ce10d43ef3fe2acb2b03b9de7e4
3
+ metadata.gz: 8355a11dabd2c8cd1e889120f20e7c6eaa133d25
4
+ data.tar.gz: 9c576f20dbda1dec490ad144760f30c61ff51050
5
5
  SHA512:
6
- metadata.gz: 804ebde5bc541230d27e6dfacb0ea6bade3898635f2203317ffa73516e5008d0d75db8800620f9dc540fc2b9063d22ee7b27628e42b540208e8ecdebcb157cb6
7
- data.tar.gz: 468a884356c6c09757bc9d7defc8fcbfd3a78353d59a77430da317a4fae1850dad16caeeac4c777df5d5ce2272fcfc9686059acdcfa59e9fde3e879e8e719006
6
+ metadata.gz: 36258e2eff638180df2066b889bc4c861c9dca3f89839d96c9d82d366a369de6b4be64cffd8e0ba2e53de5a499344d93e28437070001bceeebf0efe8063d5d44
7
+ data.tar.gz: 54a33e04d23850e597ab94e9b21592725fa0748b10577852a57c5f22fc1c2c3e530d2094977fde57f5f672de7db50fd309efdfa249e8c4a166e150d182375466
data/README.md CHANGED
@@ -83,6 +83,7 @@ records.where(available: true).each do |record|
83
83
  ...
84
84
  end
85
85
  ```
86
+
86
87
  The example would fetch records with the following parameters: `{color: blue, available: true}`.
87
88
 
88
89
  ## Where values hash
@@ -371,7 +372,7 @@ end
371
372
 
372
373
  Nested records (in nested data) are automaticaly casted when the href matches any defined endpoint of any LHS::Record.
373
374
 
374
- ```
375
+ ```ruby
375
376
  class Place < LHS::Record
376
377
  endpoint ':datastore/v2/places'
377
378
 
@@ -394,7 +395,7 @@ If automatic-detection of nested records does not work, make sure your LHS::Reco
394
395
 
395
396
  You can change attributes of LHS::Records:
396
397
 
397
- ```
398
+ ```ruby
398
399
  record = Feedback.find(id: 'z12f-3asm3ngals')
399
400
  rcord.recommended = false
400
401
  ```
@@ -435,7 +436,7 @@ In order to validate LHS::Records before persisting them, you can use the `valid
435
436
 
436
437
  The specific endpoint has to support validations with the `persist=false` parameter. The endpoint has to be enabled (opt-in) for validations in the service configuration.
437
438
 
438
- ```
439
+ ```ruby
439
440
  class User < LHS::Record
440
441
  endpoint ':datastore/v2/users', validates: true
441
442
  end
@@ -523,30 +524,30 @@ You can use chainable pagination in combination with query chains:
523
524
 
524
525
  ```ruby
525
526
  class Record < LHS::Record
526
- endpoint 'http://local.ch/records'
527
+ endpoint ':datastore/records'
527
528
  end
528
529
  Record.page(3).per(20).where(color: 'blue')
529
- # http://local.ch/records?offset=40&limit=20&color=blue
530
+ # /records?offset=40&limit=20&color=blue
530
531
  ```
531
532
 
532
533
  The applied pagination strategy depends on the actual configured pagination, so the interface is the same for all strategies:
533
534
 
534
535
  ```ruby
535
536
  class Record < LHS::Record
536
- endpoint 'http://local.ch/records'
537
+ endpoint ':datastore/records'
537
538
  configuration pagination_strategy: 'page'
538
539
  end
539
540
  Record.page(3).per(20).where(color: 'blue')
540
- # http://local.ch/records?page=3&limit=20&color=blue
541
+ # /records?page=3&limit=20&color=blue
541
542
  ```
542
543
 
543
544
  ```ruby
544
545
  class Record < LHS::Record
545
- endpoint 'http://local.ch/records'
546
+ endpoint ':datastore/records'
546
547
  configuration pagination_strategy: 'start'
547
548
  end
548
549
  Record.page(3).per(20).where(color: 'blue')
549
- # http://local.ch/records?start=41&limit=20&color=blue
550
+ # /records?start=41&limit=20&color=blue
550
551
  ```
551
552
 
552
553
  `limit(argument)` is an alias for `per(argument)`. Take notice that `limit` without argument instead, makes the query resolve and provides the current limit from the responds.
@@ -559,10 +560,7 @@ The kaminari’s page parameter is in params[:page]. For example, you can use ka
559
560
 
560
561
  ```ruby
561
562
  # controller
562
- params[:page] = 0 if params[:page].nil?
563
- page = params[:page].to_i
564
- limit = 100
565
- @items = Record.page(page).per(limit)
563
+ @items = Record.page(params[:page]).per(100)
566
564
  ```
567
565
 
568
566
  ```ruby
@@ -572,7 +570,7 @@ limit = 100
572
570
 
573
571
  ## form_for Helper
574
572
  Rails `form_for` view-helper can be used in combination with instances of LHS::Record to autogenerate forms:
575
- ```
573
+ ```ruby
576
574
  <%= form_for(@instance, url: '/create') do |f| %>
577
575
  <%= f.text_field :name %>
578
576
  <%= f.text_area :text %>
@@ -66,7 +66,7 @@ class LHS::Pagination
66
66
  end
67
67
 
68
68
  def self.page_to_offset(page, _limit)
69
- page
69
+ page.to_i
70
70
  end
71
71
  end
72
72
 
@@ -92,7 +92,7 @@ class LHS::StartPagination < LHS::Pagination
92
92
  end
93
93
 
94
94
  def self.page_to_offset(page, limit = LHS::Pagination::DEFAULT_LIMIT)
95
- (page - 1) * limit + 1
95
+ (page.to_i - 1) * limit.to_i + 1
96
96
  end
97
97
  end
98
98
 
@@ -107,6 +107,6 @@ class LHS::OffsetPagination < LHS::Pagination
107
107
  end
108
108
 
109
109
  def self.page_to_offset(page, limit = LHS::Pagination::DEFAULT_LIMIT)
110
- (page - 1) * limit
110
+ (page.to_i - 1) * limit.to_i
111
111
  end
112
112
  end
@@ -1,3 +1,3 @@
1
1
  module LHS
2
- VERSION = "5.4.1"
2
+ VERSION = "5.4.2"
3
3
  end
@@ -45,6 +45,13 @@ describe LHS::Record do
45
45
  Record.page("").limit(10).first
46
46
  expect(request).to have_been_made.times(2)
47
47
  end
48
+
49
+ it 'also works with strings' do
50
+ request = stub_request(:get, "http://local.ch/records?limit=10&offset=0").to_return(body: [].to_json)
51
+ Record.limit('10').first
52
+ Record.page('1').limit('10').first
53
+ expect(request).to have_been_made.times(2)
54
+ end
48
55
  end
49
56
 
50
57
  context 'start pagination' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhs
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.4.1
4
+ version: 5.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - https://github.com/local-ch/lhs/graphs/contributors